Releases: akcho/milkie
v0.4.1 - SEO Improvements
What's Changed
SEO & Discoverability Improvements
Expanded npm keywords from 6 to 23 for significantly better search discoverability on npm and GitHub.
New keywords added:
- SEO-focused:
nextjs-paywall,react-paywall,stripe-subscriptions - Tech stack:
shadcn,shadcn-ui,tailwind,tailwindcss,typescript - Use cases:
content-gating,monetization,membership,premium-content - Functionality:
stripe-checkout,subscription-management,payment-gateway
This release improves discoverability for developers searching for:
- Next.js paywall solutions
- React paywall components
- Stripe subscription integrations
- shadcn/ui paywall components
Full Changelog: https://github.com/akcho/milkie/blob/main/packages/react/CHANGELOG.md#041---2025-10-20
v0.4.0 - Package Rename
What's Changed
v0.4.0
Package renamed from @milkie/react to milkie for simpler installation!
- Install with:
npm install milkie(previouslynpm install @milkie/react) - Import remains the same:
import { PaywallGate } from "milkie" - Updated all documentation and examples
v0.3.0
- Enhanced
AuthGatedocumentation with complete props list - Added inline card example to AuthGate component README
v0.2.0 (Breaking Changes)
BREAKING: Renamed applyBlur prop to showBlurredChildren
Migration: Replace applyBlur={value} with showBlurredChildren={value}
Full Changelog
See CHANGELOG.md
v0.3.0 - Documentation Enhancement
What's Changed
v0.3.0
- Enhanced
AuthGatedocumentation in package README with complete props list - Added inline card example to AuthGate component README
v0.2.0 (Breaking Changes)
BREAKING: Renamed applyBlur prop to showBlurredChildren in both PaywallGate and AuthGate components
Migration: Replace all instances of applyBlur={value} with showBlurredChildren={value} in your code.
The prop controls whether blurred content is shown behind the gate overlay (default: true).
Full Changelog
See CHANGELOG.md for complete details.
v0.1.0 - Initial Release
Initial release of Milkie - Stripe-powered paywall SDK for Next.js apps.
Components
PaywallGate
- Subscription-based content protection with Stripe checkout integration
- Blurred content preview for non-subscribers
- Customizable messaging (title, subtitle, button text)
- Custom icon support
- Error handling with retry capability
- Loading states with skeleton loaders
- Optional toast notification integration
applyBlurprop to control blur effect (enabled by default)positionprop for vertical card positioning ("center" or "top")- Full TypeScript support with comprehensive JSDoc documentation
AuthGate
- Authentication-based content gating (email/session verification)
- Blurred content preview for unauthenticated users
- Customizable sign-in messaging and button text
- Flexible sign-in handling (URL redirect or custom handler)
- Custom UI replacement via
customUiprop positionprop for vertical card positioning ("center" or "top")- Loading states with skeleton loaders
- Full TypeScript support with comprehensive JSDoc documentation
MilkieProvider
- Context provider for managing authentication and subscription state
- Automatic subscription status checking via API integration
- State management for
email,hasAccess, andloading - Works with any auth solution (NextAuth, Clerk, Lucia, Supabase, etc.)
usePaywall()hook for accessing state in custom components
API Routes
Subscription Status Route (createSubscriptionStatusRoute)
- Email validation with
validateEmail()utility function - Configurable
allowedStatusesoption (defaults to["active", "trialing"]) - Structured error codes via
SubscriptionErrorCodeenum - Type-safe response types (
SubscriptionStatusResponse,SubscriptionErrorResponse) - Database adapter interface for flexible database integration
Checkout Route (createCheckoutRoute)
- Stripe Checkout session creation
- Email validation and verification
- Configurable pricing and success/cancel URLs
- Database adapter interface for customer management
- Type-safe response handling
UI Components
- BlurredContent - Blur effect for protected content previews
- LoadingState - Skeleton loader for loading states
- OverlayGrid - CSS Grid-based layout for overlay positioning
- PaywallCard - Card UI for paywall display with checkout flow
- AuthCard - Card UI for authentication prompts
- CheckoutError - Error display with retry functionality
- UserInfo - User email display component
Styling & Theming
- Tailwind CSS integration with CSS variable theming
- shadcn/ui component compatibility
- Customizable via
overlayClassNameprop - Support for custom UI replacement
TypeScript Support
- Full type definitions for all components and API routes
- Exported types for props interfaces
- Database adapter interfaces for type-safe implementations
- JSDoc documentation for all public APIs
Documentation
- Comprehensive README with installation and setup guide
- Component-specific READMEs with 10+ usage examples each
- API route documentation with code examples
- Troubleshooting guides
- Live demo application at milkie.dev
Future Releases
For upcoming features and breaking changes, see GitHub Issues.