Commitbe7cf755Recorded3 Aug 2026Repositorysigil-mcp
Bump sigil-mcp to 0.17.0 and declare the 0.18 runtime floor
Message
The (sigil env) -> (sigil dotenv) migration landed in 0.16.5, which made sigil-mcp require the Sigil 0.18 runtime. That requirement was never declared: the manifest still said sigil: "^0.16", and the version sat on the 0.16 line where every ^0.16 pin resolves to it. Consumers on 0.17 runtimes therefore pick up code that cannot load, and the failure is silent until the binary is run.
Metadata only, no source change: version: 0.16.5 -> 0.17.0 so ^0.16 can no longer resolve it sigil: ^0.16 -> ^0.18 so the manifest states the real floor
Release notes for the tag are drafted in RELEASE-NOTES-v0.17.0.md. That file is tagging scaffolding and should be deleted once the tag is cut.
Changed
RELEASE-NOTES-v0.17.0.md | 37 +++++++++++++++++++++++++++++++++++++
package.sgl | 4 ++--
sigil.lock | 6 +++---
3 files changed, 42 insertions(+), 5 deletions(-)Diff
RELEASE-NOTES-v0.17.0.mdadded
@@ -0,0 +1,37 @@
+1
sigil-mcp now requires the Sigil 0.18 runtime+2
+3
This release moves sigil-mcp onto the 0.18 runtime. It carries no new features and+4
no behaviour changes: the version jump exists to state a runtime requirement that+5
0.16.5 already had but did not declare. Sigil 0.18 renamed the stdlib module+6
`(sigil env)` to `(sigil dotenv)`, and sigil-mcp imports it for `load-env-file!`.+7
Because no 0.17.x runtime provides `(sigil dotenv)`, this code cannot run on one.+8
+9
Pin `sigil-mcp` at `^0.17` only if your project runs on Sigil 0.18 or newer. If you+10
are still on a 0.17 runtime, stay on the 0.16 line, which v0.16.6 restores to a+11
working state.+12
+13
## Changes+14
+15
- Declares the real runtime floor: the package manifest now says `sigil: "^0.18"`+16
instead of the inaccurate `^0.16` inherited from 0.16.5.+17
- No source changes. The `(sigil env)` to `(sigil dotenv)` migration itself landed+18
in 0.16.5; this release only versions it honestly.+19
+20
## Upgrade notes+21
+22
The failure mode this release prevents is quiet, so it is worth stating plainly.+23
Building sigil-mcp 0.16.5 against a 0.17 runtime SUCCEEDS. Dependency resolution+24
exits 0, the build exits 0 and prints a bundle summary, and the resulting binary+25
then dies at startup:+26
+27
$ sigil build apiary -c release --backend bytecode --force+28
Bundle created: build/release/bin/apiary+29
74 modules, 2.1 MB+30
$ ./build/release/bin/apiary --version+31
Error loading entry module (apiary main): module-import: library not found: (sigil dotenv)+32
+33
Nothing in the build output is false. It simply is not about whether the program+34
runs. Verify an upgrade by running the binary, not by reading the build log.+35
+36
Consumers on Sigil 0.18 or newer should move their pin from `^0.16` to `^0.17`.+37
Consumers still on a 0.17 runtime should pin `^0.16` and take v0.16.6.package.sglmodified
@@ -7,8 +7,8 @@
7
8
(package 9
name: "sigil-mcp"−10
version: "0.16.5"−11
sigil: "^0.16"+10
version: "0.17.0"+11
sigil: "^0.18" 12
description: "Library for building MCP servers in Sigil" 13
url: "https://codeberg.org/sigil/sigil-mcp" 14
license: "BSD-3-Clause"sigil.lockmodified
@@ -2,10 +2,10 @@
2
(lock 3
(package name: "sigil-stdlib" 4
url: "codeberg:sigil/sigil"−5
ref: "^0.16"−6
sha: "136c07b8cf1547ddd2d96a450df45a17e5ae6665"+5
ref: "^0.18"+6
sha: "7e7c8873d45338a8e892aa3982b6991d9a1fa5a5" 7
package-selector: "sigil-stdlib"−8
version: "0.16.2")+8
version: "0.18.2") 9
(package name: "sigil-json" 10
url: "codeberg:sigil/sigil-json" 11
ref: "^0.16"