v0.4.0
What's Changed
Added
- TOML config file —
~/.config/glab-tui/config.toml(or$GLAB_TUI_CONFIG) auto-generated on first run with all options documented inline. - Theme system — choose from six bundled presets (
default,tokyo-night,gruvbox,nord,catppuccin-mocha,dracula) viatheme_presetin config; full per-color overrides supported under[theme]. - Custom theme files — place additional
<name>.tomlfiles in~/.config/glab-tui/themes/to create and share your own themes. - Fully configurable keybindings — every action across all panes is remappable in
config.tomlunder[keybindings.global],[keybindings.issues],[keybindings.mrs],[keybindings.pipelines], and[keybindings.releases]. - Interactive calendar date picker — press
Enteron Due Date / Start Date in the edit menu to open an inline calendar widget; navigate withh/l(month) andj/k(day). - Due Date column in Issues — new
Due Datecolumn in the issues table; hidden automatically when connected to GitHub. - Start Date column in Milestones — new
Start Datecolumn; hidden automatically when connected to GitHub. - Runner details panel — selecting a runner now opens a structured side-panel showing Runner ID, description, status, tags, and live job/queue metrics.
- Per-pane column config in TOML — set default visible columns, column filters, and group-by column persistently via
[issues],[mrs], etc. sections inconfig.toml.
Fixed
- Small terminal handling — gracefully degrade layout when the terminal is too small rather than panicking.
- Pipeline job cache persistence — pipeline jobs are now saved to and restored from disk cache.
- Selector "Create New" entry — always appears at the top of the list even when a filter is active.
- Empty description on GitHub — creating issues/MRs on GitHub no longer inserts a blank description field.
- GitLab-only fields hidden on GitHub — due date, weight, confidential, and start-date fields are excluded from GitHub issue/MR forms.
Ctrl+Eto open editor — unified shortcut to open$EDITORfor description fields across all edit menus.
Changed
- Config architecture refactor — keybindings, column visibility, and themes were extracted from hard-coded constants in
ui.rsinto a dedicatedconfig.rsmodule;FormattingConfigstruct removed. - Keybinding matching — all hardcoded
KeyCode::Charmatch arms replaced withkeybinding_matches()helper, enabling full runtime override fromconfig.toml. - Edit menu UI polish — edit popup border and title rendered in focused accent color; field values colored to match the details pane; date picker styled to match the details pane theme.
cancelpipeline keybinding — default changed fromctod(resolves conflict withdownload_artifact, which was alsod).- Runner tab layout — rebuilt runner details rendering: removed old flat list in favor of a structured two-pane layout (table + details panel).
Dependencies
- Bump
anyhowfrom1.0.98to1.0.103 - Bump
ratatuifrom0.30.1to0.30.2 - Bump
actions/checkoutfrom 4 to 7 (CI) - Bump
actions/stalefrom 9 to 10 (CI)
Full Changelog: v0.3.0...v0.4.0