Skip to content

Releases

Claudit v0.6.22

Choose a tag to compare

@psurma psurma released this 05 Mar 12:43

Fixed

  • Retry API requests up to 3 times with exponential backoff (2s, 4s, 8s) on HTTP 429, respecting Retry-After header
  • Cache last successful usage response and return it silently when rate-limited
  • Frontend backs off polling interval on repeated 429s (60s -> 120s -> 240s -> 300s), resets on success
  • Notifier skips check quietly on 429 instead of logging a confusing error

Claudit v0.6.20

Choose a tag to compare

@psurma psurma released this 26 Feb 15:23

See CHANGELOG for details.

Claudit v0.6.18

Choose a tag to compare

@psurma psurma released this 21 Feb 21:16

See CHANGELOG for details.

v0.6.14

Choose a tag to compare

@psurma psurma released this 20 Feb 15:24

Added

  • Session usage percentage now displays next to the tray icon in the macOS menu bar (e.g., "85%")
  • Updates automatically on each refresh cycle

Fixed

  • Sparkline tooltip now maps to the full time window (e.g., 11am-4pm) instead of just the data point range
  • Tooltip shows interpolated predicted percentage when hovering in the forecast region
  • Reset time no longer shows "0m" when minutes are zero (e.g., "1h 0m" is now "1h")

v0.6.12

Choose a tag to compare

@psurma psurma released this 18 Feb 12:11

Security

  • open_url now validates URL structure and blocks shell metacharacters
  • Debug log and history files created with 0600 permissions (owner-only)
  • History file uses atomic write (write to .tmp then rename) to prevent corruption
  • Capabilities scoped to ["panel"] window instead of wildcard ["*"]

Improved

  • Extracted shared sparkline rendering function (DRY)
  • Extracted fetch_with_timeout() helper and merged duplicate history loading (DRY)
  • Fixed history file race condition with Mutex
  • Timers cleared when panel is hidden (saves network/battery)
  • Faster string-based escapeHtml() replacing DOM-based version
  • Consolidated multiple Local::now() calls to avoid midnight edge case
  • Removed dead code (get_stay_on_top_pref)
  • Named constants for blur threshold and sparkline dimensions

v0.6.11

Choose a tag to compare

@psurma psurma released this 18 Feb 09:34

Fixed

  • Usage labels now match Claude Code CLI exactly: "Current session", "Current week (all models)", "Current week (Sonnet only)"
  • Percentage display uses Math.floor (not Math.round) to match CLI behavior, fixing 1% discrepancy
  • Old sparkline history data auto-migrated to new label names

v0.6.10

Choose a tag to compare

@psurma psurma released this 17 Feb 17:05

Fixed

  • Refresh spinner no longer shows on auto-refresh or initial load, only on manual click

v0.6.9

Choose a tag to compare

@psurma psurma released this 17 Feb 16:29

Added

  • Collapsible "Weekly Limits" section with chevron toggle (collapsed state persisted)
  • Collapsible "Extra Usage" section with chevron toggle (collapsed state persisted)
  • Session (5hr) limit always visible; weekly and extra usage can be collapsed to reduce panel size

Changed

  • Generic collapsible section mechanism replaces the costs-only implementation

v0.6.8

Choose a tag to compare

@psurma psurma released this 17 Feb 07:43

Changed

  • Moved light/dark mode toggle from header button into Settings as a "Dark mode" toggle switch

Security

  • open_url now validates URL scheme (only http/https allowed), preventing command injection
  • Windows: replaced cmd /c start with explorer.exe to avoid shell metacharacter interpretation
  • Enabled Content Security Policy (CSP) in Tauri config
  • Debug log moved from world-readable /tmp/ to app data directory

Improved

  • Extracted shared formatTime12h(), MONTH_NAMES, getColorClass(), and push_bucket() helpers (removed duplication)
  • Merged duplicate CSS selectors
  • Added defensive JSON.parse try-catch on sparkline tooltips

v0.6.7

Choose a tag to compare

@psurma psurma released this 16 Feb 12:53

Fixed

  • Download link in update checker now opens the GitHub release page in the system browser
  • Previously the link did nothing because Tauri's webview doesn't handle target="_blank" links
  • Added cross-platform open_url command (macOS open, Windows start, Linux xdg-open)