Commitb864d6baRecorded26 Apr 2026Repositorysigil-nrepl
Add Woodpecker CI; drop CHANGELOG.md
Message
- .woodpecker.yml: minimal pipeline that fetches the pinned sigil v0.14.0 release binary, runs sigil deps install, then sigil test on push + PR + manual triggers. Bump the pin via search/replace when a new release is cut. - Drop the inherited CHANGELOG.md per the no-CHANGELOG policy: release narrative now lives in annotated git tags. See procedures/library-release-conventions.
Changed
.woodpecker.yml | 29 +++++++++++++++++++++++++++++
CHANGELOG.md | 79 -------------------------------------------------------------------------------
sigil.lock | 11 ++++++-----
3 files changed, 35 insertions(+), 84 deletions(-)Diff
.woodpecker.ymladded
@@ -0,0 +1,29 @@
+1
# Woodpecker CI configuration for Codeberg+2
# https://docs.codeberg.org/ci/+3
#+4
# Library CI: fetch the pinned sigil release binary, install deps via+5
# from-git pins, run the test suite. Pinned to a specific monorepo+6
# release (rather than the rolling `dev`) so a flaky monorepo doesn't+7
# cascade across all extracted-repo CIs. Bump via search/replace when+8
# a new release is cut.+9
#+10
# Single-step on purpose: $HOME-rooted state from `sigil deps install`+11
# does not survive a Woodpecker step boundary, so fetch + deps + test+12
# must all run in the same container.+13
+14
when:+15
- event: [push, pull_request, manual]+16
+17
variables:+18
- &alpine_image "alpine:3.20"+19
+20
steps:+21
test:+22
image: *alpine_image+23
commands:+24
- apk add --no-cache curl ca-certificates git+25
- curl -fLo ./sigil https://codeberg.org/sigil/sigil/releases/download/v0.14.0/sigil-linux-amd64-static+26
- chmod +x ./sigil+27
- ./sigil --version+28
- ./sigil deps install+29
- ./sigil testCHANGELOG.mddeleted
@@ -1,79 +0,0 @@
−1
# Changelog−2
−3
Versions are synced with Sigil releases. A missing entry indicates no changes for that version.−4
−5
All notable changes to this project will be documented in this file.−6
−7
The format is based on [Keep a Changelog](https://keepachangelog.com/),−8
and this project adheres to [Semantic Versioning](https://semver.org/).−9
−10
## [0.6.0] - 2026-02-22−11
−12
### Added−13
−14
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.−15
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).−16
- Added higher-level UI components, css-sel compound selectors, Vinyl Vault demo application, and improved web API ergonomics including table actions, form loading, GET request handling, and error overlay fixes.−17
- Add Org Mode parser producing SXML output with support for headlines, metadata, source blocks, inline markup, links, lists, and property drawers.−18
- Added table parsing support to Org Mode parser.−19
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.−20
- Added R7RS compliance features: dynamic-wind, do syntax, datum labels, let-syntax, letrec-syntax, include/include-ci, import set modifiers (only, except, prefix, rename), cond-expand, features, syntax-error, bytevector ports, write-shared with datum labels, char-ready?, u8-ready?, interaction-environment, and (scheme time/process-context/repl) libraries.−21
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.−22
- Added package documentation.−23
- Add 7 new MCP tools for live browser control (web-morph, web-error, web-status, web-navigate, web-css-class, web-css-reload, web-exec) with supporting SSE events and dev helpers.−24
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).−25
- Added higher-level UI components, css-sel compound selectors, Vinyl Vault demo application, and improved web API ergonomics including table actions, form loading, GET request handling, and error overlay fixes.−26
- Added live-coding support via nREPL and SSE reload for real-time browser updates.−27
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.−28
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.−29
- Added package documentation for socket and websocket APIs.−30
- Added package documentation for socket and websocket APIs.−31
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.−32
- Add 7 new MCP tools for live browser control (web-morph, web-error, web-status, web-navigate, web-css-class, web-css-reload, web-exec) with supporting SSE events and dev helpers.−33
- Added live-coding support via nREPL and SSE reload for real-time browser updates.−34
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.−35
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.−36
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.−37
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.−38
- Added live-coding support via nREPL and SSE reload for real-time browser updates.−39
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.−40
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.−41
−42
### Fixed−43
−44
- Fixed SIGIL_NATIVES_MAX limit by increasing to 2048.−45
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.−46
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.−47
−48
### Other−49
−50
- Cache FNV-1a hash for string dict keys, avoiding repeated hash computation on dict lookups.−51
- Collect docstrings for variable definitions and propagate native doc strings through re-exports.−52
- Handle UTF-16 surrogate pairs in JSON unicode escapes. Reject bare low surrogates per RFC 8259.−53
- Support multi-form eval via eval-string and add runtime doc fallback for undocumented exports.−54
−55
## [0.1.0] - 2026-01-09−56
−57
### Other−58
−59
- Initial release of the test framework with assertions, test discovery, filtering, and formatted output.−60
- Initial release with TCP and UDP socket support for network programming.−61
- Core runtime providing a bytecode VM with incremental mark-sweep garbage collector, S-expression reader with extensible syntax, and hygienic macro system supporting syntax-rules and syntax-case. Native bindings for I/O, filesystem, networking, process management, SQLite, and cryptographic hashing.−62
- Initial release with SXML utilities for XML/HTML document construction and manipulation.−63
- JWT token encoding and verification with HS256 signing support.−64
- Model Context Protocol server implementation for building AI tool integrations with resources, tools, and prompts.−65
- SQLite database bindings with prepared statements, transactions, and result iteration.−66
- Initial release of the WebAssembly runtime for running Sigil applications in the browser via Emscripten.−67
- Initial release of changeset-based release management with version bumping, changelog generation, and git integration.−68
- Initial release of the interactive web playground for trying Sigil in the browser.−69
- Core standard library with (sigil core) providing pattern matching, records, delimited continuations, and utilities for arrays, dicts, strings, and lists. Includes modules for math operations, process spawning, time/date handling, filesystem access, and path manipulation. Nearly complete R7RS (scheme base) compatibility with additional modules for I/O, exceptions, generators, and coroutines.−70
- Static site generation with composable pipeline for Markdown files and module documentation.−71
- Initial release with Markdown parsing and frontmatter extraction.−72
- Initial release with ANSI escape code utilities for terminal colors, bold, dim, and other text formatting.−73
- Initial release with extensible hook system for REPL and application customization.−74
- CSS generation from Sigil code with selectors, properties, and stylesheet composition.−75
- Initial release of the code formatter with automatic indentation and parenthesis inference.−76
- Initial release with declarative command-line argument parsing, supporting options, flags, subcommands, and automatic help generation.−77
- Initial release of the build system with package management, dependency resolution, task execution, and executable bundling.−78
- Initial release of the network REPL server for editor integration and remote evaluation.−79
sigil.lockmodified
@@ -1,5 +1,11 @@
1
;; Auto-generated by sigil deps install. Do not edit. 2
(lock+3
(package name: "sigil-stdlib"+4
url: "codeberg:sigil/sigil-lang"+5
ref: "^0.14"+6
sha: "dba24e3fe531bc150bcf93444e764f87fb321850"+7
package-selector: "sigil-stdlib"+8
version: "0.14.1") 9
(package name: "sigil-repl" 10
url: "codeberg:sigil/sigil-repl" 11
ref: "^0.13.1"@@ -10,11 +16,6 @@
16
ref: "^0.13.1" 17
sha: "1aea1cecd3487bf07d071da2c1e7eb3cf4bbdb21" 18
package-selector: "sigil-socket")−13
(package name: "sigil-stdlib"−14
url: "codeberg:sigil/sigil-lang"−15
ref: "^0.13.1"−16
sha: "1aea1cecd3487bf07d071da2c1e7eb3cf4bbdb21"−17
package-selector: "sigil-stdlib") 19
(package name: "sigil-ansi" 20
url: "codeberg:sigil/sigil-ansi" 21
ref: "^0.13.1"