0.7.2 (November 28, 2022)#

Added#

  • atoti.Cube.query(), atoti_query.QueryCube.query() and atoti.Cube.explain_query()’s include_empty_rows parameter (discussion #688).

  • atoti_plus.UserServiceClient to manage the dynamic parts of the security config.

Changed#

  • Automatically set a dimension’s type to TIME if all its hierarchies have their deepest level of type TIME.

User interface#

  • Upgraded Atoti UI to 5.0.19.

Deprecated#

  • atoti.Session.security. Use atoti_plus.UserServiceClient instead:

    + from atoti_plus import UserServiceClient
    
    + user_service_client = UserServiceClient.from_session(session)
    - session.security.oidc
    + user_service_client.oidc
    

Fixed#

  • Slow creation of many measures.

  • Slow creation of empty tables with many columns.

  • Kernel staying blocked when the query ran by a widget created with atoti.Session.visualize() or atoti_query.QuerySession.visualize() fails (issue #719).

  • Conversion of sparse query results to atoti_query.QueryResult.

  • Display issue of atoti_query.QueryResult in IPython (issue #718).

  • Incorrect detection of JDBC driver in UserContentStorageConfig (issue #716).

  • Unclear error when adding a atoti.agg.single_value() aggregated measure to an AggregateProvider (issue #706).

  • Setting Hierarchy’s dimension name when the Hierarchy’s Level is based on a column used in a join mapping (issue #696).

  • Kerberos security only being partially initialized.