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-beta
2026-07-03Added
- PIVOT-13649 Monitoring: The
ActivePivotQueryStartedandActivePivotQueryDonehealth events now expose the query task identifier and a flag telling whether the query is a top-level query. A health event handler can use the task identifier to correlate an event with the Query REST API V10killQueryByIdendpoint. - PIVOT-13886 REST API: In the query plan retrieval response, a new
measuresDatafield on retrievals exposes the post-processor plugin key for post-processed measures. - PIVOT-13912 Continuous Query Engine: Added the
disableResultLimitOnUpdatesengine property as an opt-in to disable theIQueriesResultLimitcheck on the CQE shared update path, so continuous-query updates are no longer capped by the result-size limit; initial-view queries still honor the limit. See continuous query engine. - PIVOT-14073 Cube: Added
IMember#getLevelIdentifier(), which returns theLevelIdentifierof the level this member belongs to, andIAxisMember#getLevelOrdinal(), which returns the ordinal of that level. - PIVOT-14160 Parquet source:
IParquetParsernow extendsAutoCloseable. It can also be built with aMessageHandlerto handle parsing lifecycle events: start of parsing, publication of parsed records, and parsing errors. - PIVOT-14239 Concurrency:
IInterruptor#registerCallbackOnInterruptionnow returns aRegistration, anAutoCloseablewhoseclose()unregisters the callback. A callback registered on a long-lived interruptor can now be removed once its guarded operation completes, instead of lingering until the whole computation ends.
Changed
- PIVOT-10812 Distributed configuration now rejects declaring several distributing levels that belong to the same hierarchy. Such a configuration was previously accepted but redundant, since the nested levels added no extra partitioning.
- PIVOT-11167 DirectQuery: Condition operands on
booleanfields are now type-checked during condition normalization. - PIVOT-12001 Cube: A virtual hierarchy with an
OBJECT-typed level and no member name parser now throws aConfigurationExceptionat cube build time. Previously such a misconfiguration only logged aSEVEREmessage and let the cube build in a degraded state. Define a member name parser on the level (for example through the level builder’swithMemberNameParserPluginKey) or avoid theOBJECTdiscriminator to fix it. - PIVOT-12850 IIterableAggregatesRetrievalResult now implements IColumnarTable and getColumn(int) returns an IArray.
- PIVOT-13108 Monitoring: The Streaming Service monitoring previously provided by the
apmmodule is now built into Atoti Server. The per-query report logs are now disabled by default (the APM module previously enabled them by default) and controlled by theatoti.server.query.service.streaming.logging,atoti.server.query.service.streaming.detailed-loggingandatoti.server.query.service.streaming.log-memory-statsproperties, or at runtime over JMX throughStreamingQueriesServiceLoggingandStreamingQueriesServiceStatisticsMBeans. See the migration notes. - PIVOT-13111 Monitoring: The query performance evaluator (adaptive slow-query detection) previously provided by the
apmmodule has been removed; its role is now covered by OpenTelemetry traces and metrics together with the query history module. The default query executor enriches the current trace span with each query’s identity. Theactiveviam.apm.query.performance.evaluation.*properties and thecom.activeviam.apm.query.slowslow-query log category no longer exist. See the migration notes. - PIVOT-13111 Monitoring: The
apmmodule has been removed. Its remaining function is now built into Atoti Server (wired by theatoti-server-starterand the observability plugin). The thread-status monitoring is replaced by a passive blocked-thread watchdog that logs a full thread dump — toatoti.server.monitoring.health.blocked-thread(legacy aliascom.activeviam.apm.health.blocked-thread) — when blocked threads are detected. The watchdog is now disabled by default; enable it withatoti.server.monitoring.blockedThreadWatchdog.enabled=trueand tune itsatoti.server.monitoring.blockedThreadWatchdog.scanIntervalMs. The per-state thread-countThreadStatusMBean and theDirectChunkAllocatorMBean (a duplicate of theMemoryAllocatorMBean already exposed by the Atoti starter) have been removed, along with theactiveviam.apm.enable.all.apmanager.statisticsandactiveviam.apm.node.starter.jmx.enabledproperties. See the migration notes. - PIVOT-13111 Spring Boot starter: The
atoti-server-apm-starterhas been removed. Its auto-configuration is now provided by the mainatoti-server-starter. See the migration notes. - PIVOT-13113 Monitoring: Renamed the node-instance-name logging property from
activeviam.apm.node.instance.nametoatoti.server.node.instance.name; its default value also changed fromactivepivottoatoti. This property sets the node name shown in log lines. See the migration notes. - PIVOT-13856 Spring Boot starter: The legacy ActivePivot services
IAdministrationServiceandILicensingService, which mirror the payloads of the removed SOAP web services, are no longer registered as Spring beans by default. Set theatoti.server.service.legacy.enabledproperty totrueto restore them. - PIVOT-14045 The Netty max message size property no longer accepts fully-qualified class names. Only the public message-type keywords are accepted and an unknown key raises a configuration error.
- PIVOT-14159 DirectQuery: All SQL-based connectors (Databricks, MS SQL, Redshift, Snowflake, Synapse, generic JDBC) now consistently route connections through their HikariCP connection pool. Previously some connectors opened a new JDBC connection on every query. The Snowflake, generic JDBC, and Databricks connectors gain two new configuration properties: see Snowflake, Generic JDBC, and Databricks connector documentation.
Deprecated
- PIVOT-13856 Spring Boot starter: The legacy ActivePivot services
IAdministrationServiceandILicensingServiceare deprecated and planned for removal. - PIVOT-13886 REST API: In the query plan retrieval response, the
measuresfield on retrievals is deprecated. UsemeasuresDatainstead. - PIVOT-14073 Cube:
IMember#getHierarchyInfo()andIMember#getLevelInfo()are deprecated since 6.2.0 and planned for removal in 6.3.0. UseIMember#getLevelIdentifier()as a lighter replacement; for a single attribute, preferIAxisMember#getLevelOrdinal()overgetLevelInfo().getOrdinal(). See the migration notes.
Removed
- PIVOT-7426 Datastore: Removed the deprecated
IDatastoreSchemaDescription#getStoreDescriptions()andIDatastoreSchemaDescription#getReferenceDescriptions(). UsegetTables()andgetJoins()respectively. - PIVOT-7426 Datastore: Removed the deprecated
IReferenceDescription#getOwnerStore()andIReferenceDescription#getTargetStore(). UsegetSourceTableName()andgetTargetTableName()respectively. - PIVOT-7426 Datastore: Removed the deprecated
IStoreDescription#getKeyFields(). UsegetKeyFieldNames()instead. - PIVOT-7426 Datastore: Removed the deprecated
ReferenceDescriptionconstructors taking field mappings as aList<? extends IPair<String, String>>. Use the constructor taking aSet<ITableJoin.FieldMapping>instead. - PIVOT-7426 Datastore: Removed the deprecated
StoreDescription(String, Collection<String>, List<? extends IFieldDescription>)constructor. UseStoreDescription.builder()orStoreDescription.simpleBuilder()instead. - PIVOT-7426 Query: Removed the deprecated
QueryExecution(Boolean)constructor. UseQueryExecution.builder()instead. - PIVOT-7426 Post-processors: Removed the deprecated
AAdvancedPostProcessor.OUTPUT_TYPEconstant. UseIPostProcessor.OUTPUT_TYPE_PROPERTYinstead. - PIVOT-7426 Post-processors: Removed the deprecated protected
AAdvancedPostProcessor.getLevel(String)method. UseHierarchiesUtil.getLevel(getActivePivot(), levelDescription)instead. - PIVOT-7426 Post-processors: Removed the deprecated protected
AAdvancedPostProcessor.getHierarchy(String)method. UseHierarchiesUtil.getHierarchy(getActivePivot(), hierarchyDescription)instead. - PIVOT-10152 CSV Source: Removed the deprecated
ICsvParserConfigPolicyinterface (along withLineAndFileLimitCsvParserPolicyandNoRestrictionCsvParserConfigPolicy) and thegetParserPolicy()/setParserPolicy()methods onCsvParserConfiguration. The line-limit, file-limit, and step-sampling functionality they provided has been removed with no replacement. - PIVOT-10152 Parquet Source: Removed the deprecated
IParquetReaderPolicyinterface and theIParquetParserBuilder.withPolicy(IParquetReaderPolicy)builder method. The line-limit, file-limit, and step-sampling functionality they provided has been removed with no replacement. - PIVOT-10152 Parquet Source: Removed
getPublishedRecordCount()andgetSkippedRecordCount()fromIParquetParsingInfo. UsegetRecordCount()instead ofgetPublishedRecordCount();getSkippedRecordCount()always returned0and has no replacement. - PIVOT-10724 Removed the deprecated
ADirectQueryApplicationConfig#directQueryDatabase(), useADirectQueryApplicationConfig#database()instead. - PIVOT-13035 Removed the deprecated
SnowflakeProperties.SnowflakePropertiesBuilder#additionalOption(SFSessionProperty, String), useSnowflakeProperties.SnowflakePropertiesBuilder#additionalOption(String, String)instead. - PIVOT-13113 Monitoring: Removed the APM startup configuration dump (
ExtraLoggingConfig), which logged all resolved Spring environment properties and the classpath on thecom.activeviam.apm.springlogger, along with itsactiveviam.apm.config.hide.properties.patternproperty. Use Spring Boot’s Actuatorenv/configpropsendpoints or the--debugstartup flag instead. - PIVOT-14026 Removed the public method
ICanBuildCommonCubeDescription#withQueryExecutor(), which let configurations declare a custom query executor. The query executor is no longer user-replaceable. Use theActivePivotQueryStartedandActivePivotQueryDonehealth events to monitor queries. - PIVOT-14016 Snowflake: Avoid a lag bug from the Snowflake platform triggered by interaction between incremental refresh and time travel. Remove the old workaround
SnowflakeDatabaseSettings.lastAlteredMargin. - PIVOT-14039 Removed the deprecated
BITMAP_PLUGIN_TYPE,JIT_PLUGIN_TYPEandLEAF_PLUGIN_TYPEconstants fromIBuildableAggregateProviderDescriptionBuilder. Use the equivalents onIAggregateProviderDefinition. - PIVOT-14040 Removed
IMultiVersionDistributedActivePivot#getDistributedApplicationInformation(). UsegetApplicationNames()to list the distributed application names. - PIVOT-14041 Cube Filter: Removed
CubeFilter.getSubCubeFromContext(IContext)(deprecated since 6.1; useCubeFilter.getSecurityAndFilter(IContext)instead) andCubeFilter.intersectWithSecurity(ICubeFilter, IContext)(deprecated since 6.1; no public replacement).
Fixed
- PIVOT-9136 Content Server: Fixed a race condition on websocket unregistration that lead to the error
java.lang.IllegalStateException: The WebSocket session [id] has been closed and no method (apart from close()) may be called on a closed session - PIVOT-9136 Content Server: Closing a remote content listener no longer logs a spurious
BadArgumentExceptioncaused by trying to unregister it again after its WebSocket session has already been closed. - PIVOT-14123 Continuous GAQ: Full-refresh Arrow streams no longer expose measures the query did not request.
- PIVOT-14140 Database:
ICursor#toTuples()andICursor#toRecords()no longer append all-null padding rows when materializing a cursor that returns fewer rows than the batch size for a batch (for instance, when a filter has to be evaluated on records joined across several stores). The materialized result now honors the row count returned bytransfer. - PIVOT-14154 Database cache: Feeding the cache no longer holds the cached table’s transaction lock during the external-database read, so a slow or stalled feed no longer blocks other queries on the same table or leaves it locked indefinitely. Canceling a query that triggered a feed now aborts the in-flight external read, and a query waiting on another query’s feed stops waiting when canceled. A canceled or failed feed no longer prevents a later query from feeding the same partition. If the cancellation arrives while the rows are being written to the cache, that feed still completes, so the partition may stay cached even though the query was canceled; this is intended, as the cached data is valid and benefits later queries.
- PIVOT-14183 Datastore: A continuous selection whose condition filters on a field reached through a reference now receives the same initial view regardless of when the listener subscribes. Previously, subscribing to an already-populated datastore could drop rows whose reference did not resolve, instead of keeping them with the referenced field’s default value.
- PIVOT-14185 Datastore: A transaction whose
commitTransaction()orrollbackTransaction()throws (for example on a duplicate key) no longer leaves a lock held. Previously this leaked lock caused subsequent schema updates to hang indefinitely. - PIVOT-14226 Distribution: Releasing a concealed branch on a data node no longer throws
IllegalStateException. - PIVOT-14264 Database:
ICursor#toTuples()andICursor#toRecords()no longer throwUnsupportedOperationExceptionon DirectQuery result cursors or on aggregate and distinct query result cursors. - PIVOT-14277 REST API: Endpoints reading a raw
@RequestBody Stringfrom anapplication/jsonrequest (such as the Content ServerPOST/PUT /files) no longer fail with HTTP 400, this issue was introduced by the Spring Boot 4 upgrade. - PYTHON-913 CSV Source:
LoggingCsvHealthEventHandlernow accepts a customITagAcceptorvia a new constructor, consistent with the Parquet and JDBC equivalents. - PYTHON-923 Monitoring: Setting a health log tag to
OFFin theactiveviam.health.logspecification no longer throws aNullPointerException. TheOFFrule now correctly silences its tags, and an exactOFFtag takes precedence over a less restrictive matching wildcard.
Security
- PIVOT-13914: Upgraded to Spring Boot 4.1.0.
6.2.0-M1
2026-06-15Added
- PIVOT-9550 Pivot REST API: The cube discovery endpoint now exposes the type of the data stored by each level, through a new
dataTypeobject carrying the content type (for exampleINTEGER,DOUBLEorSTRING), the Java class of the members, and their nullability. Clients can use it to know whether a level is numeric without inspecting its members. The revision of the pivot REST API is now 5. - PIVOT-10020 JDBC Source: Added
JdbcRowFailureEventand theonJdbcRecordFailedmethod onIJdbcSourceHealthEventHandler, so that health event handlers are now notified when an error occurs while processing a JDBC row. - PIVOT-12675 Cube Metadata: Added
isSlicing()toIHierarchyInfo, indicating whether the hierarchy is slicing (i.e., does not have an “All” member). AddedgetDefaultHierarchyInfo()toIDimensionInfo, returning the default hierarchy of the dimension. - PIVOT-14009 Memory Analysis:
MemoryAnalysisServiceFactoryis now part of the public API. It can be used to instantiate anIMemoryAnalysisServicewithout the Spring Boot Atoti starter.
Changed
- PIVOT-0000 Atoti UI: All Atoti UI artifacts (
atoti-ui,atoti-ui-initial-content,atoti-admin-ui) are now versioned by the singleatoti-ui.versionMaven property, as they are released in lockstep. Theadmin-ui.versionproperty is removed. Versions are aligned on 5.2.24 (previouslyatoti-ui.version5.2.20 andadmin-ui.version5.2.22). - PIVOT-11413 Datastore: Moved
NoTransactionExceptionin public API, from packagecom.activeviam.database.datastore.internaltocom.activeviam.database.datastore.api.transaction. - PIVOT-11541 Datastore: Removed the unnecessary
throws DatastoreTransactionExceptiondeclarations fromITransactionalWriter.remove/removeAll,IOpenedTransaction.updateWhere/rollback, andITransactionManager.rollbackTransaction/stop, which never threw it. AsDatastoreTransactionExceptionis a checked exception, remove anycatchclause that wrapped only these calls. - PIVOT-11619
IAgentdoes not extendIExtendedPluginValueanymore. If a given agent implementation needs to be an extended plugin value, that agent needs to explicitly declare its dependency toIExtendedPluginValue. - PIVOT-13108 Monitoring: The Queries Service monitoring previously provided by the
apmmodule 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 theatoti.server.query.service.logging,atoti.server.query.service.detailed-loggingandatoti.server.query.service.log-memory-statsproperties, or at runtime over JMX. Thename=QueriesService,type=MonitoringMBean is replaced byQueriesServiceStatistics(counters) andQueriesServiceLogging(logging toggles). See the migration notes. - PIVOT-13108 Monitoring: The JSON Queries Service monitoring previously provided by the
apmmodule is now built into Atoti Server, following the same pattern as the Queries Service. The per-query report logs are disabled by default and controlled by theatoti.server.query.service.json.logging,atoti.server.query.service.json.detailed-loggingandatoti.server.query.service.json.log-memory-statsproperties, or at runtime over JMX. Thename=JsonQueriesService,type=MonitoringMBean is replaced byJsonQueriesServiceStatistics(counters) andJsonQueriesServiceLogging(logging toggles), and the total query counters now correctly include drillthrough queries. See the migration notes. - PIVOT-13111 Logging: The Logback conversion-rule converters have been moved out of the
apmmodule.LogInstanceConverterandLogThreadConverterare now incom.activeviam.tech.logging.logback.api(artifactcom.activeviam.tech:logging-logback-utils), andLogUserConverteris now incom.activeviam.tech.logging.logback.spring.api(artifactcom.activeviam.tech:logging-logback-spring). Update the fully-qualified class names referenced in yourlogback.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.CubeCommitinstead ofatoti.server.cube.CubeCommitEvent), theEventsuffix 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
16to128, which benchmarking identified as a more performant default. The previous value can be restored at startup via theatoti.server.records.cursor.batchSizesystem property. - PIVOT-13785 Observability: The type of some metric tags has changed from String to a more appropriate type such as
boolean,longorList<String>.
| Tag | New Type |
|---|---|
| agg_provider.partition.id | long |
| atoti.root.mode | boolean |
| cache | boolean |
| cube-names | List<String> |
| cube.epoch.current | long |
| epoch-id | long |
| is-transaction-shadow | boolean |
| measures | List<String> |
| node.id | long |
| partition.id | long |
| number-events | long |
| query.fields | List<String> |
| snowflake-resultset-count | long |
| source-list-topics | List<String> |
| stores-locked-by-transaction | List<String> |
| success | boolean |
| writable-stores | List<String> |
- PIVOT-13886 REST API: In the query plan retrieval response, the
measuresfield on retrievals is deprecated and replaced bymeasuresData, which additionally exposes the post-processor plugin key for post-processed measures. - PIVOT-13948 Datastore:
StoreDescription,OptimizationDescriptionandSimpleStoreDescriptionBuilder.keyFieldNames(...)now accept aCollection<String>instead of aList<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.versionfrom 5.2.20 to 5.2.24 andadmin-ui.versionfrom 5.2.22 to 5.2.24. - PIVOT-13994 Distribution: Moved
IMultiVersionDataActivePivotfrom packagecom.activeviam.activepivot.dist.impl.api.cubetocom.activeviam.activepivot.dist.datanode.impl.api.cube. - PIVOT-14076 Logging:
AAdvancedPostProcessor.loggeris nowprivateinstead ofprotected; subclasses should use their own logger (e.g.LoggerFactory.getLogger(PivotLoggingConstants.POST_PROCESSOR)). Pivot logger names are now public API inPivotLoggingConstantsand moved to theatoti.server.pivot.*namespace; the oldatoti.server.active_pivot.*names still work viaLoggerSwitcher. - PIVOT-14109: Spring AI: Bumped
org.springframework.aifrom 2.0.0-M6 to 2.0.0. - PIVOT-14110 DLC: Errors raised while creating a local CSV topic include more information.
- PIVOT-13613 Filtering API: Conditions are no longer extended-plugin values.
ILogicalConditionandIMatchingConditionno longer extendIExtendedPluginValue, thegetType()method and the plugin-key constants have been removed, theLogicalConditionExtendedPlugin/MatchingConditionExtendedPluginextended plugins are no longer registered, and theAConditionbase class has been removed. See the migration notes. - PIVOT-13804 Continuous GAQ: Continuous GAQ queries no longer require forcing full refreshes through
IAggregatesContinuousHandler#FORCE_FULL_REFRESH_ENGINE_PROPERTY. The service now emits incremental delta batches where possible and full-refresh batches otherwise.
Deprecated
- PIVOT-13676
IActivePivotContentServiceConfigis deprecated and scheduled for removal in 6.3.0. InjectIActivePivotContentServicedirectly as a Spring bean instead of implementing this configuration interface. - PIVOT-13676
IActivePivotManagerDescriptionConfigis deprecated and scheduled for removal in 6.3.0. DeclareIActivePivotManagerDescription(and optionallyIEpochManagementPolicy) as@Beanmethods in your own@Configurationclass directly, without implementing this interface. - PIVOT-13676
IDatastoreConfigis deprecated and scheduled for removal in 6.3.0. DeclareIDatastoreas a@Beanmethod in your own@Configurationclass directly, without implementing this interface. - PIVOT-13676
IRoleContextConfigis deprecated and scheduled for removal in 6.3.0. DeclareIEntitlementsProvideras a@Beanmethod in your own@Configurationclass directly, without implementing this interface. - PIVOT-13676
IDatastoreSchemaDescriptionConfigis deprecated and scheduled for removal in 6.3.0. DeclareIDatastoreSchemaDescriptionas a@Beanmethod in your own@Configurationclass directly, without implementing this interface. - PIVOT-13676
IParameterAwareDatastoreSchemaDescriptionConfigis deprecated and scheduled for removal in 6.3.0. DeclareIDatastoreSchemaDescriptionandIParameterStoreConfigurationas@Beanmethods in your own@Configurationclass directly, without implementing this interface.
Removed
- PIVOT-10061 Parsers: Removed the deprecated
integerandinteger[]parser type keys (including sized and delimited variants). Use the equivalentintandint[]keys instead; the parsing behavior is unchanged. - PIVOT-10231 Direct Query Snowflake: Removed the deprecated
SnowflakeDialectSettings#arrayAggWrapperFunctionNamesetting and theARRAY_AGG_WRAPPER_FUNCTION_NAMEconnection option used to wrapARRAY_AGGoperations 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 theQueryClusterDefinition.DistributedApplicationDefinition(String, List<String>)constructor have been removed; usewithDistributingLevels(LevelIdentifier...),getDistributingLevels(), andQueryClusterDefinition.DistributedApplicationDefinition(String, List<LevelIdentifier>)instead.IApplicationDescriptionBuilderWithId#withoutDistributingFields()has been renamed towithoutDistributingLevels(), andQueryClusterDefinition.DistributedApplicationDefinitionV2has been renamed toQueryClusterDefinition.DistributedApplicationDefinition. - PIVOT-12455 Versioning: Removed
IVersionLifecycleHandlerfrom the public API. - PIVOT-12150 Removed the
rangeSharingaggregate provider property (IAggregateProviderDefinition.RANGE_SHARING). Range sharing is still available through theIQueryExecutioncontext value. - 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
ICsvSourceConfigurationinterface. UseCsvSourceConfigurationdirectly. - PIVOT-13525 Removed
ICsvParserConfiguration,IFileParserConfigurationandFileParserConfiguration. UseCsvParserConfigurationdirectly. - PIVOT-13526
DataTablehas been removed. UseStoreDescriptionfor a datastore table or aTableDescriptionfor a DirectQuery table. - PIVOT-13529 Removed the deprecated
IParquetReaderFactory#create(InputFile, ReadSupport, org.apache.hadoop.conf.Configuration)overload. Use the overload taking aParquetConfigurationinstead; wrap an existing HadoopConfigurationwithnew HadoopParquetConfiguration(...). - PIVOT-13532 Distribution: Removed the deprecated concealed measures feature. The
withConcealedMeasuresbuilder methods,IDataClusterDefinition#getConcealedMeasures/setConcealedMeasures, and the now-redundantwithAllMeasuresbuilder 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. UseStartBuilding.Builder#withEpochPolicy(IEpochManagementPolicy)instead. - PIVOT-14019 Removed the deprecated
PersistedBuilder#lockOptions(boolean)method, which was public by mistake. UsePersistedBuilder#databaseLocks(LockOptions)instead. - PIVOT-14020 Removed the unusable
IMessengerDefinition.AGENTSandIMessengerDefinition.SEPARATORconstants. AllIDistributedAgentimplementations are internal API, so the constants had no supported use. - PIVOT-14025 Removed the deprecated duplicate APIs in the
io.atoti.runtime.api.measuresandio.atoti.server.common.api.pluginspackages. Use theircom.activeviam.atoti.application.api.measuresandcom.activeviam.atoti.server.common.api.pluginscounterparts. - PIVOT-14028 Distribution: Removed the deprecated
IMultiVersionDistributedActivePivot#unloadMembersFromDataNodemethod, along with its internalUnloadMemberMessage, theIMessengerDefinition#UNLOAD_MEMBERS_MESSAGE_TIMEOUTproperty and the relateddistribution.unload_members_from_data_node.*metrics. UseIMultiVersionDataActivePivot#maskMembersandIMultiVersionDataActivePivot#unmaskMembersinstead. - PIVOT-14035 Removed the deprecated 4-argument constructor of
ActivePivotTransactionCommittedEvent. Use the 6-argument constructor instead, passing-1, -1for the start and commit timings when they are unknown. - PIVOT-14044 Removed the deprecated
IGenericAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEYconstant. UseIMultiSourceAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEYinstead. - PIVOT-14054 Query API: Removed the deprecated constructors of
GetAggregatesQueryandDrillthroughQuery. Use their respective builders instead. - PIVOT-14054 CSV Source: Removed the deprecated constructors of
CsvParserConfigurationandCsvSourceConfiguration. UseCsvParserConfiguration.builder()andCsvSourceConfiguration.builder()instead. - PIVOT-14038 Removed the deprecated
IFieldDescriptionaccessorsisNullable(),supportEmptyString(),getDefault()andgetContentClass(). UsegetType()with the correspondingIFieldTypemethods (isNullable(),supportEmptyString(),getDefaultValue(),getDataClass()) 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. Usecom.activeviam.springboot:atoti-server-application-starterinstead. - PIVOT-14097 Removed the empty Maven module
com.activeviam.activepivot:activepivot-ext. Importcom.activeviam.activepivot:coreand optionallycom.activeviam.activepivot:activepivot-dist-implinstead.
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
HierarchyIdentifierobjects. - 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.
- PIVOT-14112 Cube: Fixed the leaf and bitmap aggregate providers returning incorrect results when
SubCubeProperties.grantMembersuses customIConditionas path elements on a multi-level hierarchy.
Security
- PIVOT-13980 Security: Removed the
activeviam.jwt.*application properties, deprecated since 6.1. Use theatoti.jwt.*equivalents instead. Theexpirationproperty is aDuration. The available formats are described in Spring’s documentation. For this property, a unitless integer will represent Seconds.