Changelog
Release: v2.0.0
Features
- compose-app: implement copy, paste, and context menu support (5b5bdeaf)
- compose-app: Add custom fonts support (d5bc588a)
- remove jvm ssh library and sftp explorer (974c78d8)
- compose-app: add clickable link support to terminal view (c3e28167)
- terminal: add native SPSC ring buffer and SSH wakeup drain (dd007b73)
- terminal: Sync terminal palette with Material You theme colors (745e5101)
- theme: Add theme chooser and Material You dynamic color support (205ac557)
- keyboard: support extra keys with settings UI and live preview (66fa7e80)
- dashboard: save and prepopulate last successful connection (262612c4)
- settings: prompt restart on custom option changes (efbb8584)
- settings: add ui to edit custom ghostty fork features (d5f6ce79)
- right aligned tab bar (4f29942e)
- keyboard: store and pre-apply keyboard height to prevent layout flash on reopen (99dbbec2)
- tabs: Add configurable session tab bar position (bdbf0ba9)
Fixes
- ssh: return to main screen when native ssh shell session exits (117767c9)
- terminal: correct cursor y coordinate offsets using line spacing and ascent (35dbfa4e)
- compose: stabilize terminal view size and prevent stale references (ae13d166)
- terminal: Implement PTY resizing for native libssh2 SSH piping backend (cc3af216)
- terminal: Resize SSH window on initial custom IO terminal backend creation (bbf54b17)
- keyboard: ensure sequential ssh writes and direct code point translation for macros (50169eaa)
- keyboard: add proper macro support for extra keys like 'CTRL b n' (30d37345)
- terminal: fix sizing issues and connection close crashes during interactions (5ed5229b)
- terminal: prevent crash-back-to-dashboard on resize and use layout listener for sizing (a76bf12f)
- terminal: resolve black screen and bind foreground service (eeea2398)
- bubble: pre-apply keyboard height in onCreate and delay keyboard restore to prevent size flicker (edcd7edc)
- keyboard: prevent IME show cancellations by not overriding IME visibility state in pre-applied insets (3b086c83)
- terminal: ignore session resizes when view window is invisible (7717acef)
Updates
- compose-app: upgrade Conscrypt dependency to 2.6.0 for 16kb page alignment (146b548e)
- gitignore: ignore local .android directory (735c638a)
- terminal: Disable native piping and switch back to JVM library backend (0a3ae780)
- compose: persist terminal zoom level on scale gesture (6271d62b)
- compose: use legacy default zoom calculation (7c58706e)
- build: finalize compose-app module and terminal size listener configuration (6a852206)
- skills: add Jetpack Compose migration skill (634de190)
- debug: add inset adjustment logs to TermuxActivityRootView and BubbleSessionActivity (842292d4)
- debug: add size and PTY update logs to diagnose TUI re-renders (a0923e49)
- keyboard: pre-apply remembered keyboard height in bubble views as well (69838028)
- keyboard: reset pre-applied keyboard height status on visibility and configuration change (5545d151)
UI Changes
- keyboard: Style extra keys toolbar background and buttons (1babb46e)
- extrakeys: style toolbar background and buttons according to material 3 (853468f5)
- compose-app: add custom launcher icon (214b8aa3)
- dashboard: Add toggle for native libssh2 piping in dashboard screen (fbadd117)
- dashboard: add terminal font size settings card (d0dc6ff8)
- manifest: configure MainActivity softInputMode to adjustResize (d37cad8a)
- terminal: fill available space and add pinch-to-zoom (44dc9a4b)
- tabs: reverse tab order when right-aligned (7a7dcffc)
Performance
- compose-app: reduce APK size via R8 minification and JNI optimizations (cf46de81)
- native: Offload FNV-1a content hash calculation to Zig (81c24edd)
- snapshot: use contiguous field layout for bulk NIO deserialization (96f62e28)
- terminal: debounce terminal resizes to prevent intermediate SIGWINCH re-renders (351d55c1)