v19.0.0
19.0.0 (2026-02-20)
⚠ BREAKING CHANGES
- Update GetInjectable type to accept a generic lifecycle
enum parameter, allowing typed lifecycle values beyond the built-in set.
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- Require React 18+ as peer dependency and remove the
registerInjectableReact module that is no longer needed with the new
hook-based API.
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- Migrate to using asyncComputed in package mobx-utils
Co-authored-by: Janne Savolainen janne.savolainen@live.fi
Features
- Drop React 17 support and remove registerInjectableReact (ef9e866)
- Enhance injectable bunches and typed specifiers (b1f6fa3)
- Expose typing for instantiation parameter of computedInjectMany (64674a1)
- Implement checking for if "alias-has-registrations" (ae1fb0a)
- Introduce discoverable and element-component packages (6e0c6f4)
- Introduce specificity of injection tokens (992551d)
- Introduce useInject hook and getInjectableComponent (6080eab)
- Make replaceTagsWithValues exported as point-free, and with typing (3ff26b1)
- Support React 19 and introduce computedInjectMaybe (f6ed37f)
Bug Fixes
- Fix bad export (df4b9c1)
- Fix injectable core internals and remove cycle detection (bfd24fa)
- Fix React withInjectables rendering and memoization (e17244f)
- Fix typing of conditional promises in pipeline (850a3aa)
- Fix typing of different public decorators of injectable (e975baf)
- injectable-extension-for-mobx: ComputedInjectMaybe should pass through injection params (df63bb0)
- Make GetInjectable accept generic lifecycle enum (cddd14e)
- Make withInjectables have access to all features of di (543dc16)
Miscellaneous Chores
- Get rid of duplicated asyncComputed (b6fd8b3)