> ## 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.

# Deprecated features

This article lists the most impacting deprecated features of ActivePivot, so you can plan your migrations ahead of time.
Deprecated features can be removed in a future minor version (6.X.0).

For a more complete list of deprecations, please read the [changelog](./changelog).

## Deprecated features in 6.0

<Warning>
  Atoti Server contains code for our internal teams and a public API.
  The public API must be stable and well documented, whereas the internal code is for internal developments and as such is prone to change more frequently without notice.
  For clarity, we have decided to separate and make more visible which parts of code are internal and which are in the public API.

  From version 6.0, Atoti Server annotates some classes as `@Deprecated`, for removal in 6.1.
  These deprecations are accompanied by another custom annotation `@InternalApi`.
  The `@InternalAPI` annotation indicates that these classes were designed to be used by our internal teams at ActiveViam only, and not as part of the public API.
  It is for this reason that they are being deprecated.
  Atoti Server does not provide any replacement for them, as these classes are not features.

  For example, the small class `QfsLists` contains helper functions, factorizing some internal repeated code.
  Thus, this class will be made internal.<br />
  `CancellableCountedCompleter` and other classes of the package `com.qfs.concurrent.cancellable.impl` have also been annotated with `@InternalAPI`
  These classes build the machinery for concurrent operations in Atoti Server.
  They are complex classes, updated to match the various requirements of Atoti Server.
  They do not form a general-purpose framework for concurrent operations, open to clients.
  As such, they are also migrated to become pure internal classes.

  These deprecations are defined at various levels:

  * package level, deprecating all classes in the package;
  * class level, deprecating the entire class and inner classes;
  * method and field level.
</Warning>

* \{@jira: PIVOT-4747} The Query API of the Datastore is deprecated as it is superseded by the Query API of the Database.
* \{@jira: PIVOT-4747} The usages of `IDatastoreVersion` should be replaced by `IDatabaseVersion`.
* \{@jira: PIVOT-5429} `AAnalysisHierarchy` is deprecated in favor of `AAnalysisHierarchyV2`.
* \{@jira: PIVOT-8247} `IDatastoreSchemaDescriptionPostProcessor` and all the implementations are deprecated. Datastore's description post-processors are no longer needed. Most of the transformation done in the post processors can be done directly at the schema's description creation.
* \{@jira: PIVOT-9303} The `IActivePivotContentService` can no longer be used to store user `IContextValue`.
  Multiple methods surrounding the use of context values are removed, including `getContextValue`, `setContextValue`, `removeContextValue`, etc...

## Deprecated features in 5.11

* \{@jira: PIVOT-4653} `CopperMeasure.map(SerializableFunction<I, Object>)` is deprecated for memory performance reasons. It was removed in 6.0.0.
* \{@jira: PIVOT-4653} `CopperMeasureCombination.map(SerializableFunction<IArrayReader, Object>)` is deprecated for memory performance reasons. It was removed in 6.0.0.
* \{@jira: PIVOT-4653} `IEvaluator` is deprecated in favor of `IEvaluatorV2`. It was removed in 6.0.0, and `IEvaluatorV2` was renamed `IEvaluator`.
* \{@jira: PIVOT-4653} `AAdvancedPostProcessor` is deprecated in favor of `AAdvancedPostProcessorV2`. It was removed in 6.0.0, and `AAdvancedPostProcessorV2` was renamed `AAdvancedPostProcessor`.
* \{@jira: PIVOT-4653} `ABasicPostProcessor` is deprecated in favor of `ABasicPostProcessorV2`. It was removed in 6.0.0, and `ABasicPostProcessorV2` was renamed `ABasicPostProcessor`.
* \{@jira: PIVOT-4653} `ADynamicAggregationPostProcessor` is deprecated in favor of `ADynamicAggregationPostProcessorV2`. It was removed in 6.0.0, and `ADynamicAggregationPostProcessorV2` was renamed `ADynamicAggregationPostProcessor`.
* \{@jira: PIVOT-4653} `ABaseDynamicAggregationPostProcessor` is deprecated in favor of `ABaseDynamicAggregationPostProcessorV2`. It was removed in 6.0.0, and `ABaseDynamicAggregationPostProcessorV2` was renamed `ABaseDynamicAggregationPostProcessor`.
* \{@jira: PIVOT-4655} `IExport(Rest)Service` are deprecated in favor of `IDataExport(Rest)Service`. They were removed in 6.0.0.

## Deprecated features in 5.10

* \{@jira: PIVOT-4244} Our web services exposed with SOAP are deprecated. They were removed in 6.0.0.
* \{@jira: PIVOT-4244} Configuring a cube with an XML file is deprecated. The feature was removed in 5.11.0.
* \{@jira: PIVOT-4776} The `IMultiMap<K,V>` API was removed in AP 5.11. Use `Map<K,Collection<V>>` instead.

## Deprecated features in 5.9

* \{@jira: APS-12686} The `JGroupsMessenger` has been deprecated in 5.9 and removed in 5.10.
* \{@jira: PIVOT-4070} The transaction log and the datastore replication has been deprecated in 5.9 and removed in 5.10.
* \{@jira: PIVOT-4217} Configuring your application with Spring XML configuration files is deprecated.
