6.2.0b0
Released on Jul 03, 2026.Summary
- Error handling when loading data
- Feeding configuration
- Conda packages no longer published
- Removed deprecated APIs
- Parquet loading now requires a plugin
- Migration to Pandas 3
- Embedded Java runtime upgraded to Java 25
- JupyterLab minimum version raised to 4.6.0
New features
Error handling when loading data
atoti_jdbc.JdbcLoad.error_handling and atoti.CsvLoad.error_handling control what happens when a row cannot be loaded.
"fail"raises an error on the first invalid row and stops the load."warn"skips invalid rows and raises a warning if any were found."log"skips invalid rows and logs each of them.
"fail", so invalid rows are no longer skipped silently.
Improvements
Feeding configuration
atoti.Cube.feeding and create_cube()’s feeding parameter control whether a cube is fed from its table right after creation.
Feeding can be disabled to finish defining the data model before paying the cost of feeding it, then enabled once the model is ready.
Conda packages no longer published
Atoti packages are no longer published to Conda. Install them with uv orpip instead.
A Conda environment can still be used by installing the packages with pip.
Removed deprecated APIs
Atoti 6.2.0 is a breaking release that removes APIs deprecated in earlier versions. For example, theTable data-loading shortcuts such as table.load_csv(...) have been replaced by table.load(tt.CsvLoad(...)).
The cloud storage extras have also been renamed: atoti[aws], atoti[azure], and atoti[gcp] are now atoti[storage-aws], atoti[storage-azure], and atoti[storage-gcp].
See the changelog for the full list of removed APIs and how to migrate.
Parquet loading now requires a plugin
Loading Apache Parquet files now requires theatoti-parquet plugin, installed with the atoti[parquet] extra.
This plugin is no longer installed by default, so projects that load Parquet files must add the extra explicitly.
See the changelog for migration details.
Migration to Pandas 3
The minimum required Pandas version is now 3.0.3.- Datetime and timedelta columns now use microsecond precision instead of nanosecond precision. This applies both when loading
DataFrameobjects into Atoti and when query results are returned as DataFrames. - Arrow
large_stringcolumns are accepted on read, in addition to the existingstringtype.
Embedded Java runtime upgraded to Java 25
The Java runtime embedded in Atoti is now Java 25.JupyterLab minimum version raised to 4.6.0
atoti-jupyterlab now requires JupyterLab 4.6.0 or later.
0.9.14
Released on April 17, 2026.Summary
New features
OpenTelemetry instrumentation
The main functions and methods of the library emit OpenTelemetry spans. Seeatoti_observability for example traces.
The spans help identify where time is spent while building the data model of a Session and loading data into it.
Applications are encouraged to create their own OpenTelemetry spans around their own key operations instead of relying on primitives such as timeit.
0.9.13
Released on March 10, 2026.Summary
New features
New switch mode
Passmode="hierarchy" shift() to drive the shift by the members of the hierarchy instead of by the values of the input measure in the query result.
Distributed tracing
atoti-observability shows how to configure OpenTelemetry to export both the Atoti Python SDK and Atoti Server spans to the same trace.
Improvements
Cloud storage packages renamed
To avoid confusion with the upcoming Atoti Intelligence plugins, the cloud storage plugins have been renamed to better reflect their purpose:atoti-aws→atoti-storage-awsatoti-azure→atoti-storage-awsatoti-gcp→atoti-storage-aws
FutureWarning.
0.9.12
Released on January 23, 2026.Summary
Improvements
Parquet source offloaded to a plugin
The Java dependencies required to load Parquet files are heavy (tens of MBs). To avoid bloating projects that do not use Parquet files, the support for loading Parquet files has been moved to theatoti-parquet plugin.
For retro-compatibility the plugin is installed by default until the next breaking release.
Default to query timeout defined server-side
Unless specified otherwise,atoti.Session.query_mdx() and atoti.Cube.query() will use the timeout defined in shared_context instead of a hardcoded default of 30 seconds.
0.9.11
Released on December 16, 2025.Summary
New features
Hierarchy description
Theatoti.Hierarchy.description property allows configuring the description of a hierarchy to help end users understand its purpose.
Improvements
Faster security configuration
The security configuration is kept in memory for faster access, both when editing it and when executing queries.0.9.10
Released on October 31, 2025.Summary
New features
Python 3.14
Added support for Python 3.14.0.9.9.2
Released on October 20, 2025. Special bugfix and improvement release. Refer to the changelog for more details.0.9.9.1
Released on September 30, 2025. Special bugfix and improvement release. Refer to the changelog for more details.0.9.9
Released on September 22, 2025.Summary
New features
HTTP client
atoti.Session.client provides:
http_client: an HTTP client able to make authenticated HTTP requests on Atoti Server.get_path_and_version_id(): a utility to get the path to a specific endpoint.
Custom measures
plugin_measure() allows defining measures based on Java measure plugins contributed through extra_jars.
Spring Boot Admin
Spring Boot Admin plugin exposes a web interface to monitor resource usage, manage loggers, interact with JMX beans, and more.
Improvements
Smarter session URL detection in JupyterLab extension
atoti.Session.link and atoti.Session.widget more reliably detect the URL at which they can connect to the session from the browser running JupyterLab.
0.9.8
Released on August 12, 2025.Summary
New features
Proxy
atoti.Session.proxy provides a way to forward requests made to Atoti Server to another server.
This is used internally by atoti.Session.endpoint().
Improvements
Increased generated JWT key pair size
Whenatoti.JwtConfig.key_pair is None, the automatically generated key pair will use 3072 bits instead of the old 2048 bits.
0.9.7
Released on July 01, 2025.Summary
New features
Role-based hierarchy visibility
atoti.Hierarchy.viewers can be changed to control which user can see each hierarchy in Atoti UI (or other compatible clients).
Hierarchy organization through folders
atoti.Hierarchy.folder can be changed to indicate to Atoti UI (or other compatible clients) in which data model folder each hierarchy should be displayed.
Improvements
Pre-aggregate all measures
Settingatoti.AggregateProvider.measures to None will pre-aggregate all eligible measures.
0.9.6
Released on May 17, 2025.Summary
- Distributed data overlap
- Distributed data rollover
- Context manager to unlock experimental features
- Query filter on hierarchy members
- Dense date shift
New features
Distributed data overlap
allow_data_duplication makes it possible to have several data cubes with duplicated data.
Distributed data rollover
atoti.QueryCube.unload_members_from_data_cube, paired with the data overlap feature, can be used to move data from one cube to another seamlessly (without downtime).
Context manager to unlock experimental features
experimental() provides granular selection of allowed experimental features.
Improvements
Query filter on hierarchy members
Previously, hierarchy conditions passed toatoti.Cube.query()’s filter parameter only accepted member paths.
This release allows passing hierarchy conditions on members too.
Dense date shift
date_shift() has a new dense parameter to get values even when the input measure has no contribution on the original date.