= Updates included in Chronicle Map 3 Neil Clifford :toc: macro :toclevels: 1 :css-signature: demo :toc-placement: macro :icons: font toc::[] Changes between Chronicle Map 3 and the previous Chronicle Map version are detailed below: == Functional changes - Chronicle Map 3 has a https://github.com/OpenHFT/Chronicle-Map/blob/doco_refresh/spec[formal data store specification] that specifies the https://github.com/OpenHFT/Chronicle-Map/blob/doco_refresh/spec/1-design-goals.md#guarantees-1[guarantees] that the data store provides, and gives a way to verify those guarantees. - Added support for multi-key queries. - "Listeners" mechanism fully reworked; see <>. This has a number of important consequences, most notable is that it is now possible to define "eventual-consistency" replication strategy, different from "last write wins"; any state-based CRDT. - "Stateless clients" functionality (remote calls) is moved to Chronicle Datagrid. - Replication is performed using Chronicle Datagrid. - Earlier versions of Chronicle Map had hard creation-time limits on the number of entries storable in a Chronicle Map. If the size exceeded this limit, an exception was thrown. + In Chronicle Map 3, this limitation is removed. The number of entries still has to be configured when the Chronicle Map is created, Exceeding this configured limit is possible, but discouraged. + For more information, see <>. - Chronicle Map 3 supports <> that enables detection of data corruption, providing additional safety. - Chronicle Map 3 allows <> after failures and corruptions. - Minor improvements and fixes. == Non-functional changes - Chronicle Map 3 requires Java version 8, or later. - Chronicle Map 3 has <>. ''' <<../ReadMe.adoc#,Back to ReadMe>>