> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Release notes

<Info>
  For the list of issues covered in this release, see the [Changelog](./changelog).
  For information on upgrading from previous versions, see the
  [Migration Guide](./migrate).
</Info>

<Update label="6.0.8" description="2026-05-18">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.8/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Offline documentation** that can be served by the module
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.19 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.19/).

  ### Summary

  **New features**

  * [Migration Helper REST endpoint](#migration-helper-rest-endpoint)
  * [Exclude FX risk from the VaR cube](#exclude-fx-risk-from-the-var-cube)

  **Improvements**

  * [Upgrade to Atoti Server 6.1.19](#upgrade-to-atoti-server-6119)

  **Bug fixes**

  * [FX shift factor moved to IFxShift service](#fx-shift-factor-moved-to-ifxshift-service)
  * [FX relative sensitivity formula fix](#fx-relative-sensitivity-formula-fix)
  * [DynamicTenorsAndMaturitiesPostProcessor empty results fix](#dynamictenorsandmaturitiespostprocessor-empty-results-fix)
  * [Stable names for hidden technical measures](#stable-names-for-hidden-technical-measures)

  ### New features

  #### Exclude FX risk from the VaR cube

  A new property, `mr.fx.enable-fx-risk-on-var-cube`, controls whether FX risk is included in the VaR cube computation. The default is `true`, which preserves existing behavior.

  When set to `false`:

  * Both the complete VaR chain (`VaRESChain`) and the summary VaR chain (`SummaryVaRESChain`) compute VaR/ES from the plain PnL vector. No FX market-shift contribution is applied in either chain.
  * The synthetic `*_FX` risk-factor members (`Equity_FX`, `IR_FX`, etc.) are not added to the Risk Factors hierarchy on the VaR cube.
  * The `pnlVectorExpand` drill-up logic reads the scenario ID directly at the fact location instead of walking `*_FX` members.
  * The Sensi cube is unaffected. The Sensi cube's Taylor chain continues to include FX risk as before.

  This flag also resolves a pre-existing inconsistency. When `mr.fx.enable-fx-risk-location-shift=false`, the complete VaR chain already skips FX, but the summary VaR chain still applied `FxRiskPostProcessor`. Setting `enable-fx-risk-on-var-cube=false` makes both chains behave uniformly.

  **Constraint.** Setting `mr.fx.enable-fx-risk-on-var-cube=false` together with `mr.fx.enable-var-base-currency-dimension=true` is not supported and is rejected at startup with a validation error.

  **Distributed deployment.** Set this property on data-node configurations where the VaR cube is hosted. In multi-data-node federations, keep the value consistent across all data nodes.

  For migration details, see the [Migration Guide](./migrate#exclude-fx-risk-from-the-var-cube).

  #### Migration Helper REST endpoint

  A new `/migrationHelper` REST endpoint is now available when running in in-memory mode (`starter.deployment.type=in-memory`). It provides:

  * **`GET /migrationHelper/sqlSchema`** — generates SQL DDL statements for the MR datastore schema, targeting Snowflake, MSSQL, or Databricks.
  * **`POST /migrationHelper/extract`** — exports in-memory datastore data to CSV files and returns the DDL.
  * **`POST /migrationHelper/extractForDatabase/{database}`** — simplified extraction for a specific database type.

  Two new properties control the endpoint:

  * `mr.migration.export.enabled` (default `true`) — registers the `MRMigrationHelperRestController`. Set to `false` to remove the migration helper from deployments that don't need it.
  * `mr.migration.export.base-dir` (default `java.io.tmpdir`) — restricts the allowed output path for CSV file exports.

  For the full workflow, see the [Migration helper](../dev-direct-query/customization-and-internals/migration-helper) page in the DirectQuery section.

  ### Improvements

  #### Upgrade to Atoti Server 6.1.19

  Atoti Market Risk has been upgraded to Atoti Server 6.1.19 (from 6.1.17).

  Atoti Server 6.1.19 reworks the distributed messaging API: the legacy broadcast-message types have been replaced with the `Request` / `Answer` / `ProcessedOutput` records and the `CommunicationRegistration` builder. Atoti Market Risk does not reference these types directly, so the change is transparent for projects that build on the standard Atoti Market Risk configuration.

  The upgrade also brings a couple of incidental changes:

  * The Snowflake JDBC driver bundled with AS 6.1.19 relocates `SFSessionProperty` (from `net.snowflake.client.core` to `net.snowflake.client.internal.core`) and `SnowflakeStatement` (from `net.snowflake.client.jdbc` to `net.snowflake.client.api.statement`).
  * A new `com.activeviam.apps:services` library dependency is declared on `mr-application` — see [POM file changes](./migrate#pom-file-changes) in the Migration Guide for the exact dependency snippets.

  For migration details, see the [Migration Guide](./migrate#atoti-server-upgrade-to-6119).

  ### Bug fixes

  #### FX shift factor moved to IFxShift service

  The FX shift factor (`mr.fx.shift-factor`) was previously applied within the measure chain by `ApplyShiftPostProcessor` and `FxRiskPostProcessor`. This led to computation errors when used with inverse or cross-currency pairs.

  The shift factor is now applied directly inside the `IFxShift` service (in `FXShift.getMarketShiftDirect()`), ensuring it is applied to the raw shift vector before any inversion or cross-currency computation.

  For migration details, see the [Migration Guide](./migrate#fx-shift-factor-moved-to-ifxshift-service).

  #### FX relative sensitivity formula fix

  The `FX_RELATIVE` Taylor sensitivity formula in `ASensiFormulaProvider.fxRelativeShiftFormula()` previously applied the `priceFactor` **after** the non-linear FX inversion. The formula has been corrected to apply the `priceFactor` **before** the inversion:

  ```
  // Before (incorrect): invert first, then scale
  sensitivity × [(1 - 1/(1 + shift)) × priceFactor]^order / order!

  // After (correct): scale first, then invert
  sensitivity × [1 - 1/(1 + shift × priceFactor)]^order / order!
  ```

  <Warning>
    Projects using `FX_RELATIVE` sensitivity rules with `priceFactor ≠ 1.0` will see different Taylor VaR and PnL Explain values for FX sensitivities after upgrading. The new results are mathematically correct.
  </Warning>

  For migration details, see the [Migration Guide](./migrate#fx-relative-sensitivity-formula-fix).

  #### DynamicTenorsAndMaturitiesPostProcessor empty results fix

  `DynamicTenorsAndMaturitiesPostProcessor` previously returned 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.

  #### Stable names for hidden technical measures

  Hidden intermediate technical measures in the `MTM`, `Notional`, and `OriginalNotional` chains previously received Copper auto-generated names (for example `MTM.SUM__#__0__#__VaR`). These names changed whenever the measure chain was modified, which broke DirectQuery aggregate tables that referenced them.

  These measures now receive explicit, stable names following the pattern `<MeasureName><CubeName>.TECHNICAL` (for example, `MTMVaR-ES Cube.TECHNICAL`). The cube name is included to avoid clashes between cubes.

  For migration details, see the [Migration Guide](./migrate#stable-names-for-hidden-technical-measures).
</Update>

<Update label="6.0.7" description="2026-03-02">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.7/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Offline documentation** that can be served by the module
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.17 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.17/).

  ### Summary

  **New features**

  * [Independent FX risk toggle for VaR and Sensi cubes](#independent-fx-risk-toggle-for-var-and-sensi-cubes)

  **Improvements**

  * [Performance improvement for currency hierarchies](#performance-improvement-for-currency-hierarchies)
  * [Upgrade to Atoti Server 6.1.17](#upgrade-to-atoti-server-6117)
  * [Bulk adjustments executors](#bulk-adjustments-executors)
  * [Improved Sensitivity cube modularity](#improved-sensitivity-cube-modularity)
  * [New Previous and Next date shift members](#new-previous-and-next-date-shift-members)
  * [Support for CubeMoveKind in PnL Vector calculations](#support-for-cubemovekind-in-pnl-vector-calculations)
  * [Dependency upgrades and JGroups authentication update](#dependency-upgrades-and-jgroups-authentication-update)

  **Bug fixes**

  * [Fix incorrect data returned due to incomplete cache keys](#fix-incorrect-data-returned-due-to-incomplete-cache-keys)

  ### New features

  #### Independent FX risk toggle for VaR and Sensi cubes

  A new property, `mr.fx.enable-var-base-currency-dimension-on-var-cube`, allows the Base Currency dimension / FX Effect hierarchy to be enabled or disabled on the VaR cube independently of the Sensi cube.

  Previously, the property `mr.fx.enable-var-base-currency-dimension` controlled both cubes simultaneously. The new property accepts three values:

  * `match-sensi-cube` (default): The VaR cube follows the value of `mr.fx.enable-var-base-currency-dimension`. This preserves backward compatibility.
  * `on` (or `true`): The Base Currency dimension / FX Effect hierarchy is enabled on the VaR cube regardless of the Sensi cube setting.
  * `off` (or `false`): The Base Currency dimension / FX Effect hierarchy is disabled on the VaR cube regardless of the Sensi cube setting.

  No migration is required. The default value `match-sensi-cube` preserves the previous behavior.

  For further information, see the [Base Currency](../../cube/dimensions/base-currency) and [FX Effect](../../cube/dimensions/base-currency) pages.

  ### Improvements

  #### Performance improvement for currency hierarchies

  The `AvailableCurrenciesQuerier` has been optimized to use `UniqueFieldTracker` for in-memory tables instead of `distinctQuery`. This provides faster access to unique currency values when building FX risk factor hierarchies. For DirectQuery (external) tables, the existing `distinctQuery` approach is preserved.

  #### Upgrade to Atoti Server 6.1.17

  The Atoti Server has been upgraded to 6.1.17.

  #### Bulk adjustments executors

  This release introduces new executors designed to process multiple adjustment requests in a single operation, significantly improving efficiency and reducing execution time.

  Executors now support adjustments for:

  * **Sensitivities**
  * **PnL**
  * **VaR**

  Each category includes operations such as Add-On, Override, Scaling, Cube-Level, and Roll-Over.

  <Warning>
    When adjustments overlap in filters or measures, results may vary due to execution order in bulk mode.
  </Warning>

  For more details, see the [Adjustments documentation](/atoti-intelligence/workflows/signoff/6.1/latest/dev/dev-libraries/adjustment-services).

  #### Improved Sensitivity cube modularity

  The Sensitivity cube configuration has been refactored to separate Taylor-specific dimensions from the core Sensitivity cube dimensions. The following scenario-related dimensions are now configured independently in `TaylorDimensionsConfig`:

  * Scenario Analysis Hierarchy
  * Liquidity Horizon Hierarchy
  * Scenario Set Hierarchy

  This change provides better configuration modularity and enables running the Sensitivity cube without Taylor expansion measures. This is useful for users who do not use Taylor VaR functionality and want a lighter cube configuration.

  #### New Previous and Next date shift members

  The MarketShiftDate and Day-to-Day (DtD) hierarchies now include two new default specific date members:

  * **Previous** (`CUB+1`): Shifts to the previous (older) date available in the cube.
  * **Next** (`CUB-1`): Shifts to the next (more recent) date available in the cube.

  Unlike the existing `DAY` shift (which moves by business days regardless of what data is loaded), the `CUB` shift resolves to the nearest date that actually exists in the cube. This is useful when the cube does not contain consecutive business dates.

  The new defaults are:

  * `mr.taylor.market-shift-date-specific`: `TODAY=DAY0, YESTERDAY=DAY-1, PREVIOUS=CUB+1, NEXT=CUB-1`
  * `mr.cubes.levels.day-to-day-members`: `Yesterday=DAY-1, Day-2=DAY-2, Tomorrow=DAY+1, End Of Month=EOM-1, End Of Quarter=EOQ-1, End Of Year=EOY-1, Previous=CUB+1, Next=CUB-1`

  The **first entry** in each list is the default member of the hierarchy. To make `Previous` the default member of the DtD hierarchy, override the property and place it first:

  ```yaml theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
  mr:
    cubes:
      levels:
        day-to-day-members:
          - Previous=CUB+1
          - Yesterday=DAY-1
          - Day-2=DAY-2
          - Tomorrow=DAY+1
          - End Of Month=EOM-1
          - End Of Quarter=EOQ-1
          - End Of Year=EOY-1
          - Next=CUB-1
  ```

  #### Support for CubeMoveKind in PnL Vector calculations

  `APnlVectorFromRiskSensiPostProcessor` now supports the `CubeMoveKind` move kind. This move kind resolves market shift dates to the nearest available date in the cube.

  #### Dependency upgrades and JGroups authentication update

  Common Accelerator Library has been upgraded to 2.1.14-AS6.1, Common Dependencies BOM to 2.5.0, and Sign-Off API to 4.2.1. Multiple third-party dependencies have been updated to their latest stable versions (springdoc, swagger, testcontainers, tomcat, lombok, and others).

  The JGroups authentication token class used in distributed deployment configurations has been changed from `AtotiAuthToken` to `SharedSecretAuthToken`. This affects the `protocol-tcp.xml` and `protocol-udp.xml` files. See the [Migration guide](./migrate#607) for details.

  ### Bug fixes

  #### Fix incorrect data returned due to incomplete cache keys

  Fixed caching issues where query parameters were missing from cache keys. This caused incorrect results when querying the same risk factor with different context values in a single query:

  * `ScalarMarketDataRetrievalService#getMarketShiftRecord` â `scenario` was missing from the cache key, so the first scenario’s shift data was reused for subsequent scenarios.
  * `ScalarMarketDataRetrievalService#getMarketDataRecord` â `marketDataSet` was missing from the cache key.
  * `CubeLevelAdjustmentPostProcessor#getRate` â all parameters (`date`, `marketDataSet`, `refCurrency`, `currency`) were missing from the cache key, so the first FX rate looked up was reused for all subsequent currency pairs.
</Update>

<Update label="6.0.6" description="2026-01-08">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.6/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Offline documentation** that can be served by the module
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.15 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.15/).

  ### Summary

  **New features**

  * [What-If upgrade](#what-if-upgrade)
  * [Multi-jurisdiction VaR support](#multi-jurisdiction-var-support)
  * [New Intermediate VaR measure](#intermediate-var-measure-for-fx-risk-transparency)
  * [DirectQuery Incremental Refresh Support](#directquery-incremental-refresh-support)

  **Improvements**

  * [Greater flexibility for Scenario Customization](#greater-flexibility-for-scenario-customization)
  * [Atoti Server Upgrade](#atoti-server-upgrade)

  ### New features

  #### What-If upgrade

  The Atoti What-If module has been upgraded to 4.1.6-AS6.1 delivering the following enhancements:

  * Parallel Submissions: Run multiple simulations simultaneously, reducing wait times and accelerating decision-making.
  * Simplified Workflows: Simulations that do not involve database changes are now easier to configure and execute, improving efficiency for common use cases.
  * Improved Permissions and Error Handling: Fixes to permission management and enhanced error handling ensure smoother operations and greater reliability.

  #### Multi-jurisdiction VaR support

  The multi-jurisdiction FX features introduced in 6.0.5 for Taylor VaR have been extended to the VaR cube. Users can now analyse how the choice of base currency affects historical VaR results through the same Base Currency and FX Effect hierarchies:

  * Base Currency dimension: The [Base Currency](../../cube/dimensions/base-currency) and [FX Effect](../../cube/dimensions/base-currency) hierarchies are now available on the VaR-ES cube when `mr.fx.enable-var-base-currency-dimension=true`.
  * FX risk location shift: When `mr.fx.enable-fx-risk-location-shift=true` (default), FX risk in the VaR cube is correctly shifted to the appropriate risk class and risk factor locations. The Risk Factors hierarchy conditionally includes synthetic FX risk factor members based on this setting and virtual hierarchy configuration.
  * FX decomposition: VaR results can be decomposed into local risk and FX-driven effects, giving risk teams the same level of FX risk transparency on the VaR cube as previously available on the Sensitivity cube.

  For further information, see the [Base Currency](../../cube/dimensions/base-currency) and [FX Effect](../../cube/dimensions/base-currency) pages.

  #### Intermediate VaR Measure for FX Risk Transparency

  A new intermediate measure, `FxShiftVectorExpand`, has been added to the VaR Cube to improve visibility into foreign exchange risk adjustments:

  * Enhanced Transparency: Displays the FX shift vector applied when converting to a base currency different from the sensitivity currency, giving clearer insight into currency conversion impacts on VaR calculations.
  * Better Risk Analysis: Helps risk teams validate and explain FX adjustments in VaR results, improving auditability and confidence in risk reporting.

  #### DirectQuery Incremental Refresh Support

  This release introduces support for [incremental refresh](../dev-direct-query/customization-and-internals/directquery-rest-service#refresh-endpoint) operations for DirectQuery data sources, enabling faster and more efficient updates.

  * Improved Performance: Instead of refreshing entire datasets, only changed data is updated, reducing processing time and resource usage.
  * Flexible Configuration: Incremental refresh can be pre-configured using [templates](../dev-direct-query/customization-and-internals/directquery-rest-service#templatedto-parameters) or customized [directly](../dev-direct-query/customization-and-internals/directquery-rest-service#listtableupdatedto-tableupdates-parameters) by specifying table and field updates,
  * giving teams full control over refresh strategies.

  ### Improvements

  #### Greater flexibility for Scenario Customization

  This release introduces major enhancements to how scenarios are configured and managed, giving teams more control and agility:

  * Modular Scenario Joins: Joins are now modular, making it easier to customize how data is combined without disrupting existing metrics or logic.
  * Customizable Metrics and Hierarchies: Metrics and Copper hierarchies can be extended or overridden, allowing you to tailor calculations and structures to your business needs.
  * Robust Scenario Index Decoding: A new join-based approach replaces the old post-processor, making scenario index decoding more reliable and adaptable, while reducing maintenance effort and avoiding changes to metrics.

  #### Atoti Server Upgrade

  The Atoti Server has been upgraded to 6.1.15.
</Update>

<Update label="6.0.5" description="2025-11-25">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.5/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Offline documentation** that can be served by the module
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.13 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.13/).

  ### Summary

  **New features**

  * [FX base currency effect](#fx-base-currency-effect)
  * [Intermediate Taylor VaR measures](#intermediate-taylor-var-measures)

  **Improvements**

  * [Upgrade to Atoti Server 6.1.13](#upgrade-to-atoti-server-6113)
  * [Taylor sensitivity specific measures can be hidden](#taylor-sensitivity-specific-measures-can-be-hidden)
  * [Enhancement of the FX Risk computation for Taylor VaR](#enhancement-of-the-fx-risk-computation-for-taylor-var)

  ### New features

  #### FX base currency effect

  This enhancement introduces the ability to analyse how the choice of base currency affects Taylor VaR results. While the core calculation remains unchanged,
  users can now explore FX risk more granularly through two new hierarchies added to the Currencies dimension:

  Base Currency: Enables selection of the currency considered risky. Options include using the display currency, neutralising the FX effect, or selecting any
  available currency.
  FX Effect: Allows decomposition of VaR into components that isolate local risk from FX-driven effects.

  This feature is not activated by default.

  For further information, see the [Base Currency](../../cube/dimensions/base-currency) and [FX Effect](../../cube/dimensions/base-currency) pages.

  #### Intermediate Taylor VaR measures

  New measures are now available to provide deeper insights into Taylor VaR calculations by exposing key vectors:

  * `FxShiftVectorExpandSensi`: Displays the FX shift vector used when converting to a base currency different from the sensitivity currency in the Sensitivity Cube.
  * `TaylorVectorExpand Native`: Shows the PnL vector of Taylor VaR expressed in the sensitivity currency, prior to any currency conversion.

  These measures enable more granular analysis of risk contributions and currency impacts within Taylor VaR.

  ### Improvements

  #### Upgrade to Atoti Server 6.1.13

  This release includes an upgrade to Atoti Server 6.1.13.

  #### New Sensitivity Type filtering capabilities

  Users now have the option to simplify their dashboards by hiding Taylor sensitivity-specific measures. A new hierarchy called **Sensitivity Type** has been
  introduced, allowing users to filter Taylor VaR metrics by sensitivity type. This provides the same analytical results as the hidden measures, ensuring
  consistency across saved views and bookmarks.
  For example, filtering by “Delta” in the Sensitivity Type hierarchy will yield the same result as viewing the “Delta Taylor VaR” measure directly.

  #### Enhancement of the FX Risk computation for Taylor VaR

  FX risk handling has been refined to ensure accurate location shifts and better cube filtering:

  When `mr.fx.enable-fx-risk-location-shift=true` (default setting), FX risk is moved to Delta/FX.
  This has been enhanced to apply location shifts across the following hierarchies in the Sensitivity Cube:

  * [Sensitivity](../../cube/dimensions/sensitivities) set to `Delta`.
  * [SensitivityType](../../cube/dimensions/sensitivity-kind) set to `Delta`.

  If `mr.fx.enable-fx-risk-location-shift=false`, no location shift occurs, and FX risk remains visible via the FX Effect hierarchy. For more information see the
  [FX Effect](../../cube/dimensions/base-currency) page.

  These improvements ensure FX risk is accurately represented in the Sensitivity Cube, reducing reporting discrepancies and improving risk transparency.
</Update>

<Update label="6.0.4" description="2025-09-09">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.4/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Offline documentation** that can be served by the module
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.11 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.11/).

  ### Summary

  **Improvements**

  * [Migrated to DirectQuery Local Cache](#migrated-to-directquery-local-cache)
  * [Fixed cube level adjustment issues](#fixed-cube-level-adjustment-issues)
  * [Improved stability and performance of distributed what-if simulations](#improved-stability-and-performance-of-distributed-what-if-simulations)

  ### Improvements

  #### Migrated to DirectQuery Local Cache

  Atoti Market Risk 6.0.0 included the preview for a DirectQuery cache that balanced fast Get-By-Key query performance with controllable memory consumption.
  This cache was integrated into Atoti Server 6.1.9 as a robust, fully supported feature. In Atoti Market Risk the preview cache has been removed
  and replaced with the Atoti Server version.

  This cache is still enabled by setting the property `mr.enable.preview.directquery-cache=true`. With this setting enabled, all market data stores
  (specifically CubeMarketData, CurveMarketData, FxRateMarketData, SpotMarketData, SurfaceMarketData, and MarketShifts) are now cached when using DirectQuery.
  In previous versions, the MarketShifts store wasn’t cached.

  #### Fixed cube-level adjustment issues

  Previously, cube-level adjustments made to the Instrument Type level were visible in Atoti Sign-Off but weren’t correctly reflected in Atoti Market Risk.
  Now, the adjustments are accurately displayed in both places. Additionally, adjusted values were incorrectly associated with the default LIVE version instead of
  the correct OLD version. This has also been corrected.

  #### Improved stability and performance of distributed what-if simulations

  The what-if simulation process has been updated to be significantly faster and more stable.
  The system now uses a single-phase commit mechanism, replacing the previous multi-phase commit process.

  This change simplifies the simulation operation, which
  results in notable improvements in performance and cluster stability at the expense of some consistency checks.
</Update>

<Update label="6.0.3" description="2025-07-01">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.3/) to download the zipped distribution files for:

  * **UI source code**
  * **UI build**
  * **Source files** to build the module
  * **Sample bookmarks**
  * **Maven repository** required to build the project and run the tests. The Atoti Server 6.1.9 Maven repository files can be downloaded from [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.9/).

  ### Summary

  **New features**

  * [Databricks handle row-based vector schema](#databricks-handle-row-based-vector-schema)

  **Improvements**

  * [Update to Atoti Server 6.1.9](#update-to-atoti-server-619)
  * [Update to Data Connectors 5.0.7](#data-connectors-update)
  * [Extensible tail measure types](#extensible-tail-measure-types)
  * [Duplicate DirectQuery join bug resolved](#duplicate-directquery-join-bug-resolved)
  * [New property to enable MRCombined Cube](#new-property-to-enable-mrcombined-cube)
  * [springdoc-openapi version fix](#springdoc-openapi-version-fix)
  * [clear-filter parameter is taken in account for Drill-up comparative measures](#clear-filter-parameter-is-taken-in-account-for-drill-up-comparative-measures)
  * [Taylor VaR post-processor now takes into account additional levels](#taylor-var-post-processors-now-take-into-account-additional-levels)

  ### New features

  #### Databricks handle row-based vector schema

  Databricks supports native vector aggregation, however, there are cases where you may prefer to use row-based vectors. Notably, native vector aggregation is only available when using “All-purpose compute” clusters and is not available to SQL Warehouses.

  Atoti Market Risk includes four tables that use vectors, TradePnLs, TradeSensitivities (for ladders), SensiLadders, and MarketShifts. This release allows you to use row-based vectors for any or all of these tables. Additionally, in mr-directquery/src/test/resources/databases/databricks/row-based-vectors we provide SQL scripts to create an Atoti Market Risk schema with row-based-vectors for the stores mentioned above.

  The Atoti Market Risk DirectQuery schema is created using the Migrator component. This takes the in-memory MR schema and converts it to a DirectQuery compatible schema. By default, when running with Databricks, the schema will be created with native vector fields. You can choose to use row-based vector fields by modifying the Migrator bean as follows:

  ```java theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
  @Bean
  public Migrator myMigrator() {
      var schemaHelper = new DatastoreSchemaHelper(activePivotManagerDescription, datastoreSchemaDescription);
      Migrator migrator = new Migrator(datastoreSchemaDescription, activePivotManagerDescription, nameMapper, schemaHelper, toolbox, directQuerySpringProperties);

      migrator.onlyIncludeStoresInStarSchema(true);
      migrator.vectorsTableBehaviour(TRADE_PNL_STORE_NAME, VectorTableMigration.ROW);
      migrator.vectorsTableBehaviour(TRADE_SENSITIVITIES_STORE_NAME, VectorTableMigration.ROW);
      migrator.vectorsTableBehaviour(MARKET_SHIFT_STORE_NAME, VectorTableMigration.ROW);
      migrator.vectorsTableBehaviour(SENSI_LADDER_STORE, VectorTableMigration.ROW);

      return migrator;
  }
  ```

  ### Improvements

  #### Update to Atoti Server 6.1.9.

  This release includes an update to Atoti Server 6.1.9.

  <Note>
    Atoti Server 6.1.9 contains a full, production-ready version of the DirectQuery cache that was included in Atoti Market Risk 6.0.0. However, Atoti Market Risk 6.0.3 has not been updated to work with the Atoti Server version. Atoti Market Risk will be migrated to use this new cache in a future release.
  </Note>

  #### Data Connectors Update

  This release includes an update to Data Connectors 5.0.7 which provides a number of bug fixes.

  You may see some new [WARN logs](./migrate#dlc-warning-logs-and-potential-errors) as a result of this update.

  This update also highlighted some [missing topic imports](./migrate#breaking-changes) for the Sensitivity Summary cube which are fixed in this release. This also required some [changes to the imports](./migrate#breaking-changes) of the main Sensitivity Cube configuration.

  #### Extensible tail measure types

  The `ITailMeasureCalc.CalcType` and `IWeightedTailMeasureCalc.CalcType` enums are used to differentiate between tail measures like VaR and Expected Shortfall, which are mostly similar but require somewhat distinct processing logic. This logic is mostly contained in classes implementing the `ITailMeasureCalc` and `IWeightedTailMeasureCalc` interfaces.

  Enums are not easily extensible, meaning it is difficult to add custom tail measure types. In this release, we have deprecated these enums and instead introduced a `TailMeasureCalcType` class. This class operates like an enum with default static values, such as `TailMeasureCalcType.VAR`. But you can provide custom types with: `TailMeasureCalcType.getByDescription("NewType")`, so you can now define new types of tail measures.

  If you want to use custom types, you will also need to provide logic for these types by creating your own implementation of `ITailMeasureCalc` and/or `IWeightedTailMeasureCalc`.

  The methods that used these enums, primarily on the `ITailMeasureCalc` and `IWeightedTailMeasureCalc` interfaces and their implementations, have also been deprecated. New methods have been added that use `TailMeasureCalcType` instead. These deprecated methods will be removed in a future release.

  #### Duplicate DirectQuery join bug resolved

  When starting in DirectQuery mode, if your schema contained any joins to a table with vectors this join would be duplicated in the DirectQuery schema. This would cause a startup failure due to an invalid schema. This issue has been resolved in this release.

  #### New property to enable MRCombined Cube

  The word common in the property and annotation `mr.enable.cubes.common` and `@ConditionalOnCommonCubeEnabled` which enables the combined cube may cause confusion regarding intended functionality. The introduction of the property `mr.enable.cubes.combined` and the annotation `@ConditionalOnCombinedCubeEnabled` renames and in a future release will replace the now deprecated property and annotation `mr.enable.cubes.common` and `@ConditionalOnCommonCubeEnabled`.

  #### springdoc-openapi version fix

  The version of `springdoc-openapi` that is used in Atoti Market Risk version 6.0.2 was incorrect: version 2.5.x was used, which is incompatible with the version of Spring Boot used, which is 3.4.x.
  See: \<[https://springdoc.org/faq.html#\_what\_is\_the\_compatibility\_matrix\_of\_springdoc\_openapi\_with\_spring\_boot](https://springdoc.org/faq.html#_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot)>
  `springdoc-openapi` version 2.8.9 is used in Atoti Market Risk version 6.0.3.

  #### clear-filter parameter is taken in account for Drill-up comparative measures

  The parameters `clear-filter` located on `mr.metrics.booking`, `mr.metrics.trades`, `mr.metrics.custom-metrics.*` path is now taken in account for the
  `post-processor=ParentValue` setup.

  For instance here is the behaviour change:

  ##### Result without filtering

  <table><thead><tr><th>Levels</th><th>VaR</th><th>LEstimated</th></tr></thead><tbody><tr><td>Total</td><td>-10518762.87</td><td>-10518762.87</td></tr><tr><td>Equities</td><td>-10930109.59</td><td>-10484558.87</td></tr><tr><td>FICC</td><td>-3721950.54</td><td>-191748.48</td></tr><tr><td>Global Hedging</td><td>-564782.43</td><td>157544.48</td></tr></tbody></table>

  #### Taylor VaR post-processors now take into account additional levels

  The `IMarketDataRetrievalService.updateLeafCoordinatesFunction` method is now properly taken into account
  in post-processors used to compute Taylor VaR metrics.
</Update>

<Update label="6.0.2" description="2025-05-21">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.2/) to download the distribution files for:

  * UI source code.
  * UI build that does not require an installation and can be directly deployed.
  * Source files that can be used to build the module.
  * Maven repository required to build the project and run the tests.

  <Note>
    The Atoti Server 6.1.8 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.8/) to locate them.
  </Note>

  * Offline documentation that can be served by the module.

  ### Summary

  **New features**

  * [Properties to enable data overlap](#properties-to-enable-data-overlap)

  **Improvements**

  * [Atoti Server upgrade](#atoti-server-upgrade)

  ### New features

  #### Properties to enable data overlap

  You can now enable data overlap within a horizontally distributed setup using the newly added Cube properties.

  ### Improvements

  #### Atoti Market Risk upgrade

  Atoti Market Risk has been upgraded to Atoti Server 6.1.8.
</Update>

<Update label="6.0.1" description="2025-04-17">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.1/) to download the distribution files for:

  * UI source code.
  * UI build that does not require an installation and can be directly deployed.
  * Source files that can be used to build the module.
  * Maven repository required to build the project and run the tests.

  <Note>
    The Atoti Server 6.1.6 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.6/) to locate them.
  </Note>

  * Offline documentation that can be served by the module.

  ### Summary

  **Improvements**

  * [Theta PnL Explain fix](#theta-pnl-explain-fix)
  * [Configurable FX conversion default rate](#configurable-fx-conversion-default-rate)
  * [GenericLambdaCalculator](#genericlambdacalculator)
  * [Added option to disable partitioning on AsOfDate](#option-to-disable-partitioning-on-asofdate)

  ### Improvements

  #### Theta PnL Explain fix

  The Theta Pnl Explain formula has been fixed to correctly compute the losses due to time decay.

  #### Configurable FX conversion default rate

  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.

  #### GenericLambdaCalculator

  The `GenericLambdaCalculator` class has been added to provide a source type independent way of creating column calculators. We recommend using this instead of the `LambdaCalculator` class to create simple column calculators.

  #### Option to disable partitioning on AsOfDate

  The property `mr.partitioning.as-of-date.partition-type` can now be set to `none` to disable partitioning on AsOfDate.
</Update>

<Update label="6.0.0" description="2025-03-31">
  Follow [this link](https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/market-risk/6.0.0/) to download the distribution files for:

  * UI source code.
  * UI build that does not require an installation and can be directly deployed.
  * Source files that can be used to build the module.
  * Maven repository required to build the project and run the tests.

  <Note>
    The Atoti Server 6.1.5 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click [here](https://artifacts.activeviam.com/share/ActivePivot_stable/6.1.5/) to locate them.
  </Note>

  * Offline documentation that can be served by the module.

  ### Summary

  **New features**

  * [Atoti Market Data](#atoti-market-data)
  * [Configurable parent-child depth](#configurable-parent-child-depth)
  * [New DirectQuery Cache](#new-directquery-cache)
  * [Handling multi-leg trades](#handling-multi-leg-trades)
  * [Base store and aggregate provider partitioning by AsOfDate](#base-store-and-aggregate-provider-partitioning-by-asofdate)
  * [Updated TradeAttributes store](#updated-tradeattributes-store)

  **Improvements**

  * [Dependency upgrades](#dependency-upgrades)
  * [What-if improvements](#what-if-improvements)
  * [Updated dashboards](#updated-dashboards)
  * [Market data set changes](#market-data-set-changes)
  * [Market data-related changes](#market-data-related-changes)
  * [Simplified PnL Actuals tables](#simplified-pnl-actuals-tables)
  * [Cube-level adjustments](#cube-level-adjustments)
  * [Fixed creation of VaR risk class measures](#fixed-creation-of-var-risk-class-measures)
  * [Liquidity Horizon](#liquidity-horizon)
  * [Measure folders](#measure-folders)
  * [Data node market data](#data-node-market-data)
  * [Custom exception handling in the UI](#custom-exception-handling-in-the-ui)
  * [Admin UI measure dependencies](#admin-ui-measure-dependencies)
  * [Replaced APM starter dependency](#replaced-apm-starter-dependency)

  ### New features

  #### Atoti Market Data

  The Market Data API, introduced in Atoti Market Risk 5.3, is now an external dependency called Atoti Market Data, using version
  1.3.1
  . For details, see the dedicated [Atoti Market Data documentation](/products/modules/market-data/1.3/online-help/).

  #### Configurable parent-child depth

  You can now configure the maximum depth of parent-child hierarchies. This means you can set the depths that suits your needs perfectly.

  #### New DirectQuery Cache

  This release includes a new DirectQuery caching mechanism that pulls slices of market data into memory when required to improve the performance of market data retrievals. This is a preview feature, disabled by default. See [6.0 Migration Notes](./migrate#directquery-cache) for details.

  #### Handling multi-leg trades

  The attribute LegId has been added to the PLCube to enable sending in trades that will have multiple legs under a single TradeId. Only available when the property `mr.pnl.enable.leg-id` is set to true. LegId should be added to the end of PLActuals and PLPCActuals.csv, and to .json summary export files. Please update database scripts accordingly to use with DirectQuery.

  #### Base store and aggregate provider partitioning by AsOfDate

  Added the new String property `mr.partitioning.as-of-date.partition-type` to configure the type of partitioning used for the field AsOfDate and the Integer property `mr.partitioning.as-of-date.number-of-partitions` to configure the number of partitions for the field AsOfDate when modulo partitioning is used. AsOfDate uses value partitioning by default.

  #### Updated TradeAttributes store

  The TradeAttributes store now includes the fields TradeSource,TradeStatus, and OriginalNotional. The hierarchies TradeSources and TradeStatuses have been added to summary cubes. The measures Original Notional and Original Notional Native have been added to the VaR-ES cube.

  ### Improvements

  #### Dependency upgrades

  * **Atoti Server**: Atoti Market Risk has been upgraded to Atoti Server 6.1.5. This version requires Java 21.
  * **JDK**: Upgraded from JDK 17 to JDK 21 to utilize the latest features.
  * **Data Connectors**: This version of Atoti Market Risk uses Atoti Data Connectors 5.0.0, which has a completely reworked API. For details, see [Data Connectors upgrade](./migrate#data-connectors-upgrade).
  * **What-if**: Upgraded to What-if 4.0.2-AS6.1.

  #### What-if improvements

  * **Migrated What-if persistence to Hibernate**: The What-if persistence layer has been migrated from branch-based persistence to a Hibernate database implementation.
  * **Added What-if configuration beans**: Added supplier beans for cluster addresses and the user authenticator used by the REST distributed database service for What-if.

  #### Updated dashboards

  A number of dashboards have been updated due to market data measure and context value changes. In addition, dashboards have been migrated to use Atoti UI’s Investigation feature instead of the story-telling feature, which has been decommissioned. For more information on the Investigation feature, see [Investigations](https://docs.activeviam.com/products/atoti/ui/5.2/docs/user-guides/advanced/investigations/).

  #### Market data set changes

  Market data sets have significantly changed in this release. Most notably MarketDataSet is now a field on all base stores ensuring each fact is specifically associated to a set.

  #### Market data-related changes

  * **Deprecated vector sensitivities data model code removed**: The code specific to vector sensitivities data model and subsequent code have been removed.
  * **Deprecated market data and FX services removed**: Several deprecated services made obsolete by the move to Atoti Market Data have been removed.
  * **General measure chain changes**: FX conversions are now done through Atoti Market Data APIs, leading to several measure chain changes.
  * **Market data chain changes**: Market data chain has been changed: it is now required to add the sensitivity name and risk class levels in the views to display market data.
  * **Market data file format configuration clean-up**: Market data file formats now default to the Atoti Market Data 1.1.0 market data files, no longer requiring explicit file naming patterns to be declared. Backwards compatibility has been maintained by matching the configured file naming pattern to the deprecated file formats.
  * **Removed risk factor FX pair fallback logic**: Removed logic that would default to using the risk factor as a base currency and the display currency as a counter currency when the risk factor did not contain a currency pair in the `XXX/YYY` format.
  * **Removed Cash sensitivities**: Cash sensitivities were dependent on risk factor FX pair fallback logic and have therefore been removed.
  * **Removal of RoundingMethods and Quantiles stores**: These stores are no longer needed.

  #### Simplified PnL Actuals tables

  The following attributes have been removed from the stores PnL and PnLBaseStore and the cubes PLCube and PL Summary cube, because for actual PnL, there is no breakdown of the PnLs at these factor levels:

  * RiskFactor
  * RiskFactorType
  * RiskFactorCcy
  * CurveType
  * RiskClass
  * Qualifier

  #### Liquidity Horizon

  The Liquidity Horizon parameter is now taken into account when computing VaR/Es metrics. To achieve this, the parameter has moved to the Scenario table. See [VaRTimePeriod](../../cube/context-values) context value for the behavior of the field.

  #### Cube-level adjustments

  The implementation of cube-level adjustments has been changed: now only add-ons are supported for cube-level adjustments, and the add-ons are aggregated. `*_Adjusted` measures have been removed.

  #### Fixed creation of VaR risk class measures

  Risk class measures are now correctly created when the `mr.risk.risk-class-members` property is used.

  #### Measure folders

  Measures related to a fixed confidence level have been moved back into the folders related to fixed confidence levels. Starting from version 5.0, some of those measures were defined in the wrong folders.

  #### Data node market data

  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.

  #### Custom exception handling in the UI

  The Atoti Market Risk UI now parses custom exception responses in a consistent manner. For more information, see [Adding Custom UI Exceptions](../dev-extensions/custom-ui-exceptions).

  #### Admin UI Measure dependencies

  The functionality previously provided by DoctorPivot is now easily accessible through the Atoti Admin UI in the Measure dependencies tab. The standalone DoctorPivot app no longer exists.

  #### Replaced APM starter dependency

  Replaced the dependency `apm` with `atoti-server-apm-starter` in market-risk/pom.xml and added the dependency `atoti-server-apm-starter` to mr-application/pom.xml.
</Update>
