Skip to content

Commit

Permalink
Release v0.26.0 (#1865)
Browse files Browse the repository at this point in the history
* Added migration for Python linters from `ast` (standard library) to
`astroid` package
([#1835](#1835)). In this
release, the Python linters have been migrated from the `ast` package in
the standard library to the `astroid` package, version 3.2.2 or higher,
with minimal inference implementation. This change includes updates to
the `pyproject.toml` file to include `astroid` as a dependency and bump
the version of `pylint`. No changes have been made to user
documentation, CLI commands, workflows, or tables. Testing has been
conducted through the addition of unit tests. This update aims to
improve the functionality and accuracy of the Python linters.
* Added workflow linter for delta live tables task
([#1825](#1825)). In this
release, there are updates to the `_register_pipeline_task` method in
the `jobs.py` file. The method now checks for the existence of the
pipeline and its libraries, and registers each notebook or jar library
found in the pipeline as a task. If the library is a Maven or file type,
it will raise a `DependencyProblem` as it is not yet implemented.
Additionally, new functions and tests have been added to improve the
quality and functionality of the project, including a workflow linter
for Delta Live Tables (DLT) tasks and a linter that checks for issues
with specified DLT tasks. A new method,
`test_workflow_linter_dlt_pipeline_task`, has been added to test the
workflow linter for DLT tasks, verifying the correct creation and
functioning of the pipeline task and checking the building of the
dependency graph for the task. These changes enhance the project's
ability to ensure the proper configuration and correctness of DLT tasks
and prevent potential issues.
* Consistent 0-based line tracking for linters
([#1855](#1855)). 0-based
line tracking has been consistently implemented for linters in various
files and methods throughout the project, addressing issue
[#1855](#1855). This change
includes removing direct filesystem references in favor of using the
Unity Catalog for table migration and format changes. It also updates
comments and warnings to improve clarity and consistency. In particular,
the spark-table.py file has been updated to ensure that the
spark.log.level is set correctly for UC Shared Clusters, and that the
Spark Driver JVM is no longer accessed directly. The new file,
simple_notebook.py, demonstrates the consistent line tracking for
linters across different cell types, such as Python, Markdown, SQL,
Scala, Shell, Pip, and Python (with magic commands). These changes aim
to improve the accuracy and reliability of linters, making the codebase
more maintainable and adaptable.

Dependency updates:

* Updated sqlglot requirement from <24.2,>=23.9 to >=23.9,<25.1
([#1856](#1856)).
  • Loading branch information
nfx authored Jun 7, 2024
1 parent 2389444 commit b19c848
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Version changelog

## 0.26.0

* Added migration for Python linters from `ast` (standard library) to `astroid` package ([#1835](https://github.com/databrickslabs/ucx/issues/1835)). In this release, the Python linters have been migrated from the `ast` package in the standard library to the `astroid` package, version 3.2.2 or higher, with minimal inference implementation. This change includes updates to the `pyproject.toml` file to include `astroid` as a dependency and bump the version of `pylint`. No changes have been made to user documentation, CLI commands, workflows, or tables. Testing has been conducted through the addition of unit tests. This update aims to improve the functionality and accuracy of the Python linters.
* Added workflow linter for delta live tables task ([#1825](https://github.com/databrickslabs/ucx/issues/1825)). In this release, there are updates to the `_register_pipeline_task` method in the `jobs.py` file. The method now checks for the existence of the pipeline and its libraries, and registers each notebook or jar library found in the pipeline as a task. If the library is a Maven or file type, it will raise a `DependencyProblem` as it is not yet implemented. Additionally, new functions and tests have been added to improve the quality and functionality of the project, including a workflow linter for Delta Live Tables (DLT) tasks and a linter that checks for issues with specified DLT tasks. A new method, `test_workflow_linter_dlt_pipeline_task`, has been added to test the workflow linter for DLT tasks, verifying the correct creation and functioning of the pipeline task and checking the building of the dependency graph for the task. These changes enhance the project's ability to ensure the proper configuration and correctness of DLT tasks and prevent potential issues.
* Consistent 0-based line tracking for linters ([#1855](https://github.com/databrickslabs/ucx/issues/1855)). 0-based line tracking has been consistently implemented for linters in various files and methods throughout the project, addressing issue [#1855](https://github.com/databrickslabs/ucx/issues/1855). This change includes removing direct filesystem references in favor of using the Unity Catalog for table migration and format changes. It also updates comments and warnings to improve clarity and consistency. In particular, the spark-table.py file has been updated to ensure that the spark.log.level is set correctly for UC Shared Clusters, and that the Spark Driver JVM is no longer accessed directly. The new file, simple_notebook.py, demonstrates the consistent line tracking for linters across different cell types, such as Python, Markdown, SQL, Scala, Shell, Pip, and Python (with magic commands). These changes aim to improve the accuracy and reliability of linters, making the codebase more maintainable and adaptable.

Dependency updates:

* Updated sqlglot requirement from <24.2,>=23.9 to >=23.9,<25.1 ([#1856](https://github.com/databrickslabs/ucx/pull/1856)).

## 0.25.0

* Added handling for legacy ACL `DENY` permission in group migration ([#1815](https://github.com/databrickslabs/ucx/issues/1815)). In this release, the handling of `DENY` permissions during group migrations in our legacy ACL table has been improved. Previously, `DENY` operations were denoted with a `DENIED` prefix and were not being applied correctly during migrations. This issue has been resolved by adding a condition in the _apply_grant_sql method to check for the presence of `DENIED` in the action_type, removing the prefix, and enclosing the action type in backticks to prevent syntax errors. These changes have been thoroughly tested through manual testing, unit tests, integration tests, and verification on the staging environment, and resolve issue [#1803](https://github.com/databrickslabs/ucx/issues/1803). A new test function, test_hive_deny_sql(), has also been added to test the behavior of the `DENY` permission.
Expand Down
2 changes: 1 addition & 1 deletion src/databricks/labs/ucx/__about__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# DO NOT MODIFY THIS FILE
__version__ = "0.25.0"
__version__ = "0.26.0"

0 comments on commit b19c848

Please sign in to comment.