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. Whendlc.csv.aws.sourcesis configured andmr.data-load.initial-business-datesis 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): Addedjgroups-protocols/protocol-jdbc-ping.xml, a JGroups TCP +JDBC_PINGprotocol configuration for cluster member discovery in cloud environments where UDP multicast is unavailable. Enable it withmr.messenger.protocol-file-pathand configure it with the newmr.cluster.jgroups-bind-addrandmr.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-layoutandmr.directquery.sensiladder-vector-layoutproperties, selecting the vector layout of the corresponding DirectQuery table. Each accepts anyVectorTypevalue (DEFAULT,ROW,ROW_SAME_TABLE,COLUMNorNATIVE) 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 themr.data-load.initial-load-batch-sizeproperty, 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 thedlc-azure-csvprofile, 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 viaotel.exporter.otlp.endpoint(defaulthttp://localhost:4318),otel.exporter.otlp.headers, andotel.exporter.otlp.compression. AddedOtlpEndpointNormalizerEnvironmentPostProcessorto strip trailing slashes from the endpoint. Addedmr.initial.load.durationandmr.initial.load.phase.duration{topic}Micrometer timers inInitialDataLoadConfigexposed via/actuator/prometheus. Two Grafana dashboards (mr-load-performance,mr-runtime-performance) and a local docker-compose LGTM stack added underdocker/observability/. - MR-2423 (in
mr-application): Added service-driven DirectQuery local cache routing for shift post-processors, through the newIMarketShiftDirectQueryCachingPostProcessorExinterface. A post-processor can now be wired to several cache stores, and the injectedIMarketDataRetrievalService/IFxShiftselects the store to read at query time. The interfaces and the standard post-processors ship in the library modules; onlyRiskPostProcessorInjectorhas to be ported. See the Migration guide and Cache routing. - MR-2448 (in
mr-application): Added OTLP gRPC transport, selectable via the standardotel.exporter.otlp.protocolproperty (http/protobufdefault,grpcopt-in). gRPC uses theOtlpGrpc*exporter variants against the base endpoint, defaulting tohttp://localhost:4317when no endpoint is set; headers and compression apply to both transports. Also added the opt-inmr.open-telemetry.legacy-modeproperty (defaultfalse) 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 asGlobalOpenTelemetryas in modern mode. See the Migration guide.
Changed
- MR-2291: Added a secondary index on the
MarketShiftDirectQuery cache mirroring the in-memory index(AS_OF_DATE, RISK_FACTOR_ID, SCENARIO_SET), improving performance. - MR-2360: Promoted the
Previous=CUB+1member into the default value ofmr.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-1remains opt-in. - MR-2418 (in
mr-application): Changed the default OTelservice.namefromAtoti Servertomarket-risk-accelerator, overridable withotel.service.name. Log records are now exported over OTLP instead of written to stdout, and theInitialDataLoadConfigpublic constructor takes a secondMeterRegistryargument. See the Migration guide. - MR-2418 (in
mr-application): Changed the default mode to stop wiringLoggingMetricExporterandSystemOutLogRecordExporter, the stdout exporters for metrics and log records. Setmr.open-telemetry.legacy-mode=trueto restore them.mr.open-telemetry.logging-span-exporter-enabledcontinues to work for spans only. - MR-2552: Aligned the Atoti Sign-Off API and Adjustments Services dependencies with the Atoti Server version.
signoff-api.versionandadjustments-services.versionare now set to${activepivot.version}instead of the separate 4.2.1 and 4.1.3 pins. Their Maven group IDs moved fromcom.activeviam.solutions.signoff-apiandcom.activeviam.solutionstocom.activeviam.modules.signoff-apiandcom.activeviam.modules; thesignoff-api-libandadjustments-servicesartifact IDs are unchanged. TheBranchAwareAdjustmentRequestDTOconstructor now takes an additionalparentBranchargument afteruser, 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.yamlno longer readsSNOWFLAKE_PASSWORD. It now supplies a base64-encoded RSA private key viadirectquery.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.versionresolves to${activepivot.version}rather than a fixed value, and thegroupIdforlimits-auto-config-61changed fromcom.activeviam.solutions.limitstocom.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-springBOM 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 andio.zipkin.reporter2are 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 themr.open-telemetry.zipkin-span-exporter-urlSpring property in favor ofotel.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 theOpenTelemetryProperties.ZIPKIN_SPAN_EXPORTER_URL_DEFAULTconstant. Its value washttp://localhost:9411/api/v2/spans. See the Migration guide. - MR-2435 (in
mr-application): Removed thedoctorPivotApibackwards-compatibility block fromatoti-admin-ui/env.js. The Atoti Admin UI measure lineage tab now uses the Atoti Data Lineage APIs embedded in Atoti Server. Also removed theDiagnosticsRedirectController, which redirected the legacy/tree/cubesand/tree/measuresrequests. See the Migration guide.
Fixed
- MR-2392: Fixed
MRNamedDescriptionUtil.merge()silently erasing the file pattern when a YAML topic override (viadlc.csv.topics) did not specify one. The base description’s file pattern is now preserved when the overriding description’sfilePatternisnull. 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 theservice-principalproperty required by Atoti Limits JWT machine-to-machine authentication, and added theatoti-base-urlproperty for containerized and load-balanced deployments. For migration details, see the Migration guide. - MR-2455 (in
mr-application): FixedAdjustmentExecutionConfigandBulkAdjustmentExecutionConfigmishandling execution failures. A failing execution now transitions toFAILEDwith its write rolled back, instead of staying atPENDINGor being reported asEXECUTED. In a bulk request, a failing execution no longer causes the rest of the batch to be reported asEXECUTEDor left atPENDING. 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 inIndexorder, a scenario set is cached only once it resolves successfully, and a set that resolves to nothing, or whoseIndexvalues are not contiguous from0, is reported asFAILEDinstead of being applied. See the Migration guide. - MR-2537: Fixed
DynamicTenorsAndMaturitiesPostProcessorthrowing aNullPointerExceptionwhen 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 aCurrency × AsOfDate.Memberscrossjoin. Non-distributed deployments are unaffected. - MR-2558 (in
mr-application): Fixed two failures the upgraded dependencies introduced: startup failing underlogging.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.*anddirectquery.databricks.*, where the application bindsdirectquery.database.mssql.*anddirectquery.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 theSecurityheading of each release in the Atoti Server 6.1 changelog. See the Migration guide.
2026-05-18
Added
-
MR-2420: Added
MRMigrationHelperRestControllerexposing/migrationHelperREST endpoints for generating SQL DDL schemas (Snowflake, MSSQL, Databricks) and exporting in-memory datastore data to database-ready CSV files. The controller is active whenstarter.deployment.type=in-memory(the default) and can be disabled withmr.migration.export.enabled=false(defaults totrue). CSV exports are restricted to a configurable base directory (mr.migration.export.base-dir, defaults tojava.io.tmpdir). -
MR-2431: Added the property
mr.fx.enable-fx-risk-on-var-cube(defaulttrue) to exclude FX risk entirely from the VaR cube. When set tofalse, 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*_FXRisk Factor members are not added to the Risk Factors hierarchy. The Sensi cube is unaffected. Setting this property tofalsetogether withmr.fx.enable-var-base-currency-dimension=trueis rejected at startup. -
MR-2432: Added
IMeasureParameters.nameTechnicalMeasure(String)(a default method that appends a.TECHNICALsuffix) and cube-aware overloadsINotionalMeasures.notional(String cube),INotionalMeasures.originalNotional(String cube), andIVaRESMeasures.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/ProcessedOutputandCommunicationRegistration); the change is transparent for the standard Atoti Market Risk configuration. Added a newcom.activeviam.apps:serviceslibrary dependency tomr-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), andApplyShiftPostProcessorBuilder.withShiftFactor(double). The shift factor is now read fromIFxPropertiesand applied inside theIFxShiftservice. The oldFXShift(String, IMarketDataRetrievalService, String, IRiskFactorFXPairTranslator)constructor is also deprecated. UseFXShift(IFxProperties, IMarketDataRetrievalService, IRiskFactorFXPairTranslator)instead. - MR-2420:
ISideStoresToMigrateand thestoresToMigratefield inDirectQueryActivePivotConfigare deprecated; the migration helper controller now manages store selection directly. BecauseonlyIncludeStoresInStarSchemais set tofalse, the collection returned byISideStoresToMigratewas never taken into account. - MR-2432: The no-arg measure-factory overloads
INotionalMeasures.notional(),INotionalMeasures.originalNotional(), andIVaRESMeasures.mtmNative()are deprecated. Use the cube-aware overloadsnotional(String cube),originalNotional(String cube), andmtmNative(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
IFxShiftservice before pair inversion instead of later in the measure chain, and theFX_RELATIVETaylor formula inASensiFormulaProvider.fxRelativeShiftFormula()now appliespriceFactorbefore the non-linear FX inversion. Projects using inverse or cross-currency pairs, orFX_RELATIVErules withpriceFactor ≠ 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
DynamicTenorsAndMaturitiesPostProcessorreturning 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, andOriginalNotionalchains now receive explicit, stable names (for exampleMTMVaR-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-cubeto 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
UniqueFieldTrackerinstead ofdistinctQuery. ThedistinctQueryapproach 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 addPrevious=CUB+1andNext=CUB-1members tomr.taylor.market-shift-date-specificandmr.cubes.levels.day-to-day-membersto 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
AtotiAuthTokenwithSharedSecretAuthTokenin JGroups protocol configurations. - MR-2372: Migrated
APnlVectorFromRiskSensiPostProcessorto use the 3-argmoveToBusinessDayAPI, adding support forCubeMoveKind. 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
ScalarMarketDataRetrievalServiceandCubeLevelAdjustmentPostProcessor, which caused the first computed value to be reused when the same record was looked up under different contexts within a single query. Specifically:scenariowas missing fromgetMarketShiftRecord,marketDataSetwas missing fromgetMarketDataRecord, and all four parameters (date,marketDataSet,refCurrency,currency) were missing fromCubeLevelAdjustmentPostProcessor#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
IRefreshTaskinterface now accepts aChangeDescriptionparameter 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, andJoinScenarioHierarchySensiutility classes. - MR-2328: New
ScenarioNameFromJoinPostProcessorthat decodes scenario indices using the Copper left join instead of direct store lookups. This post-processor implementsIDistributedPostProcessorfor 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
ActivePivotBranchPermissionsManagerConfigclass inmr-common-configfor backwards compatibility. The primary implementation has moved tomr-applicationand now usesAtotiSecurityPropertiesto dynamically resolve admin roles.
Changed
- MR-2257: Extended multi-jurisdiction FX improvements to the VaR cube.
VarESCubeDimensionsConfig.riskDimensions()now acceptsenableFxRiskLocationShiftandvirtualHierarchiesparameters.getRiskFactorsHierarchy()conditionally selects between theHierarchyWithFxRiskFactorshierarchy and the standardRiskDimension.getRiskFactorsHierarchy()based on the FX risk location shift flag and virtual hierarchy configuration. TheBaseCurrencyDimensionConfig.fxEffectDimension()is now called within the VaR cube dimension builder.VaRMeasureUtilsnow takesIFxPropertiesand conditionally applies FX drill-up logic usingFxShiftUtils. - 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.
FileUploadSimulationDefinitionparameters are now defined as an enum (FileUploadSimulationParameter).WhatIfConfig.securityManager()now requiresISimulationPersistenceManagerandIBranchPermissionsManagerparameters.RestDistributedDatabaseServiceno longer requires themvPivotsupplier.FileUploadQueryNodeRestControllernow 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:
JoinScenarioHierarchySensiis now imported inTaylorMeasuresConfig(viaBaseTaylorChain) instead ofSensiCompleteConfig, ensuring backwards compatibility. A newSummaryBaseTaylorChainclass provides the scenario index measure for the Sensitivity Summary cube.
Deprecated
- MR-2337: The class
com.activeviam.mr.common.datastore.permissions.ActivePivotBranchPermissionsManagerConfiginmr-common-configis deprecated (@Deprecated(forRemoval = true, since = "6.0.6")). Use the replacement inmr-applicationinstead. - MR-2328: The scenario measure methods
worstScenario(),bestScenario(),contextScenarios(), andscenariosConfidence()onIVaRESMeasures,IContextualMeasures,IFixedConfidenceMeasures, andIRiskClassFixedConfidenceMeasuresare deprecated in favor of their “Ex” variants that useScenarioNameFromJoinPostProcessor. - MR-2248: The
IRefreshTask.refresh()method (no arguments) is deprecated. Userefresh(@Nullable ChangeDescription changeDescription)instead. - MR-2257:
RiskDimension.getRiskClassesHierarchyWithNA()is deprecated. UsegetRiskClassesHierarchy()instead, which now always contributes unknown members.VarESCubeDimensionsConfig.getRiskFactorsHierarchyWithFXMembers()is deprecated in favor ofRiskDimension.getRiskFactorsHierarchy(). TheVaRMeasureParametersconstructor accepting separateString fxRiskClassandDouble defaultFxRateparameters is deprecated; use the constructor acceptingIFxPropertiesinstead. - MR-2255:
VarESCubeDimensionsConfig.scenarioSetLeftJoinVaR()static method is deprecated (@Deprecated(forRemoval = true, since = "6.0.5")). Use the newJoinScenarioHierarchyandJoinScenarioHierarchyVaRutility classes. - MR-2328:
SensitivitiesDimensionConfig.scenarioSetLeftJoinSensi()static method is deprecated. UseJoinScenarioHierarchySensiinstead.
Fixed
- MR-2335:
DrillUpBasedOnUnderlyingpost-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
ScalarMarketDataRetrievalServiceare 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.enabledwas 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
OLDin the_Versionhierarchy. - 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-uias theatoti-admin-ui-startermodule 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.CalcTypeandIWeightedTailMeasureCalc.CalcTypeenums have been deprecated and replaced with theTailMeasureCalcTypeclass, which allows you to define new types. - MR-2208: Update to Data Connectors 5.0.7. You may notice some
WARNlogs that are further described in the Migration Notes - MR-2211:
MRDlcDescriptionConfigandMRNamedDescriptionUtilhave moved tomr-common-configpackage. 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.commonand the annotation@ConditionalOnCommonCubeEnabledare now deprecated. The propertymr.enable.cubes.combinedwith a default value of true and the annotation@ConditionalOnCombinedCubeEnabledhave been introduced to rename and in the future replacemr.enable.cubes.commonand@ConditionalOnCommonCubeEnabledrespectively. If you declare both properties, please ensure both are set to true to enable theMRCombinedCube.
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
DiagnosticsRedirectControllerand this is what we are using with Atoti Market Risk 6.0.3. If you want to use new APIs you must remove thedoctorPivotApisection of themr-application/src/main/resources/static/atoti-admin-ui/env.jsfile. - 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-openapiand 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
MRCombinedCubenow 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, andYTD PnLmeasures have returned to thePnL Valuesfolder. - 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-typecan now be set tononeto disable partitioning for AsOfDate. The default partitioning for AsOfDate remains asvalue.
Removed
- MR-2170: Removed the
securityPluginInjectionsbean 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.addPrefixmethod is now public. - MR-2160: Deprecated
MRDataLoadControllerRestServiceConfigfrommr-applicationas 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-applicationpom.xml to make it easier for projects using the two products together. To include the dependency, run Maven with thelimitsprofile, 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:
SensiMeasureParametersconstructor has been refactored to remove theboolean isVectorfield. - 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-starterhas been added to mr-application/pom.xml and replaces the dependencyapmin 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/YYYpair. 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-configmodules 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
providedscope 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
InitialDataLoadConfigclass), 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
*_adjustedmeasures 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.propertiesandreporting.propertiesfiles. The properties fromjwt.propertiesare now in the mainapplication.yamlfile.
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.xmlconfiguration has been fixed and writes logs to a local file. - BAS-1954: Swagger UI is now accessible at
.../swagger-ui/index.htmland 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
FileUploadWhatIfRestfulServiceis 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/EarningstoValue At Risk/Earningsto 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-membersproperty 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
finalmodifier on methods inVaRMetricParametersAndNamesallowing 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, theInitialDataLoadConfignow 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.