AtlatestRenderedmarkdown
Readme

Changelog

Versions are synced with Sigil releases. A missing entry indicates no changes for that version.

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.7.0] - 2026-03-01

Added

  • Added procedure specifications with inline (: ...) syntax, optional runtime checking via sigil-checks feature, and predicate combinators (any-of, maybe, list-of, none-of).
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added define-native compiler form for declaring native C bindings in Scheme modules with optional specs and docstrings.
  • Added VM-level exception handler stack for tail-optimized guard semantics, replacing prompt-based exception handling.
  • Added multi-VM threading with share-nothing architecture, message passing, and parallel-map for data-parallel workloads.
  • Added preemptive yield points at loop back-edges to prevent CPU-bound tasks from starving the async scheduler.
  • Added procedure specifications with inline (: ...) syntax, optional runtime checking via sigil-checks feature, and predicate combinators (any-of, maybe, list-of, none-of).
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added immediate-mode terminal UI toolkit with native C grid, layout system, component rendering, event parsing, text input, and chat demo application.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure spec display in MCP search and exports tool output.
  • Added streaming HTTP download support with binary-safe reads and file serving with Range request support.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.
  • Added immediate-mode terminal UI toolkit with native C grid, layout system, component rendering, event parsing, text input, and chat demo application.
  • Added procedure specs and docstrings to all exported procedures.
  • Added procedure specs and docstrings to all exported procedures.

Changed

  • Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.
  • Changed I/O multiplexing to use epoll (Linux) and kqueue (macOS/BSD) instead of select(2) for better scalability.

Fixed

  • 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.
  • Fixed sigil docs api command and added procedure spec signatures to generated API documentation.

[0.6.0] - 2026-02-22

Added

  • Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
  • Added package documentation for web stack (SXML, CSS, and Web routing/UI).
  • 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.
  • Add Org Mode parser producing SXML output with support for headlines, metadata, source blocks, inline markup, links, lists, and property drawers.
  • Added table parsing support to Org Mode parser.
  • Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
  • 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.
  • Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
  • Added package documentation.
  • 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.
  • Added package documentation for web stack (SXML, CSS, and Web routing/UI).
  • 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.
  • Added live-coding support via nREPL and SSE reload for real-time browser updates.
  • Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
  • Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
  • Added package documentation for socket and websocket APIs.
  • Added package documentation for socket and websocket APIs.
  • Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
  • 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.
  • Added live-coding support via nREPL and SSE reload for real-time browser updates.
  • Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
  • Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.
  • Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
  • Add rich error diagnostics with structured error type hierarchy, VM error kind mapping, and (sigil diagnostic) module with Levenshtein-based suggestions.
  • Added live-coding support via nREPL and SSE reload for real-time browser updates.
  • Added package-provided MCP tools with dynamic discovery and nREPL describe/modules operations.
  • Add (sigil inspect) module for structured value introspection with nREPL and MCP integration.
  • 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.
  • Added live-coding support via nREPL and SSE reload for real-time browser updates.
  • Added package documentation for web stack (SXML, CSS, and Web routing/UI).
  • Add XMPP client library with STARTTLS, SASL (SCRAM-SHA-1/PLAIN), roster, presence, and MUC support.
  • Add PEG (Parsing Expression Grammar) library with S-expression pattern DSL, recursive interpreter with backtracking, and comprehensive capture system.

Fixed

  • Fixed SIGILNATIVESMAX limit by increasing to 2048.
  • Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.
  • Fixed MCP format tool crash with auto-fix support, binary-safe nREPL wire protocol, and SIGPIPE handling.

Other

  • Cache FNV-1a hash for string dict keys, avoiding repeated hash computation on dict lookups.
  • Collect docstrings for variable definitions and propagate native doc strings through re-exports.
  • Handle UTF-16 surrogate pairs in JSON unicode escapes. Reject bare low surrogates per RFC 8259.
  • Support multi-form eval via eval-string and add runtime doc fallback for undocumented exports.
  • Resolve re-export descriptions in search index from source module entries.