# Changelog All notable changes to this project will be documented in this file. ## [0.42.0] - 2026-07-13 ### Features - Add I/O function isolation check and skip integration tests ## [0.41.2] - 2026-07-13 ### Bug Fixes - Auto-discover molecule root instead of hardcoding gitea-runner ## [0.41.1] - 2026-07-13 ### Bug Fixes - Check_test_isolation accepts multiple --test-path values ## [0.41.0] - 2026-07-13 ### Features - Test isolation pytest plugin, shift-left quality gates, dep upgrades ## [0.40.1] - 2026-07-12 ### Bug Fixes - Fall back to CI token when reviewer self-approval is rejected ## [0.40.0] - 2026-07-11 ### Features - Detect double-prefix in Vikunja task title during pre-merge validation ## [0.39.0] - 2026-07-09 ### Features - Extract shared utilities from infra and grm into devx ## [0.38.0] - 2026-07-08 ### Features - Introduce role-based Gitea API token environment variables ## [0.37.0] - 2026-07-07 ### Features - Consolidate docs checks into devx-docs-check target ## [0.36.2] - 2026-07-07 ### Bug Fixes - GiteaClient.set_repo_variable uses PUT instead of PATCH ## [0.36.1] - 2026-07-07 ### Bug Fixes - Preserve .badges/ dir during git clean in push_badges ## [0.36.0] - 2026-07-07 ### Features - Add GiteaClient repo variable methods and parallelize pytest-cov ## [0.35.7] - 2026-07-06 ### Bug Fixes - Use Gitea wiki dash-marker filename convention ## [0.35.6] - 2026-07-06 ### Bug Fixes - Add delay before wiki verification to avoid race condition ## [0.35.5] - 2026-07-06 ### Bug Fixes - Embed token in wiki clone URL for push auth ## [0.35.4] - 2026-07-06 ### Bug Fixes - Configure git identity before commit in sync_wiki ## [0.35.3] - 2026-07-06 ### Bug Fixes - Replace --strict with --verify for sync_wiki ## [0.35.2] - 2026-07-06 ### Bug Fixes - Exclude .vale directory from lint_docs scanning ## [0.35.1] - 2026-07-06 ### Refactor - Rewrite sync_wiki.py to use git-based approach ## [0.35.0] - 2026-07-06 ### Features - Enrich lint_docs.py with single H1, max depth, line length, code block lang, orphan checks ## [0.34.0] - 2026-07-06 ### Features - Enhance documentation-as-code with badges, version refs, Vale ## [0.33.4] - 2026-07-06 ### Refactor - Remove project-specific references from devx ## [0.33.3] - 2026-07-06 ### Bug Fixes - Make wiki sync resilient to API timeouts and stale page lists ## [0.33.2] - 2026-07-05 ### Bug Fixes - Abort sync_wiki when list_wiki_pages fails ## [0.33.1] - 2026-07-05 ### Bug Fixes - Build images after post-merge publish, not on push ## [0.33.0] - 2026-07-05 ### Features - Add check_api_identity_checks, setup_ssh_key, and api utils ## [0.32.1] - 2026-07-01 ### Bug Fixes - Add missing i18n translations for new tools ## [0.32.0] - 2026-07-01 ### Features - Extract docker-login, tofu-ops, check-deps, install-tofu to Python tools ## [0.31.0] - 2026-07-01 ### Features - Centralize venv management in devx.mak ## [0.30.0] - 2026-07-01 ### Features - Add standard label creation to configure_repo ## [0.29.1] - 2026-07-01 ### Bug Fixes - Strip task ID prefix from commit messages in extract_conventional_msg ## [0.29.0] - 2026-07-01 ### Features - Detect badge commits as automated CI commits ## [0.28.0] - 2026-07-01 ### Features - Auto-rebase in auto-merge, new rebase tools, CLI registration ## [0.27.3] - 2026-06-30 ### Bug Fixes - Retry wiki integrity check on transient API timeout ## [0.27.2] - 2026-06-29 ### Bug Fixes - Retry release push on non-fast-forward with rebase loop ## [0.27.1] - 2026-06-28 ### Bug Fixes - Exclude .devin/.terraform dirs from lint_docs, add duplicate heading excludes ## [0.27.0] - 2026-06-28 ### Features - Add lint_docs tool, fix doc_coverage/check_translations for any repo ## [0.26.4] - 2026-06-28 ### Bug Fixes - Wrap all user-facing strings with _() for i18n completeness ## [0.26.3] - 2026-06-28 ### Bug Fixes - Pin all dependencies to exact versions for reproducibility ## [0.26.2] - 2026-06-28 ### Bug Fixes - Block admin merge override and auto-approve with review token ## [0.26.1] - 2026-06-28 ### Bug Fixes - Force pip upgrade in setup-image to install new dependencies ## [0.26.0] - 2026-06-28 ### Features - Add distribute_items CI tool for parallel VM deployment ## [0.25.0] - 2026-06-28 ### Features - Add manual review support to pr_review (--event, --body, --checklist-confirmed) ## [0.24.1] - 2026-06-28 ### Refactor - Add find_task_by_identifier, config fallbacks for tools ## [0.24.0] - 2026-06-27 ### Features - Add pr_status, pr_logs, pr_label tools ## [0.23.4] - 2026-06-27 ### Bug Fixes - Add --auto-login to all notify_failure calls in workflows - Classify .gitea/** as user-facing for devx, support glob in user_facing_overrides ## [0.23.3] - 2026-06-27 ### Bug Fixes - Correct clean_images delete URL and add retry with error handling ## [0.23.2] - 2026-06-27 ### Bug Fixes - Add skip-ci flag to release commits and concurrency to build-images ## [0.23.1] - 2026-06-27 ### Bug Fixes - Add rsync to ci-full image for molecule_docker ## [0.23.0] - 2026-06-27 ### Features - Add devx-lint-dockerfiles to devx.mak, alias setup-image ### Refactor - Remove hadolint on-the-fly install from setup-image ## [0.22.1] - 2026-06-27 ### Bug Fixes - Checkout release tag in publish job - Fail lint-dockerfiles when hadolint is missing ## [0.22.0] - 2026-06-27 ### Features - Document CI_GITEA_TOKEN scopes and add CI_GITEA_USERNAME to env var table ## [0.21.2] - 2026-06-27 ### Bug Fixes - Gate auto-merge on release-dry-run and unmask failures ## [0.21.1] - 2026-06-27 ### Bug Fixes - Devx-setup-image configures Gitea PyPI registry and shows pip errors ## [0.21.0] - 2026-06-27 ### Features - Add --auto-login to publish, extract configure_tea_login to gitea_cli ### Bug Fixes - Publish job uses setup-release for build + tea login - Remove tag fallback step from release workflow ## [0.20.3] - 2026-06-27 ### Bug Fixes - Release publish failures and duplicate release commits ## [0.20.2] - 2026-06-27 ## [0.20.2] - 2026-06-27 ### Bug Fixes - Correct sed substitution in ci-full Dockerfile ## [0.20.1] - 2026-06-27 ### Bug Fixes - Correct image references in tier Dockerfiles ## [0.20.0] - 2026-06-27 ### Features - Add pre-built Docker runner images and tested image build/push tools ## [0.19.3] - 2026-06-26 ### Refactor - Make molecule weights configurable via pyproject.toml ## [0.19.2] - 2026-06-26 ### Bug Fixes - Calibrate molecule weights from actual CI execution times ## [0.19.1] - 2026-06-26 ### Refactor - Consolidate publish.yml into post-merge.yml ## [0.19.0] - 2026-06-26 ### Features - Add skip_ref_prefixes config to check_agent_docs ## [0.18.0] - 2026-06-26 ### Features - Extract generic tools into devx, expand devx.mak, remove personal references ## [0.17.0] - 2026-06-26 ### Features - Weighted LPT distribution, workflow fixes, decouple vikunja/sync-wiki from release ## [0.16.0] - 2026-06-26 ### Features - Single-source-of-truth config via [tool.devx] in pyproject.toml ## [0.15.0] - 2026-06-26 ### Features - Add create-task, create-pr, pre-push-check tools and devx.mak fragment ## [0.14.2] - 2026-06-26 ### Bug Fixes - Make repo arg optional in publish CLI, auto-detect from GITHUB_REPOSITORY ## [0.14.1] - 2026-06-25 ### Bug Fixes - Handle 'already a release' error idempotently in publish ## [0.14.0] - 2026-06-25 ### Features - Add FORCE_DEPLOY env var, --git flag, --from-tag flag ## [0.13.0] - 2026-06-25 ### Features - Add --force flag to classify_changes, fix api_clients coverage ### Bug Fixes - Squash-merge format uses space not colon after task ID - Revert squash-merge format to use colon after task ID ## [0.1.0] - 2026-06-25 ## [0.12.5] - 2026-06-25 ### Bug Fixes - Make PyPI publish failures non-fatal ## [0.12.4] - 2026-06-25 ### Bug Fixes - Pass REPO_TOKEN to setup-release so tea login is configured - Guarantee Gitea release for every tag ## [0.12.3] - 2026-06-25 ### Refactor - Remove JUnit reporting from devx ## [0.12.2] - 2026-06-25 ### Bug Fixes - Remove auto-rebase from auto-merge to prevent CI feedback loop ## [0.12.1] - 2026-06-25 ### Bug Fixes - Use heredoc syntax for multi-line $GITHUB_ENV values ## [0.12.0] - 2026-06-24 ### Features - Add Polish as officially supported language ## [0.11.1] - 2026-06-24 ### Bug Fixes - Add build/twine to ci deps, activate venv in notify_failure ## [0.11.0] - 2026-06-24 ### Features - Add publish step to post-merge release job, make publish idempotent ## [0.10.2] - 2026-06-24 ### Bug Fixes - Badge generation respects pyproject.toml testpaths, shows stdout in warnings ## [0.10.1] - 2026-06-24 ### Bug Fixes - Badge generation REPO_ROOT, auto-detect package, error feedback ## [0.10.0] - 2026-06-24 ### Features - Remove .taskid file fallback, use branch name only ### Bug Fixes - Use raw/branch/badges/ URLs for badges in README and docs ## [0.9.12] - 2026-06-24 ### Bug Fixes - Clean dist/ before build and add workflow_dispatch to publish ## [0.9.11] - 2026-06-24 ### Bug Fixes - Use raw/branch/badges/ URLs for badges in README and docs - Resolve repo_root from GITHUB_WORKSPACE or cwd ## [0.9.10] - 2026-06-24 ### Bug Fixes - Retrospective fixes for CI/CD friction ## [0.9.9] - 2026-06-24 ### Bug Fixes - Use DOCKER_HOST env var in is_docker_ready + scan all rootless sockets - Prefer branch name for task ID extraction + strip heads/ prefix in release - Filter non-version tags in release verification - Use explicit refspecs for git push to avoid tag/branch ambiguity ## [0.9.8] - 2026-06-24 ### Bug Fixes - Use DOCKER_HOST env var in is_docker_ready + scan all rootless sockets ## [0.9.7] - 2026-06-24 ### Bug Fixes - Add rootless socket fallback and GITHUB_ENV export ## [0.9.6] - 2026-06-24 ### Bug Fixes - Add Docker socket diagnostics to start_docker - Add Docker socket diagnostics to start_docker ## [0.9.5] - 2026-06-24 ### Bug Fixes - Use host Docker socket with DOCKER_HOST fallback to local dockerd - Use host Docker socket with DOCKER_HOST fallback to local dockerd ## [0.9.4] - 2026-06-24 ### Bug Fixes - Use separate Docker socket for DinD in CI ## [0.9.3] - 2026-06-24 ### Bug Fixes - Use tempfile for dockerd log to fix CI permission error ## [0.9.2] - 2026-06-24 ### Bug Fixes - Use vfs storage driver for Docker-in-Docker in CI ## [0.9.1] - 2026-06-23 ### Bug Fixes - Always start dockerd in CI runner for molecule tests ## [0.9.0] - 2026-06-23 ### Features - Extract Docker daemon start to tested Python module ## [0.8.5] - 2026-06-23 ### Bug Fixes - Retry pip install with --ignore-installed only on failure ## [0.8.4] - 2026-06-23 ### Bug Fixes - Add --ignore-installed to pip in CI to bypass debian packages ## [0.8.3] - 2026-06-23 ### Bug Fixes - Lower check_test_speed threshold to 4 seconds - Pass --break-system-packages to pip in CI environments ## [0.8.2] - 2026-06-23 ### Bug Fixes - Encode spaces in pair commands to survive shell word-splitting ## [0.8.1] - 2026-06-23 ### Bug Fixes - Set fresh MOLECULE_HOME per pair to avoid stale config cache ## [0.8.0] - 2026-06-23 ### Features - Fix molecule platforms to use sleep infinity, add --platforms-file ## [0.7.0] - 2026-06-23 ### Features - Add per-test timing quality gate to check_test_speed ## [0.6.0] - 2026-06-23 ### Features - Add opentofu helpers, CLI entry points, shared utility, and CI improvements ## [0.5.0] - 2026-06-23 ### Features - Add tag verification, idempotency, and --verify mode to release script ## [0.4.4] - 2026-06-22 ### Bug Fixes - Configurable task prefix and CWD-relative DOCS_DIR ## [0.4.3] - 2026-06-22 ### Bug Fixes - Expand DEFAULT_INFRASTRUCTURE to cover all common project files ## [0.4.2] - 2026-06-22 ### Bug Fixes - Make all warnings into errors across devx tools ## [0.4.1] - 2026-06-22 ### Bug Fixes - Correct version tags, changelog, and release script recovery ## [0.4.0] - 2026-06-22 ### Features - Add DEFAULT_INFRASTRUCTURE and configurable task prefix ## [0.3.0] - 2026-06-22 ### Features - Add --no-ansible-collections option to setup tool ## [0.2.0] - 2026-06-22 ### Features - Pluggable change classification framework ## [0.1.2] - 2026-06-22 ### Bug Fixes - Make sync-wiki and vikunja depend on release ## [0.1.1] - 2026-06-22 ### Bug Fixes - Disable push whitelist, allow direct pushes to master ## [0.1.0] - 2026-06-22 ### Features - Extract reusable dev/CI tools from GRM into devx package ### Bug Fixes - Use python3 and venv python in workflows and Makefile - Fix post-merge job failures (configure-repo, badges, notify-failure) - Allow release bot to push to protected master