Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/dmg-installer-stops-agent.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/jetsam-doctor-and-leftover-jobs.md

This file was deleted.

11 changes: 0 additions & 11 deletions .changeset/lock-stays-up-by-default.md

This file was deleted.

23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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 <resource> -- <command>` 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

Expand Down
2 changes: 1 addition & 1 deletion Sources/DirectaKit/Model/Models.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down