AtlatestRepositorysigil-peg
1
# Changelog3
Versions are synced with Sigil releases. A missing entry indicates no changes for that version.5
All notable changes to this project will be documented in this file.7
The format is based on [Keep a Changelog](https://keepachangelog.com/),8
and this project adheres to [Semantic Versioning](https://semver.org/).10
## [0.7.0] - 2026-03-0112
### Added14
- 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.38
### Changed40
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.41
- Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.43
### Fixed45
- 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.46
- Fixed sigil docs api command and added procedure spec signatures to generated API documentation.48
## [0.6.0] - 2026-02-2250
### Added52
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.53
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).54
- 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.55
- Add Org Mode parser producing SXML output with support for headlines, metadata, source blocks, inline markup, links, lists, and property drawers.56
- Added table parsing support to Org Mode parser.57
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.58
- 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.59
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.60
- Added package documentation.61
- 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.62
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).63
- 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.64
- Added live-coding support via nREPL and SSE reload for real-time browser updates.65
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.66
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.67
- Added package documentation for socket and websocket APIs.68
- Added package documentation for socket and websocket APIs.69
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.70
- 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.71
- Added live-coding support via nREPL and SSE reload for real-time browser updates.72
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.73
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.74
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.75
- Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.76
- Added live-coding support via nREPL and SSE reload for real-time browser updates.77
- Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.78
- Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.79
- 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.80
- Added live-coding support via nREPL and SSE reload for real-time browser updates.81
- Added package documentation for web stack (SXML, CSS, and Web routing/UI).82
- Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.83
- Add PEG (Parsing Expression Grammar) library with S-expression pattern DSL, recursive interpreter with backtracking, and comprehensive capture system.85
### Fixed87
- Fixed SIGIL_NATIVES_MAX limit by increasing to 2048.88
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.89
- Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.91
### Other93
- Cache FNV-1a hash for string dict keys, avoiding repeated hash computation on dict lookups.94
- Collect docstrings for variable definitions and propagate native doc strings through re-exports.95
- Handle UTF-16 surrogate pairs in JSON unicode escapes. Reject bare low surrogates per RFC 8259.96
- Support multi-form eval via eval-string and add runtime doc fallback for undocumented exports.97
- Resolve re-export descriptions in search index from source module entries.