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