Data Access Platform (DAP) CLI and Client Library v1.1.0 is now available

BobODell
Instructure
Instructure
2
472

Canvas.png

Data Access Platform (DAP) CLI and Client Library v1.1.0 is now available. 

Version 1.1.0 is a fast follow to our GA release to address some community identified issues with a new feature enhancement to prepare us for future updates. The list of fixes can be found below:

  • Fixed error “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups TO canvas__groups' at line 1” when automatically migrating the database schema from version 0.3.x to 1.0.x in MySQL databases. This occurred when the groups table (from the canvas namespace) was already present in the database.
  • Fixed an issue with the client library not cleaning up the temporary directory used for storing downloaded files.
  • Fixed error “ERROR - module 'socket' has no attribute 'TCP_KEEPIDLE'” by removing faulty/unnecessary TCP socket settings.
  • Fixed an issue with the client library not decoding URL-encoded (a.k.a percent-encoded) characters in the database username and password in the database connection string.
  • Database connection string no longer logged in plain text at debug log level.
  • Fixed error “Fatal Python error: none_dealloc: deallocating None” occurring in some cases when replicating data to a database, running the client on Windows using Python version lower than 3.12.

In addition, v1.1.0 introduces extensible enumerations. Extensible enumerations are types in which the set of values is not defined in advance but values are added to the set as they appear in data. They will be most apparent in the case of web_logs in the namespace canvas_logs where we don’t have a well-defined list of web_application_action and web_application_controller values.

Today, web_application_action and web_application_controller are represented as enumeration types in PostgreSQL and MySQL. Going forward, they will become two new tables, maintained by our tooling. Whenever new values are received from DAP API, the client library will add them to the table of enumeration values. Because an enumeration type is transformed into a table, the change entails an automatic data migration on the client side. This new capability will be triggered when the schema advertised by DAP API changes in a future version.

You can find the release notes here: 

https://data-access-platform-api.s3.amazonaws.com/client/RELEASE_NOTES.html#release-notes

The new CLI and Client Library can be immediately downloaded from pypi.org - here: 

https://pypi.org/project/instructure-dap-client/

We greatly appreciate the community feedback provided and the validation that v1.1.0 fixes those issues. Please continue to let us know how v1.1.0 works and what features and enhancements you'd like to see next.

2 Comments