Skip to content

Releases: raphamorim/rio

v0.2.33

30 Oct 15:28

Choose a tag to compare

  • Platform-specific configuration improvements #1341:
    • Added support for platform-specific environment variables via env-vars field in platform config
    • Platform-specific env-vars are now appended to global env-vars instead of replacing them
    • Fixed configuration inheritance: platform overrides now use field-level merging instead of replacing entire sections
    • Window, Navigation, and Renderer settings can now be partially overridden per platform without duplicating all fields
    • Added theme field to platform config for per-platform theme selection
    • Shell configuration continues to use complete replacement for simplicity
  • Fix ScrollPageUp and ScrollPageDown actions not working in custom keybindings #1275.
  • Fix Noticeably slower startup compared to wezterm, foot #1346.
  • Fix Font loader taking a LOT of time to load fonts #1339.
  • Fix Rio panics on launch on a Raspberry Pi 5 #1332.
  • Fix kitty keyboard protocol.
  • Support reporting terminal version via XTVERSION.

Changelog

nightly

30 Oct 15:32

Choose a tag to compare

nightly Pre-release
Pre-release

Changelog

v0.2.32

16 Oct 21:44

Choose a tag to compare

  • Updated WGPU to v27.0.1.
  • Fix No backend are enabled on FreeBSD #1235.

Changelog

v0.2.31

26 Sep 11:45

Choose a tag to compare

  • Update Rust to v1.90.
  • Fix kitty keyboard recognition.
  • Breaking: Simplified key binding escape sequences
    • Replaced separate text and bytes fields with a single esc field
    • Escape sequences are now sent directly to the PTY without text manipulation
    • Migration: Replace bytes = [27, 91, 72] with esc = "\u001b[H"
    • Migration: Replace text = "some text" with esc = "some text"
    • Example: { key = "l", with = "control", esc = "\u001b[2J\u001b[H" } to clear screen
  • Fix key binding conflicts: Resolved issues where keys like PageUp, PageDown, and Alt+Enter required explicit "None" bindings before they could be reassigned
    • Simplified binding conflict resolution logic to automatically remove conflicting default bindings
    • User-defined bindings now always take precedence without requiring placeholder "None" entries

Changelog

v0.2.30

13 Sep 11:38

Choose a tag to compare

  • Fix Debian/Ubuntu package installation: Resolved terminfo conflicts with system packages #1264
    • Debian (.deb) packages no longer include terminfo files to avoid conflicts with ncurses-term
    • Users on Ubuntu 22.04 and older need to manually install terminfo after package installation
    • Debian 13+ and Ubuntu 24.04+ users get terminfo from system's ncurses-term package
    • RPM packages continue to include terminfo as before
  • Add audible & visual bell support #1284.

Changelog

  • ab8b2a5 prepare 0.2.30
  • 0d5a3d5 revert to old stroke but fixing limits
  • dc85bf6 Merge branch 'fix-diagonal'
  • 0c6590d update DiagonalRisingBar DiagonalCross and DiagonalFallingBar (ref: #1297)
  • 48d88b7 fix DiagonalRisingBar calculation
  • 58fdc9d flake.lock: Update (#1296)
  • 1b5c90a flake.lock: Update (#1292)
  • 88eca6b fix debian conflicts with ncurses-term (#1287)
  • 7fb3971 update releases.md
  • 6c6931e docs: Update releases.md with bell support feature
  • 1967b19 Add audible & visual bell support (#1284)
  • 7f387a9 flake.lock: Update
  • 6cb8ab7 fix lint
  • 92950bb update frontends/rioterm/src/context/mod.rs
  • e049107 add calculate_selection_damage_impl
  • 1ebcd1b Update sugarloaf/src/font/mod.rs
  • 3300a50 Merge branch 'main' into pr-1282
  • 3b12c2d fix characters become invisible at very large sizes (closes #1268)
  • 37cd0ef fix lint
  • 644983a Improve font cache implementation with DashMap
  • 6632a44 fix Accidental inversion of bool
  • 37fb0b1 Don't copy data as much; use more SharedData
  • a7be7cb Clear FONT_DATA_CACHE when fonts are changed
  • c202394 Update to rust 1.89
  • 07b4a5a update com.rioterm.Rio.metainfo.xml

v0.2.29

17 Aug 22:49

Choose a tag to compare

Changelog

  • 126cd31 update deps
  • ec583cb docs: update releases.md with recent fixes
  • b962da8 flake.lock: Update
  • 2c03db9 fix blinking cursor (closes #1269)
  • 1e1acbd fix Rio uses UNC (?) path as working directory, breaking Neovim subprocesses
  • 6557e7e add NSCameraUseContinuityCameraDeviceType to plist
  • eb9fe5f update com.rioterm.Rio.metainfo.xml

v0.2.28

10 Aug 20:36

Choose a tag to compare

  • Optimized rendering pipeline for improved performance: Implemented deferred damage checking and render coalescing
    • Added Wakeup events to batch multiple rapid terminal updates into single render passes
    • Deferred damage calculation until render time to reduce unnecessary computations
    • Skip rendering for unfocused windows when disable_unfocused_render is enabled
    • Skip rendering for occluded windows when disable_occluded_render is enabled
    • Improved damage merging to always accumulate updates even when already marked dirty
    • Enhanced performance for rapid terminal output by coalescing non-synchronized updates

Changelog

v0.2.27

07 Aug 18:36

Choose a tag to compare

  • Breaking: If xterm-rio is installed we prioritized it over rio terminfo.
  • Fix sixel/iterm2 graphics persistence issue: Fixed graphics remaining visible when overwritten by text
    • Graphics are now properly removed when cells containing them are overwritten
    • Fixes issues with file managers like Yazi where images would persist incorrectly
    • Simplified graphics cleanup logic by removing unused ClearSubregion functionality
  • CJK Font Metrics: Fixed CJK characters displaying "higher" than Latin characters #1071
    • Implemented comprehensive CJK font metrics handling with consistent baseline adjustment
    • Fixed scrolling issues for mixed Latin and CJK text content
    • Added CJK character width measurement using "水" (water ideograph) as reference
    • Created consistent cell dimensions across different font types
    • Developed extensive test suite with 40+ font-related tests to verify fixes

Changelog

  • 7ccc174 prepare v0.2.27
  • bdba71b add notes
  • 596ac8e use borrowed ID
  • 3bd5481 font id should be always default to respect cell
  • 705f30f update releases.md
  • 4cf26f0 Fix CJK characters displaying higher than Latin characters
  • 808be0a Implement consistent font metrics for CJK rendering
  • f5872bf unify clearsubregion to remove texture (ref: #709)
  • aa1b201 update com.rioterm.Rio.metainfo.xml
  • edb0049 update docs about terminfo
  • a0a1874 update terminfo
  • 1f5d69c prioritize xterm-rio if installed

v0.2.26

04 Aug 20:30

Choose a tag to compare

  • Fix frame dropping in release builds: Fixed an issue where release builds would drop frames due to damage event timing
    • Damage events are now emitted directly after parsing PTY data, ensuring proper batching
    • Removed redundant Wakeup event mechanism that was causing multiple renders per update
    • Synchronized update timeouts now properly emit damage events
    • Significantly improves rendering smoothness in optimized builds

Changelog

  • 92537c4 update dependencies
  • f8eca69 Add install instructions for scoop
  • 8d3ba94 remove route_id from machine
  • e054524 Damage events are now emitted directly after parsing PTY data, ensuring proper batching
  • a78f476 Only emit damage event if there's actual damage on updateTitle

v0.2.25

03 Aug 16:11

Choose a tag to compare

  • Fix: Rio doesn't launch from context menu on Windows.
  • Fix: Rio lacks embedded icon on Windows 10 by @christianjann.
  • Fix custom shells in /usr/local/bin not found on macOS: Fixed an issue where custom shells installed in /usr/local/bin were not found when Rio was launched from Finder or other GUI applications
    • On macOS, Rio now uses /usr/bin/login to spawn shells, ensuring proper login shell environment with full PATH
    • Custom shells like Fish, Nushell, or custom Zsh installations in /usr/local/bin will now work correctly

Changelog