Skip to content

v2.2.8

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 20:06

DuskMoon 2.2.8 fixes #32, which prevented Windows consumers from compiling and initializing the bundled native grammars with MSVC.

Crystal now uses a constant-sized heredoc buffer while preserving identifier byte limits, UTF-8 lookahead and serialized-state bounds. SML replaces GNU-only unused-parameter annotations with standard C expressions, preserving nested-comment parsing and callback signatures. Windows C and C++ builds explicitly use UTF-8 source and execution character sets, so Unicode grammar symbols agree with their highlight queries, including AppleScript operators. All 95 grammars remain bundled.

Both scanner adaptations have recorded vendor patches and source hashes. Crystal Wasm is regenerated; rebuilding SML Wasm produces identical bytes. Twelve added runtime regressions cover Crystal heredoc boundaries, SML nested comments and incremental parsing, and AppleScript operator nodes/captures. The hook fixture now verifies real compiled UTF-8 bytes across all native compilation groups in checkout and hosted-gzip layouts.

The release also includes analyzer exclusions for generated build and platform directories.

Formatting, fatal-info analysis, all 2,102 workspace tests, and 12-package archive preflight passed. All four native-hook compatibility configurations passed. Windows MSVC 19.51.36260.0 passed 18 native tests and built/executed the Release consumer with all 95 grammars, four Crystal fixtures and two SML fixtures. All 12 official Pub 2.2.8 archives are latest/non-retracted; 3,520 published files match the immutable release, including 95 decoded native parsers, queries, headers, licenses and Wasm. An exact hosted-dependency consumer passed fatal-info analysis, 16 public API runtime tests and a Linux 95-grammar probe. Official package bytes match before and after execution. GitHub Pages deployed the tested source and serves the exact regenerated Crystal Wasm.

Full changelog

The hosted fixture uses a warm Pub cache with fresh private build outputs. Its probe and public API cases come from the immutable release tag; tests/tools are intentionally excluded from the published package. The two internal helper unit cases remain covered by source and Windows suites. Windows acceptance uses a minimal consumer; the real GSMLG application and MiniCPM inference were not tested.