fix(release): keep documentation versions in sync - #106
Merged
Conversation
Eric Hibbs (flowstate)
approved these changes
Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
scripts/check_release_docs.pyto check or rewrite current Socket Basics action and image references in README anddocs/**/*.md.scripts/prep_release.py, so manual release PRs mechanically update documentation alongside release metadata,uv.lock, andCHANGELOG.md.python-testsworkflow whenever release metadata, release tooling, README, or docs change.2.0.3to the current3.0.0release.Root cause
The former
.hooks/version-check.pycoupled documentation rewriting to an automatic version-bump flow. When that flow was removed in favor of human-authored release PRs, the useful docs-sync behavior disappeared with it. Release metadata advanced to3.0.0, but in-repo usage examples remained on2.0.3.Impact
Future release preparation updates known Socket Basics action tags, image tags, SHA-version comments, and related current-release prose before the release PR is opened. CI reports exact stale file and line locations and prevents a release or docs PR from silently reintroducing version drift. Scanner versions, third-party Action versions, and historical security guidance are not rewritten.
This remains a human-reviewed release flow: the tooling prepares and validates the diff but does not create tags, publish releases, or write across repositories.
Validation
python3 scripts/check_release_docs.py --check3.0.1— 73 references identified, no files writtenpython3 scripts/sync_release_version.py --checkuv lock --lockeduv run --no-sync pytest -q— 227 passedactionlint .github/workflows/python-tests.ymlzizmor .github/workflows/python-tests.yml— no findingsgit diff --checkNote
Low Risk
Changes are release/docs tooling and example version strings in documentation; no runtime scanner or auth logic is modified.
Overview
Restores mechanical alignment between the canonical release version in
pyproject.tomland current-release examples inREADME.mdanddocs/**/*.md(action tags, image tags, SHA comments, and related prose). This PR also normalizes 73 stale2.0.3references to3.0.0.Adds
scripts/check_release_docs.pywith--check/--writemodes. Matching is narrow: only Socket Basics action/image/tag patterns are updated; third-party pins (checkout, Trivy, scanner versions) stay untouched.scripts/prep_release.pynow invokes the docs writer during release prep, alongside existing version metadata anduv.locksync. The release PR checklist in.github/PULL_REQUEST_TEMPLATE.mdis simplified aroundprep_release.py.CI (
python-tests.yml) runs the read-only docs check when release tooling, README, or docs change, with expanded path filters. Regression tests intests/test_release_docs.pycover selective rewriting and prep-release integration.Reviewed by Cursor Bugbot for commit 11a3362. Configure here.