#Changelog
What changed for people who use chirp, newest first; the binary carries this file so it can be read offline.
#Unreleased
#0.4.0
Released 2026-10-28.
#Added
pcre2, Perl-style regular expressions on PCRE2 10.49:pcre2/compile,pcre2/match,pcre2/find-all,pcre2/replace,pcre2/replace-all,pcre2/splitandpcre2/version. Patterns are UTF-8 by default and support named groups; replacements take$1,${name}and$$. Matching is bounded by:match-limit,:depth-limitand:heap-limit, all with defaults, so a runaway pattern fails with an error naming the limit instead of hanging.md4c, Markdown to HTML on md4c 0.6.0:md4c/to-htmlandmd4c/version. The default is plain CommonMark;:githubturns on GitHub's dialect, and each extension (tables, footnotes, task lists and others) can be set on its own.:no-htmldrops raw HTML from the input.lexbor, HTML parsing and CSS selectors on lexbor 3.0.1:lexbor/parseparses HTML as a browser does,lexbor/selectandlexbor/select-firstfind elements by selector in document order, andlexbor/text,lexbor/attr,lexbor/attrs,lexbor/tag,lexbor/htmlandlexbor/inner-htmlread what was found. Nodes are handles that keep their document alive, compare equal when they are the same node, and can be searched in turn.
#0.3.0
Released 2026-10-25.
#Added
chirp -handchirp --helpprint chirp's own entry points (scripts, stdin,help,self-update,--changelog), then Janet's options.yaml, YAML decoding and encoding on libyaml:yaml/decode,yaml/decode-allandyaml/encode, shaped likespork/json. Plain scalars follow the YAML 1.2 Core schema, sonoandonstay strings. Anchors, aliases and<<merge keys work, and an alias bomb fails with an error instead of exhausting memory.omap, an insertion-ordered map:omap/new,omap/from-pairs,omap/pairsandomap/omap?.get,put,in,keys,values,pairs,eachp,lengthand printing work as on a table; putting a key again keeps its place and putting nil removes it. It is not a table, sotable?is false for it.json/decode,yaml/decodeandyaml/decode-alltake an optionalorderedargument afternils; when truthy, objects and mappings come back asomaps in the order written.json/encodeandyaml/encodewrite anomapin its own order, so a decode and encode round trip keeps the author's key order. Without the argument both behave as before:json/decodeandjson/encodestill run spork's own code for anything that holds noomap.chirp --changelogprints this file, andchirp help read changelogreads it from the help.- Release notes include the release's section of this file.
#0.2.0
Released 2026-10-24.
#Added
sqlite3, bindings to an embedded SQLite with FTS5 full-text search, andtomlin, a TOML parser.chirp help: offline help inside the binary.chirp help query '<fts5 query>'searches the help topics and the docstrings of every bundled module and of Janet's core;chirp help read <id>prints a result in full.chirp self-updatereplaces the binary with the latest release, after checking the release'sSHA256SUMSagainst its Ed25519 signatureSHA256SUMS.sigwith a key built into chirp.--checkonly reports; a build whose version carries a suffix such as-devrefuses unless--forceis given.- Code piped to chirp, or given as
chirp -, runs as a script.
#Changed
- The bundled spork-https client sends
User-Agent: chirp/<version>when the request sets none, and honors:tls-opts {:ca "ca.pem"}, which jsec's client otherwise ignores. - Bare
chirpwith a pipe as stdin no longer starts a REPL: there is no banner, prompt or echoed value, and a failing script shows in the exit status.
0.1.0 cannot self-update; install 0.2.0 by hand once.
#0.1.0
Released 2026-10-24.
First release: an unofficial build of Janet that adds TLS and an HTTPS client and server to a single binary.
#Added
- Static binaries for linux-x64, linux-arm64 (static musl, any distribution), macos-arm64 and windows-x64.
- Janet, spork (including
spork/zip), jsec TLS and DTLS with a statically linked OpenSSL 3, and spork-https, bundled so every module imports with nothing on disk. - TLS trust:
SSL_CERT_FILEif set, otherwise the first system CA bundle found in the usual Linux and macOS locations.chirp --versionshows which one. - Reproducible builds: CI builds every target twice and publishes only when both hashes match.
SHA256SUMS, a GitHub build-provenance attestation for every asset, and aNOTICES-<target>.txtwith the license texts of everything linked into that binary.--versionand the REPL banner say the build is unofficial and not a Janet release.
#Known issues
- Windows has no CA bundle file, so HTTPS there needs
SSL_CERT_FILEpointing at a PEM bundle.