Skip to content

chore(release): 3.1.0 - #109

Merged
lelia merged 5 commits into
mainfrom
lelia/3-1-0-release-prep
Sep 2, 2026
Merged

chore(release): 3.1.0#109
lelia merged 5 commits into
mainfrom
lelia/3-1-0-release-prep

Conversation

@lelia

@lelia lelia commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Cuts 3.1.0, bundling everything merged since the v3.0.0 tag: #97, #98, #104, #105, #106, plus Dependabot #107/#108, and a refresh of the Socket-owned tool pins.

Why minor, not patch

Two independent reasons:

  1. New public surfacefeat: add pr_comment_enabled and pr_comment_collapse_all PR comment controls #97 adds the pr_comment_enabled and pr_comment_collapse_all action inputs, and fix: changed_files resolved to zero files in the Docker container action (git dubious ownership) #105 promotes scan_all to a declared input. New backward-compatible functionality is a MINOR bump.
  2. A previously-green pipeline can now fail — an unresolvable changed_files scope is now a configuration error rather than a silent green run. A patch release should be a safe drop-in; this isn't one for anyone whose diff-only setup is quietly broken.

Changes

Commit What
c52aed6 CHANGELOG.md entry for the bundled release
1306abb Socket-owned tool pin refresh
3f0ed2a prep_release.py output — version metadata, uv.lock, 74 doc references
493add1 app-tests: refresh socketsecurity index metadata on install
af893ed test: assert the pin rather than the RUN's formatting

Tool pins

Everything Socket controls is now current:

Tool Was Now
Socket npm CLI (socket) 1.1.154 1.1.165
Socket Python CLI (socketsecurity) 2.6.3 2.7.0
socketdev Python SDK 3.5.0 3.5.0 (already current)

Non-Socket drift (OpenGrep v1.26.0v1.29.0, TruffleHog 3.96.0v3.97.2) is not addressed here — deliberately out of scope for this release.

Testing

  • uv run --no-sync pytest -q339 passed
  • uv lock --locked — clean
  • python3 scripts/sync_release_version.py --check — in sync at 3.1.0
  • python3 scripts/check_release_docs.py --check — in sync at 3.1.0
  • python3 scripts/check_core_tools.py --mode watch — confirms the pin states above
  • Verified the doc rewrite touched only Socket Basics references; no third-party pins (checkout, Trivy, scanner versions) were rewritten
  • CI: 17/17 checks passing, including both heavy image arches and app-tests

Changelog accuracy

The changed_files entries were written against the merged code rather than the pre-merge PR descriptions, since #98 was rebased onto #105's design after the fact. Two claims that would otherwise have been carried over are corrected:

  • scan_all widening is not partial — every enabled scanner widens consistently on the failure path.
  • scan_all no longer overrides a successfully resolved changed_files scope; the resolved scope is now authoritative, which reverses the earlier precedence.

Release checklist

  • python3 scripts/prep_release.py --version 3.1.0 completed successfully
  • Release metadata and uv.lock are synchronized
  • Current-release references in README and docs are synchronized
  • CHANGELOG.md contains reviewed, human-authored notes for this version
  • Release PR will be merged before its merge commit is tagged

Covers #97, #98, #104, #105 and #106. Internal-only changes (#104, #106)
are collapsed into a short section; customer-facing changes keep the
detail needed to plan an upgrade, including the behavioral change where
an unresolvable changed_files scope now fails instead of scanning.
Socket npm CLI 1.1.154 -> 1.1.165 across all three images, matching the
current npm release. Socket Python CLI 2.6.3 -> 2.7.0 in the heavy and
app-tests images.

2.7.0 is NOT published to PyPI yet (latest is 2.6.11), so this is
scaffolding: the heavy and app-tests image builds and core-tool-watch
both fail until it lands. Keep this commit separate so it can be dropped
or held if the CLI release slips.

The socketdev Python SDK is already current at 3.5.0, so no change.
Version metadata, uv.lock, CHANGELOG date stamp, and 74 current-release
documentation references, via scripts/prep_release.py --version 3.1.0.
@lelia
lelia deployed to socket-firewall September 2, 2026 23:01 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall September 2, 2026 23:10 — with GitHub Actions Active
This install pins an exact version, so a stale cached uv index response
makes a freshly published release look like it does not exist. Use
--refresh-package for just this package rather than --no-cache, which
would discard the cache mount's benefit for bandit and built wheels.

Dockerfile.heavy already passes --no-cache-dir on its pip equivalent.
@lelia
lelia deployed to socket-firewall September 2, 2026 23:19 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall September 2, 2026 23:20 — with GitHub Actions Active
The assertion matched an exact literal, so it broke when the install
gained a --refresh-package flag and a line continuation even though the
version pin it guards was unchanged. Collapse continuations and match the
ARG-pinned spec after 'uv tool install' instead.

Verified the guard still fails for an unpinned spec and for a hardcoded
version that bypasses the ARG.
@lelia
lelia deployed to socket-firewall September 2, 2026 23:22 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall September 2, 2026 23:22 — with GitHub Actions Active
@lelia
lelia marked this pull request as ready for review September 2, 2026 23:28
@lelia
lelia requested a review from a team as a code owner September 2, 2026 23:28
@lelia
lelia deployed to socket-firewall September 2, 2026 23:28 — with GitHub Actions Active

@dc-larsen David Larsen (dc-larsen) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Verified this is release plumbing only:

  • Version bump 3.0.0 → 3.1.0 across pyproject.toml, socket_basics/version.py, uv.lock, action.yml image tag
  • Socket-owned pin refresh only (npm CLI 1.1.154 → 1.1.165, Python CLI 2.6.3 → 2.7.0); OpenGrep/TruffleHog drift left alone as stated
  • Doc/README reference sync, no third-party pins rewritten
  • app_tests/Dockerfile --refresh-package socketsecurity is the right fix for the stale index-metadata failure on a freshly published pin, and it's scoped to one package rather than dropping the cache mount
  • tests/test_check_core_tools.py still asserts the exact pin; only the line-continuation sensitivity was removed
  • CHANGELOG matches the merged behavior, including the changed_files fail-vs-green change that justifies MINOR
  • 17/17 checks passing

MINOR is the correct bump: new declared inputs plus a previously-green pipeline that can now fail.

@lelia
lelia merged commit 5b615c8 into main Sep 2, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants