NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2832 most downloaded on npm
Internationalization for react done right. Using the i18next i18n ecosystem.
Last release 13 days ago
21 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Most releases are documented
notes for 44 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
388 releases · first in 2015
Add bindI18nStore event options to listen to store changes if needed 749
allow passing ready if i18next not initialized yet but initialStore set (timing issue in razzle)
One column per quarter.
forward ready state in withTranslation, Translation
better naming for Wrappers in HOC for easier use of react debugger in console
fixes namespace loading for false inital state undefined
try avoiding pull in of regenerator runtime for async usage -> use Promise for now
- fix initial props on withSSR
refactor ready state in useTranslation
allow object spread const { t } = useTranslation() 714
for MIGRATION READ https://react.i18next.com/latest/migrating-v9-to-v10
hooks: make reportNS bound to the i18n instance - so report is per request 711
hooks: add Translation render prop 708
hooks: initial alpha version with all build targets -> preparing v10 release
typescript: Add TS definition for reportNS prop 699
typescript: fix: useTranslation hooks typing 698
typescript: TFunction usage inside NamespacesConsumer should behave 694
fixing react-i18next throwing webpack error when initializeing using @babel/runtime 7.3.0 685
- updated all deps
UMD: Environment optimization with rollup-plugin-replace support 683
typescript: add generic type to t function and the tests 665
fix useSSR for hooks storing state on i18n instance and not globally 671
- fix hooks ts 658
- fix ts 655
keeping legacy names (no deprecation on them as this will be last version using those -> v10 will be based on hooks)
transEmptyNodeValue in i18next.options.react to set a default fallback value for empty nodes to allow i18next fallback flow 462BREAKING
Using react >= 16.3.0 will be save - in other cases you will need to polyfill react.createContext yourself!!
update typescript definitions for i18next v13 631
try fixing hooks ready algorithm 642
try fixing edge case of unset state: 615
handle initial SSR props only once
remove componentWillReceiveProps call in I18nextProvider to comply with react strict mode 596
rename named export to window.ReactI18next for standalone js
try fixing standalone browser build
remove wait option in hooks code (not used anylonger)
use react suspense in hooks experimental code learn more
make export in ./hooks.js explicit
Ensure withI18n hoists static members. 584
comes with support for hooks that are experimental in react v16.7.0-alpha learn more
publish changes to typescript definitions 567
persisting generated i18nOptions on withI18n hoc to avoid rerenders on pure components
- add typedefinitions 557
add innerRefs support to withContext, withI18n
replaces getWrappedInstance on withNamespaces / translate with passing a innerRef https://github.com/facebook/react/issues/13456 534
- fix SSR cases
fix issue with context not applied when merging i18n options
add prop-types to peer deps as long we use the ponyfill create-react-context
- remove prop-types in tests
remove proptypes dependency - not needed anylonger as we do not define old context
use @babel/plugin-transform-runtime
translate HOC was renamed to "withNamespaces" as it controls which namespaces should be loaded
translate HOC was renamed to "withNamespaces" as it controls which namespaces should be loaded
I18n render prop was renamed to "NamespacesConsumer" as it controls which namespaces should be "consumed"
there is a new context.consuming HOC "withI18n" adds i18n, t to component props (without the extra options of withNamespaces)
there is a simplification for interpolation in translations
'Hello <1><0>{{name}}</0></1>, you have <3>{{count}}</3> message. Open <5>hear</5>.'
can be written as:
'Hello <1>{{name}}</1>, you have {{count}} message. Open <5>hear</5>.'
=> there is no need to add <0>...</0> around interpolated values anylonger
=> your old files having those extra pseudo tags will still work without needing to change them
Using react's new context api
should be non breaking in most cases, with following exceptions:
still we prefer to increase this to a major version as beside the described egde cases there might be other effects we not have covered with our tests
Load missing namespaces when updating ns prop on I18n component 523
pass down lng via props in I18n and translate HOC - for use cases like 508
fix related to issue #504: also report default Namespace with translate() 506
Added reportNS function to I18NextProvider to report used namespaces 500
fix small issue in icu.macro introduced on refactoring
Adds import { Trans, Plural, Select } from react-i18next/icu.macro a babel macro to allow nicer components used with ICU format (which as default woul
react-i18next/icu.macro a babel macro to allow nicer components used with ICU format (which as default would result in invalid JSX). discussionSkip custom html tags in Trans component translation PR482
Support defaultNS from I18nextProvider props PR478
i18n in context is optional as it can be passed via props too 474
avoid rerenders triggered by bound i18next events while I18n or translate hoc are not ready yet (omitBoundRerender: true --- is default) 456
Allow Trans component to be used with props only for icu use case (next step babel makro) 439
Allow to pass a function as parent for component PR424
Your coding agent can read these notes before it upgrades. Set up the MCP server →