v0.46.0
- Added
lazy_loaderto known list (#2991). With this commit, thelazy_loadermodule has been added to the known list in the configuration file, addressing a portion of issue #193, which may have been caused by the discovery or loading of this module. Thelazy_loaderis a package or module that, once added to the known list, will be recognized and loaded by the system. This change does not affect any existing functionality or introduce new methods. The commit solely updates the known.json file to includelazy_loaderwith an empty list, indicating that it is ready for use. This modification will enable the correct loading and recognition of thelazy_loadermodule in the system. - Added
librosato known list (#2992). In this update, we have added several open-source libraries to the known list in the configuration file, includinglibrosa,llvmlite,msgpack,pooch,soundfile, andsoxr. These libraries are commonly used in data engineering, machine learning, and scientific computing tasks.librosais a Python library for audio and music analysis, whilellvmliteis a lightweight Python interface to the LLVM compiler infrastructure.msgpackis a binary serialization format like JSON,poochis a package for managing external data files,soundfileis a library for reading and writing audio files, andsoxris a library for high-quality audio resampling. Each library has an empty list next to it for specifying additional configuration related to the library. This update partially resolves issue #1931 by addinglibrosato the known list, ensuring that these libraries will be properly recognized and utilized by the codebase. - Added
linkify-it-pyto known list (#2993). In this release, we have added support for two new open-source packages,linkify-it-pyanduc-micro-py, to enhance the software's functionality and compatibility. The addition oflinkify-it-pyand its constituent modules, as well as the incorporation ofuc-micro-pywith its modules and classes, aims to expand the software's capabilities. These changes are related to the resolution of issue #1931, and they will enable the software to work seamlessly with these packages, thereby providing a better user experience. - Added
lz4to known list (#2994). In this release, we have added support for the LZ4 lossless data compression algorithm, which is known for its focus on compression and decompression speed. The implementation includes four variants: lz4, lz4.block, lz4.frame, and lz4.version, each providing different levels of compression and decompression speed and flexibility. This addition expands the range of supported compression algorithms, providing more options for users to choose from and partially addressing issue #1931 related to supporting additional compression algorithms. This improvement will be beneficial to software engineers working with data compression in their projects. - Fixed
SystemError: AST constructor recursion depth mismatchfailing the entire job (#3000). This PR introduces more deterministic, Go-style, error handling for parsing Python code, addressing issues that caused the entire job to fail due to aSystemError: AST constructor recursion depth mismatch(#3000) and bug #2976. It includes removing theAstroidSyntaxErrorimport, adding an import forSqlglotError, and updating theSqlParseErrorexception toSqlglotErrorin thelintmethod of theSqlLinterclass. Additionally, abstract classesTablePyCollectorandDfsaPyCollectorand their respective methods for collecting tables and direct file system accesses have been removed. ThePythonSequentialLinterclass, previously handling multiple responsibilities, has also been removed, enhancing code modularity, understandability, maintainability, and testability. The changes affect thebase.py,python_ast.py, andpython_sequential_linter.pymodules. - Skip applying permissions for workspace system groups to Unity Catalog resources (#2997). This commit introduces changes to the ACL-related code in the
databricks labs ucx create-catalog-schemascommand and themigrate-table-*workflow, skipping the application of permissions for workspace system groups in the Unity Catalog. These system groups, which include 'admins', do not exist at the account level. To ensure the correctness of these modifications, unit and integration tests have been added, including a test that checks the proper handling of user privileges in system groups during catalog schema creation. TheAccessControlResponseobject has been updated for theadminsandusersgroups, granting them specific permissions for a workspace and warehouse object, respectively, enhancing the system's functionality in multi-user environments with system groups.
Contributors: @pritishpai, @asnare, @JCZuurmond, @nfx