Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[2.0.22] - 2026-05-19

Chores

  • bump version to 2.0.22

Documentation

  • add design spec for conditional policy relaxation (#827, #845)
  • move design spec to docs/specs/
  • add implementation plan for conditional policy relaxation (#827, #845)
  • update denied-flags table for conditional push and branch policies (#827, #845)

Features

  • add _is_protected_branch helper (#827)
  • add _is_upstream_gone helper (#845)
  • allow --force-with-lease on non-protected branches (#827)
  • allow branch -D when upstream is gone (#845)

Styling

  • fix lint and formatting issues

Testing

  • cover empty-line branch in _is_upstream_gone

[2.0.21] - 2026-05-19

Bug fixes

  • support all merge strategies and add --pr flag
  • exit non-zero when PR is blocked by branch protection (#806)

Documentation

  • add design and plan for wait-until-green merge-state awareness (#806)

Features

  • add merge_status() helper for combined merge state and review decision query

Styling

  • replace assert with isinstance guard for ruff S101 compliance

[2.0.20] - 2026-05-19

Chores

  • bump version to 2.0.20

Features

  • add exact-match allowlist to vrg-git for specific denied-subcommand overrides

[2.0.19] - 2026-05-19

Chores

  • bump version to 2.0.19

Documentation

  • add documentation, fix type safety, and reach 100% coverage

Features

  • add shared issue-linkage regex module
  • add CLI tool to extract tracking issue from merge commit
  • register console script and add integration test

Refactoring

  • use shared linkage module

[2.0.18] - 2026-05-19

Bug fixes

  • skip local checks when --repo targets a different repository

Chores

  • bump version to 2.0.18

Documentation

  • add tooling gap analysis and expansion plan
  • add design for core.hooksPath audit check (#825)
  • move hooks-path audit spec to docs/specs/
  • add implementation plan for core.hooksPath audit check (#825)

Features

  • add core.hooksPath audit check (#825)

Styling

  • add noqa annotations for subprocess security lints

Testing

  • add test for wrong core.hooksPath value
  • add test for correctly configured core.hooksPath
  • update integration tests for core.hooksPath check

[2.0.17] - 2026-05-19

Chores

  • bump version to 2.0.17

Features

  • add vrg-scorecard with help output
  • register vrg-scorecard console script entry point

Testing

  • add token injection and docker exec tests
  • add image prefix resolution tests
  • verify token failure propagation

[2.0.16] - 2026-05-18

Bug fixes

  • hardcode co-author noreply ID while agent account is shadow-banned

Chores

  • bump version to 2.0.16
  • remove co-authors section, normalize vergil dep to v2.0

[2.0.15] - 2026-05-18

Chores

  • bump version to 2.0.15

[2.0.14] - 2026-05-18

Bug fixes

  • fix validation: type errors, stale co-author refs, formatting, and coverage gaps
  • make desired_security_settings visibility-aware
  • record skipped fields in ConfigDiff during diff
  • omit None security fields from apply PATCH body
  • render skipped fields in CLI audit/diff output
  • make skipped param required in diff helpers for full coverage
  • only print GHAS skip message for security fields

Chores

  • bump version to 2.0.14

Documentation

  • add Vergil identity account setup guide
  • publish identity, credential, and permission architecture to site docs
  • clarify credential store setup as sequential browser-authenticated steps
  • rewrite defense-in-depth to distinguish client-side constraints from server-side security
  • apply pushback review to repo config audit design
  • add implementation plan for repo config audit
  • rewrite repo config audit plan in TDD red/green/refactor format
  • replace stale st- references with vrg- across docs and source
  • add auto-discovery design spec
  • apply pushback review to auto-discovery design spec
  • add implementation plan for co-author auto-discovery
  • add cross-repo rollout task to implementation plan
  • add implementation plan for private repo visibility gating (#826)

Features

  • add local config audit library, shared CLAUDE.md template, and vrg-github-repo-config CLI
  • add resolve_co_author_trailer for dynamic co-author discovery
  • replace config-based co-author lookup with dynamic API resolution

Refactoring

  • replace local _discover_accounts with import from lib/github
  • remove co-author parsing from config.py

[2.0.13] - 2026-05-15

Bug fixes

  • add explicit credential selection via GH_TOKEN injection

Chores

  • bump version to 2.0.13

Refactoring

  • replace -agent convention with -vergil across tooling, specs, and config

[2.0.12] - 2026-05-15

Bug fixes

  • use human credentials for all operations while agent account is flagged (#799)

Chores

  • bump version to 2.0.12

[2.0.11] - 2026-05-15

Bug fixes

  • deduplicate accounts in gh auth status discovery

Chores

  • bump version to 2.0.11

Features

  • move deny rules to project-level settings and deploy to vergil-tooling

[2.0.10] - 2026-05-14

Chores

  • bump version to 2.0.10
  • remove per-repo templates in favor of org defaults

Documentation

  • add credential management design spec
  • apply pushback review fixes to credential management design spec
  • add credential management implementation plan
  • apply alignment review fixes to credential management design spec and plan
  • add execution order cross-references between permission model and credential management plans
  • add supersession notice to org governance credential section
  • add supersession notices to org governance setup plan
  • add credential selection cross-references to permission model
  • update consuming repo setup and CLAUDE.md for credential management model

Features

  • add vrg-git safe wrapper with subcommand allowlist and audit logging
  • add vrg-gh safe wrapper with credential selection and audit logging
  • deploy permission model with fully qualified path deny patterns

Refactoring

  • remove GH_TOKEN hard gate from vrg-docker-run

[2.0.9] - 2026-05-14

Chores

  • bump version to 2.0.9

[2.0.8] - 2026-05-14

Bug fixes

  • replace hardcoded wphillipmoore/ with vergil-project/ in action patterns

Chores

  • bump version to 2.0.8

Documentation

  • add Claude Code permission model design spec (#754)
  • apply pushback review fixes to permission model design spec
  • add permission model implementation plan (#754)
  • apply alignment review fixes to permission model implementation plan

[2.0.7] - 2026-05-14

Chores

  • bump version to 2.0.7

Documentation

  • add .github profile repository design spec (#753)
  • apply pushback review fixes to .github profile repo design spec
  • add .github profile repository implementation plan (#753)
  • apply alignment review fixes to .github profile repo spec and plan

Refactoring

  • consolidate [dependencies] to single 'vergil' key

[2.0.6] - 2026-05-13

Chores

  • bump version to 2.0.6

Documentation

  • replace stale standard-tooling and wphillipmoore references
  • replace standard-tooling references with vergil-tooling in site docs

[2.0.5] - 2026-05-13

Bug fixes

  • omit allow_forking for public org repos (API rejects it with HTTP 422)

Chores

  • bump version to 2.0.5

[2.0.4] - 2026-05-13

Bug fixes

  • update hardcoded org URL from wphillipmoore to vergil-project
  • surface captured API output in CalledProcessError messages

[2.0.2] - 2026-05-13

Bug fixes

  • rename stale st_repo_profile import to vrg_repo_profile

CI

  • update vergil-actions refs from v1.5 to v2.0

Chores

  • bump version to 1.4.37
  • update plugin identity to vergil-marketplace

Documentation

  • add VERGIL rename design spec
  • add VERGIL rename implementation plan
  • move rename plan to docs/plans/
  • apply alignment review fixes to VERGIL rename plan
  • add VERGIL org governance design spec
  • apply pushback review fixes to org governance design
  • add tooling impact section to org governance design spec
  • add VERGIL org governance setup implementation plan
  • add Task 14 to create deferred work issues in new org
  • fix agent PAT sequencing in org governance plan

Features

  • rename to vergil-tooling under vergil-project org (#723)

Refactoring

  • remove skip-rulesets escape hatch
  • consolidate co-author config to single agent identity
  • update st-commit and tests for agent identity convention

[1.4.36] - 2026-05-11

Bug fixes

  • fix lint, type errors, and coverage gaps from prefix refactor

Chores

  • bump version to 1.4.36

Documentation

  • migrate standards and development docs from standards-and-conventions
  • migrate AI collaboration standards from standards-and-conventions
  • add design spec for PR and issue template redesign
  • move design spec to docs/specs/
  • add implementation plan for template redesign
  • fix stale documentation

Features

  • add [docker] image-prefix field to standard-tooling.toml schema
  • make image prefix configurable in docker.py, default to prod
  • read image prefix from config in st-docker-run and st-docker-docs
  • default --repo to current git remote, drop --yes flag

Refactoring

  • remove Testing section from PR body
  • replace PR template with redirect stub
  • redesign issue template as 3-field form

Styling

  • fix ruff format in test file

[1.4.35] - 2026-05-10

Chores

  • bump version to 1.4.35

Documentation

  • add spec and plan for post-publish tag verification (#664)

[1.4.34] - 2026-05-09

Bug fixes

  • skip worktrees with uncommitted changes instead of crashing

Chores

  • bump version to 1.4.34

Styling

  • format test file

[1.4.33] - 2026-05-09

Bug fixes

  • prevent allow_forking HTTP 422 on user-owned repos and require [ci] section

Chores

  • bump version to 1.4.33

Features

  • update workflow refs to new CI/CD filenames (#383)
  • add ops workflow for scheduled GitHub config audit (#174)

[1.4.32] - 2026-05-09

Bug fixes

  • specify container-tag in publish-release workflow
  • use current standard-actions workflow filenames until rename releases (#383)
  • keep release job key until check name registry updates (#383)
  • restore string comparison for workflow_call boolean inputs (#383)
  • add missing container-tag to release job in cd.yml (#657)

Chores

  • bump version to 1.4.31

Features

  • rename release/version-bump check to version/version-bump (#383)
  • rename publish workflows to cd convention, reformat ci.yml (#383)
  • include ci.yml reformat in workflow rename (#383)

[1.4.30] - 2026-05-09

Bug fixes

  • pass boolean to ci-security reusable workflow inputs
  • address formatting issue in fetch_actual_state
  • pass required language input to publish-release reusable workflow (#645)
  • replace Fixes with Ref in PR template to match CI linkage rules
  • specify container-tag in publish-release caller

Chores

  • bump version to 1.4.28
  • migrate to reusable publish/docs workflows
  • trigger CI re-run
  • rename source files to match st-* script names

Features

  • add 8 new fields to DesiredRepoSettings and derivation
  • add FetchResult wrapper and extract new fields in fetch
  • include new fields in repo settings PATCH body
  • thread visibility from fetch through CLI plumbing
  • make allowed action patterns language-specific (#613)
  • detect and fail fast on merge conflicts in PR-waiting scripts (#641)
  • auto-update branch when behind base before merging (#641)

Testing

  • update lib tests for new fields and FetchResult

[1.4.27] - 2026-05-08

Chores

  • bump version to 1.4.27
  • sweep post-1.4.26 dependency updates (#621)
  • replace st-validate-local references with st-validate in active docs and specs
  • add publish.release and publish.docs to standard-tooling.toml

Documentation

  • add design spec and pushback review for repo settings coverage (#610)
  • add implementation plan and alignment review for repo settings coverage (#610)

Features

  • add [publish] section to standard-tooling.toml schema
  • add [publish] section to desired state for naming validation

[1.4.26] - 2026-05-08

Bug fixes

  • remove unreachable early return to restore 100% coverage

Chores

  • prepare release 1.4.25
  • bump version to 1.4.26
  • add #603 design spec and implementation plan

Documentation

  • add design spec and implementation plan for Go license allowlist (#604)
  • add design spec and implementation plan for Java license audit (#600)

Features

  • add swatinem/* to allowed action patterns
  • add Go license allowlist to centralized audit (#604)
  • add license_finder decisions file for Ruby audit
  • add {configs} placeholder expansion to language_commands()
  • add license_finder to Ruby audit registry
  • add Java license allowlist to centralized audit (#600)

Styling

  • format validate_commands.py

Testing

  • add failing test for Go license allowlist (#604)
  • strengthen Go audit test to verify allowlist flag (#604)

[1.4.25] - 2026-05-08

Bug fixes

  • tighten cliff regexes, fix doc to docs, add build and revert types

Chores

  • prepare release 1.4.24
  • bump version to 1.4.25

Features

  • bundle canonical yamllint config like markdownlint
  • reject GitHub auto-close keywords in commit bodies and PR bodies
  • centralize git-cliff configs as bundled package data

[1.4.24] - 2026-05-07

Bug fixes

  • pass --platform to docker run and docker create for correct arch selection

Chores

  • prepare release 1.4.23
  • bump version to 1.4.24

Features

  • add retry with exponential backoff to all GitHub API calls
  • detect branch-behind state and auto-update before reporting success

[1.4.23] - 2026-05-07

Bug fixes

  • remove stale validate-local references from mkdocs nav and reference index

Chores

  • prepare release 1.4.22
  • bump version to 1.4.23

[1.4.22] - 2026-05-06

Chores

  • prepare release 1.4.21
  • bump version to 1.4.22
  • update dev dependencies for 1.4.22 cycle

Documentation

  • remove legacy st-validate-local reference page
  • update cli-tools-overview for st-validate-local removal
  • update CLAUDE.md to reference st-validate instead of st-validate-local
  • update README.md to reference st-validate

Refactoring

  • rename validate_local_common_container to validate_common
  • update imports and patch targets for validate_common rename
  • remove legacy validate_local and validate_local_lang modules
  • remove legacy scripts/dev/ shell scripts
  • remove legacy st-validate-local console_script entries
  • rename custom validator lookup from validate-local-custom to validate-custom
  • update usage example to reference st-validate

[1.4.21] - 2026-05-06

Bug fixes

  • use str() in _check_names to satisfy ty type checker
  • restore Python 3.12+ support and auto-prepend .venv/bin in st-validate

Chores

  • prepare release 1.4.20
  • bump version to 1.4.21

Features

  • add GHAS check runs (Semgrep OSS, Trivy) to CI gates required checks
  • add --config flag to override remote config source

[1.4.20] - 2026-05-06

Bug fixes

  • prepend .venv/bin to PATH in st-validate for CI compatibility
  • use explicit argument lists in command registry instead of string splitting
  • add missing type annotations in test files for mypy strict mode
  • add ty as dev dependency and resolve ty type checker diagnostics

CI

  • remove bespoke lint and typecheck jobs duplicated by ci-quality.yml
  • remove all bespoke jobs, use reusable workflows for test, audit, and release
  • trigger fresh workflow run after standard-actions fix
  • trigger fresh CI run after standard-actions self-install fix
  • trigger fresh CI run after dev container image rebuild
  • trigger fresh CI run after standard-actions PATH fix
  • trigger fresh CI run after standard-actions PATH fix for all jobs
  • use Python container for common, standards, and release jobs

Chores

  • prepare release 1.4.19
  • bump version to 1.4.20
  • require Python 3.14 as minimum version

Documentation

  • add claude-plugin to primary-language spec

Features

  • add claude-plugin to primary-language enum
  • add claude-plugin version discovery, read, and write

Refactoring

  • remove .venv/bin PATH logic from st-validate

Styling

  • format test_version.py
  • format github_config.py for ruff on Python 3.14

Testing

  • add failing test for st-version claude-plugin show
  • add bump test for claude-plugin
  • verify claude-plugin skips lockfile maintenance
  • verify error on missing version key in plugin.json

[1.4.19] - 2026-05-05

Bug fixes

  • suppress S101 on type-narrowing assertion
  • run independent check commands to completion instead of short-circuiting on first failure
  • use cmd.split() instead of shell=True for subprocess.run

Chores

  • prepare release 1.4.18
  • bump version to 1.4.19

Features

  • fix Python commands and add install entries to command registry
  • add st-validate command with registry-driven check dispatch
  • add hadolint and actionlint to common validation checks
  • add st-version library and CLI with per-language version discovery, show, bump, and --ref support

Refactoring

  • replace _WARMUP_COMMANDS with registry-driven install lookup
  • call st-validate instead of st-validate-local in post-finalization

Styling

  • apply ruff format to new and modified files
  • apply ruff format to test_st_validate

Testing

  • achieve 100% branch coverage for st-validate and st-version

[1.4.18] - 2026-05-05

Bug fixes

  • skip uv tool install when running in the standard-tooling repo itself
  • resolve CI failures: mypy no-any-return and ruff format

Chores

  • prepare release 1.4.17
  • bump version to 1.4.18
  • sweep post-1.4.17 dependency updates

[1.4.17] - 2026-05-05

Bug fixes

  • add safe.directory for git worktree tests in CI container

Chores

  • prepare release 1.4.16
  • bump version to 1.4.17
  • upgrade workflows to standard-actions v1.5 and add CI derivation config

Documentation

  • update host-level-tool spec for unified consumption model
  • update CLAUDE.md consumption model for unified install

Features

  • unify cache install — Python now gets uv tool install

[1.4.16] - 2026-05-05

Bug fixes

  • normalize audit comparison for patterns ordering and API default fields

Chores

  • prepare release 1.4.15
  • bump version to 1.4.16
  • sweep post-1.4.15 dependency updates

Styling

  • apply ruff format

[1.4.15] - 2026-05-05

Bug fixes

  • add explicit type annotations to read_json() for mypy
  • include enabled field in actions permissions PUT body

Chores

  • prepare release 1.4.14
  • bump version to 1.4.15
  • sweep post-1.4.14 dependency updates (#492)

Features

  • add desired state data model
  • add read_json() helper for gh api calls
  • add [ci] section to standard-tooling.toml schema
  • add [github] override section to TOML schema
  • add fixed desired state functions
  • add per-language command registry
  • add CI gates ruleset derivation
  • add compute_desired_state() top-level function
  • add fetch_actual_state() for GitHub API reads
  • add diff computation engine
  • add st-github-config CLI with audit and diff modes
  • implement apply mode for st-github-config CLI
  • add classic branch protection cleanup during apply

Styling

  • format test_config.py with ruff
  • apply ruff format to new files

Testing

  • cover _lang_has_check unknown check kind branch

[1.4.14] - 2026-05-04

Bug fixes

  • fix formatting and add coverage for invalid ignore type

Chores

  • prepare release 1.4.13
  • bump version to 1.4.14
  • retrigger CI with issue linkage (#482)
  • sweep post-1.4.13 dependency updates (#482)

Documentation

  • update published docs for bundled markdownlint config
  • add cross-repo cleanup implementation plan

Features

  • add [markdownlint].ignore support to standard-tooling.toml

[1.4.13] - 2026-05-03

CI

  • bump standard-actions CI pin to v1.4.7

Chores

  • prepare release 1.4.12
  • bump version to 1.4.13
  • add memory management policy (#474)
  • replace blanket chore skip with targeted mechanical-commit filters (#475)

Documentation

  • markdownlint standardization spec, plan, and reviews (#476) (#478)
  • narrow markdownlint standardization to published docs scope (#476) (#480)

Features

  • fail on dirty working tree after cleanup (#477)
  • bundle canonical config and remove per-repo configs (#476) (#481)

[1.4.12] - 2026-05-01

Bug fixes

  • make --title required in st-submit-pr

Chores

  • prepare release 1.4.11
  • bump version to 1.4.12

Features

  • add _checks_registered probe and polling loop to wait_for_checks

Styling

  • apply ruff format to test_github.py
  • fix line length in test_main_dry_run_release_branch
  • apply ruff format to test_submit_pr.py

Testing

  • cover wait_for_checks polling behavior

[1.4.11] - 2026-05-01

Chores

  • prepare release 1.4.10
  • bump version to 1.4.11

Features

  • add container guard to st-validate-local

[1.4.10] - 2026-05-01

Bug fixes

  • Fix --pull=always breaking cached image lookup; route Python through cache
  • Fix ruff format violations

Chores

  • prepare release 1.4.9
  • bump version to 1.4.10

[1.4.9] - 2026-05-01

Chores

  • prepare release 1.4.8
  • bump version to 1.4.9
  • organize plans into proposed/in-progress/completed lifecycle

[1.4.8] - 2026-05-01

Bug fixes

  • replace pip install with uv tool install in docker cache build

Chores

  • prepare release 1.4.7
  • bump version to 1.4.8
  • add consumer-refresh config to standard-tooling.toml
  • remove shutil.which guards and make docs failure fatal
  • remove _ensure_tool guard and shutil.which dependency
  • remove markdownlint shutil.which guard
  • remove all pip install references from host-level-tool spec
  • update docstring and validation failure label to reflect fatal semantics
  • fix S607 noqa, duplicate pytest import, and pip reference in releasing guide

Documentation

  • add spec, plan, and pushback review for uv tool install and guard cleanup

[1.4.7] - 2026-04-30

Bug fixes

  • force-update tags on git fetch to prevent stale local state
  • add --pull=always to docker run to prevent stale image cache
  • use uv run for validation in Python repos during finalization

Chores

  • prepare release 1.4.6
  • bump version to 1.4.7
  • next-cycle dependency updates for 1.4.6
  • retire st-config.toml in favor of standard-tooling.toml
  • retrigger CI after standard-actions v1.4.5
  • retrigger CI (force action cache refresh)
  • retrigger CI (GitHub Actions tag cache)
  • trigger CI for PR #417
  • pin ci-security workflow to v1.4.5 to bypass tag cache
  • pin ci-security workflow to v1.4.6
  • remove dead validate_local_common wrapper

[1.4.6] - 2026-04-29

Chores

  • prepare release 1.4.5
  • bump version to 1.4.6
  • change license from GPL-3.0-only to GPL-3.0-or-later

[1.4.5] - 2026-04-29

Bug fixes

  • eliminate unreachable elif branch for full coverage

Chores

  • prepare release 1.4.4
  • bump version to 1.4.5
  • seed standard-tooling.toml with this repo's values
  • delete repo_profile.py — replaced by config.read_config

Documentation

  • add spec, plan, and reviews for standard-tooling.toml migration (#363)
  • strip config sections from repository-standards.md, update references

Features

  • add typed TOML reader for standard-tooling.toml

Refactoring

  • migrate st-commit from repo_profile to config.read_config
  • migrate st-validate-local from repo_profile to config.read_config
  • migrate st-finalize-repo from repo_profile to config.read_config
  • rewrite repo-profile-cli to validate standard-tooling.toml

Styling

  • fix ruff TC003 and SIM117 lint errors
  • apply ruff format to modified files

Testing

  • add failing tests for standard-tooling.toml reader
  • rewrite repo-profile-cli tests for TOML validation
  • add missing coverage for ConfigError handlers and dead code removal

[1.4.4] - 2026-04-29

Bug fixes

  • reject invocation from secondary worktree instead of os.chdir
  • re-allow legacy chore/bump-version and chore/next-cycle-deps branch prefixes

Chores

  • prepare release 1.4.3
  • bump version to 1.4.4

Features

  • add st-wait-until-green command for CI polling

Styling

  • move Path import to TYPE_CHECKING block
  • fix import ordering in release.py

[1.4.3] - 2026-04-29

Bug fixes

  • drop --delete-branch from st-merge-when-green; st-finalize-repo handles cleanup
  • use CWD-relative README.md lookup in repo-profile instead of git.repo_root
  • retain st-markdown-standards as markdownlint-only entry point for CI compatibility

CI

  • retrigger checks after adding issue linkage

Chores

  • prepare release 1.4.1
  • merge main into release/1.4.2
  • prepare release 1.4.2
  • bump version to 1.4.3
  • update all Python dependencies for next cycle
  • remove docker dispatch and verification pipeline
  • point ci-security ref to @develop for install fix (#362)
  • restore ci-security ref to @v1.4 after standard-actions 1.4.2 release (#379)
  • remove auto-close linkage keywords from st-submit-pr

Documentation

  • update spec and docs for cache-first architecture (#362)
  • mark all decouple plan phases complete with PR refs and follow-up issue links (#385)

Features

  • add st-check-pr-merge and branch check in st-merge-when-green
  • add next-cycle-deps pattern to release branch allow-list

Refactoring

  • unify release-cycle branches under release/ prefix
  • decompose st-markdown-standards: direct markdownlint in validate-local, structural checks in repo-profile

Styling

  • apply ruff format to new and modified files
  • apply ruff format to test files

Testing

  • add coverage tests for check_pr_merge edge cases

[1.4.2] - 2026-04-29

Chores

  • bump version to 1.4.2 (#361)

Documentation

  • fix spec-plan alignment issues from pushback review (#366)

Features

  • decouple standard-tooling from dev container images (#362) (#364)

[1.4.1] - 2026-04-28

Chores

  • prepare release 1.4.0
  • bump version to 1.4.1
  • retrigger CI after adding issue linkage
  • upgrade standard-actions from @v1.3 to @v1.4
  • audit st-* catalog: remove broken entry points, add CLI tools overview
  • change st-submit-pr default linkage from Fixes to Ref (#358)

Documentation

  • rewrite docs for host-install model and deprecate include-and-remember

[1.4.0] - 2026-04-28

Bug fixes

  • replace docker info with docker version for daemon reachability check
  • auto-chdir to main worktree instead of erroring from a secondary worktree
  • skip --delete-branch when running from a secondary worktree
  • bump stale standard-actions pins from @v1.1 to @v1.3
  • support --help and -h as program options

Chores

  • prepare release 1.3.4
  • bump version to 1.3.5
  • delete ci-push.yml; collapse three-tier CI to two-tier
  • migrate standard-actions refs from @develop to @v1.3
  • remove add-to-project.yml workflow
  • remove st-list-project-repos and st-set-project-field
  • remove st-observatory and dead-code registry module
  • bump version to 1.4.0
  • regenerate lockfile for 1.4.0

Features

  • add post-publish workflow to verify dev container images carry the released version

[1.3.4] - 2026-04-27

Bug fixes

  • declare GPL-3.0-only license metadata in pyproject.toml

Chores

  • prepare release 1.3.3
  • bump version to 1.3.4

[1.3.3] - 2026-04-27

Bug fixes

  • auto-remove worktree before deleting merged branch (#315)

Chores

  • prepare release 1.3.2
  • bump version to 1.3.3

[1.3.2] - 2026-04-26

Bug fixes

  • regenerate v1.3.1 notes with --unreleased

Chores

  • prepare release 1.3.1
  • bump version to 1.3.2

[1.3.1] - 2026-04-26

Bug fixes

  • regenerate v1.3.0 release notes with correct content
  • use --unreleased instead of --latest for release notes (#298)
  • remove dead skip-filter from _find_yaml_files
  • move Path import into TYPE_CHECKING block (TC003)
  • use reference-style links to satisfy markdownlint and lint
  • add S607 noqa for gh CLI invocation
  • use shutil.which to get gh absolute path (S607)
  • use 'git branch -D' for already-vetted merged branches (#307)

Chores

  • prepare release 1.3.0
  • bump version to 1.3.1

Documentation

  • document patch/minor/major release workflow; add docs-publish sanity check (#303)

Features

  • dispatch standard-tooling-released event after release tag (#301)
  • add yamllint to canonical validation; pin rules in .yamllint (#302)

Styling

  • wrap git-cliff cmd tuple to satisfy line-length lint
  • apply ruff format

[1.3.0] - 2026-04-26

Bug fixes

  • scope markdownlint to docs/site and README.md only (#197) (#200)
  • accept st-docker-test entry point in validate-local preflight (#218)
  • use GHCR image URLs as default dev container references (#232)
  • update docker-test references to st-docker-test (#234)
  • mount host .gitconfig into container for git identity (#245)
  • mock Path.home in docker_test empty volumes test (#246)
  • remove individual validation commands from CLAUDE.md (#250)
  • refuse to run from a secondary worktree (#278)
  • set ST_COMMIT_CONTEXT=1 in git.run for commit calls (#295) (#296)

CI

  • use dev-docs container for docs CI (#210)
  • restore standards-compliance after wrapper fallback landed (#219)

Chores

  • prepare release 1.2.2
  • bump version to 1.2.3
  • update dependencies for next development cycle (#172)
  • install standard-tooling plugin via marketplace (#180)
  • strip CLAUDE.md boilerplate now covered by plugin (#183)
  • use .markdownlintignore for lint exclusions (#195)
  • remove commit-msg hook and commit-message linter (#196)
  • update CLAUDE.md for docker-only standard-tooling (#221)
  • ban MEMORY.md usage in CLAUDE.md (#225)
  • remove legacy bash wrapper scripts and use st-* entry points directly (#227)
  • add .coverage to .gitignore (#229)
  • rename dev-docs references to dev-base (#252)
  • remove MEMORY.md ban from CLAUDE.md (#267)

Documentation

  • add consolidated git-workflow guide as canonical entry point (#271)
  • rewrite onboarding docs for Docker/plugin/worktree reality (#273)
  • add git-URL dev-dependency convention spec (#285)
  • reject git-URL dev-dep approach; add pushback report (#287)
  • add host-level-tool spec, plan, pushback, and alignment artifacts (#290)

Features

  • add Rust/Cargo ecosystem support to st-prepare-release (#176)
  • add claude-plugin ecosystem detector (#186)
  • run st-validate-local after finalization (#201)
  • add single-file mode and remove sphinx references (#203)
  • container-first validation infrastructure (#205)
  • add docker-docs wrapper for containerised docs preview (#209)
  • port all bash scripts to Python entry points (#216)
  • pass GH_TOKEN through to dev containers (#223)
  • add st-docker-run general-purpose container command wrapper (#239)
  • add dual-venv host bootstrap for st-docker-run (#240)
  • mount ~/.ssh in container for git SSH remote operations (#253)
  • run validation via st-docker-run in st-finalize-repo (#254)
  • adopt git worktree convention for parallel AI agent development (#264)
  • add st-merge-when-green and stop auto-merging PRs in st-submit-pr/st-prepare-release (#276)
  • refuse feature-branch commits from main worktree (#259) (#275)

Refactoring

  • normalize validation stack to one container per run (#282)
  • consolidate pre-commit checks into st-commit; add env-var gate (#292)

[1.2.2] - 2026-03-01

Bug fixes

  • Ruby list DISPLAY methods without name_default use required positional name param (#158)

CI

  • add concurrency group to ci-push workflow (#167)

Chores

  • prepare release 1.2.1
  • bump version to 1.2.2
  • update ruff 0.15.4, certifi 2026.2.25, hadolint 2.14.0 (#134)
  • pass run-standards and run-security flags to ci-security workflow (#137)
  • deploy standardized issue template (#163)

Documentation

  • move Releases nav to right of Home for consistency (#136)
  • add multi-repo finalization workflow rules to CLAUDE.md (#156)
  • add Python 3.12 to dev-python version matrix in CLAUDE.md (#166)

Features

  • add Rust development tooling (#139)
  • add st-generate-commands CLI for multi-language MQSC method generation (#154)
  • add canonical label registry and sync modes to st-ensure-label (#164)

[1.2.1] - 2026-02-26

Bug fixes

  • resolve commit-msg hook fallback relative to hook directory, not consuming repo (#90)
  • disable fail-fast in docker-publish matrix (#100)
  • bump Go dev images from 1.23 to 1.25 and 1.26 (#105)
  • use v2 module path for go-licenses (#107)
  • use hadolint binary instead of container to avoid musl/node24 incompatibility (#122)
  • suppress DL3028 hadolint warning for gem version pinning (#123)
  • exclude auto-generated markdown from markdownlint (#125)
  • add SHELL pipefail directive to all Dockerfiles (#127)
  • expand trivyignore with upstream-unfixable CVEs (#128)

CI

  • migrate CI to three-tier model (#112)

Chores

  • prepare release 1.2.0
  • merge main into release/1.2.0
  • prepare release 1.2.0
  • bump version to 1.2.1
  • trigger CI with updated PR body
  • add Python 3.12 and Java 17 to image matrix (#104)
  • add per-release notes and generate retroactive release notes (#116)
  • add typecheck.sh for mypy type checking (#119)
  • add Releases nav section with navigation.indexes support (#130)

Documentation

  • add three-tier CI architecture guide (#109)

Features

  • add Ruby ecosystem detection to st-prepare-release (#88)
  • add st-observatory CLI for cross-repo health reports (#91)
  • allow dots in branch name validation (#93)
  • add Docker dev images and docker-test script (#96)
  • publish dev container images to GHCR (#98)
  • add shellcheck and markdownlint to all dev images (#110)
  • generate per-release verbose release notes files (#114)
  • add CI quality gates for dev container images (#121)
  • harden dev images with patched base packages, Node 22 LTS, shellcheck 0.11.0 (#126)

Refactoring

  • remove --docs-only flag from st-submit-pr (#117)

[1.2.0] - 2026-02-23

Bug fixes

  • update add-to-project action to v1.0.2 (#64)
  • read version from pyproject.toml in publish and docs workflows (#82)

Chores

  • prepare release 1.1.4
  • bump version to 1.1.5

Documentation

  • document git hooks and validation rules (#71)
  • add MkDocs documentation site (#72)
  • update documentation site for PATH-based architecture (#79)

Features

  • add chore/ as allowed branch prefix in pre-commit hook (#66)
  • restructure as Python package with PATH-based consumption (#73)
  • add commit-messages range validator for CI (#76)

Refactoring

  • remove commit-messages range validator (#77)

Testing

  • achieve 100% line and branch coverage for all Python modules (#74)

[1.1.4] - 2026-02-21

Bug fixes

  • fix CHANGELOG.md formatting for markdownlint compliance
  • fix CHANGELOG.md formatting for markdownlint compliance
  • fix CHANGELOG.md formatting for markdownlint compliance
  • fix CHANGELOG.md formatting for markdownlint compliance
  • validate CHANGELOG.md with markdownlint before committing (#55)
  • allow merge commits through commit-msg hook (#57)

Chores

  • merge main into release/1.1.0
  • prepare release 1.1.0
  • merge main into release/1.1.1
  • prepare release 1.1.1
  • merge main into release/1.1.2
  • prepare release 1.1.2
  • merge main into release/1.1.3
  • prepare release 1.1.3
  • bump version to 1.1.4

Features

  • annotate synced scripts with provenance comments (#58)

[1.1.3] - 2026-02-21

Bug fixes

  • strip ^{} suffix from dereferenced tags in sync-tooling.sh (#51)

Chores

  • bump version to 1.1.3 (#48)

[1.1.2] - 2026-02-21

Bug fixes

  • handle empty docsite_files array with set -u
  • prevent --actions-compat from leaking during self-update re-exec
  • accept cross-repo issue references in PR linkage check (#36)

Chores

  • add commit.sh and submit-pr.sh to managed files list (#18)
  • bump version to 1.1.1 (#37)
  • remove push trigger from CI workflow (#41)

Documentation

  • add canonical source comment to repo-profile.sh
  • document release-before-sync requirement (#20)
  • ban MEMORY.md usage in CLAUDE.md (#32)
  • ban heredocs in shell commands (#33)

Features

  • initial scaffold with reconciled canonical scripts
  • add CI workflow, CLAUDE.md, and repository infrastructure (#6)
  • add add-to-project workflow for standards project
  • add GitHub Project helper scripts for skill automation (#12)
  • add ci and build to allowed conventional commit types (#13)
  • add commit and PR submission wrapper scripts (#17)
  • support cross-repo issue references (#23)
  • add VERSION file detector to prepare_release.py (#27)
  • add category prefixes to CI job names (#31)
  • add validate_local.sh dispatch architecture (#34)
  • validate issue-linked branch names in pre-commit hook (#44)
  • add publish workflow for automated tagging and version bumps (#46)