Skip to content

Commit 19ac5a5

Browse files
authored
Release v0.14.2 (#361)
* Validate resource names ([#357](#357)). This pull request introduces a validation feature to the `ucx` project for resource names, specifically for dashboard tile IDs. The new naming convention restricts resource names to alphanumeric characters, hyphens, and underscores, enhancing usability and reducing potential issues caused by special characters. A new method, `_is_valid_resource_name`, is implemented to check if a name is valid based on the defined pattern. The `TileMetadata` class is updated to ensure its `id` attribute adheres to the new validation rules, and a `validate` method is added to raise a `ValueError` if the tile metadata is invalid. This method checks if the `id` attribute is not empty and if it is a valid resource name. Additionally, the `validate` method is updated in the `Tile`, `Section`, and `Dashboard` classes to call the `validate` method of the `TileMetadata` instance, if it exists. The pull request also includes tests for the new validation functionality, ensuring that tile IDs cannot be empty, must contain only alphanumeric characters, hyphens, and underscores, and that the `validate` method detects duplicate query IDs and widget IDs. This validation helps maintain consistency and correctness in dashboard resources, making it easier for users to manage and interact with their dashboards. * Updated runner ([#360](#360)). In this release, we have updated the GitHub Actions workflow for releasing the project to utilize a protected runner group with the label `linux-ubuntu-latest` in the `publish` job's `runs-on` field. This change enhances control and security over the execution environment, as the protected runner group, `databrickslabs-protected-runner-group`, ensures that only specified runners that meet specific criteria are allowed to execute jobs. The `linux-ubuntu-latest` label specifies the desired runner configuration. Furthermore, the workflow now utilizes an environment named `release` and retains the existing permissions configuration for authenticating to PyPI via OIDC and signing release artifacts with `sigstore-python`. This upgrade to the execution environment preserves essential authentication and security features, providing improved reliability, maintainability, and security for the release process while ensuring continued compatibility and security for publishing activities. * Explicitly install Python 3.12 before running fmt in CI ([#358](#358)). In this release, we have made significant enhancements to our open-source library aimed at improving reliability, consistency, and usability for software engineers. A new step installing Python 3.12 explicitly before executing the formatting process in the CI system has been implemented, ensuring compatibility and consistency with the chosen Python version. The 'backends.py' file's `save_table` function syntax has been updated for better code readability and maintainability, addressing potential SQL injection issues. The 'model.py' file has undergone refactoring, updating `KeyError` exceptions to f-strings for improved consistency and readability, and the 'polymorphism.py' file has been improved with new functions and refined error messages for better debugging and understanding of type assignment issues. Lastly, the 'structs.py' file in the 'databricks/labs/lsql' package has received updates to ensure consistent Python version usage, improved error messages, and better SQL type inference from Python types, enhancing the overall development experience for adopting engineers.
1 parent 39af976 commit 19ac5a5

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Version changelog
22

3+
## 0.14.2
4+
5+
* Validate resource names ([#357](https://github.com/databrickslabs/lsql/issues/357)). This pull request introduces a validation feature to the `ucx` project for resource names, specifically for dashboard tile IDs. The new naming convention restricts resource names to alphanumeric characters, hyphens, and underscores, enhancing usability and reducing potential issues caused by special characters. A new method, `_is_valid_resource_name`, is implemented to check if a name is valid based on the defined pattern. The `TileMetadata` class is updated to ensure its `id` attribute adheres to the new validation rules, and a `validate` method is added to raise a `ValueError` if the tile metadata is invalid. This method checks if the `id` attribute is not empty and if it is a valid resource name. Additionally, the `validate` method is updated in the `Tile`, `Section`, and `Dashboard` classes to call the `validate` method of the `TileMetadata` instance, if it exists. The pull request also includes tests for the new validation functionality, ensuring that tile IDs cannot be empty, must contain only alphanumeric characters, hyphens, and underscores, and that the `validate` method detects duplicate query IDs and widget IDs. This validation helps maintain consistency and correctness in dashboard resources, making it easier for users to manage and interact with their dashboards.
6+
* Updated runner ([#360](https://github.com/databrickslabs/lsql/issues/360)). In this release, we have updated the GitHub Actions workflow for releasing the project to utilize a protected runner group with the label `linux-ubuntu-latest` in the `publish` job's `runs-on` field. This change enhances control and security over the execution environment, as the protected runner group, `databrickslabs-protected-runner-group`, ensures that only specified runners that meet specific criteria are allowed to execute jobs. The `linux-ubuntu-latest` label specifies the desired runner configuration. Furthermore, the workflow now utilizes an environment named `release` and retains the existing permissions configuration for authenticating to PyPI via OIDC and signing release artifacts with `sigstore-python`. This upgrade to the execution environment preserves essential authentication and security features, providing improved reliability, maintainability, and security for the release process while ensuring continued compatibility and security for publishing activities.
7+
* Explicitly install Python 3.12 before running fmt in CI ([#358](https://github.com/databrickslabs/lsql/issues/358)). In this release, we have made significant enhancements to our open-source library aimed at improving reliability, consistency, and usability for software engineers. A new step installing Python 3.12 explicitly before executing the formatting process in the CI system has been implemented, ensuring compatibility and consistency with the chosen Python version. The 'backends.py' file's `save_table` function syntax has been updated for better code readability and maintainability, addressing potential SQL injection issues. The 'model.py' file has undergone refactoring, updating `KeyError` exceptions to f-strings for improved consistency and readability, and the 'polymorphism.py' file has been improved with new functions and refined error messages for better debugging and understanding of type assignment issues. Lastly, the 'structs.py' file in the 'databricks/labs/lsql' package has received updates to ensure consistent Python version usage, improved error messages, and better SQL type inference from Python types, enhancing the overall development experience for adopting engineers.
38
## 0.14.1
49

510
* Changes to work with Databricks SDK `v0.38.0` ([#350](https://github.com/databrickslabs/lsql/issues/350)). In this release, we have upgraded the Databricks SDK to version 0.38.0 from version 0.37.0 to ensure compatibility with the latest SDK and address several issues. The update includes changes to make the code compatible with the new SDK version, removing the need for `.as_dict()` method calls when creating or updating dashboards and utilizing a `sdk_dashboard` variable for interacting with the Databricks workspace. We also updated the dependencies to "databricks-labs-blueprint[yaml]" package version greater than or equal to 0.4.2 and `sqlglot` package version greater than or equal to 22.3.1. The `test_core.py` file has been updated to address multiple issues ([#349](https://github.com/databrickslabs/lsql/issues/349) to [#332](https://github.com/databrickslabs/lsql/issues/332)) related to the Databricks SDK and the `test_dashboards.py` file has been revised to work with the new SDK version. These changes improve integration with Databricks' lakeview dashboards, simplify the code, and ensure compatibility with the latest SDK version, resolving issues [#349](https://github.com/databrickslabs/lsql/issues/349) to [#332](https://github.com/databrickslabs/lsql/issues/332).

src/databricks/labs/lsql/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.14.1"
1+
__version__ = "0.14.2"

0 commit comments

Comments
 (0)