ci: default workflow tokens to read-only contents - #1218
Merged
Conversation
jamadeo
marked this pull request as draft
August 25, 2026 18:43
7 tasks
jamadeo
force-pushed
the
jamadeo/restrict-workflow-token-defaults
branch
from
August 25, 2026 18:49
5a1cacb to
f8fff78
Compare
jamadeo
marked this pull request as ready for review
August 25, 2026 18:50
DaleSeo
approved these changes
Aug 27, 2026
jmagar
added a commit
to dinglebear-ai/rust-sdk
that referenced
this pull request
Sep 4, 2026
* fix: allow concurrent streamable http requests (modelcontextprotocol#1186) * fix: allow concurrent streamable http requests * fix: keep streamable http recovery responsive Keep cancellation and replies available while old session POSTs finish. Bound the wait for old POSTs and the replacement initialization handshake. Do not retry interrupted POSTs because the server may have processed them. Add regressions for recovery, queued cancellation, control timeouts, and server replies needed by active requests. * fix: preserve response and cancellation ordering * refactor: clarify streamable http control flow * fix: match stream responses against pending request ids Match responses against all pending requests before removing a stream registration. Keep distinct numeric and string ids separate while preserving the existing fallback for servers that stringify numeric ids. Add a mixed-id regression and keep a separate registration owner alive in the abandoned-cancellation test. * feat: make streamable http control timeouts configurable * fix(transport): fall back after sessionless HTTP discover rejections (modelcontextprotocol#1211) * fix(transport): fall back after HTTP discover rejection * fix(transport): limit legacy fallback to sessionless probes * style: apply nightly rustfmt import ordering * ci: pin GitHub Actions to commit SHAs (modelcontextprotocol#1216) * ci: scope release token permissions to jobs (modelcontextprotocol#1220) * ci: default workflow tokens to read-only contents (modelcontextprotocol#1218) * ci: remove coverage job write permission (modelcontextprotocol#1219) * ci: pin release-plz fork revision (modelcontextprotocol#1221) * feat: add request-state key rotation (modelcontextprotocol#1128) * feat: add request-state key rotation * docs: streamline request-state codec documentation * fix: harden request-state fallback verification * refactor: refine request-state keyring API * docs: make request-state rotation guidance self-contained * docs: streamline request-state keyring rustdocs * test: streamline request-state keyring coverage * docs: restore request-state key rotation doctest * chore: remove manual changelog entry * ci: reduce dependabot update noise (modelcontextprotocol#1184) * docs: use auto lifecycle in HTTP example (modelcontextprotocol#1187) * chore(deps): bump taiki-e/install-action from 2.85.13 to 2.86.7 (modelcontextprotocol#1230) Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.85.13 to 2.86.7. - [Release notes](https://github.com/taiki-e/install-action/releases) - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](taiki-e/install-action@82cd3e7...b6ff580) --- updated-dependencies: - dependency-name: taiki-e/install-action dependency-version: 2.86.7 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add typed custom request responses --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Nick Cooper <142361983+nickcoai@users.noreply.github.com> Co-authored-by: King Star <mcxin.y@gmail.com> Co-authored-by: Jack Amadeo <jackamadeo@block.xyz> Co-authored-by: camillelawrence <gocamille@users.noreply.github.com> Co-authored-by: Dale Seo <5466341+DaleSeo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.
Summary
Sets an explicit read-only
contentspermission default on workflows that previously relied on GitHub's repository-level token defaults. This allows checkout—including in the crates.io release job—while preventing implicit write access. Existing job-level grants remain unchanged for jobs that require additional permissions.Addresses the default token-permission findings tracked in #1215. Release-plz and the coverage job's explicit write permissions are reviewed separately.