v4.0.0 (2023-04-26)
Changelog
Features
- Hash-based message ID + Context (#1440)
- Custom Formatters
- Custom Extractors
- Message Extraction guide, experimental dependency tree crawling
- Vue.js Extractor
- macro: support JSX macro inside conditional expressions (#1436)
- macro: support renamed identifiers in macro (#1463)
- extractor: (Experimental): Deps extractor (#1469)
- core (Experimental): add new core API for Node/JS usage without macros (#1564)
- core: support extracting from all forms of
i18n._
/i18n.t
calls (#1586) - extractor: support TS experimental decorators (#1517)
- webpack-loader: support JSON catalogs (#1525)
- formats: extract formats into separate packages (#1536)
- macro: support tagged templates in
defineMessage
+ short alias (#1495) - conf: clarify the order by
messageId
and support order bymessage
(#1515) - extractor: allow
i18._(foo.bar)
without warning (#1492) - core: add
i18n.setCatalogAndActivate
for easier nextjs integration (#1541) - macro: allow passing any expression as custom i18n instance (#1475)
- extractor: respect sourcemaps (#1459)
- examples: update examples (nextjs-babel, nextjs-swc, js, create-react-app) (#1550)
- examples: add vite-react-babel example (#1558)
Fixes and refactoring
- always honor
process.env.LINGUI_CONFIG
(#1447) - core: use
Intl.PluralRules
instead ofi18n.loadLocaleData
(#1486) - core: do not ignore empty plural values (#1504)
- macro: expression only choices / select options (#1523)
- macro: mark
other
as required forChoiceOptions
(#1527) - react: remove deprecated
defaultProps
from Trans component (#1494) - cli: exclude pseudo locale during sync (#1455)
- react: do not remount children of
I18nProvider
(#1501) - react: support array of react components in values (#1593)
- build: migrate to unbuild (#1545)
Breaking Changes
- extractor/babel: non-fragile babel extractor options (#1367)
- extractor: don't use intermediate catalogs (#1358)
- macro: Trans inside Plural has leading whitespace (#1437)
- react: remove
withI18n
(#1503) - macro: remove
arg
macro (#1581) - delete Snowpack plugin (#1532)
Links
- Migration Guide
- Full changelog: v3.17.2...v4.0.0
Credits
@thekip @taozhou-glean @vonovak @j4hr3n @bravo-kernel @andrii-bodnar @Martin005 @janicduplessis