Object[] coordinates: Coordinates are now Object[] instead of List<Object> throughout the module.
Measure builders outside post-processors: Builders have been removed from post-processors. Separate classes have been created to build post-processed measures.
Refactored AContextualMarketDataRetriever: The executeRetrieval(C translatedCoordinates) and generateMarketData(C translatedCoordinates, MarketDataRetrievalContext context) methods in AContextualMarketDataRetriever have been renamed, with changes to the default behavior of the retriever.
Generic APropertyMarketDataPostProcessor: Added the generic retriever type to the signature of APropertyMarketDataPostProcessor<T extends IDefaultMarketDataRetriever> in order to bind the container to a specific type.
Setting the FX pivot currency through injection: The FX pivot currency is now injected into the FX post-processors rather than added as a property.
Removed retriever factories: Removed retriever factories in favor of explicit instantiation through the container service.
Removed support for 3-axis interpolation: Cube (3-axis) market data interpolation is no longer supported through either the API or the default implementations.
Upgrade to Atoti Server 6.1.0: Atoti Market Data has been upgraded to Atoti Server 6.1.0.
Java 21: Atoti Market Data 0.9.0 requires Java 21.
Improvements to overridden store values in post-processors: Overridden store values can now be the same length as the required levels and are declared as an array.
Added FX rate post-processors: Two FX rate post-processors have been added to the library.
FX rate on a currency against itself: The contextual FX rate retriever returns 1.0 when an FX rate is requested for a currency against itself.
Extensible SingleMarketDataPostProcessor: The SingleMarketDataPostProcessor is now extensible, allowing the static measure() method to be replaced with an appropriate one for the extension.
Store name suffix A suffix can be defined for all store names. By default, that suffix is the empty string.
SingleMarketDataPostProcessor split: The selection of a market data container based on a post-processor property has been moved into a new post-processor, APropertyMarketDataPostProcessor.
Allowed the possibility to have no interpolation mode defined in the CurveMarketDataPostProcessor, SurfaceMarketDataPostProcessor and CubeMarketDataPostProcessor classes.
The selection of a market data container based on a post-processor property has been moved into a new post-processor, APropertyMarketDataPostProcessor.