Agentic Skills

Plugin updates

Every release of the DevStride Claude Code plugin, newest first, and what each one changes for your team.

This page lists every release of the devstride Claude Code plugin, newest first, in plain terms: what you can now do, and what changed that you would notice. Releases that need you to act carry a warning.

To update, run /devstride:update, then /reload-plugins. To have Claude Code update the plugin for you, or to update by hand, see Staying in sync.

The full technical changelog is in CHANGELOG.md in the plugin's repository.

November 2026

3.45.0 — 2026-11-09

  • New, off by default: a release backstop for work that has waited too long on the release train. Releases still start whenever work is ready; this only catches work left waiting, for example overnight or when no session is running. Set release.backstop.maxWaitMinutes (15 to 1440, default 120) and release.backstop.mode. Run /devstride:release backstop on a schedule. It starts a release only when the oldest waiting work is older than the limit, no release is in progress and no release hold applies, and at most once per window across all your machines.
  • Start with mode: shadow, which records what it would have started and changes nothing. Switch to live once those records look right. The backstop needs a claims block with a get command; /devstride:doctor reports one that is missing.

3.44.3 — 2026-11-08

  • Fixed: with release clearance, a release no longer fails at its hand-back or heartbeat when the session's own keeper updates the clearance at the same moment. The plugin now waits a few seconds and retries before reporting a conflict.

3.44.2 — 2026-11-08

  • Internal reliability and maintenance changes; nothing to do.

3.44.1 — 2026-11-08

  • Fixed: a local review engine (review.localCommand or review.localAssistCommand) can no longer hang silently waiting for input. Before, a stuck review looked like a slow one.

3.44.0 — 2026-11-08

  • Session presence reports now say when the session last did anything (PRESENCE_ACTIVE_AT), so your presence command can tell a hung session from a busy one.

3.43.0 — 2026-11-08

  • Story claims, release clearance and presence reports now name the machine and the session the same way everywhere. The machine is DEVSTRIDE_MACHINE_NAME when set, otherwise the hostname without .local, in lower case.
  • If your own tooling matches machine names from presence reports or clearance records, expect their spelling to change once.

3.42.0 — 2026-11-08

  • Every running session can report itself, not only those holding a claim. Name a command in the new presence block (presence.command, optional presence.intervalMinutes, default 5) and the plugin runs it at session start, on prompts, while Claude waits for you, at session end and on an interval. Without the block nothing changes.

3.41.0 — 2026-11-08

  • Before it merges, build-item checks the final diff for changes that could cost money, remove something callers still use, cut off someone's access or break a published interface. When it finds one, it posts a DevStride comment that @-mentions the item's creator. It is a notice, not a gate.
  • Configure it with the new consequenceNotices block (enabled, notify, categories). /devstride:doctor checks it.

3.40.0 — 2026-11-08

  • When a story ships differently from its description, build-item now records the as-built description through DevStride, which also updates every linked Knowledge Base spec, or marks it out of sync. The original description is still kept in a comment.

3.39.0 — 2026-11-08

  • A settled review now leaves a devstride/reviewed commit status on GitHub. An epic may carry migrations or deploy configuration onto the release train only when its merged head carries that proof; a branch name alone no longer counts.

3.38.0 — 2026-11-08

  • One merge gate for every merge: the loop merges only when every required check is green on the exact reviewed commit, with no open review threads or change requests. An admin merge can no longer skip a red check, a conflict, an out-of-date branch or a missing approval.
  • A review in which no engine returned a result (a crash, timeout or empty output) now fails instead of settling. One-offs reviewed locally before this release are reviewed again before they land.

3.37.0 — 2026-11-07

  • The owner's written standing yes can now cover full releases (release.fullRelease). A release at its reviewed head with every gate green merges and deploys without an in-the-moment yes, provided every migration it adds or changes is in the owner's approvedMigrations list. Anything else still asks.

3.36.0 — 2026-11-07

  • Release holds: put Release hold: not before <date> or Release hold: after <item> is live in an item's description to keep its work off the release path. Dates use release.holdTimeZone (default UTC).

3.35.0 — 2026-11-07

  • Run a full local review on its own with /devstride:review local-full <base>. A one-off over the small-fix limit lands on the release train only when such a review is recorded at exactly its head, and your own landing tooling can run the same check.

3.34.0 — 2026-11-07

  • With releaseTrain.smallFixes set, a one-off that is not a small fix gets a full local review (Claude plus your CLI engine) before it lands on the release train, instead of waiting for the release's pull request. It adds no CI runs.

3.33.0 — 2026-11-07

  • With release clearance, the time a release waits for the owner's go-ahead is now its own phase (final), so the stuck alarm no longer counts that wait.
  • Fixed: a story merged onto an epic, plan or train branch is no longer marked Done before it reaches the base branch.

3.32.0 — 2026-11-07

  • A one-off merged onto the release train now moves to the merged status (Review by default), so the board shows it is waiting for a release. It becomes Done when the release ships it.
  • Fixed: a release no longer fails trying to start from a train branch that is not on origin. A renamed train is named, with the commands that finish the rename.

3.31.0 — 2026-11-05

  • Fixed: renaming releaseTrain.branch no longer creates a second, empty train beside the old one. The loop keeps using the existing train and tells you how to finish the rename.

3.30.0 — 2026-11-05

  • Opt-in plan-scope releases: a Release scope: plan line on a plan root collects each epic on a plan integration branch (planIntegrationBranches.pattern) and releases the whole plan together once nothing is left.

3.29.0 — 2026-11-04

  • release.autoStart.enabled (with a claims block) lets a train landing or a finished release start the next release automatically, with exactly one session winning.
  • release.lightRelease.standingYes merges a light release on the owner's standing yes when it is identical to its reviewed tree. Both default to off.

3.28.0 — 2026-11-04

  • A release-only pre-ship check with runAt: "train" runs on the release-train snapshot before the train merges, and is not repeated later on the same snapshot.

3.27.0 — 2026-11-04

  • release.clearance.scope: "cut-to-deploy" holds release clearance only from the cut to a confirmed deploy, so the next release can start sooner. The post-deploy result is posted as a release/post-deploy commit status, and the next release will not merge until it is green.
  • /devstride:release post-deploy only finishes a post-deploy check whose session stopped.

3.26.0 — 2026-11-04

  • The status line is now two lines labelled with symbols: where you are, then what is in flight. It redraws every 30 seconds.
  • A running session now hears about a newer plugin: Claude tells you to run /reload-plugins, or asks whether to run /devstride:update. Turn it off with plugin.updateCheck: false.

3.25.0 — 2026-11-04

  • /devstride:setup agents creates an Active Agents board, tag and shared view in DevStride after your typed yes, and writes the activeAgents block. build-item then places each plan root it works on that board and runs your start and end commands. /devstride:doctor agents checks the setup.

3.24.0 — 2026-11-04

  • create-story deferred <item#> parks a postponed follow-up in the same container under the plan root as deferred bugs. Deferred items are dated after the plan, and the closing report lists what is still open there.
  • The default container title is now Deferred; containers named Deferred defects are still found. List other old titles in defects.deferredContainerLegacyTitles.

3.23.1 — 2026-11-03

  • Internal reliability and maintenance changes; nothing to do.

3.23.0 — 2026-11-03

  • releaseTrain.smallFixes (maxFiles, maxChangedLines): a small one-off on the release train skips its separate review pass. The train's pull request stays the batch's one full review and one CI run.
  • releaseTrain.lateArrivals: "restart" absorbs a one-off that lands while the train's pull request is under review, and reviews the whole snapshot again.

3.22.0 — 2026-11-03

  • The support train is now the release train: the config key is releaseTrain (supportTrain is still read), and snapshot branches are named release-train-<date>.
  • A reviewed epic can now carry migrations and infrastructure on the train; only unreviewed work is held to the exclusion paths. New optional keys: release.migrationRenumber and release.devDeployVerification.

3.21.0 — 2026-11-03

  • Story claims: with a claims block ({ "provider": "devstride" }, or your own commands), build-item claims each story before starting it, so two agents on two machines never build the same one. A story another agent holds is skipped.
  • release.clearance.provider: "devstride" keeps release clearance in DevStride instead of a git ref. /devstride:doctor checks both.

3.20.0 — 2026-11-02

  • Ten step skills: each hook the release loop calls (update-docs, pre-ship, post-deploy, classify-release, pre-merge-check and others) can be run again on its own by name after a failure.
  • New optional keys: docs.knowledgeBaseSyncSkill, release.classifySkill, release.preMergeSkill, and pool.checkout with pool.checkin (set both or neither).
  • pre-ship accepts --skip <name> (an explicit waiver) and --only <names>.

3.19.0 — 2026-11-02

  • .claude/ds-config.json now has a published JSON Schema. /devstride:doctor and setup check your config against it and warn about unknown keys with the key you probably meant. Add a top-level "$schema" for editor completion, and list your own tools' key prefixes in repoLocalKeys.

3.18.1 — 2026-11-02

  • Internal reliability and maintenance changes; nothing to do.

3.18.0 — 2026-11-01

  • /devstride:doctor no longer blocks a /devstride:build-item in the same session, and finishes every section even when the plugin is behind. Its seven-day CI audit is now opt-in (/devstride:doctor ci --audit).
  • Fixed: the session-start hook no longer leaves .claude/statusline.sh modified when your branch already carries the newer copy, and no longer leaves a .bak file in the work tree. The update check no longer fails with installed-payload-mismatch.

October 2026

3.17.0 — 2026-10-31

  • The status line shows when a session runs an older plugin than it could: in red with /reload-plugins when a newer copy is installed, in yellow with /devstride:update when a newer release is published. Hide it with the plugin key in statusLine.hiddenSegments.

3.16.0 — 2026-10-31

  • With release clearance, a release hands clearance back as soon as the next release could safely start, once the post-deploy check passes. Documentation and release notes finish afterwards, and any work still owed shows in the clearance status.
  • Stuck-phase alarm: release.clearance.phaseBudgetMinutes flags a release whose phase runs past its budget.
  • A post-deploy check can add a close-out mode for longer work that nothing else waits on.

3.15.1 — 2026-10-30

  • Fixed: skills use DevStride's current "status" and "workstream" names instead of the retired "lane" and "folder" aliases.

3.15.0 — 2026-10-30

  • release.deployApproval: a command that approves a production deploy waiting behind a protected environment or manual gate, so the owner's yes to the release also approves its deploy.

3.14.0 — 2026-10-30

  • review.localEffort (initial, followUp, safety) sets the local CLI engine's reasoning effort for each kind of review round.
  • A one-off that lands on the train after the release took its snapshot can be absorbed into that release on the owner's instruction, with its own full review.

3.13.0 — 2026-10-29

  • Opt-in release economies: release.productionReview skips a second full review when the production pull request's tree matches what was already reviewed, checking only high-risk paths. onlyWhenTouched runs a release-only pre-ship check only when the release touches its paths. release.syncWorkflow waits for your own production-to-source sync workflow.
  • Fixed: status-line cached values now expire correctly on Linux machines with the newer stat.

3.12.0 — 2026-10-19

  • The enterprise delivery profile is retired. Three profiles remain: prototype, standard and extended.

3.11.0 — 2026-10-18

  • Release clearance: with release.clearance ({ "provider": "github" }, or your own commands), only one release runs at a time across every machine and person. Others wait and are told who holds it. Hotfixes are never blocked.
  • The status line gains a Release segment, and setup ci can add a release-tower check that orders release pull requests.

3.10.0 — 2026-10-06

  • An epic's stories are marked Done when the epic is released, not when they merge onto its integration branch. Until then they sit in a merged status (epicIntegrationBranches.mergedStatusName, default Review).
  • A story named by number is never built twice, and a release nobody closed out is finished by the next run.
  • Minor review findings are dismissed with a reason instead of being filed as deferred work.

3.9.0 — 2026-10-02

  • Where an item lands (its epic's branch, the train or the base branch) is decided by one script that your own tooling can run and test against.
  • Fixed: an epic integration branch created under an older naming is found again, instead of a second one being cut.

3.8.0 — 2026-10-01

  • release.releaseBranchPattern cuts each release as its own protected branch, so the source keeps taking merges while the release is reviewed.
  • supportTrain.branch lets one-off work ride a long-lived train branch and ship in batches.
  • A cloud reviewer can be asked once, at the final head, with requestPolicy: "final-head".

September 2026

3.7.0 — 2026-09-28

  • A cloud reviewer can be limited to pull requests into chosen branches with baseBranches, for example ["main"] for a reviewer you pay for per use.

3.6.0 — 2026-09-27

  • New extended delivery profile for coarser, multi-hour stories, with the same safety floors as standard.
  • Every loop skill now reads as a goal, its rules and its hard floors instead of a numbered script. What each one guarantees is unchanged; nothing to do.

3.5.1 — 2026-09-11

  • Fixed: /devstride:update runs as written, including for project installs across checkouts and worktrees. Project scope is now the recommended install.

3.5.0 — 2026-09-11

  • Setup and doctor check that your local review engine runs read-only, and fail a command missing its sandbox flag with the exact fix. codex review is now a second supported Codex engine.
  • Planning and delivery commands can no longer be mixed in one session. Use --same-session, or set session.jobClassGate: false, to allow it.
  • Deferred defects are filed in a container beside the plan (defects.deferredContainerTitle), and epicIntegrationBranches.autoRelease accepts "ask".

3.4.2 — 2026-09-08

  • Recaps of finished work now describe what a person experiences, in plain language, rather than how the code does it.

3.4.1 — 2026-09-03

  • Fixed: release no longer skips the deploy confirmation when a post-deploy check is configured.

3.4.0 — 2026-09-02

  • review.mandatoryLenses forces your own review lens onto your own risk paths: each entry names path globs and the question a reviewer must answer for every changed hunk.

3.3.0 — 2026-09-02

  • build-item and release fetch first and check what others have landed before acting.
  • New release.postDeployCheckSkill: a local skill that checks production after a deploy and can stop a release for a rollback decision. localEnvironment.fetchOnSessionStart tells you at session start when your branch is behind.

August 2026

3.2.0 — 2026-08-29

  • The local review engine works with any CLI that meets its contract, such as Grok, Gemini, DeepSeek or a local open-weight model. Setup always offers to name another; Codex stays the default.

3.1.1 — 2026-08-29

  • Fixed: status-line values no longer render invisibly on themes where bright black matches the background.

3.1.0 — 2026-08-29

  • New /devstride:update updates the installation in use and verifies it. /reload-plugins usually activates the new version without a restart.

3.0.0 — 2026-08-29

  • Planning and building follow one engineering-economy rule (reuse before building, nothing speculative), with model effort sized to each task. Optional review.localAssistCommand asks for a second opinion on hard calls.
  • Routine stories get a bounded risk check, and full adversarial review runs at merge boundaries. CI runs once, last, on the final reviewed head.

2.8.0 — 2026-08-28

  • /devstride:doctor now offers to fix what it found, after the full report, with one question for the batch.
  • The session-start hook keeps the repository's status line current; opt out with statusLine.autoUpdate: false. Record segments that do not apply in statusLine.hiddenSegments.

2.6.0 — 2026-08-28

  • A stage block (resolve, productionStages) tells the loop which deployment stage a checkout points at. release names it at the production gate, and branch-hotfix stops before touching a production stage's database.
  • setup can write the repository a status line.

2.5.0 — 2026-08-27

  • Internal reliability and maintenance changes; nothing to do.

2.4.0 — 2026-08-27

  • Cheaper reviews: a follow-up local review round reads only the fixes (review.localReReviewScope), and the wait for a cloud reviewer is learned per reviewer (review.adaptiveReviewerWait).

2.3.0 — 2026-08-27

  • localEnvironment.recreateMode and localEnvironment.instanceName tell branch-hotfix how your recreate command behaves, so a hotfix always ends in a working local instance.

2.2.0 — 2026-08-27

  • localEnvironment.recreate lets branch-hotfix rebuild a local instance from the production base instead of leaving its schema ahead of the code. It stops and asks when there is no safe path.

2.1.0 — 2026-08-27

  • Fixed: doctor and setup now say when a CI "skip identical tree" step is present but cannot fire.

2.0.0 — 2026-08-26

  • ci.expectedRunsPerPullRequest now counts runs per workflow, not across all workflows.
  • Fixed: the loop recovers from a GitHub stall in which a pull request marked ready starts no CI run.

1.2.0 — 2026-08-26

  • The plugin tells you at session start when a newer version exists. New plugin block: updateCheck, autoUpdate and pin.
  • New localEnvironment block describes how your repository stands up an isolated local instance.

1.1.0 — 2026-08-26

  • New /devstride:ci-audit measures executed CI runs and minutes. setup ci offers CI-cost changes to your workflows and applies only the ones you accept.

1.0.0 — 2026-08-26

  • release now hands documentation to a local skill in your repository (docs.updateSkill) after the deploy is confirmed. Release notes are opt-in with --release-notes.

0.10.0 — 2026-08-25

  • Delivery profiles (prototype, standard, enterprise) set how much rigor the loop spends on each item, through the new profile and profileOverrides keys. New /devstride:rebalance <root> <profile> re-slices a live plan to another profile.

0.9.0 — 2026-08-18

  • Setup and doctor suggest branch roles from the branches that exist on origin (main, develop and similar).
  • Prompts say "parent item" instead of "container".

0.8.1 — 2026-08-18

  • Internal reliability and maintenance changes; nothing to do.

0.8.0 — 2026-08-18

  • A ds marketplace entry lets you install as ds@devstride; commands stay /devstride:<skill>. Install one entry or the other, never both.
  • Fixed: CI draft-gate checks no longer fail repositories whose hold works.

0.7.0 — 2026-08-18

  • New /devstride:setup inspects your repository, proposes .claude/ds-config.json with the evidence for each value, asks only what it could not settle, then validates the result by running it.

0.6.0 — 2026-08-17

  • New /devstride:doctor: a read-only check of every loop prerequisite, with the fix for each problem it finds.

0.5.0 — 2026-08-17

  • These config keys now take effect: itemTagFormat, review.localReviewerName, epicIntegrationBranches.slugRule and epicIntegrationBranches.releaseTarget.

0.4.3 — 2026-08-17

  • Internal reliability and maintenance changes; nothing to do.

0.4.2 — 2026-08-17

  • Fixed: ultracode-build now reads verify.testSingle to run the touched test suite.

0.4.1 — 2026-08-17

  • Internal reliability and maintenance changes; nothing to do.

0.4.0 — 2026-08-17

  • Fixed six loop defects: pre-ship checks run before a pull request is marked ready, push includes new files, inserted stories are wired into the plan, and rationalize-gantt stops on a dependency cycle.

0.3.4 — 2026-08-17

  • Documentation fixes: the pinning and unpinning recipes now reinstall the plugin, and per-marketplace auto-update is documented.

0.3.3 — 2026-08-17

  • Pinning is simpler: append @<tag> to the marketplace source.

0.3.2 — 2026-08-17

  • Documentation fix: updating takes claude plugin marketplace update devstride and claude plugin update devstride@devstride, then a restart.

0.3.1 — 2026-08-17

  • Added the changelog and documentation on versioning, updates and pinning.

0.3.0 — 2026-08-17

  • The DevStride MCP server is bundled with the plugin. You sign in once through the browser, and no credential is stored.

0.2.0 — 2026-08-17

  • The first fifteen delivery-loop skills, run as /devstride:<name>: planning (plan, comprehend-plan, insert-story, insert-defect, rationalize-gantt) and delivery (build-item, ultracode-build, review, pr, push, branch-feature, branch-hotfix, create-story, create-defect, release).

0.1.0 — 2026-08-17

  • Initial release of the plugin package, with no skills yet.