Releases: iewnfod/lumina-terminal
Releases · iewnfod/lumina-terminal
Release list
v0.2.2
✨ Features
- Auto proxy sync — Lumina now watches your system proxy configuration and injects it into every new shell automatically (enabled by default, toggleable in general settings). It reads proxy settings from GNOME (
gsettings), KDE (kioslaverc), macOS (scutil --proxy), and the Windows registry via a polling watcher, then publishes them to shell hooks as environment variables — existing shells only receive the values Lumina injected, so disabling the feature cleanly removes them. PAC proxy modes are reported off, since environment variables cannot express them - Custom command icons — Import your own SVG/PNG icons and map them to specific commands with plain-name or regex matching rules. The settings page includes a rule editor with live validation and a live test preview against a sample command line. Built-in app icons still take effect automatically, and your custom rules run before them. Imported files are deduplicated by content hash and unreferenced icons are pruned on save
- Close window from empty state — The empty state page (shown when the last tab is closed) can now also close the window itself
🐛 Bug Fixes
- Fixed
-e/--commandCLI argument parsing not correctly splitting quoted command strings - Fixed install-source detection (pacman/dpkg/rpm package ownership) that misidentified how Lumina was installed, which feeds the "how to update" hints in Developer Settings
- Fixed external link handling — all outbound links now go through the Tauri opener plugin, since plain
target="_blank"anchors are dead in the webview - Fixed backend tests failing on Windows (separator and shell test issues)
- Fixed AUR release trigger returning 403 by switching from release-event dispatch to
workflow_run
🔧 Chores
- Backend test suite is now mandatory — the full
cargo testsuite runs on Linux, macOS, and Windows in CI alongsidecargo check, with every backend module (proxy parsers, shell hooks, CLI, SSH config, install source, command icons) carrying integration tests - Added release automation scripts
Full Changelog: v0.2.1...v0.2.2
v0.2.1
✨ Features
- Read-only MCP server — Lumina can now run as a local MCP (Model Context Protocol) server over a Streamable HTTP endpoint on 127.0.0.1, giving AI agents window into your terminal: list tabs, read recent output, and inspect the foreground command. Deliberately read-only by design — there is no tool that can write to your PTY, so agents can observe but never act on your terminal
- Alacritty-style CLI arguments — Launch Lumina with flags that shape the first tab:
--command vim,--working-directory ~/proj,--title dev,--hold,--profile main. Combined with--command+--hold, this also makes Lumina usable as a quick launcher for single-command sessions - Empty state page — Closing the last tab (with "keep window on last tab closed" enabled) now shows a centered quick-launch page listing your profiles with shell icons, the default profile's new-tab shortcut hint, and a full window drag region — instead of a blank void. Profile order and count limits are respected
- Default light & dark terminal themes — Each profile now gets coherent light/dark theme pairs out of the box, so toggling UI mode also gives the terminal a matching palette without manual theming
- Tech stack modal — The About page's technology list moved into a dedicated modal backed by a single
techStack.tsdata source shared with the README, so the two can no longer drift apart - WebKitGTK IME duplicate-input fix — Fixed duplicated characters when typing through IBus/fcitx on Linux. The fix normalizes xterm's unmatched keyCode-229 IME fallback via an
imeCompositionGuard(config-gatedimeDuplicateInputFix, on by default), plus a local backport patch vendoring two upstream xterm.js IME fixes (#5439 + #5698) while staying pinned to stable 6.0.0 (by @Keyneswu)
🐛 Bug Fixes
- Fixed empty state page sizing so the main window matches the default profile's terminal dimensions
- Fixed shell exit-code / foreground-command tracking used by the MCP tools and command subtitle
Full Changelog: v0.2.0...v0.2.1
v0.2.0
✨ Features
- Session save & restore — Lumina now remembers your open tabs, profiles, and working directories across sessions. On close, you can choose to always save, never save, or be asked each time. Restored sessions re-spawn PTYs against the current config, and scrollback is optionally preserved
- Inherit working directory — When enabled, new tabs automatically inherit the current working directory from the active tab instead of defaulting to
$HOME - Keep tab after startup command — Per-profile control over what happens when a startup command exits: close the tab (
exit), freeze the terminal output (freeze), or drop back into a shell (shell) - Sidebar drag reorder — Tabs in the sidebar can now be reordered by drag-and-drop with smooth framer-motion glide animations (by @Keyneswu)
- Always-on-top pin — A pin button in the title bar keeps the window on top of all others, available on X11, macOS, and Windows (disabled on Wayland where it's unsupported) (by @Keyneswu)
- Terminal icon set — Switched to dedicated Opencode-branded light/dark app icons
🔧 Settings
- General settings reorganized — The general settings page has been restructured into logical sections (Appearance, Behavior, Sessions) for easier navigation
🐛 Bug Fixes
- Fixed drag preview display glitches in tab drag operations
🔧 Chores
- Added frontend & backend build checks in CI
- Added concurrency controls to CI pipelines
- Simplified README and added CONTRIBUTING guide
- Added terminal TUI icon previews to documentation
Full Changelog: v0.1.9...v0.2.0
v0.1.9
✨ Features
- Search bar — Press
Ctrl+Fto open an in-terminal search overlay with case-sensitive, whole-word, and regex toggles, plus a match counter. The search bar slides down from the top of the terminal with a glass-morphism finish - Light & dark theme — Lumina now ships with full light and dark theme support. The app detects your system preference automatically, and you can override it in settings. Theme changes propagate instantly to the terminal, chrome, HeroUI components, and glass surface colors
- Font ligatures — Full programming ligature support (e.g.,
→,≠,>=,===) powered by a Rust backend that scans installed fonts for ligature tables. Ligature rendering is toggleable in render settings - Grapheme clusters — Proper Unicode grapheme cluster rendering ensures emoji, combined characters, and multi-codepoint glyphs display correctly without splitting or glitching
- Cursor style — Configurable cursor styles: block, underline, and bar, with an optional blink toggle, accessible from the render settings panel
⚡ Performance
- High-throughput output optimization — The chunked writer and PTY reader have been tuned for extreme throughput scenarios (e.g.,
find /, heavytail -f), reducing frame drops and terminal jank - Ligature font loading — Font scanning and ligature table parsing are now faster and non-blocking, so ligature detection no longer delays terminal startup
🐛 Bug Fixes
- Fixed AUR release trigger not firing correctly from GitHub Releases
- Fixed incorrect
foreground_commanddetection on Windows - Color spread is now disabled by default for a more traditional terminal look out of the box
Full Changelog: v0.1.8...v0.1.9
v0.1.8
✨ Features
- Command palette redesign — The Ctrl+Shift+P command palette has been overhauled with a cleaner UI, search highlighting, and a dedicated trigger button in the title bar
- Drag to reorder profiles — Terminal profiles in the settings sidebar can now be reordered by drag-and-drop, making it easy to organize your profiles the way you want
- Inline profile name editing — Profile names can now be edited directly in the settings sidebar without opening a separate modal
- Toggle color spread — Edge background color blending can now be toggled on/off in general settings, giving you control over whether the window theme color spreads into the terminal background
- TRUE_COLOR environment — The
COLORTERM=truecolorenvironment variable is now set in every terminal session, enabling 24-bit color support for programs likeneovim,bat, andeza
⚡ Performance
- Terminal output pipeline overhaul — The
ChunkedWriterhas been significantly improved with better chunk sizing and UTF-16-safe slicing, reducing jank during high-throughput output (e.g.,find /, largecatcommands) - Reduced throttle chunk size for smoother rendering of rapid output streams
🐛 Bug Fixes
- Fixed incorrect macOS terminal layout/viewport sizing (by @Keyneswu)
- Fixed terminal background color fallback when no theme is explicitly set
- Fixed terminal background color not updating correctly when color spread is disabled
- Fixed corner radius clipping in the settings page
- Removed dead CSS styles and unnecessary hover background changes
🔧 Refactoring
- Split several large components and utility files into smaller, focused modules following the layered architecture
- Updated README with fresh screenshots and project description
Full Changelog: v0.1.7...v0.1.8
v0.1.7
✨ Features
- New UI design system — A complete visual overhaul introducing a glass-morphism design language across the entire app:
- Glass surfaces — Windows, panels, and modals now use backdrop-filter glass effects with a smooth frosted-glass look, automatically falling back to solid colors on Wayland and WebKitGTK where backdrop-filter is unsupported
- Motion system — Shared framer-motion spring curves and transition presets give all chrome animations a consistent, fluid rhythm
- Surface color system — Border, overlay, glass, and accent colors are now derived algorithmically from the terminal background, ensuring a cohesive palette everywhere
- Shared UI primitives — New
IconButton,SettingRow,SectionTitle,SaveFooter, andSettingsShellcomponents replace ad-hoc layouts, eliminating style drift across settings pages
- Startup command — Each terminal profile can now specify a startup command that runs automatically when the terminal launches, ideal for
tmux attach,neofetch, or project-specific setups
🐛 Bug Fixes
- Fixed terminal corner radius not matching the window chrome on certain platforms
- Fixed auto-update not working correctly on Linux
- Fixed frontend string splitting edge cases in terminal output parsing
- Fixed AUR release workflow timing issue
- Fixed macOS tab tear-off — traffic lights (close/minimize/zoom) now work correctly in torn-off windows, and tab drop targets no longer overlap (by @Keyneswu)
Full Changelog: v0.1.6...v0.1.7
v0.1.6
✨ Features
- Tab tear-off — Drag any terminal tab out of the window to create a standalone window, or drag it back into the tab bar to reattach. The PTY session and its output stream seamlessly transfer between windows with no disconnection
- Remember window position & size — Lumina now remembers and restores the window's position and size across sessions, with Wayland-aware handling for multi-monitor setups
- Auto-focus on window activation — The terminal automatically receives keyboard focus when the window becomes active, so you can start typing immediately after switching back
🐛 Bug Fixes
- Fixed drag detection interfering with text selection in the terminal
- Fixed default keybinding signature mismatches in the binding editor
- Fixed keyboard binding prompt not showing the correct key names
- Fixed AUR
PKGBUILDfor Arch Linux users - Fixed automated release publishing workflow
🔧 Chores
- Added AUR release automation and installation documentation
v0.1.5
✨ Features
- Settings tab persistence — Switching away from and back to the Settings tab now preserves your position in the settings sidebar, so you no longer lose your place when checking something in another tab
- Moving render canvas — The terminal render canvas now adjusts dynamically for sub-pixel fit as the window resizes, eliminating subtle alignment gaps and making text rendering crisper
- Markdown in release notes — The update modal and About page now render release notes with rich Markdown formatting (headings, lists, links, code blocks) instead of plain text
🐛 Bug Fixes
- Fixed the overlay scrollbar overlapping content in the settings page
- Fixed
Ctrl+Shift+Ccopy not working correctly with certain keyboard layouts
🎨 Polish
- Refined shell icons and color scheme throughout the tab bar
- Moved the running command subtitle to the front of the tab label
- Expanded diagnostic logging for easier troubleshooting
🔧 Chores
- Removed Gitee mirror sync support, since the speed of sync is too slow.
v0.1.4
This release brings a built-in app updater with update notifications, shell-specific tab icons for visual clarity, ARM Linux and .rpm package support, and a contributors section on the About page.
✨ Features
- Built-in updater — Lumina can now check for, download, and install updates automatically. A notification modal alerts you when a new version is available, and you can view the update log and trigger the update right from the app
- Shell icons — The tab bar now shows per-shell icons that automatically detect your shell type: bash, zsh, fish, nushell, PowerShell, and SSH connections each get their own distinct icon
- ARM Linux &
.rpmsupport — The install script and release pipeline now support ARM64 Linux (aarch64) and.rpmpackages for Fedora/RHEL-based distributions - Contributors on About page — The About page now features a contributors section to acknowledge everyone who has contributed to the project
- Gitee release sync — Releases are now automatically mirrored to Gitee after each GitHub release for users in regions with limited GitHub access
🐛 Bug Fixes
- Fixed several build errors and warnings across the codebase
v0.1.3 (Updater Test)
This release is used to test built-in updater. All new features will be released in next version.