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

[Full Changelog](https://github.com/arez/arez/compare/v0.101...v0.102)

Changes in this release:

* **\[core\]** Add the `readOutsideTransaction` parameter to the `@Observable` annotation. If set to `true`
  the observable can be read outside a transaction. i.e. The observable can be read without be wrapping in a
  `@Computed` method, a `@Autorun` method, a `@Track` method or an `@Action` method. The read of an observable
  within a tracking transaction will continue to record the access as a dependency on the tracker.
* **\[core\]** Add the utility method `ArezContext.isWriteTransactionActive()`.
* **\[core\]** Add the `requireNewTransaction` parameter to the `@Action` annotation. If set to `true` then
  an action always creates a new transaction to wrap the action. If set to false then the action will use the
  current transaction if a transaction is active and create a new transaction if no transaction is active.
  Add the same parameter to the `ArezContext.action(...)` and `ArezContext.safeAction(...)` methods.
* **\[core\]** Change the default value of the `requireNewTransaction` parameter on the `@Action` annotation
  from `false` to `true`.
* **\[core\]** Add an additional invariant check to ensure that `ComputedValue` actions do not attempt to
  invoke actions or track functions. The intent of `ComputedValue` is to derive values from observable and
  computed properties and not to drive change (i.e. actions) or react to change (i.e. track methods).
* **\[core\]** Add the `canNestActions` parameter to the `@Track` and `@Autorun` annotations. If the parameter
  is false, then an invariant failure will occur if the track or autorun observers attempt to invoke an action.
  The intent is to force the developer to explicitly allow this scenario as nested actions can impact the
  dependencies of the containing observer.

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