Repository navigation
v0.9.0
Added
- More platforms. Static musl builds for x86_64, ARM64 and ARMv7 — Alpine, Debian 11, Ubuntu 20.04, RHEL 8, NixOS, containers and 32-bit Raspberry Pi — and a native Windows ARM64 build. The Windows binaries no longer need the Visual C++ runtime. (#19)
- Smarter installers.
install.shpicks the right binary for your libc and CPU, supportsINK_VERSIONpinning, works withwget, and no longer depends on the rate-limited GitHub API. Newinstall.ps1for Windows. (#19) - Man page and shell completions ship in the
.deb/.rpmand in new.tar.gz/.ziprelease archives. Release assets carry a build-provenance attestation (gh attestation verify). (#19) --color auto|always|never. Piped--plainoutput is clean text by default,ink file.md | catprints the document instead of failing, andink -reads stdin. Previews that want colour in a pipe (fzf,less -R) pass--color=always. (#17)- Anchor links.
#headingandfile.md#headingjump to the heading, as do[[page#section]]and[[#section]]wikilinks, and every followed link goes into back/forward history with its scroll position. A link that cannot be followed now says so. (#16, #21) - Light/dark auto-detection by asking the terminal for its background colour, so light-profile terminals get a light theme without configuration. (#20)
--asciimode and a 16-colour tier for the Linux console, legacy console fonts and screen readers; both switch on automatically where needed. With--color=neverorNO_COLORthe reader uses no colour at all. (#20)--no-mouseleaves the mouse to the terminal for one session, and the file browser now honoursmouse_capture. (#20)ink doctorreports the whole environment — colour, theme, clipboard, input, config and multiplexer facts, with home paths and session values redacted. (#20)
Fixed
- Every key acted twice on Windows. Key-release events are now ignored. (#16)
- Hard line breaks glued words together (
hard⏎breakrendered ashardbreak); they now start a new line, in tables too. (#18) - HTML blocks no longer lose text or print raw tags. Headings, links, images,
<details>,<kbd>,<br>and entities render; comments are dropped. A GitHub-style centered README header now reads as a title. (#18) - Wikilinks inside code are left untouched, and targets with spaces or parentheses work. (#18)
- The terminal is restored after SIGTERM, SIGHUP and SIGINT instead of being left in raw mode. (#16)
- The file browser no longer hangs on symlink loops. (#16)
- Config and flag errors are reported. A bad line in
config.tomlprints a warning and the rest still applies; invalid--width,--spacingand--image-protocolvalues are errors. (#17) - Copying non-ASCII text works on Windows and WSL; Termux and GNU screen clipboards are supported. (#20)
- No startup stall in Apple Terminal or on the Linux console, where the image-protocol probe is now skipped. (#20)
Security
- Deeply nested documents can no longer crash ink with a stack overflow; a 20 KB file used to. (#18)
- Image decode limits stop decompression bombs: a document with six hostile inline images went from 2.2 GB of memory to 34 MB. Tall screenshots and large photos still decode. (#17, #21)
ink outlineandink diffno longer pass escape sequences from the document to the terminal. (#17)
Changed
NO_COLORnow also drops bold and underline in--plain.- The unused C regex dependency (oniguruma) is gone; syntax highlighting runs on the pure-Rust engine.
- The minimum supported Rust version is declared as 1.90.
What's Changed
- fix: input and terminal robustness (Windows keys, signals, symlink loops, anchor links) by @borghei in #16
- fix: image limits, escape leak in outline/diff, config and flag errors, --color by @borghei in #17
- fix: hard line breaks, HTML blocks, deep-nesting crash, wikilinks in code by @borghei in #18
- build: musl and Windows ARM64 builds, smarter installers, man page and completions in packages by @borghei in #19
- feat: terminal coverage (theme detection, 16 colours, ASCII mode, clipboard, doctor) by @borghei in #20
- fix: ten pre-release review findings for 0.9.0 by @borghei in #21
- chore(release): v0.9.0 by @borghei in #22
Full Changelog: v0.8.0...v0.9.0