From 5c967c7f870ef0462e2065b49dc15ed16ab9e23f Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Tue, 10 Sep 2024 14:02:42 +0900 Subject: [PATCH] docs: updage changelog --- CHANGELOG.md | 145 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 96 insertions(+), 49 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc1e1051f..8e5377dbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,77 +1,124 @@ # v10.0.0 (2024-09-10T04:41:41Z) -This changelog is generated by [GitHub Releases](https://github.com/intlify/vue-i18n/releases/tag/v10.0.0) +We are excited to announce the release of Vue I18n v10. +We had many contributors. - +Thanks for your contributing ❤️ -## What's Changed +# Summary -### 🌟 Features +## `petite-vue-i18n` General Availability -- feat!: change `$t` overloaded signature for Legacy API mode by @kazupon in https://github.com/intlify/vue-i18n/pull/1832 -- feat!: default enable for JIT compilation by @kazupon in https://github.com/intlify/vue-i18n/pull/1852 -- feat: move to GA from experimental for petite-vue-i18n by @kazupon in https://github.com/intlify/vue-i18n/pull/1862 -- feat: support generated locale type by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1890 +`petite-vue-i18n` is an alternative distribution of Vue I18n, providing only minimal features. -### 🐛 Bug Fixes +If you don't need the full functionality of vue-i18n and are just looking for basic translation features with a smaller footprint, this will suit your use case. -- fix(types): allow spyOn of "useI18n()" by @pinguet62 in https://github.com/intlify/vue-i18n/pull/1815 -- fix: remove unnecessary types from petite-vue-i18n by @kazupon in https://github.com/intlify/vue-i18n/pull/1833 -- fix: Not load devtools on Node.js by @kazupon in https://github.com/intlify/vue-i18n/pull/1843 -- fix: allow empty default message by @kazupon in https://github.com/intlify/vue-i18n/pull/1849 -- fix: cannot reduce message-compiler bundle size for runtime by @kazupon in https://github.com/intlify/vue-i18n/pull/1860 -- fix(types): `$t` types by @mitjans in https://github.com/intlify/vue-i18n/pull/1883 -- fix: fallback linked message params by @kazupon in https://github.com/intlify/vue-i18n/pull/1926 +For more details, please see the [docs](https://vue-i18n.intlify.dev/guide/advanced/lite). -### 💥 Breaking Changes +## JIT Compilation Enabled by Default -- breaking: drop modulo syntax by @kazupon in https://github.com/intlify/vue-i18n/pull/1814 -- breaking: drop vue-i18n-bridge by @kazupon in https://github.com/intlify/vue-i18n/pull/1816 -- breaking: drop `allowComposition` option by @kazupon in https://github.com/intlify/vue-i18n/pull/1817 -- breaking: drop fully `formatter` option codes on Legacy API by @kazupon in https://github.com/intlify/vue-i18n/pull/1826 -- breaking: drop fully `preserveDirectiveContent` option codes on Legacy API by @kazupon in https://github.com/intlify/vue-i18n/pull/1827 -- breaking: drop fully `preserve` modifier codes on `v-t` directive by @kazupon in https://github.com/intlify/vue-i18n/pull/1828 -- breaking: drop fully `getChoiceIndex` on Legacy API by @kazupon in https://github.com/intlify/vue-i18n/pull/1829 -- breaking: drop translation component `` v8.x compatibility by @kazupon in https://github.com/intlify/vue-i18n/pull/1844 -- breaking: drop `te` behavior v8.x compatibility on v9 by @kazupon in https://github.com/intlify/vue-i18n/pull/1845 +JIT compilation was introduced in v9.3, but it was not enabled by default. -### ⚠️ Deprecated Features +However, it had the following issues: -- feat!: deprecate `tc` and `$tc` for Legacy API mode by @kazupon in https://github.com/intlify/vue-i18n/pull/1839 +- CSP restrictions: Difficult to work with service/web workers, edge-side runtimes of CDNs, etc. +- Backend integration: Hard to fetch messages from a backend (e.g., a database via API) and localize them dynamically. -### ⚡ Improvement Features +Starting from v10, JIT compilation is enabled by default. -- fix: reduce devtools pkgs and size by @kazupon in https://github.com/intlify/vue-i18n/pull/1823 -- fix: translation interface typing by @kazupon in https://github.com/intlify/vue-i18n/pull/1837 -- fix(devtools): change vue-devtools label by @kazupon in https://github.com/intlify/vue-i18n/pull/1885 -- fix: vue-i18n type definition for vue package by @kazupon in https://github.com/intlify/vue-i18n/pull/1888 -- fix: type errors by @kazupon in https://github.com/intlify/vue-i18n/pull/1935 +## Support for Generated Locale Types -### 📈 Performance Fixes +We provide an interface to extend the Locale type in TypeScript, similar to `ComponentCustomProperties` in Vue. -- perf: more bundle size optimization by @kazupon in https://github.com/intlify/vue-i18n/pull/1851 +This feature is useful when using vue-i18n as part of a framework. -### 📝️ Documentations +For more details, see the [PR](https://github.com/intlify/vue-i18n/pull/1890) for the Nuxt I18n use case. + +## Changes to `$t` and `t` Overload Signatures for Legacy API Mode + +In Vue I18n v9, `$t` and `t` had different overload signatures in Composition API mode compared to Legacy API mode. + +When migrating from Legacy API mode to Composition API mode, these differences sometimes caused confusion. + +Starting from v10, Legacy API mode will use the same `$t` and `t` overload signatures as Composition API mode. + +For details on the signature pattern, see the [migration guide](https://vue-i18n.intlify.dev/guide/migration/breaking10.html#change-t-and-t-overloaded-signature-for-legacy-api-mode). + +## Deprecation of `tc` and `$tc` for Legacy API Mode -- docs: add favicon by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1824 -- docs: fix typos by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1825 -- Update started.md to fix typo by @steveclarke in https://github.com/intlify/vue-i18n/pull/1822 -- docs: fix typo on vue i18n name by @r-moret in https://github.com/intlify/vue-i18n/pull/1848 -- fix: typo in migration breaking changes v10 by @khylias in https://github.com/intlify/vue-i18n/pull/1854 +The `t` and `$t` functions already support pluralization, so `tc` and `$tc` can be replaced. + +In v10, `tc` and `$tc` still exist to aid in migration, but they will be fully removed in v11. + +If you use them, Vue I18n will display a console warning in your application. + +For migration instructions, see the [docs](https://vue-i18n.intlify.dev/guide/migration/breaking10.html#deprecate-tc-and-tc-for-legacy-api-mode). + +## Dropping Deprecated Features from v9 + +Some features were marked as deprecated in v9 with warnings. + +These deprecated features will be completely removed in v10. + +For more details on the deprecated features, see the [docs](https://vue-i18n.intlify.dev/guide/migration/breaking10.html#drop-modulo-syntax). + +# 🌟 Features + +- feat: move to GA from experimental for petite-vue-i18n by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1862 +- feat!: default enable for JIT compilation by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1852 +- feat: support generated locale type by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1890 +- feat!: change `$t` overloaded signature for Legacy API mode by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1832 + +# ❗ Braeking Changes + +- breaking: drop translation component `` v8.x compatibility by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1844 +- breaking: drop `te` behavior v8.x compatibility on v9 by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1845 +- feat!: deprecate `tc` and `$tc` for Legacy API mode by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1839 +- breaking: drop fully `formatter` option codes on Legacy API by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1826 +- breaking: drop fully `preserveDirectiveContent` option codes on Legacy API by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1827 +- breaking: drop fully `preserve` modifier codes on `v-t` directive by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1828 +- breaking: drop fully `getChoiceIndex` on Legacy API by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1829 +- breaking: drop vue-i18n-bridge by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1816 +- breaking: drop `allowComposition` option by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1817 +- breaking: drop modulo syntax by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1814 + +# ⚡ Improvement Features + +- perf: more bundle size optimization by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1851 +- fix: type errors by @kazupon in https://github.com/intlify/vue-i18n/pull/1935 +- fix(devtools): change vue-devtools label by @kazupon in https://github.com/intlify/vue-i18n/pull/1885 +- fix: vue-i18n type definition for vue package by @kazupon in https://github.com/intlify/vue-i18n/pull/1888 +- fix: translation interface typing by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1837 +- fix: reduce devtools pkgs and size by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1823 + +# ✏️ Documentation & Sample Updates + +- Improved the global and local Scope descriptions by @pankajrlal in https://github.com/intlify/vue-i18n/pull/1925 +- Update ja-JP.json by @awsssrD in https://github.com/intlify/vue-i18n/pull/1914 +- Update en-US.json by @awsssrD in https://github.com/intlify/vue-i18n/pull/1913 +- chore: fix module augmentation example comment by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1898 +- Added a comment about pluralRules to the code in pluralization docs by @M1h4n1k in https://github.com/intlify/vue-i18n/pull/1873 - docs: fix typos by @SimonVadier in https://github.com/intlify/vue-i18n/pull/1863 - docs: add scoping for custom directive by @kazupon in https://github.com/intlify/vue-i18n/pull/1867 - Update tools.md by @felixhaeberle in https://github.com/intlify/vue-i18n/pull/1866 - Fix typos, syntax by @TheoKondak in https://github.com/intlify/vue-i18n/pull/1881 -- Added a comment about pluralRules to the code in pluralization docs by @M1h4n1k in https://github.com/intlify/vue-i18n/pull/1873 -- chore: fix module augmentation example comment by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1898 -- Improved the global and local Scope descriptions by @pankajrlal in https://github.com/intlify/vue-i18n/pull/1925 +- fix: typo in migration breaking changes v10 by @khylias in https://github.com/intlify/vue-i18n-next/pull/1854 +- docs: fix typo on vue i18n name by @r-moret in https://github.com/intlify/vue-i18n-next/pull/1848 +- docs: add favicon by @BobbieGoede in https://github.com/intlify/vue-i18n-next/pull/1824 +- docs: fix typos by @BobbieGoede in https://github.com/intlify/vue-i18n-next/pull/1825 +- Update started.md to fix typo by @steveclarke in https://github.com/intlify/vue-i18n-next/pull/1822 -### 🍭 Examples +# 🐛 Bug Fixes -- Update ja-JP.json by @awsssrD in https://github.com/intlify/vue-i18n/pull/1914 -- Update en-US.json by @awsssrD in https://github.com/intlify/vue-i18n/pull/1913 +- fix: fallback linked message params by @kazupon in https://github.com/intlify/vue-i18n/pull/1926 +- fix(types): `$t` types by @mitjans in https://github.com/intlify/vue-i18n/pull/1883 +- fix: cannot reduce message-compiler bundle size for runtime by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1860 +- fix: allow empty default message by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1849 +- fix: remove unnecessary types from petite-vue-i18n by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1833 +- fix: Not load devtools on Node.js by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1843 +- fix(types): allow spyOn of "useI18n()" by @pinguet62 in https://github.com/intlify/vue-i18n-next/pull/1815 -## New Contributors +# New Contributors - @pinguet62 made their first contribution in https://github.com/intlify/vue-i18n/pull/1815 - @steveclarke made their first contribution in https://github.com/intlify/vue-i18n/pull/1822