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"