0.6.4 (January 16, 2022)#
Added#
atoti-queryto query remote sessions without having to installatoti(and itsjdk4pydependency or another JDK) (issue #128).Support for
atoti.create_session()’s app_extensions parameter.Support for mode parameter in
atoti.Session.query_mdx(),atoti_query.QuerySession.query_mdxandatoti_query.QueryCube.query(issue #345).atoti_plus.security.Security.individual_rolesto manage the roles given to users on top of the ones that can be added by authentication providers.ClientCertificateConfigto allow users to authenticate using client certificates.atoti_query.QuerySession’s client_certificate parameter to authenticate against remote sessions using client certificates.use_client_secret_as_certificateto use a client certificate to authenticate the Atoti session against the OIDC provider.
Changed#
atoti.experimental.create_date_hierarchy()has been stabilized asatoti.Cube.create_date_hierarchy().
User interface#
Upgraded Atoti UI to 5.0.6.
Deprecated#
Support for Python 3.7. According to NEP 29, the next release of Atoti will only support Python >= 3.8.
Atoti with JupyterLab Docker image. The alternative is to install
atoti,atoti-jupyterlabandjupyter-server-proxylike any other Python package in a Base Jupyter Notebook Docker container or in JupyterHub.To package an Atoti app into a Docker image for deployment purposes, use the Project template’s Dockerfile instead.
Importing functions and classes from
atoti.query. Instead, import them directly fromatotiifatotiis installed and fromatoti-queryotherwise.atoti.query.create_basic_authenticationandatoti.query.create_token_authentication. Useatoti_query.BasicAuthenticationandatoti_query.TokenAuthenticationinstead.atoti.open_query_session(). Instantiateatoti_query.QuerySessiondirectly instead.Giving a name to a
atoti_query.QuerySession.
Fixed#
Insertion of values in columns with special characters in their name (issue #411).
Handling of
Noneelements of nullable arrays withatoti.Table.head()(issue #412).Error when changing
atoti.Level.comparatorand redefining a measure using thisLevel(issue #423).Wrong measure values when using a date
Levelwith non-defaultatoti.Level.comparatorin an aggregation scope (issue #424).Error when creating one full
join()and one partialjoin()based on the same columns but with different names (issue #433).Connections to SQL databases not being released (issue #415).
Autocomplete for
hierarchiesandlevels(issue #418).Wrong results on cumulative aggregation with arrays (issue #442).
Wrong aggregates when chaining arithmetic operations with filtering measures (issue #426).
Access to the user content storage web editor (issue #427).
Retrieval of
atoti_plus.security.BasicSecurity.users(issue #449).Creation of a constant array measure with mixed numeric types (issue #440).
Creation of a hierarchy with a data model containing partially joined tables (issue #444).
Configured
default_localebeing ignored.Missing values when querying a non-slicing hierarchy created using
create_parameter_hierarchy_from_column()(issue #416).Instances of
ZONED_DATE_TIMEnot being converted from strings to dates inatoti.Table.head()andatoti.Cube.query().