---
title: Arez 0.16 released
type: minor
---

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

Changes in this release:

##### Added
* **\[component\]** Introduce the "component" module that provides supporting infrastructure for the components
  and repositories generated by the annotation processor. This module is seeded by code from the downstream
  projects that they have needed to support their requirements.
* **\[processor\]** Add a method `getByQuery()` to the generated repository that throws the exception `NoResultException`
  if unable to find a component that matches query.
* **\[processor\]** Add a method `getBy[ComponentId]()` to the generated repository that throws the exception
  `NoSuchEntityException` if unable to component with specified id.

##### Fixed
* **\[core\]** Eliminate assertion failures when `ArezConfig.enforceTransactionType()` is set to false but
  invariant checking is still enabled. Add a basic integration test with `enforceTransactionType` to to false
  to ensure that this continues to work into the future.
* **\[core\]** Stop recording `TransactionMode` if `ArezConfig.enforceTransactionType()` returns false. This
  results in the code being optimized out in production builds.
* **\[processor\]** Fix annotation processor so that repositories of components with protected constructors
  will not cause a compile error. The fix was to ensure that the access modifiers of the `create` method
  matched the access modifiers of the target constructor.

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