Skip to content

Release PR for 2025-12-08 16:50#33

Merged
disafronov merged 26 commits into
releasefrom
main
Dec 8, 2025
Merged

Release PR for 2025-12-08 16:50#33
disafronov merged 26 commits into
releasefrom
main

Conversation

@disafronov
Copy link
Copy Markdown
Owner

@disafronov disafronov commented Dec 8, 2025

Changelog (#33)

🐛 Bug Fixes

  • (schema_loader) improve caching logic for missing schema file paths

📚 Documentation

  • (schema_loader) enhance thread-safety in schema compilation check

♻️ Refactoring

  • (schema) rename SchemaLeaf to _SchemaLeaf for internal use
  • (schema) rename CompiledSchema to _CompiledSchema for internal use
  • (schema) rename SchemaProblem to _SchemaProblem for internal use
  • (schema) rename DataProblem to _DataProblem for internal use
  • (schema) rename get_builtin_logrecord_attributes to _get_builtin_logrecord_attributes for internal use
  • (schema) rename SCHEMA_FILE_NAME to _SCHEMA_FILE_NAME for internal use
  • (tests) move _write_schema function to helpers module

🧪 Tests

  • (schema_applier) add comprehensive tests for schema_applier functions
  • (errors) add comprehensive tests for _DataProblem and _SchemaProblem classes
  • (schema_applier) add tests for _create_validation_error_json function
  • (schema_logger) add tests for _log_schema_problems_and_exit function
  • rename tests for public API
  • move tests for private API to subdirectory
  • rename tests for public API
  • reorganize tests and add edge case coverage
  • (schema_loader) add test for cached result during exception handling

🤖 CI

  • (release) update release configuration

🧹 Chores

  • (release) add semantic release configuration
  • (release) update release configuration format
  • (release) format adjustments in release configuration
  • (coverage) modify coverage options and enhance configuration
  • (release) 0.1.4-rc.1
  • (deps) bump actions/checkout from 4 to 6
  • (deps) bump actions/github-script from 7 to 8

disafronov and others added 26 commits December 8, 2025 13:55
- Added changelog generation support to the release process.
- Updated the assets for the git release to include the CHANGELOG.md file.
- Enhanced the commit message template to dynamically include the author's name and email.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Introduced a new release configuration file to manage versioning and changelog generation using semantic-release.
- Configured plugins for commit analysis, release notes generation, and automated version updates in project files.
- Set up a commit message template to include author information for better traceability.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Changed the release configuration file from JSON format to CommonJS module format for better compatibility with Node.js environments.
- This update allows for more flexible configuration options in the release process.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Reformatted the release configuration file for improved readability by aligning the array elements.
- Ensured consistency in the structure of the configuration for better maintainability.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Updated the schema loader and applier to use the new internal class name _SchemaLeaf, reflecting its non-public API status.
- Adjusted type hints and references throughout the codebase to ensure consistency with the new naming convention.
- Modified related test cases to accommodate the changes in class naming.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…al use

- Updated the schema loader, applier, and logger to use the new internal class name _CompiledSchema, reflecting its non-public API status.
- Adjusted type hints and references throughout the codebase to ensure consistency with the new naming convention.
- Modified related test cases to accommodate the changes in class naming.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
… use

- Updated the schema loader and related components to use the new internal class name _SchemaProblem, reflecting its non-public API status.
- Adjusted type hints and references throughout the codebase to ensure consistency with the new naming convention.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Updated the logging schema components to use the new internal class name _DataProblem, reflecting its non-public API status.
- Adjusted type hints and references throughout the codebase to ensure consistency with the new naming convention.
- Modified related test cases to accommodate the changes in class naming.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…ltin_logrecord_attributes for internal use

- Updated the function name to reflect its non-public API status, ensuring clarity in its intended usage.
- Adjusted all references and test cases to use the new function name, maintaining consistency across the codebase.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…ternal use

- Updated the schema loader and related components to use the new internal variable name _SCHEMA_FILE_NAME, reflecting its non-public API status.
- Adjusted all references in the codebase, including tests, to ensure consistency with the new naming convention.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…tions

- Introduced a new test suite for the schema_applier module, covering the functionality of apply_schema_internal and strip_empty functions.
- Added tests for various scenarios including handling of empty dictionaries, nested structures, type mismatches, and validation of lists.
- Ensured that all edge cases are addressed to improve the reliability of the schema application process.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…blem classes

- Introduced a new test suite for the errors module, covering the functionality of _DataProblem and _SchemaProblem classes.
- Added tests for message creation, equality, inequality, and validation of message formats including JSON structure and handling of None values.
- Ensured thorough coverage of edge cases to enhance reliability and correctness of error handling.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…ction

- Introduced a new suite of tests for the _create_validation_error_json function, covering various data types including strings, integers, floats, booleans, None, dictionaries, and lists.
- Ensured that the function correctly formats error messages into valid JSON, handles special characters and unicode, and wraps values in repr() as expected.
- Enhanced test coverage to improve reliability and correctness of error handling in schema validation.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…tion

- Introduced a new test suite for the _log_schema_problems_and_exit function, covering various scenarios including handling multiple problems, single problems, and empty problem lists.
- Verified that the function correctly writes formatted messages to stderr, calls os._exit(1) as expected, and flushes stderr after writing.
- Enhanced test coverage to ensure reliability and correctness in logging schema problems.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Reorganize test files to separate compatibility, validation, and integration concerns
- Add defensive code path tests for schema_logger.py
- Improve schema_logger.py coverage from 75% to 100%

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Consolidated shared test helper functions by relocating _write_schema from conftest.py to a new helpers.py file.
- Updated all test files to import _write_schema from the new location, ensuring consistent usage across the test suite.
- Simplified conftest.py by removing unnecessary code, enhancing clarity and maintainability.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
…ling

- Introduced a new test to verify that _compile_schema_internal correctly uses a cached result when an exception occurs during schema loading.
- The test ensures that if another thread has already compiled the schema, the cached result is returned instead of creating a new one, enhancing the reliability of the schema compilation process.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Updated the _get_schema_path function to check for cached missing file paths before checking for found file paths, ensuring that the cache is not invalidated incorrectly.
- Added a new test to verify that the cached missing file path is used correctly on subsequent calls, enhancing the reliability of schema file retrieval.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
- Updated the coverage options in the Makefile to simplify the command.
- Added detailed coverage configuration in pyproject.toml, including source specification, branch coverage, and exclusion rules for specific lines.
- Configured HTML report generation to output to the "htmlcov" directory for better organization.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
## [0.1.4-rc.1](v0.1.3...v0.1.4-rc.1) (2025-12-08)

### Bug Fixes

* **schema_loader:** improve caching logic for missing schema file paths ([150e29b](150e29b))

Signed-off-by: Release Bot <noreply@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Updated the comment in the _compile_schema_internal function to clarify that the fast-path check for cached schema compilation now includes a lock for thread-safety, ensuring safe access to the cache in multi-threaded scenarios.

Signed-off-by: Dmitrii Safronov <zimniy@cyberbrain.cc>
@github-actions github-actions Bot changed the title New release Release PR for 2025-12-08 16:50 Dec 8, 2025
@disafronov disafronov merged commit 2da115c into release Dec 8, 2025
16 checks passed
@disafronov
Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 0.1.4 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants