- Bumped versions of several packages across the codebase, including:
- Updated `@supabase/supabase-js` from `2.51.0` to `2.52.0`
- Incremented `next` from `15.4.1` to `15.4.2`
- Updated `@types/node` from `^24.0.13` to `^24.0.15`
- Upgraded `ai` from `4.3.18` to `4.3.19`
- Updated `@next/bundle-analyzer` from `15.4.1` to `15.4.2`
- Incremented `@next/eslint-plugin-next` from `15.4.1` to `15.4.2`
- Bumped `eslint-config-next` from `15.3.5` to `15.4.2`
- Updated `@kit/prettier-config` and other related packages for consistency and compatibility improvements.
* refactor(auth): replace Supabase `User` type with new `JWTUserData` type across the codebase
- Replaced usage of Supabase's `User` type with the newly defined `JWTUserData` type for better type mapping and alignment with JWT claims.
- Refactored session-related components and hooks (`useUser`, `requireUser`) to use the updated user structure.
- Updated Supabase client keys to use `publicKey` instead of `anonKey`.
- Adjusted multi-factor authentication logic and components to use `aal` and additional properties.
- Applied consistent naming for Supabase secret key functions.
- Incremented version to 2.12.0.
- Introduced a new `deprecated` property in the `EnvVariableModel` type to handle deprecated environment variables.
- Updated the `EnvList` component to display a warning badge for deprecated variables, including reason and alternative suggestions.
- Enhanced filtering logic to allow users to toggle the visibility of deprecated variables.
- Added new deprecated variables for Supabase keys with appropriate reasons and alternatives.
- Added support for filtering deprecated environment variables in the `FilterSwitcher` component.
- Updated the `Summary` component to display a badge for the count of deprecated variables.
- Introduced a button to filter and display only deprecated variables.
- Adjusted filtering logic to include deprecated variables in the overall state management.
add BILLING_MODE configuration to environment variables
- Introduced a new environment variable `BILLING_MODE` to configure billing options for the application.
- The variable supports two values: `subscription` and `one-time`.
- Marked as deprecated with a reason indicating that this configuration is no longer required, as billing mode is now automatically determined.
- Added validation logic for the new variable to ensure correct value parsing.
- Upgraded `@supabase/supabase-js` to `2.51.0`
- Bumped `@tanstack/react-query` to `5.83.0`
- Incremented `next` and related packages to `15.4.1`
- Miscellaneous upgrades including `@react-email/components`, `eslint`, and `cssnano`.
- Bumped dependencies: `lucide-react`, `react-hook-form`, `@supabase/supabase-js`, `@tanstack/react-query`, `@sentry/nextjs`, and more.
- Added `react-dropzone` to `@kit/ui` for file upload support.
- Adjusted `reset-password.html` to streamline style usage and HTML structure.
- Added new translation keys for file upload functionality.
- Cleaned up import order in `existing-account-hint.tsx`.
- Bumped `lucide-react` to `^0.516.0`
- Upgraded `react-hook-form` to `^7.58.0`
- Updated `zod` to `^3.25.67`
- Incremented `@sentry/nextjs` to `^9.29.0`
- Miscellaneous upgrades for `eslint`, `@tailwindcss/postcss`, and `supabase` dependencies.
- Export `MultiFactorAuthError` from `require-user` for reuse.
- Implement MFA handling during team invitations' sign-in flow.
- Add E2E test for team invitation flow with MFA.
- Update components to improve i18n translation handling.
- Added an onEscapeKeyDown handler to the EmbeddedCheckoutPopup component to prevent default actions when the escape key is pressed, improving user experience and accessibility.
* Update Calendar component and update dependencies
* Refactor AGENTS.md and CLAUDE.md for clarity and consistency
- Streamlined project overview and architecture sections in both AGENTS.md and CLAUDE.md to enhance readability.
- Updated command sections to reflect essential commands and improved formatting for better usability.
- Clarified multi-tenant architecture details and database operations, ensuring accurate representation of the project's structure.
- Enhanced component organization and security guidelines for better developer onboarding and adherence to best practices.
* Refactor code for consistency and readability
- Improved formatting in `env-variables-model.ts` for better description clarity.
- Enhanced readability of `current-plan-alert.tsx` and `current-plan-badge.tsx` by adjusting the status badge mapping.
- Standardized object syntax in `lemon-squeezy-webhook-handler.service.ts` for consistency.
- Refined className ordering in `account-selector.tsx` for better maintainability.
- Ensured proper syntax in `console.ts` with consistent object export.
- Reorganized imports in `calendar.tsx` for clarity and structure.
- Improved className formatting in `sidebar.tsx` for better readability.
* Update package version to 2.10.0 in package.json
* Add comprehensive guides for OpenAI Codex and Claude Code
- Introduced `AGENTS.md` and `CLAUDE.md` files to provide detailed guidance for working with OpenAI Codex and Claude Code within the project.
- Updated project architecture and common commands sections to reflect the multi-tenant SaaS application structure and core technologies.
- Enhanced documentation on database operations, schema management, security guidelines, and development patterns to improve developer onboarding and project maintainability.
Additionally, updated various package dependencies across the codebase to their latest versions, ensuring compatibility and performance improvements.
Refactor:
- Improved consistency and robustness by standardizing file encoding arguments from 'utf-8' to 'utf8' across various file read/write operations.
- Simplified status mapping logic in billing components and services by replacing switch statements with direct mapping objects for clearer and more maintainable code.
- Enhanced type conversion and error handling in billing and internationalization components for improved reliability.
- Updated sorting logic in team member tables for more predictable member ordering.
- Improved error logging with sanitized output to prevent formatting issues.
- Adjusted environment variable whitelisting to use a more flexible matching pattern.
- Fix variables for sidebar style handling
Style:
- Refined spacing and layout in account selector and sidebar header components for better visual consistency.
* Refactor sign-in flow to ensure fallback return paths
Updated logic to use fallback values for `returnPath` to prevent potential undefined behavior. Improved consistency in handling default paths during sign-in and redirection processes.
* Update dependencies across all packages
Updated multiple dependencies to their latest versions to ensure compatibility, security, and performance improvements. This includes packages like @supabase/supabase-js, @tanstack/react-query, @types/react, and zod across various projects.
* Update selector for Stripe form submission button
Replaced the form button selector with a `data-testid` attribute selector for improved reliability and maintainability. This ensures the test is less prone to breaks from UI changes.
* Update dependencies across packages
Upgraded various package dependencies, including `zod`, `@supabase/supabase-js`, `react-hook-form`, `lucide-react`, and others to their latest versions. Ensures compatibility, security, and access to new features.
* Downgrade @radix-ui/react-slot to version 1.2.0
Pinned @radix-ui/react-slot to version 1.2.0 instead of using a caret (^). This ensures compatibility and avoids potential breaking changes from newer versions.
Upgraded various dependencies to their latest minor versions, including `@types/react`, `@tanstack/react-query`, `lucide-react`, `@types/node`, and others. These updates aim to ensure compatibility, access to new features, and bug fixes.
Updated logic to skip trial periods for existing customers by setting `trialDays` to undefined when a customer is already provided. Modified subscription data and trial settings to use the adjusted `trialDays`. Additionally, added handling for metered billing line items and included a sample trial period configuration in the billing sample config.
- Updated `@manypkg/cli` from `^0.23.0` to `^0.24.0` for enhanced functionality.
- Upgraded `@tanstack/react-query` from `5.74.11` to `5.75.2` to incorporate the latest improvements.
- Incremented `lucide-react` from `^0.503.0` to `^0.507.0` for better compatibility.
- Updated `nodemailer` from `^6.10.1` to `^7.0.2` to leverage new features and fixes.
- Upgraded `react-hook-form` from `^7.56.1` to `^7.56.2` for bug fixes and enhancements.
- Updated `zod` from `^3.24.3` to `^3.24.4` for improved type definitions.
- Incremented `@types/node` from `^22.15.3` to `^22.15.9` for better type support.
These updates enhance the overall stability, performance, and compatibility of the application.
Updated various dependencies, including `@tanstack/react-query`, `@types/node`, `react-i18next`, and more to their latest compatible versions. This improves compatibility, fixes potential bugs, and ensures access to the latest features.
* Add Cloudflare generator with Wrangler and OpenNext support
This update introduces a new Cloudflare generator to streamline configuration and deployment via Wrangler and OpenNext. It registers the necessary templates, modifies project files, and adds Cloudflare-specific scripts and dependencies to the package.json. Additionally, .hbs files are updated in .prettierignore for formatting consistency.
* Add GitHub username prompt and improve setup scripts
Introduce a prompt for GitHub username to personalize project setup. Enhance the setup scripts by adding PNPM verification, configuring `upstream` remote, and removing the `origin` remote. Adjust health check and error handling for better reliability.
* Add Dockerfile generator to turbo generators
Introduced a new generator to create Dockerfile configurations for standalone Next.js applications. This includes modifying `next.config.mjs` for standalone output, updating dependencies in `package.json`, and adding a Dockerfile template. The generator is now registered in the turbo setup.
* Add console-based logger implementation. This is required for edge environments such as Cloudflare.
* Remove deprecated Supabase client utilities
The `server-actions-client`, `route-handler-client`, and `server-component-client` utilities have been removed in favor of `getSupabaseServerClient`. This simplifies and consolidates the API, ensuring consistency across server-side usage. Version bumped to 2.9.0 to reflect breaking changes.
* Refactor environment variables UI and update validation logic
Enhanced the environment variables page layout for better responsiveness and structure by introducing new components and styles. Added `EnvListDisplay` for grouped variable display and adjusted several UI elements for clarity and consistency. Updated `NEXT_PUBLIC_SENTRY_ENVIRONMENT` validation to make it optional, aligning with updated requirements.
* Add environment variable validation and enhance page headers
Introduces robust validation for environment variables, ensuring correctness and contextual dependency checks. Updates page headers with titles and detailed descriptions for better usability and clarity.
* Refactor variable page layout and improve code readability
Rearranged className attributes in JSX for consistency and readability. Refactored map and enum validation logic for better formatting and maintainability. Applied minor corrections to types and formatting in other components.
* Refactor styles and simplify component logic
Updated badge variants to streamline styles and removed redundant hover states. Simplified logic in email page by extracting breadcrumb values and optimizing title rendering. Adjusted environment variables manager layout for cleaner rendering and removed unnecessary elements.
* Add real-time translation updates with RxJS and UI improvements
Introduced a Subject with debounce mechanism for handling translation updates, enhancing real-time editing in the translations comparison module. Improved UI components, including conditional rendering, better input handling, and layout adjustments. Implemented a server action for updating translations and streamlined type definitions in the emails page.
* Enhance environment variable copying functionality and improve user feedback
Updated the environment variables manager to copy structured environment variable data to the clipboard, improving usability. Adjusted toast notifications to provide clearer success and error messages during the copy process. Additionally, fixed a minor issue in the translations comparison component by ensuring proper filtering of keys based on the search input.
* Add AI translation functionality and update dependencies
Implemented a new action for translating missing strings using AI, enhancing the translations comparison component. Introduced a loading state during translation and improved error handling for translation updates. Updated package dependencies, including the addition of '@ai-sdk/openai' and 'ai' to facilitate AI-driven translations. Enhanced UI components for better user experience and streamlined translation management.
- Upgraded `lucide-react` from `^0.501.0` to `^0.503.0` in various packages to ensure compatibility with the latest features and improvements.
- Updated `@types/node` from `^22.14.0` to `^22.14.1` across multiple packages for better type definitions and compatibility.
- Incremented `@types/react` from `19.1.0` to `19.1.2` in several packages to align with the latest type definitions.
- Upgraded `react-hook-form` from `^7.56.0` to `^7.56.1` in multiple packages to incorporate bug fixes and enhancements.
- Updated `babel-plugin-react-compiler` from `19.0.0-beta-ebf51a3-20250411` to `19.1.0-rc.1` for improved compatibility with React 19.1.0.
- Incremented `supabase` from `^2.20.12` to `^2.22.4` to leverage the latest features and fixes.
These updates enhance the overall stability and performance of the application.
* Update Stripe SDK and dependencies
1. Upgrade `stripe` package from version 17.7.0 to 18.0.0 in `package.json`.
2. Update `STRIPE_API_VERSION` in `stripe-sdk.ts` to '2025-03-31.basil'.
3. Refactor `StripeWebhookHandlerService` to retrieve subscription details using Supabase client, ensuring compatibility with the new Stripe version.
4. Introduce helper methods `getPeriodStartsAt` and `getPeriodEndsAt` for better handling of subscription periods based on the Stripe API changes.
These changes enhance the integration with the latest Stripe API and improve the overall reliability of the billing service.
* Refactor billing payload builders to remove config dependency
Removed direct dependency on `BillingConfig` in subscription payload builders.
Introduced `PlanTypeMap` to streamline plan type resolutions. Updated webhook handlers and event processing functions to handle plan types more efficiently and improve extensibility.
* Refactor Stripe subscription handling for improved accuracy
1. Add user creation and password reset dialog functionalities; added Junie guidelines
Introduced new `AdminCreateUserDialog` and `AdminResetPasswordDialog` components for managing user accounts in the admin panel. Updated the `AdminAccountsTable` page with a button for user creation and implemented backend logic for password resets with robust error handling.
2. Added Jetbrains AI guidelines
Updated multiple dependencies to their latest versions, including `next` to `15.3.1`, `zod` to `3.24.3`, `@tanstack/react-query` to `5.74.4`, and others. This ensures compatibility, improves stability, and incorporates the latest bug fixes.
- Bump versions for `@hookform/resolvers`, `@tanstack/react-query`, `lucide-react`, `tailwindcss`, and `@types/node` to their latest compatible versions.
- Update `babel-plugin-react-compiler` to a newer beta version.
- Adjust `@supabase/supabase-js` and `@stripe/react-stripe-js` to their latest versions.
- Increment `sonner` and `tailwind-merge` versions for improved functionality.
- Update `@react-email/components` to the latest version for email templates.
This update ensures compatibility with the latest features and fixes across the codebase.
1. Marketing Layout: speed up rendering by retrieving user session from cookies instead of using server side request
2. Use "redirecting" state when signing in to keep displaying a loading state while Next.js redirects to home page
3. Use "useCallback" to prevent double tracking when switching pages
4. Add links pre-fetching in marketing navigation
5. Add new pending state to MFA verification form
6. Pre-fetch sign-in/sign-up pages
7. Fix i18n when using regional languages
8. currency formatter should default to the region if it exists
9. Update packages
1. Update data loaders (#223)
2. Use new data loader functionality to allow filtering by both name and email in Super Admin
3. Update test to use email filtering
1. Revert Card changes
2. Use X logo instead of Twitter
3. Update Dependencies
* Remove reference to pg_sodium as new Supabase CLI doesn't play well with it
1. Update dependencies
2. Use cssnano for production
3. Assign an environment variable to Sentry's environment settings
4. `Pill` now accepts React Nodes so we can pass translations using Trans component
5. Switch to mailpit API during tests
6. Do not require Email Sender to be of type email and add proper error messages
* Add validation for team account names
- Prevent creating teams with reserved names like 'billing' and 'settings'
- Add regex validation to block team names with special characters
- Update localization for new error messages
- Extend E2E tests to cover various invalid team name scenarios
* Enhance team account name validation and slug generation
- Add comprehensive tests for account slug generation in Supabase
- Improve team name validation schema to handle special characters
- Add form validation message display in update team account name form
- Refine slug generation to handle various edge cases like special characters, non-ASCII text, and mixed case
* Set default oAuth scopes for azure and keycloak. Allow passing custom query parameters from the OauthProviders component.
* Pass return path if a next query parameter is provided. Use home path otherwise.
2. Alter default values for verifying nonces: verification time is reduced to 15 minutes, max attempts before a nonce expires is set to 1 when using the service