Skip to content

Releases: mobxjs/mobx

mobx@6.1.3

29 Jan 18:37
522765d
Compare
Choose a tag to compare

Patch Changes

mobx@6.1.2

29 Jan 16:44
0cb88ad
Compare
Choose a tag to compare

Patch Changes

  • ca09f2f5 #2761 Thanks @urugator! - configure({ safeDescriptors: false }) now forces all props of observable objects to be writable and configurable

mobx@6.1.1

28 Jan 13:42
b8863ca
Compare
Choose a tag to compare

Patch Changes

  • 39eca50d #2757 Thanks @urugator! - Fix error stringification on minified build
    Fix isObservableProp not supporting Symbols
    Fix makeAutoObservable not ignoring inferredAnnotationsSymbol

mobx@6.1.0

27 Jan 11:29
765c405
Compare
Choose a tag to compare

This release fixes a plethora of bugs related to sub-classing and reflecting / iterating on observable objects.
The behavior of MobX is in many edge cases much more explicitly defined now.

A new annotation was introduced: @override / override to support re-defining actions and computed values(!) on sub classses.

For idiomatic MobX usage this release should have little impact, but if you are using a lot of sub-classing, reflection APIs or direct object manipulations like defineProperty,
this release might introduce previously unseen errors for cases that silently failed before, or even worked successfully even though the correct behavior wasn't specified earlier.

If you are migrating from MobX 4/5 we strongly recommend to go to 6.1 in one go, and skip 6.0.*, as some buggy behavior compared to the previous majors has been corrected.

As always, our libraries come as-is and are maintained by volunteers. Upgrades are at own risk and voluntary. Bug reports require a minimal reproductions and a correctly filled out issue template.

Support the ongoing maintenance at: https://opencollective.com/mobx

Minor Changes

28f8a11d #2641 Thanks @urugator!

  • action, computed, flow defined on prototype can be overriden by subclass via override annotation/decorator. Previously broken.
  • Overriding anything defined on instance itself (this) is not supported and should throw. Previously partially possible or broken.
  • Attempt to re-annotate property always throws. Previously mostly undefined outcome.
  • All annotated and non-observable props (action/flow) are non-writable. Previously writable.
  • All annotated props of non-plain object are non-configurable. Previously configurable.
  • Observable object should now work more reliably in various (edge) cases.
  • Proxied objects now support Object.defineProperty. Previously unsupported/broken.
  • extendObservable/makeObservable/defineProperty notifies observers/listeners/interceptors about added props. Previously inconsistent.
  • keys/values/entries works like Object.keys/values/entries. Previously included only observables.
  • has works like in. Previously reported true only for existing own observable props.
  • set no longer transforms existing non-observable prop to observable prop, but simply sets the value.
  • remove/delete works with non-observable and computed props. Previously unsupported/broken.
  • Passing options to observable/extendObservable/makeObservable throws if the object is already observable . Previously passed options were mostly ignored.
  • autoBind option is now sticky - same as deep and name option.
  • observable/extendObservable now also picks non-enumerable keys (same as make[Auto]Observable).
  • Removed deprecated action.bound("name")
  • Proxied objects should be compatible with Reflect API. Previously throwing instead of returning booleans.

mobx-react@7.1.0

27 Jan 11:29
765c405
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [28f8a11d]:
    • mobx@6.1.0
    • mobx-react-lite@4.0.0

mobx-react-lite@3.2.0

27 Jan 11:29
765c405
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [28f8a11d]:
    • mobx@6.1.0

mobx@6.0.5

23 Jan 21:07
5ce0334
Compare
Choose a tag to compare

Patch Changes

🚨🚨🚨 If you are upgrading from V4/V5, please follow the migration guide.

mobx-undecorate@1.0.5

23 Jan 21:07
5ce0334
Compare
Choose a tag to compare

Patch Changes

mobx-react@7.0.6

23 Jan 21:07
5ce0334
Compare
Choose a tag to compare

Patch Changes

mobx-react-lite@3.1.7

23 Jan 21:07
5ce0334
Compare
Choose a tag to compare

Patch Changes