From 8cc2e5fcbf76898f116adf699e9e71921c0dd87b Mon Sep 17 00:00:00 2001 From: Guenia Date: Mon, 13 Jan 2025 10:26:41 -0500 Subject: [PATCH] Release v0.10.0 * Bump codecov/codecov-action from 4 to 5 ([#174](https://github.com/databrickslabs/blueprint/issues/174)). In this release, the Codecov GitHub Action has been updated from version 4 to 5, featuring several new arguments and improvements to the underlying Codecov Wrapper. The new arguments include `binary`, `gcov_args`, `gcov_executable`, `gcov_ignore`, `gcov_include`, `report_type`, `skip_validation`, and `swift_project`. Additionally, the `file` and `plugin` arguments have been deprecated and replaced with `files` and `plugins`, respectively. These changes will ensure that the Action receives updates more quickly and provide developers with more flexibility in configuring their coverage reports. Furthermore, several existing arguments have been updated and improved, enhancing the overall functionality and usability of the Codecov GitHub Action. * Fixed incorrect script for no-pylint-disable ([#178](https://github.com/databrickslabs/blueprint/issues/178)). This release introduces an upgrade to the script used for checking the disabling of linters in new code, adopting the latest version from the ucx project. Previously, the script returned false positives for stacked pull requests, particularly with pylint checks. This release resolves the issue by employing a Python script, `no_cheat.py`, which takes a generated diff file as an argument to accurately detect instances of linter disablement. The updated script then outputs the instances to a file called `cheats.txt` and fails the commit if more than one line is present, ensuring that instances of linter disablement are properly identified. This enhancement significantly improves the precision of the linter disablement check for pull requests and ensures that pylint disables are accurately tracked and reported, regardless of stacked pull requests. * Skip dataclassess fields only when `None` ([#180](https://github.com/databrickslabs/blueprint/issues/180)). In this release, the behavior of skipping dataclass fields has been modified to allow skipping a field only when its value is `None`. This enhancement enables the writing of empty lists, strings, or zeros, addressing issue [#179](https://github.com/databrickslabs/blueprint/issues/179). The `_marshal_dataclass` method, responsible for marshalling dataclasses, has been updated to replace the conditional statement `if not raw:` with `if raw is None:`. By checking for explicit `None` values, the new logic preserves empty lists, strings, or zeros and does not treat them as `None`, ensuring that these specific cases are not unnecessarily skipped. This change provides more control and precision when marshalling dataclasses in the open-source library. Dependency updates: * Bump codecov/codecov-action from 4 to 5 ([#174](https://github.com/databrickslabs/blueprint/pull/174)). --- CHANGELOG.md | 10 ++++++++++ src/databricks/labs/blueprint/__about__.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dd75e4..6517d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Version changelog +## 0.10.0 + +* Bump codecov/codecov-action from 4 to 5 ([#174](https://github.com/databrickslabs/blueprint/issues/174)). In this release, the Codecov GitHub Action has been updated from version 4 to 5, featuring several new arguments and improvements to the underlying Codecov Wrapper. The new arguments include `binary`, `gcov_args`, `gcov_executable`, `gcov_ignore`, `gcov_include`, `report_type`, `skip_validation`, and `swift_project`. Additionally, the `file` and `plugin` arguments have been deprecated and replaced with `files` and `plugins`, respectively. These changes will ensure that the Action receives updates more quickly and provide developers with more flexibility in configuring their coverage reports. Furthermore, several existing arguments have been updated and improved, enhancing the overall functionality and usability of the Codecov GitHub Action. +* Fixed incorrect script for no-pylint-disable ([#178](https://github.com/databrickslabs/blueprint/issues/178)). This release introduces an upgrade to the script used for checking the disabling of linters in new code, adopting the latest version from the ucx project. Previously, the script returned false positives for stacked pull requests, particularly with pylint checks. This release resolves the issue by employing a Python script, `no_cheat.py`, which takes a generated diff file as an argument to accurately detect instances of linter disablement. The updated script then outputs the instances to a file called `cheats.txt` and fails the commit if more than one line is present, ensuring that instances of linter disablement are properly identified. This enhancement significantly improves the precision of the linter disablement check for pull requests and ensures that pylint disables are accurately tracked and reported, regardless of stacked pull requests. +* Skip dataclassess fields only when `None` ([#180](https://github.com/databrickslabs/blueprint/issues/180)). In this release, the behavior of skipping dataclass fields has been modified to allow skipping a field only when its value is `None`. This enhancement enables the writing of empty lists, strings, or zeros, addressing issue [#179](https://github.com/databrickslabs/blueprint/issues/179). The `_marshal_dataclass` method, responsible for marshalling dataclasses, has been updated to replace the conditional statement `if not raw:` with `if raw is None:`. By checking for explicit `None` values, the new logic preserves empty lists, strings, or zeros and does not treat them as `None`, ensuring that these specific cases are not unnecessarily skipped. This change provides more control and precision when marshalling dataclasses in the open-source library. + +Dependency updates: + + * Bump codecov/codecov-action from 4 to 5 ([#174](https://github.com/databrickslabs/blueprint/pull/174)). + ## 0.9.3 * Fixed issue when Databricks SDK config objects were overridden for installation config files ([#170](https://github.com/databrickslabs/blueprint/issues/170)). This commit addresses an issue where Databricks SDK config objects were being overridden during installation config files creation, which has been resolved by modifying the `_marshal` method in the `installation` class to handle `databricks.sdk.core.Config` instances more carefully, and by introducing a new helper function `get_databricks_sdk_config` in the `paths.py` file, which retrieves the Databricks SDK configuration and improves the reliability and robustness of the SDK configuration. This fixes bug [#169](https://github.com/databrickslabs/blueprint/issues/169) and ensures that the SDK configuration is not accidentally modified during the installation process, preventing unexpected behavior and errors. The changes are isolated to the `paths.py` file and do not affect other parts of the codebase. diff --git a/src/databricks/labs/blueprint/__about__.py b/src/databricks/labs/blueprint/__about__.py index c598173..61fb31c 100644 --- a/src/databricks/labs/blueprint/__about__.py +++ b/src/databricks/labs/blueprint/__about__.py @@ -1 +1 @@ -__version__ = "0.9.3" +__version__ = "0.10.0"