Skip to main content
For user-facing changes, refer to the Release Notes page.
For details about versioning, see our Versioning Policy.
The 6.2 branch forked the 6.1 branch from version 6.1.20.
See the 6.1 changelog for changes before the fork.
Format based on Keep a Changelog

6.2.0-M1

This is a preproduction release, see https://docs.activeviam.com/preproduction-releases
2026-06-15

Added

  • PIVOT-10020 JDBC Source: Added JdbcRowFailureEvent and the onJdbcRecordFailed method on IJdbcSourceHealthEventHandler, so that health event handlers are now notified when an error occurs while processing a JDBC row.
  • PIVOT-12675 Cube Metadata: Added isSlicing() to IHierarchyInfo, indicating whether the hierarchy is slicing (i.e., does not have an “All” member). Added getDefaultHierarchyInfo() to IDimensionInfo, returning the default hierarchy of the dimension.

Changed

  • PIVOT-0000 Atoti UI: All Atoti UI artifacts (atoti-ui, atoti-ui-initial-content, atoti-admin-ui) are now versioned by the single atoti-ui.version Maven property, as they are released in lockstep. The admin-ui.version property is removed. Versions are aligned on 5.2.24 (previously atoti-ui.version 5.2.20 and admin-ui.version 5.2.22).
  • PIVOT-11413 Datastore: Moved NoTransactionException in public API, from package com.activeviam.database.datastore.internal to com.activeviam.database.datastore.api.transaction.
  • PIVOT-11541 Datastore: Removed the unnecessary throws DatastoreTransactionException declarations from ITransactionalWriter.remove/removeAll, IOpenedTransaction.updateWhere/rollback, and ITransactionManager.rollbackTransaction/stop, which never threw it. As DatastoreTransactionException is a checked exception, remove any catch clause that wrapped only these calls.
  • PIVOT-11619 IAgent does not extend IExtendedPluginValue anymore. If a given agent implementation needs to be an extended plugin value, that agent needs to explicitly declare its dependency to IExtendedPluginValue.
  • PIVOT-13108 Monitoring: The Queries Service monitoring previously provided by the apm module is now built into Atoti Server: query counters and exception logging no longer require the APM module. The per-query report logs are now disabled by default and controlled by the activeviam.queries.service.logging, activeviam.queries.service.detailed-logging and activeviam.queries.service.log-memory-stats properties, or at runtime over JMX. The name=QueriesService,type=Monitoring MBean is replaced by QueriesServiceStatistics (counters) and QueriesServiceLogging (logging toggles). See the migration notes.
  • PIVOT-13111 Logging: The Logback conversion-rule converters have been moved out of the apm module. LogInstanceConverter and LogThreadConverter are now in com.activeviam.tech.logging.logback.api (artifact com.activeviam.tech:logging-logback), and LogUserConverter is now in com.activeviam.tech.logging.logback.spring.api (artifact com.activeviam.tech:logging-logback-spring). Update the fully-qualified class names referenced in your logback.xml/logback-spring.xml <conversionRule> declarations.
  • PIVOT-13324 Observability: Atoti JFR events have been renamed to follow Oracle’s JFR naming and labeling guidelines. Event names now share a flat atoti.* namespace (e.g. atoti.CubeCommit instead of atoti.server.cube.CubeCommitEvent), the Event suffix has been dropped, and labels use headline-style capitalization. JFR configuration files referencing the previous names must be updated; see JFR events for the new identifiers.
  • PIVOT-13635 Build: Atoti Server requires Java 25
  • PIVOT-13720 Default cursor batch size raised from 16 to 128, which benchmarking identified as a more performant default. The previous value can be restored at startup via the atoti.server.records.cursor.batchSize system property.
  • PIVOT-13785 Observability: The type of some metric tags has changed from String to a more appropriate type such as boolean, long or List<String>.
TagNew Type
agg_provider.partition.idlong
atoti.root.modeboolean
cacheboolean
cube-namesList<String>
cube.epoch.currentlong
epoch-idlong
is-transaction-shadowboolean
measuresList<String>
node.idlong
partition.idlong
number-eventslong
query.fieldsList<String>
snowflake-resultset-countlong
source-list-topicsList<String>
stores-locked-by-transactionList<String>
successboolean
writable-storesList<String>
  • PIVOT-13948 Datastore: StoreDescription, OptimizationDescription and SimpleStoreDescriptionBuilder.keyFieldNames(...) now accept a Collection<String> instead of a List<String> for key/index field names to enhance the fact that the order is ignored.
  • PIVOT-13949 Upgraded Jackson’s version to 3.1.2.
  • PIVOT-13963 Atoti UI: Bumped atoti-ui.version from 5.2.20 to 5.2.24 and admin-ui.version from 5.2.22 to 5.2.24.
  • PIVOT-13994 Distribution: Moved IMultiVersionDataActivePivot from package com.activeviam.activepivot.dist.impl.api.cube to com.activeviam.activepivot.dist.datanode.impl.api.cube.
  • PIVOT-14110 DLC: Errors raised while creating a local CSV topic include more information.

Deprecated

  • PIVOT-13676 IActivePivotContentServiceConfig is deprecated and scheduled for removal in 6.3.0. Inject IActivePivotContentService directly as a Spring bean instead of implementing this configuration interface.

Removed

  • PIVOT-10061 Parsers: Removed the deprecated integer and integer[] parser type keys (including sized and delimited variants). Use the equivalent int and int[] keys instead; the parsing behavior is unchanged.
  • PIVOT-10231 Direct Query Snowflake: Removed the deprecated SnowflakeDialectSettings#arrayAggWrapperFunctionName setting and the ARRAY_AGG_WRAPPER_FUNCTION_NAME connection option used to wrap ARRAY_AGG operations with a custom UDF. The built-in Snowflake SQL function is now faster, so the wrapper is no longer needed.
  • PIVOT-10885 Distribution: Removed the deprecated String-based distributing level APIs. IApplicationDescriptionBuilderWithId#withDistributingFields(String...), IDistributedApplicationDefinition#getDistributingFields(), and the QueryClusterDefinition.DistributedApplicationDefinition(String, List<String>) constructor have been removed; use withDistributingLevels(LevelIdentifier...), getDistributingLevels(), and QueryClusterDefinition.DistributedApplicationDefinition(String, List<LevelIdentifier>) instead. IApplicationDescriptionBuilderWithId#withoutDistributingFields() has been renamed to withoutDistributingLevels(), and QueryClusterDefinition.DistributedApplicationDefinitionV2 has been renamed to QueryClusterDefinition.DistributedApplicationDefinition.
  • PIVOT-12455 Versioning: Removed IVersionLifecycleHandler from the public API.
  • PIVOT-13523 The JMX attributes and operations of the datastore TransactionManager (getLatestTransactionTime, getAvgTransactionTime, getNumberTransactions, getAddedOrUpdatedRecords, getRemovedRecords, addSpeed, removalSpeed) are no longer exposed. Use the metrics sent to the observability backend via OpenTelemetry instead.
  • PIVOT-13524 Removed the deprecated ICsvSourceConfiguration interface. Use CsvSourceConfiguration directly.
  • PIVOT-13525 Removed ICsvParserConfiguration, IFileParserConfiguration and FileParserConfiguration. Use CsvParserConfiguration directly.
  • PIVOT-13526 DataTable has been removed. Use StoreDescription for a datastore table or a TableDescription for a DirectQuery table.
  • PIVOT-13529 Removed the deprecated IParquetReaderFactory#create(InputFile, ReadSupport, org.apache.hadoop.conf.Configuration) overload. Use the overload taking a ParquetConfiguration instead; wrap an existing Hadoop Configuration with new HadoopParquetConfiguration(...).
  • PIVOT-13532 Distribution: Removed the deprecated concealed measures feature. The withConcealedMeasures builder methods, IDataClusterDefinition#getConcealedMeasures/setConcealedMeasures, and the now-redundant withAllMeasures builder step have been removed. Concealing hierarchies and branches is still supported.
  • PIVOT-13785 Removed IQuery#collectAdditionalSpanAttributes(BiConsumer<String, String>) and its implementations.
  • PIVOT-13913 Direct Query Databricks: Removed the deprecated feature of UDAF for vector aggregation.
  • PIVOT-14017 Removed the deprecated StartBuilding.Builder#withEpochManager(IEpochManager) method. Use StartBuilding.Builder#withEpochPolicy(IEpochManagementPolicy) instead.
  • PIVOT-14019 Removed the deprecated PersistedBuilder#lockOptions(boolean) method, which was public by mistake. Use PersistedBuilder#databaseLocks(LockOptions) instead.
  • PIVOT-14020 Removed the unusable IMessengerDefinition.AGENTS and IMessengerDefinition.SEPARATOR constants. All IDistributedAgent implementations are internal API, so the constants had no supported use.
  • PIVOT-14025 Removed the deprecated duplicate APIs in the io.atoti.runtime.api.measures and io.atoti.server.common.api.plugins packages. Use their com.activeviam.atoti.application.api.measures and com.activeviam.atoti.server.common.api.plugins counterparts.
  • PIVOT-14028 Distribution: Removed the deprecated IMultiVersionDistributedActivePivot#unloadMembersFromDataNode method, along with its internal UnloadMemberMessage, the IMessengerDefinition#UNLOAD_MEMBERS_MESSAGE_TIMEOUT property and the related distribution.unload_members_from_data_node.* metrics. Use IMultiVersionDataActivePivot#maskMembers and IMultiVersionDataActivePivot#unmaskMembers instead.
  • PIVOT-14035 Removed the deprecated 4-argument constructor of ActivePivotTransactionCommittedEvent. Use the 6-argument constructor instead, passing -1, -1 for the start and commit timings when they are unknown.
  • PIVOT-14044 Removed the deprecated IGenericAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEY constant. Use IMultiSourceAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEY instead.
  • PIVOT-14054 Query API: Removed the deprecated constructors of GetAggregatesQuery and DrillthroughQuery. Use their respective builders instead.
  • PIVOT-14054 CSV Source: Removed the deprecated constructors of CsvParserConfiguration and CsvSourceConfiguration. Use CsvParserConfiguration.builder() and CsvSourceConfiguration.builder() instead.
  • PIVOT-14096 Removed the empty Maven module com.activeviam.springboot:atoti-runtime-starter, kept as an alias since it was renamed in 6.1. Use com.activeviam.springboot:atoti-server-application-starter instead.
  • PIVOT-14097 Removed the empty Maven module com.activeviam.activepivot:activepivot-ext. Import com.activeviam.activepivot:core and optionally com.activeviam.activepivot:activepivot-dist-impl instead.

Fixed

  • PIVOT-11585 Content Server: Fixed a startup race in high-availability deployments where two instances initializing concurrently against a fresh shared database could both attempt to create the root directory, causing one of them to fail to start with IllegalStateException: Entry at path / already exists.
  • PIVOT-13743 Cube: Reduce the creation of transient HierarchyIdentifier objects.
  • PIVOT-13947 Continuous GAQ REST API: Stopping a publisher now cancels all the continuous queries it owns.
  • PIVOT-13986 MDX: Non-empty cross-join evaluation now periodically checks for interruption, attempting to exit early from a big cross-join when the query has been stopped (cancellation or timeout).
  • PIVOT-14012 DirectQuery: Primary-key discovery is now skipped for views, which have no primary key. This avoids discovery failures with JDBC drivers that reject the primary-key metadata query on a view instead of returning no rows.

Security

  • PIVOT-13980 Security: Removed the activeviam.jwt.* application properties, deprecated since 6.1. Use the atoti.jwt.* equivalents instead. The expiration property is a Duration. The available formats are described in Spring’s documentation. For this property, a unitless integer will represent Seconds.