Repository navigation
Install Neomacs — Choose a Method
Verify your download
SHA-256 checksums for every release asset are available in SHA256SUMS.
What's Changed
- fix(xtask): pin readelf to LC_ALL=C for the GStreamer check by @xz-dev in #412
- feat(infra): shared MELPA package provisioning under neomacs-infra by @eval-exec in #418
- feat(infra): lock GNU ELPA packages by name/version/commit by @eval-exec in #419
- refactor(tui): move the interactive package-TUI suites into neomacs-tui-tests by @eval-exec in #420
- test(tui): triage the three red package-TUI suites; face-diff diagnostics; two re-pins by @eval-exec in #421
- test(tui): overlay-face probe battery for the helm-pydoc triage by @eval-exec in #422
- feat(infra): tools provisioning -- pinned external toolchains (git first) by @eval-exec in #423
- fix(editor): invocation-name/-directory follow argv[0], not the canonical binary by @eval-exec in #424
- test(tui): in-session overlay introspection for the helm-pydoc triage by @eval-exec in #425
- test(tui): extend the helm-pydoc introspection (window state, fire breadcrumbs) by @eval-exec in #426
- fix(melpa): close the last three package-suite divergences (epl, scratch, auto_indent) by @eval-exec in #428
- fix(melpa): serialize forge's sqlite3 module build across the oracle's two editors by @eval-exec in #429
- fix(melpa): cancel GNU's minibuffer background-update timer in the ffip world by @eval-exec in #430
- fix: avoid panic on non-ASCII hex color input by @mznms in #432
- fix(ccl): execute branch and read-branch jump tables by @eval-exec in #436
- fix(dbusbind): resolve signal and method-call handlers before queueing by @eval-exec in #444
- Enable Windows precision touchpad pixel scrolling by @eval-exec in #450
- Fix Windows installer tests rebuilding the prepared runtime by @thanosapollo in #455
- Add GNU-compatible headless daemon lifecycle and client auto-start by @thanosapollo in #451
- perf(font): Cache selected-font OpenType capabilities by @thanosapollo in #456
- fix(layout): Keep relative and visual edit gutters coherent by @thanosapollo in #457
- ci: install nextest in the daemon-lifecycle job by @eval-exec in #463
- fix(input): preserve fullwidth IME text identity (#458) by @eval-exec in #467
- fix(tty): make send-string-to-terminal deliver its bytes like GNU by @eval-exec in #468
- Fix forced body redisplay and add account-free Telega GUI coverage by @eval-exec in #472
- fix(xdisp): mode-line multibyte identity follows inputs, not content (#470) by @eval-exec in #473
- fix(clipboard): read the Wayland clipboard on Hyprland by @thanosapollo in #482
- fix(module): define GNU dynamic-module error symbols by @thanosapollo in #478
- refactor(clipboard): one text policy and a backend contract suite by @eval-exec in #487
- fix(font): prefer the face width for non-ASCII fallback by @thanosapollo in #481
- perf(test): optimize neovm-core test builds by @eval-exec in #492
- feat(display): preserve frame transparency through composition by @thanosapollo in #462
- fix(display): validate line-number widths during deserialization by @eval-exec in #493
- refactor(display): use nutype for spring parameters by @eval-exec in #494
- Require prepared resources for child frame rendering by @eval-exec in #495
- Derive the transition effect count and variant inventory by @eval-exec in #496
- test(jit): build the call-site feedback tests without the jit feature by @thanosapollo in #497
- refactor: colocate production unit tests with _test.rs filenames by @eval-exec in #498
- refactor(runtime): encode menu lifetime states in an enum by @eval-exec in #499
- refactor(runtime): type menu navigation directions by @eval-exec in #500
- refactor(protocol): derive cursor animation numeric conversions by @eval-exec in #501
- refactor(runtime): derive clipboard text MIME conversions by @eval-exec in #502
- refactor(protocol): derive image format name parsing by @eval-exec in #503
- refactor(renderer): derive banded decoder enum dispatch by @eval-exec in #504
- refactor(runtime): use enumset for frame demand reasons by @eval-exec in #505
- refactor(runtime): key window demand counters by enum by @eval-exec in #506
- refactor(runtime): derive frame demand metadata with strum by @eval-exec in #507
- fix(data): enforce integer-width without checking unchanged operands by @thanosapollo in #509
- feat: animated SVG — SMIL subset engine, opt-in via :animation by @eval-exec in #474
- fix(wait): preserve timed-read idle state and command completion by @eval-exec in #508
- Fix runtime encoding and stream state for process input by @eval-exec in #511
- test(process): cover accepted TCP plist isolation by @eval-exec in #512
- Fix native D-Bus marshalling and cover Clatter notifications by @eval-exec in #513
- Move mock-display to examples and drop it from releases by @eval-exec in #517
- Fix Thin-only font opening and canonical frame names by @eval-exec in #518
- Fix family-only CJK fontset selection by @eval-exec in #520
- Respect frame-local menu and tool bar parameters during GUI redisplay by @eval-exec in #521
- Preserve compact geometry when unselected frames change by @eval-exec in #522
- Fix full-width glyph advances in fixed-pitch outline fonts by @eval-exec in #523
- fix(display): measure pixel extents through canonical redisplay by @eval-exec in #527
- fix(coding): preserve Shift_JIS charset-only characters when saving by @eval-exec in #528
- fix(coding): detect GBK and Windows-1252 through active charset layouts by @eval-exec in #531
- fix(font): restore exact glyph coverage for font-has-char-p by @eval-exec in #532
- fix(tls): keep client negotiation responsive to Lisp waits by @eval-exec in #524
- ci(labels): codify status: needs-verification in the label set by @eval-exec in #546
- fix(font): paint COLRv1 color glyphs by @eval-exec in #544
- test(gui): golden sheet for COLRv1 emoji cell averages by @eval-exec in #552
- feat(font): render SVG-table color glyphs by @eval-exec in #549
- fix(font): bound a color glyph by the spec's per-format rules by @eval-exec in #553
- feat(font): paint color glyphs with the resolved instance's variations by @eval-exec in #551
- fix(xpm): resolve color values like GNU, through the shared X11 database by @eval-exec in #547
- fix(xpm): paint an unresolvable color key with the frame foreground (issue #550) by @eval-exec in #555
- fix(completion): honor buffer-local matching controls by @eval-exec in #561
- fix(interactive): preserve Shift+Arrow selection anchors by @eval-exec in #563
- fix(minibuffer): return nil for a deleted calling window by @eval-exec in #564
- Fix tree-sitter loading diagnostics and DEBUG mode-line panic by @eval-exec in #566
- fix(display): reserve the pending image slot with the probe's rounding by @eval-exec in #477
- fix(xpm): the frame foreground on the remaining decode paths (issue #556) by @eval-exec in #557
- fix(redisplay): preserve buffer line numbers across display replacements by @eval-exec in #575
- fix(keyboard): keep prefix help in ordinary command dispatch by @eval-exec in #577
- Fix GNU flat-button box colors and cover tab-line startup by @eval-exec in #584
- Fix font-dependent gaps in X11 maximized frames by @eval-exec in #585
New Contributors
- @mznms made their first contribution in #432
- @thanosapollo made their first contribution in #455
Full Changelog: v0.0.19...v0.0.20
Shoutouts & Thanks
This release wouldn't be possible without our amazing community. Thank you to all the PR authors and issue reporters who helped improve neomacs v0.0.20!
We also owe a big shoutout to @yibie for lending us their MacBook, allowing us to thoroughly test and ensure stability on macOS.