---
title: Arez 0.60 released
author: Arez Project
authorURL: https://github.com/arez
---

[Full Changelog](https://github.com/arez/arez/compare/v0.59...v0.60)

Changes in this release:

#### Fixed
* **\[core\]** Fixed bug that was introduced into `ArezContext.when(...)` methods that could result in an invariant
  failure if the condition immediately resolved to true. The invariant failure was the result of
  `Disposable.dispose(watcher)` being invoked before watcher had been assigned.
* **\[core\]** Significantly optimized scheduler by replacing a `ArrayList` that removed elements from the start
  with a `CircularBuffer`.
* **\[core\]** Optimize the `Transaction.completeTracking()` method by removing invariant checks for an impossible
  scenario. Guards some of the remaining invariant checks inside an `if( Arez.shouldCheckInvariants() )` block.

#### Added
* **\[core\]** Added the ability to create `"high priority"` observers. These observers are prepended to the start
  of the pending observers list when they are scheduled. Normal priority observers are appended to pending observers
  list when they are scheduled.

#### Changed
* **\[processor\]** Change the `cascadeOnDispose` and  the `setNullOnDispose` observer in generated classes to be
  high priority observers. This means that the scheduler will prioritizing disposing and unlinking of disposed
  components over other reactions. This minimizes the need for application code to check `Disposable.isDisposed(...)`
  on each arez component before accessing it in a reaction.
* 💥 **\[annotations\]** Rename the parameter `type` in `@ArezComponent` to `name` for consistency with
  other annotations.

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