Skip to content

Topic

Dependency Pinning And Lock Files

Exact versions, recorded checksums and commit references as a bound on which code an install is allowed to fetch.

Current stories

buildOne report1 publisher

Once a workflow has an actions.lock entry, a moved tag no longer changes what GitHub Actions runs

GitHub's Actions lockfile, in public preview since October 2026, pins each action in a workflow to a commit SHA, DEV Community reports. A pinned commit that vanishes fails the run, so teams trade silent drift for hard errors.

Publishers:dev.to

Reality

Evidence30
Adoption
Not scored
Hype gap+20
Incentives
Not scored
Confidence35
buildOne report1 publisher

One API call decides whether your SHA pin still means what it says

SHA pinning drew a clean line through the tj-actions compromise, and then Dependabot began bumping hashes faster than anyone could read them. The claim worth enforcing is the version comment that nothing verifies.

Publishers:dev.to

Reality

Evidence62
Adoption
Not scored
Hype gap+15
Incentives40
Confidence58
buildOne report1 publisher

Unpinned Oracle JDK 21 images will install the first paid build after October 20

Oracle's October 20 patch makes JDK 21.0.13 the first JDK 21 build that needs a paid subscription for production use. Any image that tracks the latest Oracle build installs it on its next patch run, and the bill is counted per employee.

Publishers:dev.to

Reality

Evidence55
Adoption
Not scored
Hype gap+15
Incentives
Not scored
Confidence50
buildOne report1 publisher

Four AI coding agents check out a pinned commit without confirming where the tree landed

In AIR's Plugin4Shell research, a branch named after the hash you pinned wins the checkout in Claude Code, Codex, Copilot and Gemini CLI. The check that would catch it is one line of git, run on your disk.

Publishers:dev.to

Reality

Evidence34
Adoption27
Hype gap+45
Incentives58
Confidence33
buildOne report1 publisher

MCP's FastMCP rename breaks first in CI and on the newest contributor's laptop

The Python SDK's v2.0.0 moved mcp.server.fastmcp wholesale on July 28 and shipped no shim, so any project that wrote mcp>=1.0 pulls 2.x on the next fresh install. A second default quietly changed the name clients see.

Publishers:dev.to

Reality

Evidence62
Adoption28
Hype gap+18
Incentives58
Confidence57
buildOne report1 publisher

Resolving 31 action pins caught dependency-review-action's v3 tag two majors behind

Pinning a workflow to a commit SHA stops the tag moving under you, and resolving all 31 from the upstream repositories turned up an action whose v3 tag stopped moving at all while its releases reached v5.0.0.

Publishers:dev.to

Reality

Evidence64
Adoption28
Hype gap+8
Incentives72
Confidence55
buildOne report1 publisher

Two unpinned requirements lines broke a working MCP server on a fresh install

The MCP Python SDK renamed FastMCP in 2.x. Gemini's Interactions API stopped accepting the schema google-genai 1.x sends. Both arrived on a fresh install of unchanged code, and the mocked unit tests never noticed.

Publishers:dev.to

Reality

Evidence74
Adoption28
Hype gap+8
Incentives40
Confidence68
buildOne report1 publisher

Renaming FastMCP to MCPServer closes stdio before an unpinned server finishes its handshake

An AWS EC2 rig with mcp unbounded in requirements.txt picked up mcp 2.2.0 and stopped importing. The server edit is two lines; the pip resolver and the test suite's camelCase attribute reads are where the work sits.

Publishers:dev.to

Reality

Evidence72
Adoption30
Hype gap−8
Incentives35
Confidence68
buildOne report1 publisher

COSMolKit reads RDKit's C++ before it runs a single differential molecule

The project reports 2,931,581,192 matching checks over the full ChEMBL 37 structure table with zero blocking mismatch against a pinned RDKit 2026.03.1, and the pin is the line that sets your upgrade bill.

Publishers:dev.to

Reality

Evidence32
Adoption
Not scored
Hype gap+18
Incentives82
Confidence44