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

[Full Changelog](https://github.com/arez/arez/compare/v0.44...v0.45)

Changes in this release:

#### Fixed
* **\[processor\]** The repositories generated by the annotation processor would incorrectly invert the check
  around `Arez.areRepositoryResultsModifiable()` and created modifiable results when this configuration value
  was `false` and unmodifiable results when that configuration value was `true`.
* **\[processor\]** When the annotation processor can not resolve types for extensions, the code would fail
  with a `ClassCastException`. The annotation processor has been updated to report a more user friendly
  exception in this scenario.

#### Added
* 💥 **\[components\]** Introduce the `arez.components.Identifiable` interface that is implemented by generated
  component classes and can be used to access the underlying Arez identifier.

#### Changed
* 💥 **\[components\]** Removed the `type` parameter from the exception `arez.component.NoSuchEntityException`
  so that Class instances can be optimized away in production code. The parameter provided limited utility and
  was a hold-over from an earlier component system.
* 💥 **\[components\]** Introduce the `arez.component.AbstractRepository` class that is used by the annotation
  processor when generating repositories. This reduces the amount of code that is generated, decreases the amount
  of code that is converted to javascript in a GWT application and makes it easier to test the repository code
  in isolation. It also made it possible for extensions to refer to the `AbstractRepository` reducing the
  potential for un-resolvable types when some types are generated by the annotation processor that are used by
  interfaces that the same type implements (i.e. extensions).

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