# What's New?

## 2.5.0

* Define [custom collections](https://quick.ortusbooks.com/2.5.0/collections) per entity.

## 2.4.0

* ~~Apply custom setters when hydrating from the database.~~ (Reverted in `2.5.3` for unintended consequences with things like password hashing.)
* [Query scopes can return any value.](https://quick.ortusbooks.com/2.5.0/getting-started/query-scopes#scopes-that-return-values)  This allows you to use scopes to perform query functions and return values.  (If you do not want to return a custom value, return the `QueryBuilder` instance or nothing.)
* Improve error messages for not loaded entities.
* Return the correct memento with accessors on.

## 2.3.0

* [Option to ignore non-existent attributes](https://quick.ortusbooks.com/2.5.0/getting-started/updating-existing-entities#update)

## 2.2.0

* [Relationship Fetch Methods](https://quick.ortusbooks.com/2.5.0/relationships/retrieving-relationships) (`first` and `find` methods)

## 2.1.0

* [Subselect Helper](https://quick.ortusbooks.com/2.5.0/getting-started/query-scopes#subselects)
* [Global Scopes](https://quick.ortusbooks.com/2.5.0/getting-started/query-scopes#global-scopes)
* [saveMany](https://quick.ortusbooks.com/2.5.0/relationships/relationship-types/hasmany#saveMany)
* Mapping foreign keys for relationships is now optional
* Either entities or primary key values can be passed to relationship persistance methods
* Relationships can also be saved by calling `"set" & relationshipName`
* [Virtual Inheritance](https://quick.ortusbooks.com/2.5.0/getting-started/defining-an-entity) works on ColdBox 5.2+
