Skip to content

v1.3.0

Choose a tag to compare

@haxllo haxllo released this 27 May 23:43
· 1116 commits to master since this release

Release date: 2026-05-28

Summary

This release completes the migration from the hybrid D2D/DWrite + GDI rendering stack to a unified GDI+-only pipeline, replaces the bundled SpaceMono font with Inter, and makes GDI+ a hard requirement. Also includes fixes for hanging CI tests, CI workflow corrections, and removal of stale documentation.

Breaking Changes

D2D/DWrite rendering stack removed

All rendering now goes through GDI+ exclusively:

  • Panel background, help tip, footer, and list row highlights all use GDI+
  • The d2d_renderer.rs module (~800 lines) has been deleted
  • GdipSetTextRenderingHint with TextRenderingHintClearTypeGridFit is set on every graphics context
  • GDI+ initialization failure is now fatal — the overlay posts WM_CLOSE instead of warning about a non-existent fallback

SpaceMono replaced with Inter

Inter v4.1 (Regular, Bold, Medium, SemiBold) is now the bundled private font. When private fonts load successfully, the UI uses "Inter" instead of "Segoe UI". The SpaceMono font directory has been removed.

Changelog

Changed

  • D2D/DWrite rendering removed entirely; GDI+ is now hard requirement
  • SpaceMono replaced with Inter as bundled font; resolve_font_family() returns "Inter"
  • Text rendering unified under ClearType; SMOOTHING_MODE_HIGH_QUALITY constant removed
  • GDI+ init failure now closes overlay (previously warned about non-existent fallback)

Fixed

  • register_private_fonts() was searching Inter directories for SpaceMono filenames
  • resolve_font_family() was returning "Segoe UI" even when private fonts loaded
  • Help tip border clipping (float-based path with 0.5px inset)
  • Footer hint background/separator now rendered via GDI+
  • fill_rounded_rect_on_graphics degeneration during expand animation
  • Pre-created GDI+ font handles (7 objects created once in WM_CREATE)
  • All hanging ShellExecuteW tests (.tmp → .txt + taskkill cleanup)
  • CI workflow matrix dropped Ubuntu; package name fixed from -p nex to -p nex-cli
  • Scaffold test path fixed (windows_overlay.rs → windows_overlay/mod.rs)

Removed

  • d2d_renderer.rs — all D2D and DWrite code
  • SpaceMono/ font directory
  • windows crate dependency (was used only by D2D)
  • Stale docs: dead plans/ links, orphaned images, -p nex references corrected

Upgrade Notes

No config changes required. If running from source:

cargo build --release

If using the installer, download and run the new installer — it bundles Inter fonts automatically.

Known Issues

  • First-keystroke vertical line flash during panel expand still under investigation