CHANGELOG.md

Changelog

Notable changes to the standalone Plasma widget are recorded here, following Keep a Changelog. The upstream codexbar CLI has its own release history.

This file starts with version 0.2.35, summarized from its published notes. For earlier versions, see GitHub Releases.

Unreleased

Fixed

  • Show the panel incident badge on the affected provider's own meter icon, so reordering providers moves the outage marker with that provider instead of leaving a dot beside whichever provider comes first. The badge stays visible while a refresh runs. The standalone status dot remains only as a fallback for incidents no meter can badge (meters hidden, or the incident provider has no meters), and the vertical identity icon carries a badge only for its own provider's incident; an incident on another provider keeps the standalone fallback when meters are hidden.
  • Place the subscription label directly beside the account email in the provider header, instead of letting it drift toward the middle of the popup, and let the account elide first on narrow popups.
  • Stop presenting an "all systems operational" service status as the overview account line. Providers whose CLI payload carries no account identity (such as Claude on verified CLI 0.56.2) now show no substitute identity; an active incident still appears, and the detail line no longer repeats the provider's own name or source.
  • Recover provider actions when a secret prompt stops responding: the dialog closes after a long escape-hatch deadline and the stuck pending state clears, instead of leaving the provider disabled until the settings page reopens. Late submissions retain the full bounded save window.
  • Complete provider fallback slots when a malformed reply fails late, and report account normalization failures as errors for the affected provider.
  • Keep provider configuration polling connected when another widget instance has already cached a response for the same command.
  • Keep the provider cost metric picker in sync with the shared cost and token history selection after picking an entry.
  • Keep the Panel settings preview visible while scrolling through content, quota, order, and visibility options.
  • Avoid repeating the selected provider's icon with custom panel element orders when it is the only visible provider meter.
  • Ignore malformed cost breakdown/model rows and keep chart dimensions finite.
  • Clear chart selection and hover state when point data disappears, allowing keyboard navigation to recover when data returns.
  • Normalize provider fallback requests before deduplication and preserve scalar zero/false CLI text values.
  • Keep theme calculations finite when inputs are unavailable.
  • Avoid tab overflow controls during initialization.
  • Anchor tab tooltips to their hover areas and improve accessibility labels for heatmap cells and decorative controls.
  • Animate the panel provider meter hover/press highlight and the Usage & Spend heatmap cell hover outline, matching the smooth transitions already used for every other interactive surface in the popup. The heatmap outline is a separate overlay, so the cell's painted fill never shifts on hover.
  • Confirm hover on session cards, which reveal copy actions on hover but previously left the card surface unchanged.
  • Fade the chart readout in and out with the hovered point instead of blinking the label and value on every pointer entry and exit.
  • Fade the tab selection indicator with the tab background it sits under, instead of blinking the accent bar on every tab change.

0.2.36 - 2026-09-09

Added

  • Last-known quota recovery after failed refreshes and Plasma restarts, with explicit freshness labels, a 24-hour retention limit, and a redacted persistent cache.
  • A versioned changelog, included in the widget package and used as the source for future GitHub release notes.

Changed

  • Panel settings start with appearance and meters. Additional information holds provider name, usage text and format, credits, and the monochrome preset. Quota, order, conditions, and automatic selection have their own expandable section. Closed summaries reflect enabled information and custom choices. Standard and Minimal are side by side.
  • Default panel order groups optional text with the selected provider's capsules, using one logo. Hidden or unavailable meters retain a separate text identity; custom element orders keep their independent positions.
  • Panel meters place a small provider icon beside primary and secondary quota capsules, with matching geometry in colored Standard and monochrome Minimal. Meters now work in vertical panels. Explicit quota choices still show one capsule; visibility conditions accept either displayed quota. Tooltip and accessibility descriptions report both quotas and resets.
  • Linux parity work is maintained in TODO.md, with agent review of each stable upstream release and updates in the PR that implements a feature.
  • Reorganized installation and troubleshooting instructions, with dedicated guides for settings, cost history, and development.
  • Contributor delivery uses pull requests with required check and smoke jobs. Agents follow CI through completion after pushes and authorized merges.
  • Pull request titles follow Conventional Commits and are checked automatically.
  • CI cancels superseded PR runs and omits graphical smoke tests for changes limited to editorial Markdown. Checks and packaging still run; releases keep full graphical coverage.

Fixed

  • Provider details and project costs no longer trigger recursive Qt layout warnings when opened or resized. Long values stay within the popup.
  • Panel settings keep text and controls in place while the page opens, including when the scrollbar disappears or collapsed sections finish sizing.
  • Restored cached provider quotas are retained across partial early refreshes during startup, preventing premature eviction of unrefreshed providers.
  • Primary incident selection, tooltips, and status banners ignore providers with unknown or inactive status, preventing stale outages from masking active incidents.
  • Successful responses without measured quotas keep valid credits and details even when their supplemental timestamp is older than the quota-cache limit. They no longer show a last-known banner or turn into cache-expired errors.
  • Last-known quota handling: unknown service status no longer keeps showing the previous outage, extra-lane quotas survive restarts, expired quotas keep no measurement instead of undefined state, the restore banner only shows when data is actually stale, per-provider resets keep healthy providers' disk cache, empty usage results keep CLI error detail, stale supplement sections are hidden until revalidated, measurements older than 24 hours no longer stamp as fresh, future live timestamps use receipt time, overview rows keep account/status context beside the last-known note, and long update timestamps ellipsize on one line.
  • Panel settings no longer query a rebuilding element-order layout's attached size hints, avoiding a Qt layout crash when expanding and reordering controls.
  • Panel text falls back to a separate label if meters exhaust the width available for grouped text.
  • The settings preview now renders quota capsules from its synthetic data after QML converts provider records for delegates.
  • Credit balances that round up to a whole number no longer keep a trailing ".0" (99.95 credits read as "100"), and huge magnitudes no longer gain a bogus group separator.
  • Token, request, and point counts now use singular and plural forms in usage and cost summaries, while large counts keep their compact notation.
  • Corrected quota and plan labels, login actions, and settings wording across the five translations. The Brazilian Portuguese panel style is now translated, and French and Spanish pace percentages use consistent spacing.
  • Switching the account of the configured provider no longer starts a usage command twice in a row, discarding the first run immediately.
  • Provider settings descriptors whose schema version is not exactly the supported number stay unsupported instead of being accepted through type coercion, and malformed quota-threshold inputs keep their documented fallbacks instead of collapsing to a 1% warning for every provider.

Full diff

0.2.35 - 2026-09-08

Added

  • Dedicated General, Providers, Panel, Popup, Notifications, and Diagnostics settings pages, with a live panel preview.
  • Optional privacy mode for widget views and new notifications, refresh-on-open for stale usage, and controls for popup pace, credits, and provider details.
  • Compact Today and period cost summaries, expandable history, and model details for the selected day. Missing amounts and partial model coverage stay explicit.

Changed

  • Fresh installations use Standard provider icons and usage meters by default. Existing appearance options and saved preferences are preserved.

Fixed

  • The Accounts action could stay disabled after a reply arrived following a CLI settings change.
  • Malformed cost, chart, and account data could interrupt display updates.
  • Cost history could lose days with zero cache tokens.
  • The panel loading fallback was missing in some states.

Full diff