v3.0.0
Full Changelog: v2.20.1...v3.0.0
🚀 Enhancements
- page: Update link to use locale-aware routing (a5e457c)
- locale-redirect: Enhance locale preference handling with cookies (4cb3059)
- auto-detect: Add useState for programmatic locale setting (21417fb)
- redirect: Add route existence check and support for prefix strategy (17c60fc)
- redirect: Add locale-based redirect middleware (458614d)
- watcher: Improve cache invalidation logic for translation files (38170ae)
- module: Add i18nConfig to PublicRuntimeConfig interface (c40d381)
- route-generator: Add initial route generator module (b963b10)
- route-generator: Add RouteGeneratorOptions and extractLocalizedPaths (d262e98)
- route-generator: Add core functionality for route management (78964ec)
- route-generator: Add abstract base strategy for route processing (a582f4c)
- route-generator: Add route strategy factory function (718b424)
- route-generator: Add NoPrefixStrategy for route generation (4c5a2f1)
- route-generator: Implement prefix strategy for route generation (620c81f)
- route-generator: Implement prefix and default localization strategy (c0d4484)
- route-generator: Add PrefixExceptDefaultStrategy for route handling (fbf9ec3)
- route-generator: Add RouteStrategy interface for page processing (5190bee)
- utils: Add utility functions for route generation and localization (f2e290c)
- route-generator: Add utility functions for path and route handling (5217553)
- utils: Add route path normalization and encoding utilities (78167c1)
- types: Update version to 1.0.18 and add localizedRouteNamePrefix (b57fa3f)
- useLocaleHead: Add support for customizable localized route prefix (eb4ac19)
- auto-detect: Support customizable localized route name prefix (403daa0)
- redirect: Implement user preferred locale resolution logic (b37a8d8)
- route-utils: Allow customizable prefix for localized route name (926818a)
- module: Add localized route name prefix option (bec759f)
- route-generator: Add helper for building localized route paths (d938f9d)
- route-generator: Add support for child routes in alias creation (beba377)
- path-strategy: Add initial implementation for path strategy module (650c1f1)
- internals: Add i18n strategy and private config types (14f9be6)
- playwright: Add CI-specific configurations for tracing, video, and screenshots (3eba71f)
- useLocaleHead: Improve locale handling with runtime config (3f5608c)
- i18n: Integrate i18n strategy and enhance locale handling (5ba3597)
- auto-detect: Refactor i18n configuration retrieval method (e51d011)
- redirect: Add client-side redirection based on preferred locale (d691993)
- i18n: Implement i18n redirect plugin for localized routing (28059ea)
- route-utils: Add support for locale-based path lookups (906ef39)
- module: Improve i18n configuration handling and routing logic (3f0af58)
- route-service: Add optional locale getter for dynamic locale retrieval (5ff70ae)
- i18n: Add composable for managing i18n locale state and cookies (f22bcf4)
- i18n: Enhance locale handling and translation loading (23b798d)
- redirect: Simplify locale retrieval in client redirect plugin (f8f6807)
- middleware: Add i18n global middleware for locale handling (5ed7a04)
- i18n: Add handler for fetching merged translations (1a49369)
- server: Add storage utilities for loading i18n translations (9e509ba)
- server: Add translation server middleware for locale handling (43cc94e)
- cookie: Add utility functions for locale and hash cookie management (27d07b3)
- utils: Add translation loader utility for route and locale (36affb9)
- module: Add auto-detect language option and enhance data routes (cd463ad)
- types: Add i18n support to H3 event context (8672cb2)
- test: Enhance performance tests for i18n implementations (4227117)
- devtools: Enhance DevTools setup with rootDirs parameter (3d9e389)
- tests: Add performance testing configuration for Vitest (b8c4cf5)
- storage: Add translation storage class for caching translations (135a011)
- composables: Enhance i18n injections with additional helpers (798521a)
- i18n: Enhance translation loading and context switching (9981da9)
- server-loader: Implement server-side translation loader (e8314ca)
- server: Update translation middleware to use new storage structure (7021a7a)
- astro: Upgrade version and refactor translation storage (5f49aef)
- helpers: Improve template interpolation with regex replacement (a8180e7)
- route-service: Add support for prefix_except_default strategy (24c4347)
- solid: Update SolidI18n to use TranslationStorage instead of cache (4dde9ee)
- vue: Implement translation storage management and update structure (093139e)
- i18n: Add previous page fallback for missing translations (13461c2)
- translations: Add setTranslations method for locale management (da01e7a)
🩹 Fixes
- types: Allow
localeCookieto accept null values (504afc5) - route-service: Prevent cookie update when localeCookie is disabled (31bd208)
- astro: Handle null localeCookie in routing and integration (ffcb910)
- locale: Validate preferred locale and improve cookie handling (c3434f8)
- get: Improve cache management and error handling in translation loading (843d7a1)
- translation-server-middleware: Update type import for TranslationCache (64e7245)
- routeGenerator: Update instantiation parameters for RouteGenerator (e7d2e25)
- redirect: Prevent unnecessary route checks for 'no_prefix' strategy (da344ec)
- i18n-micro-env: Allow null values for localeCookie and missingWarn (0fffc0c)
- route-generator: Update localizedPaths type to use LocalizedPathsMap. (5e292d1)
- tests: Improve date calculation for locale switching test (b023afc)
- astro: Resolve TypeScript errors in middleware and utils (af2de3e)
- devtools-ui: Handle potential undefined values in file paths (3ea50b6)
- router: Handle undefined first path segment in locale check (ac9b956)
- router: Handle undefined path segments in locale check (4399317)
- router: Handle undefined path segment correctly (d1f50b3)
- types-generator: Update translationDir retrieval logic (3edd09a)
- i18n-link: Update
$localeRouteto$localePathfor routing (80e599d) - devtools: Update module options import and improve path handling (f443cd4)
- core: Update version to 1.0.31 in package.json (661d7c7)
- hooks: Update type for routeName in beforeEach hook (588787a)
- config: Update locale cookie name for clarity (79dad50)
- module: Keep root route for redirect to default locale (cdb7fe0)
- i18n: Adjust redirect logic for root path with prefix strategy (7ce5652)
- i18n.global: Optimize early exits and locale detection logic (d3fe0bd)
- i18n: Replace local translation loading with server loading (2163264)
- node: Update version to 1.1.0 and refactor translation caching logic (fb36ab3)
- nuxt.config: Remove experimental i18nPreviousPageFallback option (b263e46)
- plugins: Clarify comments for previous page fallback logic (0552bea)
💅 Refactors
- module: Replace PageManager with RouteGenerator for routing logic (0ca5cac)
- route-generator: Remove unused path utility functions (20bdc36)
- route-generator: Remove outdated refactoring plan document (5b258ad)
- redirect: Simplify locale handling logic in route checks (6da9d56)
- route-generator: Simplify localized route creation logic (df6b8e7)
- types: Unify locale routes configuration type (6cbc2e1)
- localized-paths: Replace
path.posix.joinwithjoinPath(0972c85) - route-generator: Simplify route path building logic (eb376de)
- route-generator: Simplify route path building logic (4ab7b78)
⚠️ Complete rewrite of route generator mechanism (9be2aa5)- locales: Migrate translation generation scripts to ES modules (469a9c4)
- devtools: Improve type safety in Vite config handling (353e4ac)
- locale-redirect: Remove unused locale-redirect component (3da74e5)
- meta: Simplify i18n configuration retrieval in plugin (e2089e2)
- plugins: Simplify i18n configuration retrieval in hooks (b7f7151)
- middleware: Remove redirect middleware implementation (fba5a23)
- watcher: Simplify configuration retrieval in development mode (49a5c3d)
- routes: Replace runtime config usage with i18n config imports (5fcb258)
- utils: Remove unused path-utils module (e7e5872)
- locale-server-middleware: Replace runtime config with i18n config (abf3abb)
- translation-server-middleware: Replace runtime config access method (72cf777)
- translation: Simplify mergeTranslation logic and remove dev warning (8b7fb32)
- plugins: Simplify meta plugin configuration and improve readability (75654cc)
- plugins: Remove unused auto-detect plugin (7611d6c)
- i18n-redirect: Remove outdated plugin for i18n handling (a998907)
- locale-detector: Move locale-detector to server utilities (844c3a5)
- server/utils: Rename locale-server-middleware file and update imports (1eb22bd)
- translation-server-middleware: Remove unused translation middleware (e5f0df0)
- utils: Remove unused
translation-loader.tsfile (125c7cf) - watcher: Optimize cache invalidation logic (71da43f)
- utils: Remove unused storage utilities for translations (6512369)
- core: Rename cache to storage in BaseI18nOptions interface (cce1dd2)
- core: Rename type
TranslationCachetoTranslationStorage(e3d4d3b) - translation: Simplify translation storage and caching logic (8d427fb)
- preact: Replace
TranslationCachewithTranslationStorage(b97148f) - i18n: Replace
TranslationCachewithTranslationStorage(3ee5b1a) - types: Update experimental options in ModuleOptions interface (5e830f2)
- module: Replace experimental options with main configuration (4f756f6)
📖 Documentation
- i18n-cache-api: Update cache structure and configuration details (9b2c945)
- guide: Update cookie-based locale detection information (1d99624)
- firebase: Update lazy loading translations section for clarity (6c8c8ef)
- getting-started: Enhance
localeCookiesection for clarity (fe1338d) - guide: Update strategy documentation with localeCookie and redirects (2d5c36d)
- integrations: Update
localeCookietype and usage instructions (c5a407c) - api: Update method examples for clarity and accuracy (8f0e9e3)
- guide: Update references to nuxt-i18n-micro module and config file (bd7deb2)
- migration: Update route management section for Nuxt I18n Micro (e7177c6)
- guide: Update references from nuxt-i18n to nuxt-i18n-micro (5d91765)
- guide: Update locale prefix handling section in strategy.md (cb970f8)
- index: Update routing description to reflect strategy-based approach (8e51a23)
- news: Add announcement for Nuxt I18n Micro v3.0.0 release (efff7d6)
- index: Clarify routing strategies in documentation (c9cf36e)
- news: Update v3.0.0 announcement with architectural changes (47a4336)
- strategy: Clarify packages used for strategy implementation (7d5a09d)
- migration: Update migration guide for v3.0.0 changes (96f3181)
- guide: Update custom auto-detect documentation for cookie handling (d5536ba)
- guide: Update locale setting method in auto-detect guide (a8635f4)
- guide: Clarify
customRegexMatcherexample in getting started (f9a0377) - migration: Update removal details for
fallbackRedirectComponentPath(75f1dd1) - guide: Update locale handling instructions in strategy.md (6e1a4e5)
- news: Update redirect architecture and introduce useI18nLocale composable (e767dd3)
- guide: Update comments in storybook guide to English (4655239)
- integrations: Translate comments from Russian to English (6e723d6)
- useI18nLocale: Add documentation for useI18nLocale composable (cbe440a)
- composables: Add
useI18nLocalecomposable documentation (c1e112b) - config: Add link for useI18nLocale to documentation menu (10179ed)
- performance: Update guide with caching and optimization details (498fe56)
- news: Update release notes for v3.0.0 with performance optimizations (7d9d808)
- news: Update release notes for v3.0.0 with performance optimizations (056c5c7)
- readme: Update performance comparison with baseline results (7da88b8)
- performance: Update performance results and benchmarking notes (b9a51fd)
- guide: Update experimental features to top-level options (567837a)
🏡 Chore
- scripts: Add clean:test script to remove test artifacts (0af2243)
- pnpm-lock: Add test fixtures for auto-detect and pages scenarios (3ff8a01)
- api: Remove debug log for loaded translations (10d4335)
- pnpm-workspace: Update dependencies for catalog and testing (8fe24ae)
- package: Add imports and update test scripts in
package.json(5b4389f) - vitest: Update test configuration to limit parallel execution (a92eb86)
- devtools-ui: Bump version to 1.1.0 in package.json (dd3d206)
- route-strategy: Bump version to 1.1.0 (e7e7b35)
- test-utils: Bump version to
1.1.0inpackage.json(f4cd09e) - types-generator: Bump version to 1.1.0 in package.json (f70292e)
- lockfile: Update
pnpm-lock.yamlwith new nuxt dependencies (5a38606)
✅ Tests
- auto-detect-no-prefix: Add tests for autoDetectLanguage functionality (4fd130d)
- cookie-redirect: Add tests for cookie-based locale redirection (933ff4d)
- named-params: Enhance navigation tests with URL verification (064ac6e)
- pages: Add tests for i18n with pages: false configuration (37da7ed)
- prefix: Add tests for prefix strategy redirection behavior (1ebbcba)
- Add reactivity tests for i18n locale switching and routing (809b114)
- serverless: Add tests for translations in serverless environment (9e8d71c)
- route-generator: Update test cases to use structured options (cab8fef)
- no-prefix: Update comment for URL check in German (47346ee)
- route-strategy: Improve test assertions for route children (93f5b13)
- basic: Add error handling for undefined ISO date conversion (4838440)
- Update assertions for URL formats in various test files (8b25a4c)
- Update assertions for URL formats in various test files (03fc4ff)
- route-service: Remove setCookie mock from RouteService tests (cccc3cc)
- auto-detect-no-prefix: Refactor tests to use direct requests (36a9c75)
- basic: Fix locale text assertion in navigation test (c7664a9)
- cookie: Update user locale cookie expectation to 'en' (14dbe85)
- pages: Prefix test names for clarity and consistency (3e73d49)
- reactivity: Clear cookies before each test in critical i18n scenarios (1402eb2)
- basic: Fix expected locale text after navigation (3070956)
- reactivity: Update locale assertions in reactivity tests (1b4872d)
- content: Add waitFor visibility check for locale switcher button (67cc554)
- i18n: Update tests to use custom storage instead of cache (da1cd44)
- route-service: Improve tests for getCurrentLocale logic (e05895b)
⚠️ Breaking Changes
⚠️ Complete rewrite of route generator mechanism (9be2aa5)