Skip to main content
Read the release notes for a higher level view. Atoti Python SDK implements Atoti version policy.
2026-09-04

Added

Changed

Deprecated

Fixed

  • A data load whose transaction failed at commit time raised a NullPointerException instead of a descriptive error PYTHON-778.
  • Joining a distributed cluster rebuilt the cube, re-feeding all aggregated data and re-issuing every aggregation query against the database, which can be very expensive in a DirectQuery setup PIVOT-14807.
  • Every request to a session secured with Kerberos failed with java.lang.ClassNotFoundException: org.springframework.security.crypto.codec.Base64 PIVOT-14797.
  • A role restricted on a slicing hierarchy holding a single level saw an empty cube instead of the restricted members PIVOT-14665. This applies to both atoti.Cube.restrictions and atoti.tables.Tables.restrictions.
  • Generating a token on the MCP credentials page no longer fails PIVOT-14805. The page is also reachable again directly at /mcp-credentials, without needing /mcp-credentials/index.html.
  • username_case_conversion applied to users of other authentication providers PYTHON-974. A basic_authentication user registered in lowercase was denied its individual_roles (HTTP 403) when the SSO config used "upper".
2026-07-27
The changes below are relative to Atoti Python SDK 0.9.16.

Added

Changed

Dependencies

Atoti Python SDK is versioned in lockstep with Atoti Server.Each 6.2.x Python SDK release depends on the matching 6.2.x Server release.

Deprecated

Removed

Everything deprecated in the 0.9.0 to 0.9.16 releases has been removed.Upgrade to 0.9.16 and resolve all deprecation warnings before upgrading to 6.2.0.
  • Support for connecting to Atoti servers older than 6.0.0-M1.
  • "Object[]" data type. Use "Object" or the other strongly typed array data types instead.
  • atoti.QueryCube.unload_members_from_data_cube() PIVOT-14028.
  • atoti_ai_openai.ChatConfig.completions_path:
  • atoti_ai_openai.ChatConfig.http_headers. Use atoti_ai_openai.ConnectionConfig.custom_headers instead:
  • atoti_ai_openai.ChatConfig.retry_max_attempts and the other retry_* attributes. Use atoti_ai_openai.ConnectionConfig.max_retries and atoti_ai_openai.ConnectionConfig.timeout instead:
  • atoti_ai_openai.ConnectionConfig.project_id.
  • atoti_directquery_snowflake.ConnectionConfig.array_agg_wrapper_function_name PIVOT-10231. Snowflake’s built-in ARRAY_AGG function is faster, so the wrapper UDF is no longer needed.