Relock courier to sigil 0.18.2
Moves courier onto the 0.18.2 runtime for the guard/continuation fixes (silent exit 0 mid-program, handler corruption across suspension, escaped raises), the defects courier's long-standing silent-drop and send-duplication bugs are suspected to share.
Changes:
- sigil: ^0.17 -> ^0.18, and the existing explicit sigil-lib pin moves to ^0.18. That pin is load-bearing: without it, bumping
sigil:alone moves sigil-stdlib to 0.18.2 while leaving sigil-lib, the C runtime carrying the fix, at 0.17.x, andsigil deps installstill exits 0. - Import rename (sigil env) -> (sigil dotenv) in main.sgl. Sigil 0.18 renamed the stdlib module and reused the old name for an unrelated library, so the rename is the fix, not a new dependency.
- sigil-mcp pinned to ^0.17, whose server.sgl carries the same migration. The 0.17 line is the one requiring the 0.18 runtime; ^0.16 must NOT be used here, since the 0.16 line is reserved for 0.17 runtimes and would reintroduce a binary that cannot load.
sigil-test/-runner stay on ^0.17: sigil-tls and sigil-crypto, still on 0.16.x, declare them as dev-deps at ^0.17, so ^0.18 is unsatisfiable.
Lock resolves sigil-lib to 0.18.2 (sha 7e7c8873) and sigil-mcp to 0.17.0 (sha be7cf755).
Verified behaviourally: courier 0.3.9 (sigil 0.18.2), against a baseline binary that self-reported courier 0.3.9 (sigil 0.17.12).
Matched pair against the 0.17.12 baseline, identical on both sides: suite, 10 consecutive runs 82 passed / 0 failed, every run multi-relay stress, 20 runs 0/20 crashes poller heartbeat 4/4 checks
No test changed state. That is a statement about SUITE COVERAGE, not about the runtime fix: the suite was already non-flaky on 0.17.12 across 10 runs, so it does not exercise the silent-drop or duplication paths. Those are live-operation failures and remain open questions answerable only by running this build and watching it.
package.sgl | 13 +++++++++----
sigil.lock | 18 +++++++++---------
src/courier/main.sgl | 2 +-
3 files changed, 19 insertions(+), 14 deletions(-)package.sglmodified
url: "https://codeberg.org/sigil/courier" license: "BSD-3-Clause" authors: (list "David Wilson <david@daviwil.com>") sigil: "^0.17" sigil: "^0.18" entry: '(courier main) bundle-name: "courier" ;; sigil-lib (^0.14 from the retired sigil-lang repo) that the ;; transitive c-source packages (sigil-tls/sigil-crypto, via ;; sigil-telegram's ^0.14 chain) would otherwise derive. The 0.17 ;; native codegen needs 0.17 runtime headers to build libsigil.a. ;; native codegen needs matching runtime headers to build libsigil.a. ;; Bumped to ^0.18 for the 0.18.2 guard/continuation fix. This pin is ;; load-bearing: WITHOUT it, bumping only the `sigil:` field above moves ;; sigil-stdlib to 0.18.2 while leaving sigil-lib -- the C runtime that ;; carries the fix -- derived transitively at 0.17.x, and `sigil deps ;; install` still exits 0. Verify in sigil.lock, not here. (from-git url: "codeberg:sigil/sigil" package: "sigil-lib" version: "^0.17") package: "sigil-lib" version: "^0.18") (from-git url: "codeberg:sigil/sigil-json" version: "^0.16") (from-git url: "codeberg:sigil/sigil-log" version: "^0.16") (from-git url: "codeberg:sigil/sigil-socket" version: "^0.17") (from-git url: "codeberg:sigil/sigil-mcp" version: "^0.16") (from-git url: "codeberg:sigil/sigil-mcp" version: "^0.17") ; the 0.17 line REQUIRES the 0.18 runtime; ^0.16 must not be used here (from-git url: "codeberg:sigil/sigil-yaml" version: "^0.9.1") (from-git url: "codeberg:sigil/sigil-telegram" version: "^0.10.0"))sigil.lockmodified
(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil" ref: "^0.17" sha: "bd2a47b44bff2051073044046e000fd7f0e587ca" ref: "^0.18" sha: "7e7c8873d45338a8e892aa3982b6991d9a1fa5a5" package-selector: "sigil-stdlib" version: "0.17.12") version: "0.18.2") (package name: "sigil-lib" url: "codeberg:sigil/sigil" ref: "^0.17" sha: "bd2a47b44bff2051073044046e000fd7f0e587ca" ref: "^0.18" sha: "7e7c8873d45338a8e892aa3982b6991d9a1fa5a5" package-selector: "sigil-lib" version: "0.17.12") version: "0.18.2") (package name: "sigil-json" url: "codeberg:sigil/sigil-json" ref: "^0.16" version: "0.17.0") (package name: "sigil-mcp" url: "codeberg:sigil/sigil-mcp" ref: "^0.16" sha: "1a0175939d7841686cad8793ed5faa1d10602351" version: "0.16.4") ref: "^0.17" sha: "be7cf755df13f76b83695d6f3d8af12682470dbd" version: "0.17.0") (package name: "sigil-yaml" url: "codeberg:sigil/sigil-yaml" ref: "^0.9.1"src/courier/main.sglmodified
(import (sigil core) (sigil string) (sigil io) (sigil env) (sigil dotenv) (sigil async) (sigil fs) (sigil path)