v0.8.2
What's Changed
Added
- MR/PR review state at a glance — The MR/PR table now surfaces Approval (
CHG/CHANGES,AWAITING,APPROVED,REVIEW REQ), Mergeable (CONFLICT,REBASE,CLEAN,CHECKING), and Workflow (Returned,Review req,Yours,Approved,By others,Inactive) columns with color-coded icon badges, reordered so the status indicators sit together at the front of the table. GitLab state comes from a single bulk GraphQL query; GitHub derives it from the nativegh pr listreview/merge fields. Pending approvals repeat one icon per approval still needed, and GitLab'sblocking_discussions_resolvedflag is surfaced alongside (#270, #274) — thanks @zenibako. - Rebase & revoke approvals —
Rrebases the source branch onto the target on both hosts (gated by mergeability: conflicted MRs must be resolved locally, already-clean MRs are skipped), andArevokes your approval on GitLab (ghhas no revoke path) — both behind the standard confirm popup (#270) — thanks @zenibako. - Filter picker aligned with the table — Value-based column filter selectors now show the exact text the table renders (
OPEN/CLOSED,CONFLICT/REBASE/CLEAN,SUCCESS/FAILED, …). Legacy lowercase values already saved inconfig.tomlor the cache keep working through automaticnormalize_filter_value()normalization (#274) — thanks @rcieri. api_per_pageconfiguration — Newapi_per_pagekey bounds the per-request response size (clamped to GitLab's accepted1–100per_pagerange) for issues, MRs, pipelines, and labels — a workaround for GitLab instances that truncate large JSON response bodies (#269, #272) — thanks @zenibako.- Rosé Pine themes — Three new bundled presets:
rose-pine,rose-pine-moon, androse-pine-dawn(16 bundled themes total) (#278) — thanks @vctls. - Theme polish — The root canvas background is now painted for every theme, the
defaultandcleanpresets use pure black backgrounds, and the light-theme demo GIF was re-recorded. The hardcoded in-code fallback theme was removed:Theme::default()now derives directly fromsrc/themes/default.toml, so the bundled TOML is the single source of truth (#282) — thanks @rcieri.
Fixed
- Milestone removal & attribute clearing — Milestones can now be removed (empty /
Noneselector value) and attributes cleared from the edit menu and bulk updates, and the premature tab-refresh race after edit submission was eliminated (#281) — thanks @rcieri. - Cached filter compatibility — Pre-existing saved column filters stored with the old lowercase display values are normalized transparently, so no config or cache migration is required after upgrading (#274) — thanks @rcieri.
- Overlay & diff view backgrounds — Popup overlays (edit menus, selectors, confirm dialogs, column filters) and the diff view now paint the active theme background instead of resetting to the terminal default color, so every surface renders consistently with the chosen theme on terminals whose default background differs from
bg— thanks @rcieri.
Changed
- Release tooling —
scripts/release.shnow interactively selects the opencode model (provider → model → variant) used for regenerated docs and release notes, viafzfwith a numbered-menu fallback; setOPENCODE_MODELto skip the prompt (#283) — thanks @rcieri. - Test robustness —
workflow_dispatchinput parsing now tests against an inline fixture instead of reading a repository workflow file (#271); new unit tests cover MR keybinding collision detection, bundled-theme parsing,api_per_pageclamping, MR state derivation, and filter normalization — thanks @zenibako. - Documentation — Backend docs describe
_per_requestsemantics (no-op on GitHub, which paginates via--limit), and the generatedconfig.tomldocumentsapi_per_page; the README CI badge now points atrust.yml(#272) — thanks @rcieri.
Contributors
Full Changelog: v0.8.1...v0.8.2