Skip to main content
For a brief overview of the changes, see the Release notes. For information on upgrading from previous versions, see the Atoti Market Risk Migration Guide.
2026-08-24
In this release, entries marked (in mr-application) change the starter application module rather than a library module. A project that keeps its own copy of that module does not receive them by bumping the Atoti Market Risk version: each has to be ported deliberately. See Porting mr-application changes for what to take and what is optional. Entries marked (documentation only) correct the documentation and change no code. Every other entry arrives with the version bump, except the MR-2558 dependency entry and the Security entry: those come from the root POM’s BOM import order, which a forked root POM has to reproduce. See the Migration guide.

Added

  • MR-2392 (in mr-application): Added AWS S3 date autodiscovery. When dlc.csv.aws.sources is configured and mr.data-load.initial-business-dates is not set, the available business dates are now discovered from S3 instead of having to be listed manually. See the Migration guide.
  • MR-2392 (in mr-application): Added jgroups-protocols/protocol-jdbc-ping.xml, a JGroups TCP + JDBC_PING protocol configuration for cluster member discovery in cloud environments where UDP multicast is unavailable. Enable it with mr.messenger.protocol-file-path and configure it with the new mr.cluster.jgroups-bind-addr and mr.cluster.jdbc-ping.* properties. See Application properties.
  • MR-2392: Added the mr.directquery.tradepnl-vector-layout, mr.directquery.tradesensitivities-vector-layout, mr.directquery.marketshift-vector-layout and mr.directquery.sensiladder-vector-layout properties, selecting the vector layout of the corresponding DirectQuery table. Each accepts any VectorType value (DEFAULT, ROW, ROW_SAME_TABLE, COLUMN or NATIVE) case-insensitively, and an unrecognized value fails at startup. When unset, the existing default layout applies. See Application properties and the Migration guide.
  • MR-2414, MR-2538 (in mr-application): Added the mr.data-load.initial-load-batch-size property, which loads per-date topics in batches of that many files during the initial load to reduce peak memory usage. When unset (the default), each topic is loaded in a single request. Batching supports local CSV and AWS S3 sources only: no file is listed on the dlc-azure-csv profile, so leave the property unset there. See DLC configuration for how files are listed and matched against topic file patterns, and the Migration guide.
  • MR-2418 (in mr-application): Added OTLP HTTP export for traces, metrics, and logs (OtlpHttpSpanExporter, OtlpHttpMetricExporter, OtlpHttpLogRecordExporter) configurable via otel.exporter.otlp.endpoint (default http://localhost:4318), otel.exporter.otlp.headers, and otel.exporter.otlp.compression. Added OtlpEndpointNormalizer EnvironmentPostProcessor to strip trailing slashes from the endpoint. Added mr.initial.load.duration and mr.initial.load.phase.duration{topic} Micrometer timers in InitialDataLoadConfig exposed via /actuator/prometheus. Two Grafana dashboards (mr-load-performance, mr-runtime-performance) and a local docker-compose LGTM stack added under docker/observability/.
  • MR-2423 (in mr-application): Added service-driven DirectQuery local cache routing for shift post-processors, through the new IMarketShiftDirectQueryCachingPostProcessorEx interface. A post-processor can now be wired to several cache stores, and the injected IMarketDataRetrievalService/IFxShift selects the store to read at query time. The interfaces and the standard post-processors ship in the library modules; only RiskPostProcessorInjector has to be ported. See the Migration guide and Cache routing.
  • MR-2448 (in mr-application): Added OTLP gRPC transport, selectable via the standard otel.exporter.otlp.protocol property (http/protobuf default, grpc opt-in). gRPC uses the OtlpGrpc* exporter variants against the base endpoint, defaulting to http://localhost:4317 when no endpoint is set; headers and compression apply to both transports. Also added the opt-in mr.open-telemetry.legacy-mode property (default false) that restores the 6.0.8 telemetry export destinations (Zipkin spans, stdout metrics and logs) and overrides the OTLP configuration; the SDK is still registered as GlobalOpenTelemetry as in modern mode. See the Migration guide.

Changed

  • MR-2291: Added a secondary index on the MarketShift DirectQuery cache mirroring the in-memory index (AS_OF_DATE, RISK_FACTOR_ID, SCENARIO_SET), improving performance.
  • MR-2360: Promoted the Previous=CUB+1 member into the default value of mr.cubes.levels.day-to-day-members, appended as the last entry. Deployments that do not override the property gain the member in the DayToDay hierarchy; because it is appended last, the hierarchy’s default member is unchanged. The member navigates to the preceding date in the cube (cube-relative shift). Next=CUB-1 remains opt-in.
  • MR-2418 (in mr-application): Changed the default OTel service.name from Atoti Server to market-risk-accelerator, overridable with otel.service.name. Log records are now exported over OTLP instead of written to stdout, and the InitialDataLoadConfig public constructor takes a second MeterRegistry argument. See the Migration guide.
  • MR-2418 (in mr-application): Changed the default mode to stop wiring LoggingMetricExporter and SystemOutLogRecordExporter, the stdout exporters for metrics and log records. Set mr.open-telemetry.legacy-mode=true to restore them. mr.open-telemetry.logging-span-exporter-enabled continues to work for spans only.
  • MR-2552: Aligned the Atoti Sign-Off API and Adjustments Services dependencies with the Atoti Server version. signoff-api.version and adjustments-services.version are now set to ${activepivot.version} instead of the separate 4.2.1 and 4.1.3 pins. Their Maven group IDs moved from com.activeviam.solutions.signoff-api and com.activeviam.solutions to com.activeviam.modules.signoff-api and com.activeviam.modules; the signoff-api-lib and adjustments-services artifact IDs are unchanged. The BranchAwareAdjustmentRequestDTO constructor now takes an additional parentBranch argument after user, so projects that construct the DTO directly must add the new argument. For migration details, see the Migration guide.
  • MR-2554 (in mr-application): Switched the shipped Snowflake DirectQuery profile to key-pair (RSA private key) authentication, ahead of Snowflake deprecating single-factor password authentication. application-snowflake.yaml no longer reads SNOWFLAKE_PASSWORD. It now supplies a base64-encoded RSA private key via directquery.database.snowflake.additional-options.private-key-base64 (${SNOWFLAKE_PRIVATE_KEY_BASE64}). For setup and migration steps, see Snowflake key-pair authentication and the Migration guide.
  • MR-2556 (in mr-application): Aligned the Atoti Limits client library coordinates with the Atoti Server version. The library now ships at 6.1.24: limits.version resolves to ${activepivot.version} rather than a fixed value, and the groupId for limits-auto-config-61 changed from com.activeviam.solutions.limits to com.activeviam.modules.limits. The Atoti Limits server is unaffected and stays on the 4.x stream. See the Migration guide.
  • MR-2558: Upgraded to Atoti Server 6.1.24, with Common Dependencies BOM and Common Parent POM 2.6.0, the releases aligned with it. The root POM imports the activepivot-server-spring BOM ahead of the accelerator one, so Atoti Server’s pins win where both manage an artifact. Most third-party versions move forward, OpenTelemetry 1.55.0 and Spring Boot 3.5.16 among them; H2, Hibernate and io.zipkin.reporter2 are held at the versions 6.0.8 shipped. See the Migration guide for every version, and for the few cases where a customized build needs attention.
  • MR-2560: Upgraded Common Accelerator Library to 2.1.16-AS6.1.

Deprecated

  • MR-2418 (in mr-application): Deprecated the mr.open-telemetry.zipkin-span-exporter-url Spring property in favor of otel.exporter.otlp.endpoint. When set, a Zipkin exporter is wired alongside OTLP and a deprecation warning is logged at startup. See the Migration guide.

Removed

  • MR-2418 (in mr-application): Removed the OpenTelemetryProperties.ZIPKIN_SPAN_EXPORTER_URL_DEFAULT constant. Its value was http://localhost:9411/api/v2/spans. See the Migration guide.
  • MR-2435 (in mr-application): Removed the doctorPivotApi backwards-compatibility block from atoti-admin-ui/env.js. The Atoti Admin UI measure lineage tab now uses the Atoti Data Lineage APIs embedded in Atoti Server. Also removed the DiagnosticsRedirectController, which redirected the legacy /tree/cubes and /tree/measures requests. See the Migration guide.

Fixed

  • MR-2392: Fixed MRNamedDescriptionUtil.merge() silently erasing the file pattern when a YAML topic override (via dlc.csv.topics) did not specify one. The base description’s file pattern is now preserved when the overriding description’s filePattern is null. See the Migration guide for impact on existing deployments with YAML topic overrides.
  • MR-2405 (in mr-application): Fixed the Atoti Limits integration not working when running with the integration enabled (limits.autoconfiguration.enabled=true). Replaced the now-unsupported basic-auth properties (authentication, limits-authentication, content-server.authentication) with the service-principal property required by Atoti Limits JWT machine-to-machine authentication, and added the atoti-base-url property for containerized and load-balanced deployments. For migration details, see the Migration guide.
  • MR-2455 (in mr-application): Fixed AdjustmentExecutionConfig and BulkAdjustmentExecutionConfig mishandling execution failures. A failing execution now transitions to FAILED with its write rolled back, instead of staying at PENDING or being reported as EXECUTED. In a bulk request, a failing execution no longer causes the rest of the batch to be reported as EXECUTED or left at PENDING. See the Migration guide.
  • MR-2456 (in mr-application): Fixed VaR scenario resolution being order-dependent, silently discarding failures, and caching partial results. Scenarios are now resolved in Index order, a scenario set is cached only once it resolves successfully, and a set that resolves to nothing, or whose Index values are not contiguous from 0, is reported as FAILED instead of being applied. See the Migration guide.
  • MR-2537: Fixed DynamicTenorsAndMaturitiesPostProcessor throwing a NullPointerException when a dynamic tenor, maturity, or moneyness measure (e.g. Delta Native) was queried on a distributed cube (e.g. MRCombinedCube) with a query that forces cross-node aggregation, such as a Currency × AsOfDate.Members crossjoin. Non-distributed deployments are unaffected.
  • MR-2558 (in mr-application): Fixed two failures the upgraded dependencies introduced: startup failing under logging.config=classpath:logback-spring-file.xml, because Logback 1.5.34 rejects two appenders sharing a file name, and two OkHttp major versions reaching the classpath together, which left one of the span exporters running against bytecode it was not compiled for. See the Migration guide on Logback file appenders and OkHttp.
  • MR-2561 (documentation only): Fixed the MS SQL Server and Databricks DirectQuery profile pages documenting directquery.mssql.* and directquery.databricks.*, where the application binds directquery.database.mssql.* and directquery.database.databricks.*. See application-mssql.yaml and application-databricks.yaml.

Security

  • MR-2553/MR-2558: Atoti Server’s security pins now reach the application: embedded Tomcat at 10.1.57, up from the 10.1.52 and 10.1.49 that 6.0.8 shipped, plus netty, Apache HttpCore 5, mssql-jdbc, thymeleaf, Bouncy Castle and Apache Thrift. For what each release patches, see the Apache Tomcat 10 security advisories and the Security heading of each release in the Atoti Server 6.1 changelog. See the Migration guide.
2026-05-18

Added

  • MR-2420: Added MRMigrationHelperRestController exposing /migrationHelper REST endpoints for generating SQL DDL schemas (Snowflake, MSSQL, Databricks) and exporting in-memory datastore data to database-ready CSV files. The controller is active when starter.deployment.type=in-memory (the default) and can be disabled with mr.migration.export.enabled=false (defaults to true). CSV exports are restricted to a configurable base directory (mr.migration.export.base-dir, defaults to java.io.tmpdir).
  • MR-2431: Added the property mr.fx.enable-fx-risk-on-var-cube (default true) to exclude FX risk entirely from the VaR cube. When set to false, both the complete VaR chain (VaRESChain) and the summary VaR chain (SummaryVaRESChain) compute VaR/ES from the plain PnL vector with no FX market-shift contribution, and the synthetic *_FX Risk Factor members are not added to the Risk Factors hierarchy. The Sensi cube is unaffected. Setting this property to false together with mr.fx.enable-var-base-currency-dimension=true is rejected at startup.
  • MR-2432: Added IMeasureParameters.nameTechnicalMeasure(String) (a default method that appends a .TECHNICAL suffix) and cube-aware overloads INotionalMeasures.notional(String cube), INotionalMeasures.originalNotional(String cube), and IVaRESMeasures.mtmNative(String cube). The no-arg variants are deprecated for removal.

Changed

  • MR-2389/MR-2425: Upgraded to Atoti Server 6.1.19. Atoti Server 6.1.19 reworks its distributed messaging API (Request / Answer / ProcessedOutput and CommunicationRegistration); the change is transparent for the standard Atoti Market Risk configuration. Added a new com.activeviam.apps:services library dependency to mr-application.
  • MR-2412: Upgraded to Atoti Server 6.1.19. Removed patch files for PIVOT-12863 (CompositeVersionAccessor, SqlVersionAccessorWithCache) as the fix is now included in core.

Deprecated

  • MR-2374: The shift-factor APIs that live on the measure-chain side are deprecated for removal: IMeasureParameters.getFxShiftFactor(), FxRiskPostProcessorBuilder.withShiftFactor(double), and ApplyShiftPostProcessorBuilder.withShiftFactor(double). The shift factor is now read from IFxProperties and applied inside the IFxShift service. The old FXShift(String, IMarketDataRetrievalService, String, IRiskFactorFXPairTranslator) constructor is also deprecated. Use FXShift(IFxProperties, IMarketDataRetrievalService, IRiskFactorFXPairTranslator) instead.
  • MR-2420: ISideStoresToMigrate and the storesToMigrate field in DirectQueryActivePivotConfig are deprecated; the migration helper controller now manages store selection directly. Because onlyIncludeStoresInStarSchema is set to false, the collection returned by ISideStoresToMigrate was never taken into account.
  • MR-2432: The no-arg measure-factory overloads INotionalMeasures.notional(), INotionalMeasures.originalNotional(), and IVaRESMeasures.mtmNative() are deprecated. Use the cube-aware overloads notional(String cube), originalNotional(String cube), and mtmNative(String cube) to avoid duplicate-measure-name clashes when the same factory is wired into more than one cube.

Fixed

  • MR-2374: Fixed two FX-risk calculation bugs. The FX shift factor is now applied inside the IFxShift service before pair inversion instead of later in the measure chain, and the FX_RELATIVE Taylor formula in ASensiFormulaProvider.fxRelativeShiftFormula() now applies priceFactor before the non-linear FX inversion. Projects using inverse or cross-currency pairs, or FX_RELATIVE rules with priceFactor ≠ 1.0, will see corrected Taylor VaR and PnL Explain values. For migration details, see the shift factor and FX_RELATIVE formula sections of the Migration guide.
  • MR-2424: Fixed DynamicTenorsAndMaturitiesPostProcessor returning empty result sets when an MDX query placed a filter on a member of a dynamic tenor, maturity, or moneyness hierarchy inside a subselect. The post-processor now preserves the dynamic-hierarchy filter when resolving members, so MDX queries that combine dynamic-hierarchy filters with subselects return the expected data.
  • MR-2432: Hidden intermediate technical measures in the MTM, Notional, and OriginalNotional chains now receive explicit, stable names (for example MTMVaR-ES Cube.TECHNICAL) instead of Copper auto-generated names that changed whenever the measure chain was modified, fixing breakage of DirectQuery aggregate tables that referenced them. For migration details, see the Migration Guide.
2026-03-02

Added

  • MR-2323: Added bulk adjustment executors to create multiple adjustment executions in one request.
  • MR-2377: Added the property mr.fx.enable-var-base-currency-dimension-on-var-cube to control whether the Base Currency dimension / FX Effect hierarchy is enabled on the VaR cube independently of the Sensi cube. Possible values: match-sensi-cube (default), on/true, off/false.

Changed

  • MR-2313: Improved performance of currency hierarchy queries for in-memory cubes by using UniqueFieldTracker instead of distinctQuery. The distinctQuery approach is still used for DirectQuery (external) tables.
  • MR-2316: Added support for CubeMoveKind (CUB) in the MarketShiftDate and Day-to-Day (DtD) hierarchies. Users can add Previous=CUB+1 and Next=CUB-1 members to mr.taylor.market-shift-date-specific and mr.cubes.levels.day-to-day-members to shift to the previous or next date available in the cube.
  • MR-2343: Extracted Taylor-specific Sensitivity Cube dimensions into a separate configuration class (TaylorDimensionsConfig) to improve modularity and enable running the Sensitivity cube without Taylor measures.
  • MR-2362: Upgraded to Atoti Server 6.1.17.
  • MR-2363: Upgraded Common Accelerator Library to 2.1.14-AS6.1, Common Dependencies BOM to 2.5.0, and Sign-Off API to 4.2.1. Updated third-party dependencies: springdoc 2.8.15, swagger-annotations 2.2.43, testcontainers 1.21.4, jaxb-impl 4.0.6, mockito-inline 4.11.0, tomcat 10.1.52, lombok 1.18.42. Replaced AtotiAuthToken with SharedSecretAuthToken in JGroups protocol configurations.
  • MR-2372: Migrated APnlVectorFromRiskSensiPostProcessor to use the 3-arg moveToBusinessDay API, adding support for CubeMoveKind. The post-processor now handles null market shift dates gracefully when the target date does not exist in the cube.

Fixed

  • MR-2369: Fixed missing parameters in cache keys of ScalarMarketDataRetrievalService and CubeLevelAdjustmentPostProcessor, which caused the first computed value to be reused when the same record was looked up under different contexts within a single query. Specifically: scenario was missing from getMarketShiftRecord, marketDataSet was missing from getMarketDataRecord, and all four parameters (date, marketDataSet, refCurrency, currency) were missing from CubeLevelAdjustmentPostProcessor#getRate. Projects computing Taylor VaR across multiple scenarios, market data sets, or currency pairs in a single MDX request, or using cube-level FX adjustments across multiple currency pairs, were at risk of incorrect results and silent data inconsistencies that depended on query execution order.
2026-01-08

Added

  • MR-1867: Multi-jurisdiction improvement for VaR. The FX shift vector, FX risk decomposition, and Base Currency dimension are now supported on the VaR cube, extending the multi-jurisdiction features previously available only for Taylor VaR.
  • MR-2248: Added support for incremental refresh operations for DirectQuery data sources. The IRefreshTask interface now accepts a ChangeDescription parameter to enable partial data updates instead of full refreshes.
  • MR-2255: Scenario Copper join is customizable and allows extra metrics and hierarchies definition. The join configuration for the Scenario store is now modular and exposed as Spring beans via new JoinScenarioHierarchy, JoinScenarioHierarchyVaR, and JoinScenarioHierarchySensi utility classes.
  • MR-2328: New ScenarioNameFromJoinPostProcessor that decodes scenario indices using the Copper left join instead of direct store lookups. This post-processor implements IDistributedPostProcessor for distributed cube support. New “Ex” variants of scenario measure methods (worstScenarioEx(), bestScenarioEx(), contextScenariosEx(), scenariosConfidenceEx()) have been added to all measure factory interfaces.
  • MR-2337: Added a deprecated ActivePivotBranchPermissionsManagerConfig class in mr-common-config for backwards compatibility. The primary implementation has moved to mr-application and now uses AtotiSecurityProperties to dynamically resolve admin roles.

Changed

  • MR-2257: Extended multi-jurisdiction FX improvements to the VaR cube. VarESCubeDimensionsConfig.riskDimensions() now accepts enableFxRiskLocationShift and virtualHierarchies parameters. getRiskFactorsHierarchy() conditionally selects between the HierarchyWithFxRiskFactors hierarchy and the standard RiskDimension.getRiskFactorsHierarchy() based on the FX risk location shift flag and virtual hierarchy configuration. The BaseCurrencyDimensionConfig.fxEffectDimension() is now called within the VaR cube dimension builder. VaRMeasureUtils now takes IFxProperties and conditionally applies FX drill-up logic using FxShiftUtils.
  • MR-2300: Updated to Atoti What-If 4.1.6-AS6.1. The file upload workflow now executes the no-op simulation before the DLC request (instead of after), improving reliability. FileUploadSimulationDefinition parameters are now defined as an enum (FileUploadSimulationParameter). WhatIfConfig.securityManager() now requires ISimulationPersistenceManager and IBranchPermissionsManager parameters. RestDistributedDatabaseService no longer requires the mvPivot supplier. FileUploadQueryNodeRestController now registers simulations and sets branch permissions on the query node.
  • MR-2330: Price factor is now applied to FX shift computation when computing FX effect of Taylor VaR.
  • MR-2333: Upgraded to Atoti Server 6.1.15.
  • MR-2338: JoinScenarioHierarchySensi is now imported in TaylorMeasuresConfig (via BaseTaylorChain) instead of SensiCompleteConfig, ensuring backwards compatibility. A new SummaryBaseTaylorChain class provides the scenario index measure for the Sensitivity Summary cube.

Deprecated

  • MR-2337: The class com.activeviam.mr.common.datastore.permissions.ActivePivotBranchPermissionsManagerConfig in mr-common-config is deprecated (@Deprecated(forRemoval = true, since = "6.0.6")). Use the replacement in mr-application instead.
  • MR-2328: The scenario measure methods worstScenario(), bestScenario(), contextScenarios(), and scenariosConfidence() on IVaRESMeasures, IContextualMeasures, IFixedConfidenceMeasures, and IRiskClassFixedConfidenceMeasures are deprecated in favor of their “Ex” variants that use ScenarioNameFromJoinPostProcessor.
  • MR-2248: The IRefreshTask.refresh() method (no arguments) is deprecated. Use refresh(@Nullable ChangeDescription changeDescription) instead.
  • MR-2257: RiskDimension.getRiskClassesHierarchyWithNA() is deprecated. Use getRiskClassesHierarchy() instead, which now always contributes unknown members. VarESCubeDimensionsConfig.getRiskFactorsHierarchyWithFXMembers() is deprecated in favor of RiskDimension.getRiskFactorsHierarchy(). The VaRMeasureParameters constructor accepting separate String fxRiskClass and Double defaultFxRate parameters is deprecated; use the constructor accepting IFxProperties instead.
  • MR-2255: VarESCubeDimensionsConfig.scenarioSetLeftJoinVaR() static method is deprecated (@Deprecated(forRemoval = true, since = "6.0.5")). Use the new JoinScenarioHierarchy and JoinScenarioHierarchyVaR utility classes.
  • MR-2328: SensitivitiesDimensionConfig.scenarioSetLeftJoinSensi() static method is deprecated. Use JoinScenarioHierarchySensi instead.

Fixed

  • MR-2335: DrillUpBasedOnUnderlying post-processor may generate an index out of bound exception. Added capacity pre-allocation and null check before transferring values.
  • MR-2328: Directly use the scenario join to decode the scenario index, replacing the old store-based ScenarioNamePostProcessor. This fixes reliability issues with scenario name resolution, especially in distributed environments.
2025-11-25

Added

  • MR-2304: Add the hierarchy SensitivityType and optionally hide the sensitivity specific Taylor measures.
  • MR-2257: Multi-jurisdiction improvement for Taylor VaR.
  • MR-2290: Added patched classes fixing issues in Atoti Server 6.1.13.

Changed

  • MR-2290: Upgrade to Atoti Server 6.1.13.

Fixed

  • MR-2305: VaR FX location change improved and handles filters correctly.
2025-09-09

Changed

  • MR-2203: Migrated to the DirectQuery Local Cache, replacing the preview cache included in Atoti Market Risk 6.0.0.
  • MR-2260: Upgraded to Atoti Server 6.1.11.
  • MR-2274: GetByKey queries of market shift retrieval API ScalarMarketDataRetrievalService are compiled.
  • MR-2281: Upgraded to Atoti What-If 4.0.4-AS6.1. Upgraded common dependencies bom and common parent pom to 2.4.0.

Fixed

  • MR-2233: Fixed issue where old property directquery.enabled was still required to be set when running DirectQuery and Sign-Off together.
  • MR-2242: Resolved issues with cube-level adjustments. Adjustments made on an Instrument Type level are now reflected in the application. Additionally, adjusted values are now correctly associated with OLD in the _Version hierarchy.
  • MR-2263: Resolved what-if simulation performance issues by upgrading to a version of Atoti What-if that uses a single-phase commit mechanism.
  • MR-2268: Removed the extensions.json in mr-application/src/main/resources/static/atoti-admin-ui as the atoti-admin-ui-starter module includes extensions.json. This ensures the Measure Lineages tab is present in Atoti Admin UI.
2025-07-01

Added

  • MR-2058: Implement and test Databricks row-based vectors

Changed

  • MR-2192: The ITailMeasureCalc.CalcType and IWeightedTailMeasureCalc.CalcType enums have been deprecated and replaced with the TailMeasureCalcType class, which allows you to define new types.
  • MR-2208: Update to Data Connectors 5.0.7. You may notice some WARN logs that are further described in the Migration Notes
  • MR-2211: MRDlcDescriptionConfig and MRNamedDescriptionUtil have moved to mr-common-config package. The old instances are deprecated.
  • MR-2220: Fixed incorrect calculations of relative day-to-day measures.
  • MR-2221: Upgrade to Atoti Server 6.1.9.

Deprecated

  • MR-2179: The property mr.enable.cubes.common and the annotation @ConditionalOnCommonCubeEnabled are now deprecated. The property mr.enable.cubes.combined with a default value of true and the annotation @ConditionalOnCombinedCubeEnabled have been introduced to rename and in the future replace mr.enable.cubes.common and @ConditionalOnCommonCubeEnabled respectively. If you declare both properties, please ensure both are set to true to enable the MRCombinedCube.

Fixed

  • MR-2109: Atoti Admin UI now supports the Measure Dependencies endpoints provided by Atoti Server. It includes a backwards compatible mode that continues to use the DiagnosticsRedirectController and this is what we are using with Atoti Market Risk 6.0.3. If you want to use new APIs you must remove the doctorPivotApi section of the mr-application/src/main/resources/static/atoti-admin-ui/env.js file.
  • MR-2201: Taylor VaR post processors now take into account additional levels.
  • MR-2202: Joining to a vector table no longer creates duplicate join descriptions when running with DirectQuery.
  • MR-2215: The incompatibility of versions between springdoc-openapi and Spring Boot has been fixed.
  • MR-2239: VaR LEstimated Booking measure ignores filters configuration.
  • MR-2246: The measure name of the entry retrieved in the cube level adjustment store was not taken into account in the ACubeLevelAdjustmentPostProcessor class. That has been fixed.
  • MR-2249: When running the application with only the Sensitivity Summary cube enabled, Correlation, Dividend, and SplitRatio DLC topics are created and can be used for loading data to those stores. Please see the breaking changes section of the Migration Notes for further details.
2025-05-21

Added

  • MR-2043: Data cubes now have properties to set the node priority. The MRCombinedCube now has a property to allow data overlap.

Fixed

  • MR-2183: Errors are now correctly handled during the initial data load.
  • MR-2185: The DTD PnL, LTD PnL, MTD PnL, and YTD PnL measures have returned to the PnL Values folder.
  • MR-2191: All days are now considered business days within the PnL Explain calculation. This is a behavior change for the application, driven by a change in the default business day calendar. Please see the migration notes for further details.
2025-04-17

Added

  • MR-2166: FX conversion post-processors can now be configured to use a default FX rate if the actual rate cannot be computed for the FX pair.

Changed

  • MR-2158: Upgraded to Atoti Server 6.1.6 and upgraded Atoti Data Connectors 5.0.3.
  • MR-2168: The property mr.partitioning.as-of-date.partition-type can now be set to none to disable partitioning for AsOfDate. The default partitioning for AsOfDate remains as value.

Removed

  • MR-2170: Removed the securityPluginInjections bean that served as a workaround for a bug with AtotiRegistryInjectionAutoConfiguration (PIVOT-10739).

Fixed

  • MR-1997: The Theta PnL Explain formula has been fixed to correctly compute the losses due to time decay. The terms are now swapped, with the current day’s value being subtracted from the previous day’s value. Should the previous calculation logic be needed, the sign of the Theta PnL Explain result can be flipped with the property: mr.sensi.rules.theta.pnl-explain.any.price-factor=-1.0
  • MR-2149: Data loading topics can be overridden in Java using Spring beans. See Configuring sources using Spring Beans and properties for details.
  • MR-2153: Fixed bug where DynamicTenorsAndMaturitiesPostProcessor did not work correctly when used as underlying of a FilteringPostProcessor.
  • MR-2155: Lambda calculator is now independent of the CSV source.
  • MR-2159: The VaRMetricParametersAndNames.addPrefix method is now public.
  • MR-2160: Deprecated MRDataLoadControllerRestServiceConfig from mr-application as this configuration class is no longer used after upgrading to DLC 5.0. This will be removed in the next major version of Atoti Market Risk
  • MR-2165: Fixed OutOfBoundException on the “Weighted ES 97.5 Incremental Booking” measure.
2025-03-31

Added

  • MR-1763: Upgraded to Atoti Server 6.1.5.
  • MR-1859: Added new trade attributes Trade Source, Trade Status, and Original Notional.
  • MR-1956: The Atoti Limits auto-configuration dependency has been added to the mr-application pom.xml to make it easier for projects using the two products together. To include the dependency, run Maven with the limits profile, i.e. mvn <command> -P limits.
  • MR-1944: The maximum depth of parent-child hierarchies is now configurable.
  • MR-1993: Adds a new caching mechanism to improve the performance of market data retrievals in DirectQuery.
  • MR-2025: Added the optional attribute LegId and the hierarchy Legs to the PLCube.
  • MR-2045: Base stores and aggregate providers are now partitioned by AsOfDate. Properties have been added to configure the partitioning.
  • MR-2051: Added feature to enable/disable Sign-Off REST services. This prevents the Sign-Off server from sending successful REST requests before the end of the initial load.
  • MR-2101: The Scenario Set default filter is now configurable.

Changed

  • BAS-1974:Changed the behavior of market data measures to reduce the number of retrievals and directly access the Market Data API.
  • MR-1766: Sensitivity input files in reference data now use scalar format and this is referred to in the documentation.
  • MR-1834: SensiMeasureParameters constructor has been refactored to remove the boolean isVector field.
  • MR-1845: The MarketDataSets hierarchy is now based on a MarketDataSet field on all base stores and the external MarketDataSets store has been removed.
  • MR-1848: The new Market Data API is now an external module called Atoti Market Data.
  • MR-1861: Schema rebuilds now occur once a day, as opposed to every 30 minutes. This is now configurable with new properties (mr.application.rebuild...).
  • MR-1946: Data Connectors 5.0: Designed simplified source configuration.
  • MR-1953: The APM dependency atoti-server-apm-starter has been added to mr-application/pom.xml and replaces the dependency apm in market-risk\pom.xml.
  • MR-1961: Upgraded to the latest version of Atoti Market Data. FX rates and conversion have been migrated to the Atoti Market Data APIs.
  • MR-1973: When computing FX risk, the risk factor will no longer be considered half of a currency pair if it cannot be parsed as a full XXX/YYY pair. Cash sensitivities have been removed.
  • MR-1981: Data Connectors 5.0: Decoupled source configuration from CSV source.
  • MR-1982: SupportedAdjustment and AdjustmentExecution config classes have moved from mr-pnl/sensi/var-config modules to mr-application to make it easier to disable specific adjustments.
  • MR-1989: The LiquidityHorizon field has been moved from the TradePnL table to the Scenarios table. This way the Liquidity Horizon parameter is taken into account when computing VaR/Es metrics.
  • MR-1992: Atoti Market Data dependencies have the provided scope within Atoti Market Risk libraries. This allows projects to use their own compatible version of Atoti Market Data.
  • MR-2001: Improved the configuration of market data file formats with sensible defaults and explicit backwards compatibility options.
  • MR-2008: Changed the logic for cube-level adjustments.
  • MR-2018: Data Connectors 5.0: Removed service classes no longer needed.
  • MR-2019: Data Connectors 5.0: Created channel beans.
  • MR-2020: Data Connectors 5.0: Fixed column calculators.
  • MR-2021: Data Connectors 5.0: Fixed tuple publishers.
  • MR-2023: Data Connectors 5.0: Checked Initial Load sequence.
  • MR-2028: Upgraded to the latest version of What-if.
  • MR-2050: Updates to supported adjustments to improve UI interactions.
  • MR-2059: Upgraded Sign-Off API and Adjustments Services versions, to provide compatibility with Sign-Off 6.0.
  • MR-2086: Scenario Index is now used as a measure instead of a hierarchy.
  • MR-2087: During the initial data load (within the InitialDataLoadConfig class), market data is now loaded for all available dates, without taking the DLC scope into account. This allows date-shifted market data measures to be queried in a horizontal distribution context.
  • MR-2092: The functionality previously provided by Doctor Pivot is now available through Atoti Admin UI in the Measure dependencies tab. The Doctor Pivot app no longer exists.
  • MR-2089: Removed *_adjusted measures for cube-level adjustments and modified configuration of initial measures if sign-off features are enabled.
  • MR-2099: Dashboards have been migrated to use Atoti UI’s Investigation feature instead of the story-telling feature, which has been decommissioned.

Removed

  • MR-1832: The code related to the deprecated vector sensitivities data model has been removed.
  • MR-1866: Removed duplicated STORE_DATE_FIELD_FORMAT.
  • MR-1990: Removed the attributes RiskFactor, RiskFactorType,RiskFactorCcy, CurveType, RiskClass and Qualifier from PnL stores, cubes and input files.
  • MR-2140: Removed the jwt.properties and reporting.properties files. The properties from jwt.properties are now in the main application.yaml file.

Fixed

  • BAS-1890: The sign-off status, as shown in the Sign-Off hierarchy now moves to EXPORT_SUCCEEDED rather than retaining an APPROVING status even after the export has occurred.
This fix requires Atoti Sign-Off 5.3.
  • BAS-1923: The mr-application/src/main/resources/logback-spring-file.xml configuration has been fixed and writes logs to a local file.
  • BAS-1954: Swagger UI is now accessible at .../swagger-ui/index.html and documents the REST endpoints in Atoti Market Risk.
  • BAS-1980: Deleting adjustments no longer fails when cubes are disabled. Additionally, adjustment deletion requests without an execution ID are moved to a DELETED state.
  • MR-1702: Atoti Market Risk source jars no longer include Lombok annotations, but instead have been ‘delomboked’. This resolves issues, such as viewing sources in an IDE and placing breakpoints for debugging.
  • MR-1747: Reverted to CLASSIC nested jar support to resolve a bug introduced in Spring Boot 3.2 whereby executable jars may not run in paths containing spaces.
  • MR-1957: Fixed performance issues when running distributed what-if simulations by changing the default persistence mechanism to a Hibernate database-backed one.
  • MR-2024: Data Connectors 5.0: The What-If file upload service FileUploadWhatIfRestfulService is now correctly handled by Data Connectors.
  • MR-2034: Fixed what-if authentication issues in distributed clusters by changing the default authenticator to one using the IJwtService.
  • MR-2039: Fixed post-processors failing with horizontal distribution.
  • MR-2047: Taylor measures have moved from the folders Value at Risk/Earnings to Value At Risk/Earnings to match measures from the VaR-ES cube and ensure a consistent folder structure in the MR Combined Cube.
  • MR-2048: Differential measures didn’t work with non-fact VaR.
  • MR-2049: Liquidity Horizon: VaR was missing on the non-fact locations, such as multi-jurisdiction FX leg.
  • MR-2077: Risk class measures are now correctly created when the mr.risk.risk-class-members property is used.
  • MR-2079: Measures related to a fixed confidence level are now placed in the folders related to fixed confidence levels.
  • MR-2082: Removed references of Liquidity Horizon from SummaryVarPublisher and VaR Summary export files following the fields move to the Scenario store.
  • MR-2083: The trailing white space incorrectly added to measure names when an empty string is used for the suffix has been removed
  • MR-2110: Removed final modifier on methods in VaRMetricParametersAndNames allowing extensions of the class to change the naming for any measure.
  • MR-2123: Added runtime dependency required by DEE.
  • MR-2125: Resolved startup failures that occur when setting dlc.enabled=false. Specifically, the InitialDataLoadConfig now requires this property set to true.
  • MR-2139: Rewrote filtering of DrillUpBasedOnUnderlying to correctly process slicing hierarchies.
  • MR-2147: For Correlation sensitivities, PnL Explain formula configuration was taken into account instead of Taylor VaR.