Version 0.0.4 (2025-10-27)¶
Developer: Add .devcontainer config file
Bug fix: Allow brassy to work with branch names with specials characters.
Enhancement: Update minimum python version to 3.8
Enhancement: Add support for yyyy-mm-dd date format and modernize codebase
Continuous integration: Add release notes check workflow
Continuous integration: Remove setup.py, consolidate to pyproject.toml, and expand test coverage
Continuous integration: Ci workflows for code quality and documentation
Documentation: Add brassy-in-ci guide and update documentation build process
Documentation: Add documentation on issues
Developer¶
Add .devcontainer config file¶
Added devcontainer config file for developing brassy inside of a Docker container using vscode.
added: .devcontainer/devcontainer.json
Bug fix¶
Allow brassy to work with branch names with specials characters.¶
This adds sanitization to the branch name so that it always returns a valid filename.
modified: src/brassy/utils/git_handler.py
Enhancement¶
Update minimum python version to 3.8¶
Updated CI workflows to use Python 3.8 as the minimum version instead of 3.7. This was incited by a drop in support of 3.7 on the latest ubuntu images for GitHub CI runners.
modified: .github/workflows/install.yaml
modified: .github/workflows/pytest.yaml
Enhancement¶
Add support for yyyy-mm-dd date format and modernize codebase¶
Added support for YYYY-MM-DD date format. Refactored codebase to use pathlib internally, updated type hints throughout documentation and docstrings. Updated code to be ruff compliant. Added Python 3.8 compatibility dependencies. Fixed bug in prune_yaml that was incorrectly pruning lists.
modified: src/brassy/__init__.py
modified: src/brassy/actions/build_release_notes.py
modified: src/brassy/actions/init.py
modified: src/brassy/actions/prune_yaml.py
modified: src/brassy/brassy.py
modified: src/brassy/templates/release_yaml_template.py
modified: src/brassy/templates/settings_template.py
modified: src/brassy/utils/CLI.py
modified: src/brassy/utils/file_handler.py
modified: src/brassy/utils/git_handler.py
modified: src/brassy/utils/messages.py
modified: src/brassy/utils/settings_manager.py
Continuous integration¶
Add release notes check workflow¶
Added GitHub Actions workflows to verify release notes are included with PRs and that old release notes have not been edited. This includes a reusable workflow for checking release notes (RST and YAML) and a workflow to implement the check for this repository.
added: .github/workflows/check-release-notes.yaml
added: .github/workflows/reusable-check-release-notes.yaml
Continuous integration¶
Remove setup.py, consolidate to pyproject.toml, and expand test coverage¶
Removed setup.py and migrated all functionality to pyproject.toml. Added integration tests for yaml template, pydantic models, and CLI template output. Updated ruff workflow to correctly detect change files. Changed pytest marker from “integtest” to integration. Updated development configuration and linting settings for ruff compliance.
modified: .github/workflows/build_docs.yaml
modified: sphinx/source/releases/latest/49-support-yyyy-mm-dd-date-format.yaml
modified: tests/brassy/templates/test_release_yaml_template.py
modified: tests/outputs/template-output.yaml
modified: .cspell.json
modified: .devcontainer/devcontainer.json
modified: .github/workflows/ruff.yaml
modified: .ruff.toml
modified: pyproject.toml
modified: pytest.ini
modified: tests/test_integ.py
deleted: setup.py
Continuous integration¶
Ci workflows for code quality and documentation¶
Implemented continuous integration workflows to enforce code quality standards, documentation practices, and release note management. This added linting with Ruff, spellchecking with CSpell, documentation validation with Doc8 and PyDocLint, and automated checks for release notes and documentation updates.
added: .cspell.json
added: .github/workflows/check-if-docs-added.yaml
added: .github/workflows/check-release-notes.yaml
added: .github/workflows/doc8.yaml
added: .github/workflows/pydoclint.yaml
added: .github/workflows/reusable-check-release-notes.yaml
added: .github/workflows/ruff.yaml
added: .github/workflows/spellcheck-with-cspell.yaml
added: .ruff.toml
added: sphinx/source/brassy-in-ci.rst
added: sphinx/source/releases/latest/add-release-note-checking-ci.yaml
Documentation¶
Add brassy-in-ci guide and update documentation build process¶
Added new RST documentation file describing how to use brassy in continuous integration workflows. Updated documentation build process and configuration.
added: sphinx/source/brassy-in-ci.rst
modified: sphinx/source/conf.py
modified: sphinx/source/examples/basic-usage/footer.txt
Documentation¶
Add documentation on issues¶
Added documentation on related issues for release notes. Also added info on internal issues
modified: sphinx/source/using-brassy.rst