---
title: Arez 0.19 released
type: minor
---

[Full Changelog](https://github.com/realityforge/arez/compare/v0.18...v0.19)

Changes in this release:

##### Added
* Introduce the concept of a [`Zone`](http://realityforge.org/arez/zones) which is an isolated Arez context.
* Add some cute icons to start of "computed" messages and "scheduled" messages in `ConsoleSpyEventProcessor`.
  These were source from the [mobx-devtools](https://github.com/andykog/mobx-devtools) project.
* Add support for interleaving transactions from different instances of `ArezContext`. Beginning a transaction
  in one context will suspend the active transaction even if it is from a different context. The goal is to
  enable isolation between multiple contexts running within the same application.
* **\[core\]** Introduced `ArezTestUtil.resetConfig(boolean productionMode)` to simplify test setup.

##### Fixed
* **\[processor\]** Fixed bug where disposable of an arez component did not wrap all the dispose actions in
  a single transaction which could result in the `dispose()` causing an observer on the component to react
  when it is partially disposed which often causes failures.
* **\[processor\]** Ensure that the types of the setter and getter for an `@Observable` property are the
  same. Otherwise the overridden setter method method will call `Objects.equal(...)` on values of incompatible
  types which would always be "not equal". If a developer desires different types on the setter and getter they
  can use a package access setter or getter that matches paired methods type and then expose another method that
  is not annotated with `@Observable` to transform to the desired type.

##### Changed
* 💥 **\[core\]** Made the `ArezContext` constructors package access so that developers are forced to access
  contexts through the `org.realityforge.arez.Arez` class.
* 💥 **\[core\]** Move `ArezContext.areNamesEnabled()` to `Arez.areNamesEnabled()`.
* 💥 **\[core\]** Move `ArezContext.areSpiesEnabled()` to `Arez.areSpiesEnabled()`.
* Upgrade to BrainCheck 1.3.0 so assertion failures open the debugger.
* 💥 **\[core\]** Remove `Arez.bindProvider()` and all associated support infrastructure. Explicitly binding
  providers did not give enough flexibility to implement the desired features (i.e. `Zones` and thread-local
  `ArezContext` instances) so remove it until a suitable alternative can be found.
* **\[core\]** Remove `@Unsupported` annotation from `org.realityforge.arez.Arez` as it is now stable.

Update site to add news about the 0.19 release
Update site to add news about the 0.19 release
