Skip to content

Releases: iewnfod/lumina-terminal

v0.2.2

Choose a tag to compare

@iewnfod iewnfod released this 23 Aug 05:19
9b2eec0

✨ 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/--command CLI 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 test suite runs on Linux, macOS, and Windows in CI alongside cargo 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

Choose a tag to compare

@iewnfod iewnfod released this 16 Aug 11:58
4aa61a0

✨ 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.ts data 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-gated imeDuplicateInputFix, 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

Choose a tag to compare

@iewnfod iewnfod released this 10 Aug 03:31
ccde80e

✨ 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

Choose a tag to compare

@iewnfod iewnfod released this 05 Aug 06:31
61aceb8

✨ Features

  • Search bar — Press Ctrl+F to 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 /, heavy tail -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_command detection 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

Choose a tag to compare

@iewnfod iewnfod released this 03 Aug 13:42
d5655ed

✨ 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=truecolor environment variable is now set in every terminal session, enabling 24-bit color support for programs like neovim, bat, and eza

⚡ Performance

  • Terminal output pipeline overhaul — The ChunkedWriter has been significantly improved with better chunk sizing and UTF-16-safe slicing, reducing jank during high-throughput output (e.g., find /, large cat commands)
  • 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

Choose a tag to compare

@iewnfod iewnfod released this 02 Aug 05:24
c222926

✨ 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, and SettingsShell components 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

Choose a tag to compare

@iewnfod iewnfod released this 20 Jul 14:21
6b5be16

✨ 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 PKGBUILD for Arch Linux users
  • Fixed automated release publishing workflow

🔧 Chores

  • Added AUR release automation and installation documentation

v0.1.5

Choose a tag to compare

@iewnfod iewnfod released this 17 Jul 16:22
94338cb

✨ 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+C copy 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

Choose a tag to compare

@iewnfod iewnfod released this 09 Jul 12:00
2745f9d

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 & .rpm support — The install script and release pipeline now support ARM64 Linux (aarch64) and .rpm packages 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)

Choose a tag to compare

@iewnfod iewnfod released this 09 Jul 07:44
55e6e2a

This release is used to test built-in updater. All new features will be released in next version.