Commit34b14841Recorded26 Apr 2026Repositorysigil-docs

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    | 123 ---------------------------------------------------------------------------------------------------------------------------
 sigil.lock      |  12 ++++++------
 3 files changed, 35 insertions(+), 129 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 test
CHANGELOG.mddeleted
@@ -1,123 +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.7.0] - 2026-03-01
−11
−12
### Added
−13
−14
- Added procedure specifications with inline (: ...) syntax, optional runtime checking via sigil-checks feature, and predicate combinators (any-of, maybe, list-of, none-of).
−15
- Added procedure specs and docstrings to all exported procedures.
−16
- Added procedure specs and docstrings to all exported procedures.
−17
- Added define-native compiler form for declaring native C bindings in Scheme modules with optional specs and docstrings.
−18
- Added VM-level exception handler stack for tail-optimized guard semantics, replacing prompt-based exception handling.
−19
- Added multi-VM threading with share-nothing architecture, message passing, and parallel-map for data-parallel workloads.
−20
- Added preemptive yield points at loop back-edges to prevent CPU-bound tasks from starving the async scheduler.
−21
- Added procedure specifications with inline (: ...) syntax, optional runtime checking via sigil-checks feature, and predicate combinators (any-of, maybe, list-of, none-of).
−22
- Added procedure specs and docstrings to all exported procedures.
−23
- Added procedure specs and docstrings to all exported procedures.
−24
- Added procedure specs and docstrings to all exported procedures.
−25
- Added immediate-mode terminal UI toolkit with native C grid, layout system, component rendering, event parsing, text input, and chat demo application.
−26
- Added procedure specs and docstrings to all exported procedures.
−27
- Added procedure specs and docstrings to all exported procedures.
−28
- Added procedure specs and docstrings to all exported procedures.
−29
- Added procedure spec display in MCP search and exports tool output.
−30
- Added streaming HTTP download support with binary-safe reads and file serving with Range request support.
−31
- Added procedure specs and docstrings to all exported procedures.
−32
- Added procedure specs and docstrings to all exported procedures.
−33
−34
### Changed
−35
−36
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.
−37
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.
−38
−39
### Fixed
−40
−41
- Fixed false positive capture corruption check in serializer, Windows build issues with mingw macro collision and unix-connect, closure arity errors now catchable by guard, and exception handler double-pop segfault.
−42
- Fixed sigil docs api command and added procedure spec signatures to generated API documentation.
−43
−44
## [0.6.0] - 2026-02-22
−45
−46
### Added
−47
−48
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
−49
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).
−50
- 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.
−51
- Add Org Mode parser producing SXML output with support for headlines, metadata, source blocks, inline markup, links, lists, and property drawers.
−52
- Added table parsing support to Org Mode parser.
−53
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
−54
- 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.
−55
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
−56
- Added package documentation.
−57
- 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.
−58
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).
−59
- 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.
−60
- Added live-coding support via nREPL and SSE reload for real-time browser updates.
−61
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
−62
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
−63
- Added package documentation for socket and websocket APIs.
−64
- Added package documentation for socket and websocket APIs.
−65
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
−66
- 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.
−67
- Added live-coding support via nREPL and SSE reload for real-time browser updates.
−68
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
−69
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.
−70
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
−71
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
−72
- Added live-coding support via nREPL and SSE reload for real-time browser updates.
−73
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
−74
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.
−75
−76
### Fixed
−77
−78
- Fixed SIGIL_NATIVES_MAX limit by increasing to 2048.
−79
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.
−80
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.
−81
−82
### Other
−83
−84
- Cache FNV-1a hash for string dict keys, avoiding repeated hash computation on dict lookups.
−85
- Collect docstrings for variable definitions and propagate native doc strings through re-exports.
−86
- Handle UTF-16 surrogate pairs in JSON unicode escapes. Reject bare low surrogates per RFC 8259.
−87
- Support multi-form eval via eval-string and add runtime doc fallback for undocumented exports.
−88
- Resolve re-export descriptions in search index from source module entries.
−89
−90
## [0.1.0] - 2026-01-09
−91
−92
### Other
−93
−94
- Initial release of the test framework with assertions, test discovery, filtering, and formatted output.
−95
- Initial release with TCP and UDP socket support for network programming.
−96
- 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.
−97
- Initial release with SXML utilities for XML/HTML document construction and manipulation.
−98
- JWT token encoding and verification with HS256 signing support.
−99
- Model Context Protocol server implementation for building AI tool integrations with resources, tools, and prompts.
−100
- SQLite database bindings with prepared statements, transactions, and result iteration.
−101
- Initial release of the WebAssembly runtime for running Sigil applications in the browser via Emscripten.
−102
- Initial release of changeset-based release management with version bumping, changelog generation, and git integration.
−103
- Initial release of the interactive web playground for trying Sigil in the browser.
−104
- 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.
−105
- Static site generation with composable pipeline for Markdown files and module documentation.
−106
- Initial release with Markdown parsing and frontmatter extraction.
−107
- Initial release with ANSI escape code utilities for terminal colors, bold, dim, and other text formatting.
−108
- Initial release with extensible hook system for REPL and application customization.
−109
- CSS generation from Sigil code with selectors, properties, and stylesheet composition.
−110
- Initial release of the code formatter with automatic indentation and parenthesis inference.
−111
- Initial release with declarative command-line argument parsing, supporting options, flags, subcommands, and automatic help generation.
−112
- Initial release of the build system with package management, dependency resolution, task execution, and executable bundling.
−113
- Initial release of the network REPL server for editor integration and remote evaluation.
−114
- Command-line interface with commands for building packages, creating standalone executables, running tests, code formatting, project initialization, documentation generation, and release management. Interactive REPL for development.
−115
- HTTP/1.1 server with routing, request/response handling, and server-sent events for streaming responses. HTTP client with TLS support for making outbound requests.
−116
- Web application framework with routing, middleware, and template rendering.
−117
- WebSocket client and server implementation with support for text and binary messages.
−118
- Git repository operations including status, staging, commits, branches, and diff inspection.
−119
- JSON parsing and serialization with bidirectional mapping between JSON and native Scheme types (dicts, arrays, strings, numbers, booleans). Port-based I/O for reading and writing JSON streams.
−120
- IRC client for connecting to IRC networks with message handling and channel operations.
−121
- Initial release of the interactive REPL with readline support, history, and extensible commands.
−122
- Initial release with documentation generation and static site building.
−123
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-args"
10
url: "codeberg:sigil/sigil-args"
11
ref: "^0.13.1"
@@ -15,10 +21,4 @@
21
ref: "^0.13.1"
22
sha: "811b63925399a663e4b7dd25fb0813d59d33f557"
23
version: "0.13.1")
−18
(package name: "sigil-stdlib"
−19
url: "codeberg:sigil/sigil-lang"
−20
ref: "^0.13.1"
−21
sha: "a436005a34754522d3c38b608aa892b4f8e13dd3"
−22
package-selector: "sigil-stdlib"
−23
version: "0.13.1")
24
)