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

[Full Changelog](https://github.com/arez/arez/compare/v0.79...v0.80)

Changes in this release:

##### Added
* **\[core\]** Add the `keepAlive` parameter to the `ComputedValue`. If true the `ComputedValue`
  instance activates when it is created and will not deactivate when there is no observers. This
  feature adds the ability to keep a computed value up to date, even if it is only accessed through
  actions and no observers.
* **\[annotations\]** Enhance the `@Computed` annotation to support the `keepAlive` parameter.
* **\[annotations\]** Enhance the `@Observable` annotation to support the `initializer` parameter.
  The parameter controls whether the generated component class should add a parameter to the constructor
  to initialize the property. This is only possible if the observable property is defined by a pair
  of abstract methods. The default value is `AUTODETECT` which will add the initializer parameter if
  the observable property is defined by a pair of abstract methods *and* the parameter of the setter
  *and* the return value of the getter are annotated with `@Nonnull`.
* **\[docs\]** Add documentation for "Related Projects" to website.

#### Changed
* **\[\processor\]** Simplified the code used to construct core Arez elements within the generated
  component classes. If a constant value that matches the default value would be passed to the one
  of the `ArezContext.create...` methods then the constant values can be omitted. This simplifies
  the code for humans who need to read the generated code and can reduce the code size in large
  applications while not increasing the code size in small applications.
* **\[\processor\]** The process verifies that the `@ArezComponent` annotated class does not define
  any methods that are reserved names within Arez or use prefixes that are reserved by the Arez
  framework. Previously if a reserved word was used, the annotation processor would successfully
  complete but generate code that would not compile.
* **\[\component\]** Extract out the abstract class `arez.component.AbstractContainer` from
  `arez.component.AbstractRepository` that facilities easy authoring of reactive classes responsible
  for containing a collection of Arez components.

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