diff --git a/.changeset/dmg-installer-stops-agent.md b/.changeset/dmg-installer-stops-agent.md deleted file mode 100644 index 29764f4..0000000 --- a/.changeset/dmg-installer-stops-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"directa": patch ---- - -Replacing `/Applications/directa.app` from a mounted DMG now stops the background agent (the installer used to hang on that step) and quits after a successful copy, so the disk can be ejected. diff --git a/.changeset/jetsam-doctor-and-leftover-jobs.md b/.changeset/jetsam-doctor-and-leftover-jobs.md deleted file mode 100644 index 711968f..0000000 --- a/.changeset/jetsam-doctor-and-leftover-jobs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"directa": patch ---- - -`directa doctor` now warns when macOS killed the background daemon to free memory (jetsam), and when leftover server-process entries are still registered after that death. The daemon also cleans those leftovers up when it comes back, so they do not pile up across automatic restarts. diff --git a/.changeset/lock-stays-up-by-default.md b/.changeset/lock-stays-up-by-default.md deleted file mode 100644 index 3fc836e..0000000 --- a/.changeset/lock-stays-up-by-default.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"directa": major ---- - -`directa lock` now leaves the project's servers running by default, instead of stopping them for the duration of the command. Other commands still wait their turn for the named resource. If a running server has the locked files open, and the command changes those files, lock reports the mismatch (and by default fails) so the server cannot quietly write the old data back. - -Stopping those servers is now opt-in with `--pause`, which stops them for the command and starts them again when the lock is released. The old `--no-pause` flag is gone: a plain `directa lock -- ` now does what `--no-pause` used to. Drop `--no-pause` from scripts. Add `--pause` if the servers really need to be down. - -A lock that is only a name, with no `path` to the files it protects, cannot detect those changes. In that case lock warns on stderr and points to adding a `path` or using `--pause`. - -`directa up` will not start a stopped server that uses the locked resource while another command still holds the lock. Servers that are already running stay running. The same is true when the background daemon comes back after a crash. diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bcf653..2e6dab8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## 3.0.0 +### Major Changes + + + +- [#34](https://github.com/quantizor/directa/pull/34) [`e6bd7b6`](https://github.com/quantizor/directa/commit/e6bd7b6894844af8f1e406c29069eda7001bf7fe) - `directa lock` now leaves the project's servers running by default, instead of stopping them for the duration of the command. Other commands still wait their turn for the named resource. If a running server has the locked files open, and the command changes those files, lock reports the mismatch (and by default fails) so the server cannot quietly write the old data back. + + Stopping those servers is now opt-in with `--pause`, which stops them for the command and starts them again when the lock is released. The old `--no-pause` flag is gone: a plain `directa lock -- ` now does what `--no-pause` used to. Drop `--no-pause` from scripts. Add `--pause` if the servers really need to be down. + + A lock that is only a name, with no `path` to the files it protects, cannot detect those changes. In that case lock warns on stderr and points to adding a `path` or using `--pause`. + + `directa up` will not start a stopped server that uses the locked resource while another command still holds the lock. Servers that are already running stay running. The same is true when the background daemon comes back after a crash. + +### Patch Changes + + + +- [#34](https://github.com/quantizor/directa/pull/34) [`e6bd7b6`](https://github.com/quantizor/directa/commit/e6bd7b6894844af8f1e406c29069eda7001bf7fe) - Replacing `/Applications/directa.app` from a mounted DMG now stops the background agent (the installer used to hang on that step) and quits after a successful copy, so the disk can be ejected. + + + +- [#34](https://github.com/quantizor/directa/pull/34) [`e6bd7b6`](https://github.com/quantizor/directa/commit/e6bd7b6894844af8f1e406c29069eda7001bf7fe) - `directa doctor` now warns when macOS killed the background daemon to free memory (jetsam), and when leftover server-process entries are still registered after that death. The daemon also cleans those leftovers up when it comes back, so they do not pile up across automatic restarts. + ## 2.0.0 ### Major Changes diff --git a/Sources/DirectaKit/Model/Models.swift b/Sources/DirectaKit/Model/Models.swift index d435b6f..6dc50ac 100644 --- a/Sources/DirectaKit/Model/Models.swift +++ b/Sources/DirectaKit/Model/Models.swift @@ -4,7 +4,7 @@ import Foundation public enum DirectaVersion { /** Wire protocol major version; clients abort on mismatch with `version-mismatch`. */ public static let proto = 1 - public static let version = "2.0.0" + public static let version = "3.0.0" } /** Lifecycle phase of a supervised server. `failed` means the spawn itself never diff --git a/package-lock.json b/package-lock.json index b197142..434e242 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "directa", - "version": "2.0.0", + "version": "3.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "directa", - "version": "2.0.0", + "version": "3.0.0", "license": "MIT", "devDependencies": { "@changesets/changelog-github": "^0.7.0", diff --git a/package.json b/package.json index 7feb71c..7d0bf90 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "directa", - "version": "2.0.0", + "version": "3.0.0", "private": true, "description": "Version and changelog source of truth for GitHub releases (Swift product; not published to npm).", "repository": {