From dfb5b7a06fb63af86937a71d140a056c768114a5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2026 17:59:27 +0000 Subject: [PATCH 1/3] Version Packages --- .changeset/bare-loopback-warn.md | 5 ----- .changeset/cursor-session-hook.md | 5 ----- .changeset/deeplink-oslog.md | 5 ----- .changeset/discovery-stanza.md | 5 ----- .changeset/recover-config-servers.md | 5 ----- .changeset/spotlight-labels.md | 5 ----- CHANGELOG.md | 30 ++++++++++++++++++++++++++++ Sources/DevCtlKit/Model/Models.swift | 2 +- package.json | 2 +- 9 files changed, 32 insertions(+), 32 deletions(-) delete mode 100644 .changeset/bare-loopback-warn.md delete mode 100644 .changeset/cursor-session-hook.md delete mode 100644 .changeset/deeplink-oslog.md delete mode 100644 .changeset/discovery-stanza.md delete mode 100644 .changeset/recover-config-servers.md delete mode 100644 .changeset/spotlight-labels.md diff --git a/.changeset/bare-loopback-warn.md b/.changeset/bare-loopback-warn.md deleted file mode 100644 index 5b0596a..0000000 --- a/.changeset/bare-loopback-warn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": patch ---- - -Warn in `config check` when a host or url uses bare `localhost` / `127.0.0.1` instead of a `.localhost` origin. diff --git a/.changeset/cursor-session-hook.md b/.changeset/cursor-session-hook.md deleted file mode 100644 index ce7a6e1..0000000 --- a/.changeset/cursor-session-hook.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": minor ---- - -Add Cursor sessionStart harness (`devctl hook install --harness cursor`) so Agent sessions get live `` context. diff --git a/.changeset/deeplink-oslog.md b/.changeset/deeplink-oslog.md deleted file mode 100644 index 54a0b7d..0000000 --- a/.changeset/deeplink-oslog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": minor ---- - -Open servers and run lifecycle verbs via `devctl://` URLs (menu bar app + `devctl link` / `devctl x-url`), with unified logging under subsystem `dev.quantizor.devctl`. diff --git a/.changeset/discovery-stanza.md b/.changeset/discovery-stanza.md deleted file mode 100644 index c8393e4..0000000 --- a/.changeset/discovery-stanza.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": patch ---- - -After `hook install`, print a one-bullet CLAUDE.md / AGENTS.md discovery tip for the project (paste-only; never auto-edits those files). diff --git a/.changeset/recover-config-servers.md b/.changeset/recover-config-servers.md deleted file mode 100644 index 959e033..0000000 --- a/.changeset/recover-config-servers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": patch ---- - -Restore config-defined servers after reboot and `daemon install` upgrades (merged config+registry recover; install re-ensures like restart). diff --git a/.changeset/spotlight-labels.md b/.changeset/spotlight-labels.md deleted file mode 100644 index a1638b3..0000000 --- a/.changeset/spotlight-labels.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"devctl": patch ---- - -Spotlight entries use ` · ` titles with a `devctl · ` subtitle for clearer discovery. diff --git a/CHANGELOG.md b/CHANGELOG.md index c6ba1d5..677ac7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog +## 1.2.0 +### Minor Changes + + + +- [#4](https://github.com/quantizor/devctl/pull/4) [`40d3e97`](https://github.com/quantizor/devctl/commit/40d3e9741f79b110e08d1ede6515c1ec4636e3c9) - Add Cursor sessionStart harness (`devctl hook install --harness cursor`) so Agent sessions get live `` context. + + + +- [#6](https://github.com/quantizor/devctl/pull/6) [`d5ebe80`](https://github.com/quantizor/devctl/commit/d5ebe80704003103c90a8693a53ea5ae044ca840) - Open servers and run lifecycle verbs via `devctl://` URLs (menu bar app + `devctl link` / `devctl x-url`), with unified logging under subsystem `dev.quantizor.devctl`. + + +### Patch Changes + + + +- [#6](https://github.com/quantizor/devctl/pull/6) [`46ab7b1`](https://github.com/quantizor/devctl/commit/46ab7b17bcf30cbbd336b7e3d7257b0b76586779) - Warn in `config check` when a host or url uses bare `localhost` / `127.0.0.1` instead of a `.localhost` origin. + + + +- [#6](https://github.com/quantizor/devctl/pull/6) [`4695414`](https://github.com/quantizor/devctl/commit/4695414a2995b0d6f0d3413a1c09c8ecd4e24903) - After `hook install`, print a one-bullet CLAUDE.md / AGENTS.md discovery tip for the project (paste-only; never auto-edits those files). + + + +- [#6](https://github.com/quantizor/devctl/pull/6) [`67d83e7`](https://github.com/quantizor/devctl/commit/67d83e7a569a55735f040ec20b2cf6cc5e3ad4c2) - Restore config-defined servers after reboot and `daemon install` upgrades (merged config+registry recover; install re-ensures like restart). + + + +- [#6](https://github.com/quantizor/devctl/pull/6) [`631a50f`](https://github.com/quantizor/devctl/commit/631a50fe59a6b620eb31d084a6357026e7353354) - Spotlight entries use ` · ` titles with a `devctl · ` subtitle for clearer discovery. + All notable changes to this project are documented here. Releases are tagged `vX.Y.Z` on GitHub (same scheme Changesets uses for this root package). diff --git a/Sources/DevCtlKit/Model/Models.swift b/Sources/DevCtlKit/Model/Models.swift index 1498497..b576d2a 100644 --- a/Sources/DevCtlKit/Model/Models.swift +++ b/Sources/DevCtlKit/Model/Models.swift @@ -4,7 +4,7 @@ import Foundation public enum DevCtlVersion { /** Wire protocol major version; clients abort on mismatch with `version-mismatch`. */ public static let proto = 1 - public static let version = "1.1.0" + public static let version = "1.2.0" } /** Lifecycle phase of a supervised server. `failed` means the spawn itself never diff --git a/package.json b/package.json index 000c769..ffb2a53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "devctl", - "version": "1.1.0", + "version": "1.2.0", "private": true, "description": "Version and changelog source of truth for GitHub releases (Swift product; not published to npm).", "repository": { From 8673fb449606e180d262408363ce9a71ce52f684 Mon Sep 17 00:00:00 2001 From: Evan Jacobs Date: Fri, 24 Jul 2026 14:00:52 -0400 Subject: [PATCH 2/3] fix(release): tidy changelog intro and sync lockfile version Keep the changelog preamble under the title, and make sync-version update package-lock.json so Version Packages stays consistent. --- CHANGELOG.md | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 677ac7d..a8e778a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,38 +1,22 @@ # Changelog -## 1.2.0 -### Minor Changes +All notable changes to this project are documented here. Releases are tagged +`vX.Y.Z` on GitHub (same scheme Changesets uses for this root package). +## 1.2.0 +### Minor Changes - [#4](https://github.com/quantizor/devctl/pull/4) [`40d3e97`](https://github.com/quantizor/devctl/commit/40d3e9741f79b110e08d1ede6515c1ec4636e3c9) - Add Cursor sessionStart harness (`devctl hook install --harness cursor`) so Agent sessions get live `` context. - - - - [#6](https://github.com/quantizor/devctl/pull/6) [`d5ebe80`](https://github.com/quantizor/devctl/commit/d5ebe80704003103c90a8693a53ea5ae044ca840) - Open servers and run lifecycle verbs via `devctl://` URLs (menu bar app + `devctl link` / `devctl x-url`), with unified logging under subsystem `dev.quantizor.devctl`. - ### Patch Changes - - - [#6](https://github.com/quantizor/devctl/pull/6) [`46ab7b1`](https://github.com/quantizor/devctl/commit/46ab7b17bcf30cbbd336b7e3d7257b0b76586779) - Warn in `config check` when a host or url uses bare `localhost` / `127.0.0.1` instead of a `.localhost` origin. - - - - [#6](https://github.com/quantizor/devctl/pull/6) [`4695414`](https://github.com/quantizor/devctl/commit/4695414a2995b0d6f0d3413a1c09c8ecd4e24903) - After `hook install`, print a one-bullet CLAUDE.md / AGENTS.md discovery tip for the project (paste-only; never auto-edits those files). - - - - [#6](https://github.com/quantizor/devctl/pull/6) [`67d83e7`](https://github.com/quantizor/devctl/commit/67d83e7a569a55735f040ec20b2cf6cc5e3ad4c2) - Restore config-defined servers after reboot and `daemon install` upgrades (merged config+registry recover; install re-ensures like restart). - - - - [#6](https://github.com/quantizor/devctl/pull/6) [`631a50f`](https://github.com/quantizor/devctl/commit/631a50fe59a6b620eb31d084a6357026e7353354) - Spotlight entries use ` · ` titles with a `devctl · ` subtitle for clearer discovery. -All notable changes to this project are documented here. Releases are tagged -`vX.Y.Z` on GitHub (same scheme Changesets uses for this root package). - ## 1.1.0 ### Patch Changes From 3fe4e8181a04562d6146c7cf4973f2b83876597e Mon Sep 17 00:00:00 2001 From: Evan Jacobs Date: Fri, 24 Jul 2026 14:01:04 -0400 Subject: [PATCH 3/3] fix(release): sync package-lock version with package.json Extend sync-version so Version Packages bumps keep the lockfile root version aligned. --- package-lock.json | 4 ++-- scripts/sync-version.mjs | 32 +++++++++++++++++++++++++------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24f485b..a505881 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "devctl", - "version": "1.1.0", + "version": "1.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "devctl", - "version": "1.1.0", + "version": "1.2.0", "license": "MIT", "devDependencies": { "@changesets/changelog-github": "^0.7.0", diff --git a/scripts/sync-version.mjs b/scripts/sync-version.mjs index c5080f6..e1247fc 100644 --- a/scripts/sync-version.mjs +++ b/scripts/sync-version.mjs @@ -1,7 +1,7 @@ #!/usr/bin/env node -/** Keep DevCtlVersion.version in lockstep with package.json after - `changeset version`. GitHub releases use package.json; the CLI/app - report the Swift constant. */ +/** Keep DevCtlVersion.version and package-lock.json root version in lockstep + with package.json after `changeset version`. GitHub releases use + package.json; the CLI/app report the Swift constant. */ import { readFileSync, writeFileSync } from "node:fs"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; @@ -24,8 +24,26 @@ if (after === before) { console.error("sync-version: DevCtlVersion.version declaration not found in Models.swift"); process.exit(1); } - console.log(`sync-version: already at ${version}`); - process.exit(0); + console.log(`sync-version: Models.swift already at ${version}`); +} else { + writeFileSync(swiftPath, after); + console.log(`sync-version: Models.swift -> ${version}`); +} + +const lockPath = join(root, "package-lock.json"); +const lock = JSON.parse(readFileSync(lockPath, "utf8")); +let lockChanged = false; +if (lock.version !== version) { + lock.version = version; + lockChanged = true; +} +if (lock.packages?.[""] && lock.packages[""].version !== version) { + lock.packages[""].version = version; + lockChanged = true; +} +if (lockChanged) { + writeFileSync(lockPath, `${JSON.stringify(lock, null, 2)}\n`); + console.log(`sync-version: package-lock.json -> ${version}`); +} else { + console.log(`sync-version: package-lock.json already at ${version}`); } -writeFileSync(swiftPath, after); -console.log(`sync-version: Models.swift -> ${version}`);