Commitd072a640Recorded26 Apr 2026Repositorysigil-ansi
Add Woodpecker CI + retroactive CHANGELOG
Message
- .woodpecker.yml: minimal pipeline that fetches the pinned sigil release binary, runs sigil deps install, then sigil test on push + PR. Pinned to v0.13.1; bump via search/replace per release. - CHANGELOG.md: Keep-a-Changelog file with one section per existing tag, derived from git log <prev>..<tag> walks.
Changed
.woodpecker.yml | 30 ++++++++++++++++++++++++++++++
CHANGELOG.md | 105 ++++-----------------------------------------------------------------------------------------------------
2 files changed, 34 insertions(+), 101 deletions(-)Diff
.woodpecker.ymladded
@@ -0,0 +1,30 @@
+1
# Woodpecker CI configuration for Codeberg+2
# https://docs.codeberg.org/ci/+3
#+4
# Library CI: fetch a stable sigil binary, install deps via from-git+5
# pins, run the test suite. Pinning to a sigil release rather than+6
# `dev` keeps CI stable when the monorepo is in flight; bump the+7
# pin via search/replace when a new release is cut.+8
+9
when:+10
- event: [push, pull_request, manual]+11
+12
variables:+13
- &alpine_image "alpine:3.20"+14
+15
steps:+16
bootstrap:+17
image: *alpine_image+18
commands:+19
- apk add --no-cache curl ca-certificates git+20
- curl -fLo ./sigil https://codeberg.org/sigil/sigil/releases/download/v0.13.1/sigil-linux-amd64-static+21
- chmod +x ./sigil+22
- ./sigil --version+23
- ./sigil deps install+24
+25
test:+26
image: *alpine_image+27
depends_on: [bootstrap]+28
commands:+29
- apk add --no-cache git+30
- ./sigil testCHANGELOG.mdmodified
@@ -1,112 +1,15 @@
1
# Changelog 2
−3
Versions are synced with Sigil releases. A missing entry indicates no changes for that version.−4
3
All notable changes to this project will be documented in this file. 4
5
The format is based on [Keep a Changelog](https://keepachangelog.com/), 6
and this project adheres to [Semantic Versioning](https://semver.org/). 7
−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
- Added procedure specs and docstrings to all exported procedures.−34
- Added immediate-mode terminal UI toolkit with native C grid, layout system, component rendering, event parsing, text input, and chat demo application.−35
- Added procedure specs and docstrings to all exported procedures.−36
- Added procedure specs and docstrings to all exported procedures.−37
- Add structured logging package with levels, text/JSON output, configurable targets, and lazy macros.−38
- Added procedure specs and docstrings to all exported procedures.−39
- Add JMAP email client library with session discovery, mailbox operations, email query/get/update, and email sending via EmailSubmission.−40
- Added procedure specs and docstrings to all exported procedures.−41
- Added VM-level exception handler stack for tail-optimized guard semantics, replacing prompt-based exception handling.−42
- Added multi-VM threading with share-nothing architecture, message passing, and parallel-map for data-parallel workloads.−43
- Added field type annotations to define-struct for automatic spec generation on constructors, accessors, and mutators.−44
- Added preemptive yield points at loop back-edges to prevent CPU-bound tasks from starving the async scheduler.−45
- Added procedure specifications with inline (: ...) syntax, optional runtime checking via sigil-checks feature, and predicate combinators (any-of, maybe, list-of, none-of).−46
- Added procedure specs and docstrings to all exported procedures.−47
- Added procedure specs and docstrings to all exported procedures.−48
- Added procedure specs and docstrings to all exported procedures.−49
- Added procedure specs and docstrings to all exported procedures.−50
−51
### Changed−52
−53
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.−54
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.−55
−56
### Fixed−57
−58
- 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.−59
- Fixed sigil docs api command and added procedure spec signatures to generated API documentation.−60
−61
## [0.5.0] - 2026-02-17+8
## [0.13.1] - 2026-04-26 9
10
### Added 11
−65
- Added test harness generation and build support for packages with native dependencies. Improved native package handling, added c-flags field to library struct. Fixed stdlib inclusion in bundles with custom native runtimes, directory structure preservation in compile-c-sources, and absolute sigil-lib include path resolution.−66
- Added test coverage.−67
- Added test coverage.−68
- Added test coverage for TCP/UDP/address operations and crypto primitives.−69
- Added test coverage for TCP/UDP/address operations and crypto primitives.−70
- Added test coverage.−71
- Added test coverage.−72
- Added test coverage.−73
- Added test coverage.−74
- Added test coverage.−75
- Added test coverage.−76
- Added opcode-level profiling with --profile flag. Added test harness support for packages with native dependencies. Build safety: warn when replacing the running binary, error on 0-byte output or missing target package. Fixed module cache clearing before running entry points, handling of missing sigil-lib in user-created packages.−77
- Added test coverage.−78
- Added test coverage.−79
−80
### Fixed−81
−82
- Fixed random seed initialization crash caused by flonum-to-bignum promotion in modulo. Fixed status command crash when displaying projected versions for packages without changes.−83
- Fixed SSE and remove-after initialization on child elements. Added comprehensive test coverage for routing, middleware, cookies, security, SSE, and response helpers.−84
- Fixed assq-ref to return values instead of aliasing assq, added assv-ref. Added async-aware process pipe I/O. Fixed REPL string-length error after exception recovery. Added comprehensive error path tests and GC stress tests for dicts.−85
- Fixed Scheme module compilation in build task.−86
−87
### Other−88
−89
- New packages split from sigil-studio. Font and image modules moved to (sigil graphics *) namespace.−90
- GC correctness: added write barriers to all heap mutation sites, enabled GC during compilation with full compiler rooting, and added GC stress testing infrastructure. Completed HAMT dict implementation (printing, equality, collision handling, structural removal). Added arbitrary-precision bignum type with full reader/VM/native/serializer integration. Performance: inline caching for module binding lookups, peephole optimizer with 8 superinstruction patterns. Improved error handling: replaced exit(1) with recoverable errors, fixed error propagation in vm_error_abort and OP_ABORT_TO_PROMPT. Added definition location tracking in stack traces. Implemented VFS/bundle directory listing. Fixed number->string precision for exact IEEE 754 roundtrip. Removed dead opcodes.−91
- Configured custom mbedTLS for TLS 1.2 only. Added test coverage for connection predicates, failure paths, and error handling.−92
- New packages split from sigil-studio. Font and image modules moved to (sigil graphics *) namespace.−93
−94
## [0.1.0] - 2026-01-09−95
−96
### Other−97
−98
- Initial release of the test framework with assertions, test discovery, filtering, and formatted output.−99
- Initial release with TCP and UDP socket support for network programming.−100
- 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.−101
- Initial release with SXML utilities for XML/HTML document construction and manipulation.−102
- JWT token encoding and verification with HS256 signing support.−103
- Model Context Protocol server implementation for building AI tool integrations with resources, tools, and prompts.−104
- SQLite database bindings with prepared statements, transactions, and result iteration.−105
- Initial release of the WebAssembly runtime for running Sigil applications in the browser via Emscripten.−106
- Initial release of changeset-based release management with version bumping, changelog generation, and git integration.−107
- Initial release of the interactive web playground for trying Sigil in the browser.−108
- 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.−109
- Static site generation with composable pipeline for Markdown files and module documentation.−110
- Initial release with Markdown parsing and frontmatter extraction.−111
- Initial release with ANSI escape code utilities for terminal colors, bold, dim, and other text formatting.+12
- Initial standalone release of `sigil-ansi`, extracted from the+13
[`sigil`](https://codeberg.org/sigil/sigil) monorepo. No functional+14
changes from the in-monorepo version at the same tag. 15