Skip to content

release: v2.4.2#711

Merged
rygel merged 137 commits into
mainfrom
feature/v2.4.2-stable
Jul 6, 2026
Merged

release: v2.4.2#711
rygel merged 137 commits into
mainfrom
feature/v2.4.2-stable

Conversation

@rygel

@rygel rygel commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Release v2.4.2

Consolidated 6 beta releases (2.4.2-beta.1 through beta.6) into a stable release targeting \main.

Changes

  • Version: \2.4.2-beta.6\ → \2.4.2\
  • Changelog: consolidated beta entries into single [2.4.2]\ section
  • Version badge: orange (beta) → blue (stable)

Summary

  • Added: Codex reset credits in tooltip and database
  • Fixed: Silent-zero bugs in OpenAI, Codex, ClaudeCode providers; ZAI merged quotas; tooltip percentage toggle compliance; reset credits propagation; auto-tag workflow

dependabot Bot and others added 30 commits June 4, 2026 01:31
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@7211b7c...87557b9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@c2fa09f...9a946fd)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@de0fac2...df4cb1c)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.98
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
….Analyzer-3.0.98

Bump Meziantou.Analyzer from 3.0.96 to 3.0.98
…actions/checkout-6.0.3

chore(deps): bump actions/checkout from 6.0.2 to 6.0.3
…actions/setup-dotnet-5.3.0

chore(deps): bump actions/setup-dotnet from 5.2.0 to 5.3.0
…github/codeql-action-4.36.1

chore(deps): bump github/codeql-action from 4.36.0 to 4.36.1
…skipping

The Minimax provider had conditional fallback logic that skipped the burst
card when remaining_percent was 0 (exhausted quota). The API returns
remaining_percent: 0 for exhausted windows, which was treated as no data.

BuildRemainsUsages now always returns exactly 2 cards using remaining_percent
directly as the data source with total=100. No conditionals, no fallbacks.

Tests rewritten to match real API response format (remaining_percent fields).
Sanitized snapshot from live /v1/token_plan/remains call capturing the
actual response structure with all fields present including status codes,
timestamps, remains_time, and percent-based remaining values.
fix: Minimax always shows two bars, remove conditional skipping
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@e79a696...fb8b358)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.1 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@87557b9...8aad20d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.102
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
- Add POST /api/providers/{providerId}/test Monitor endpoint
- Add ProviderTestRequest model and route constants
- Add TestProviderConnectionAsync to IMonitorService/MonitorService
- Add GetProviderService lookup to ProviderManager
- Add Test button in Settings UI for StandardApiKey providers
- Shows inline success/failure result after testing
- ProviderBase: auto-attach HttpFailureContext in FetchJsonAsync error paths
  (HTTP status, network, timeout, deserialization failures)
- ProviderBase: attach FailureContext in CreateUnavailableUsageFromStatus,
  CreateUnavailableUsageFromException, CreateUnavailableUsageFromProviderException
- Presentation: read FailureContext.Classification to show actionable messages
  (e.g. 'Invalid API key' vs 'Network error' vs 'Rate limited')
- Reuses existing HttpFailureClassification enum instead of adding new ProviderErrorType
feat: Test Connection button and descriptive provider error states
- Add FetchedAt to ProviderCardPresentation record (optional, backward-compatible)
- Render relative timestamp badge on each provider card (just now, 5m ago, 2h ago, or date)
- Uses existing FetchedAt from Monitor DB — no API or schema changes needed
- Badge appears in gray tertiary text next to Stale/Expired badges
feat: provider health indicators showing last refresh time
ParseAppVersion now strips non-numeric suffixes (e.g. -develop) from
the beta number before parsing, so 2.3.6-beta.2-develop correctly
compares as beta.2 instead of failing to parse and defaulting to 0.

Adds test cases covering develop-suffix scenarios.
- Update TargetFramework in all 10 .csproj files (net8.0 -> net10.0,
  net8.0-windows10.0.17763.0 -> net10.0-windows10.0.17763.0)
- Add global.json to pin SDK to 10.0.301 with latestFeature rollForward
- Update CI/CD workflows: dotnet-version 8.0.x -> 10.0.x in all workflows
  (tests, publish, codeql, code-coverage, slim-screenshot-baseline,
  analyzer-quality-gate, provider-contract-drift, monitor-openapi-contract,
  update-screenshot-baselines)
- Update setup-dotnet-cache composite action default to 10.0.x
- Update test artifact paths in tests.yml (net8.0 -> net10.0)
- All 1525 tests pass (1365 + 160 Monitor.Tests)
- NuGet packages already on 10.0.x versions, no package updates needed
…codecov/codecov-action-7.0.0

chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
…github/codeql-action-4.36.2

chore(deps): bump github/codeql-action from 4.36.1 to 4.36.2
- global.json: change SDK from 10.0.301 to 10.0.100 with latestFeature
  rollForward so CI runners with 10.0.300 resolve correctly
- Update 7 PowerShell scripts that hardcoded net8.0 output paths to
  net10.0 (verify-monitor-openapi-contract, verify_slim_theme_smoke,
  generate_screenshots, generate_card_catalog, generate_web_screenshots,
  resolve-test-assembly, run-slim-and-monitor)
dependabot Bot and others added 24 commits July 1, 2026 13:11
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.117
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ayout (#696)

- Replace 18 bloated icon cards across 3 sections with one 3-column layout
- Columns: Desktop GUI, Web Dashboard, CLI
- Remove all emoji icons (decorative, space-wasting, inconsistent rendering)
- Short scannable descriptions instead of paragraphs
- Fix fabricated 'act' CLI name (assembly is AIUsageTracker.CLI)
- Update provider statuses: MiniMax China/Intl -> Tested, OpenAI Codex -> Tested, OpenCode Go/Zen -> Beta
- Add responsive stacking for mobile

Co-authored-by: GitHub Actions <actions@github.com>
- Reduce section padding 80px -> 40px, hero 80px -> 48px
- Reduce subtitle margins 48px -> 24px
- Add 'Support the Project' section with referral link placeholders
- Sort providers by status (Tested, Beta, Planned)
- Fix Groq/MiniMax China/Gemini/Mistral -> Beta
- Fix fabricated 18+ claim -> 16 providers everywhere
- Remove fabricated 'act' CLI name

Co-authored-by: GitHub Actions <actions@github.com>
- Version: 2.3.8-beta.1 -> 2.4.0
- Promote changelog entries from beta to stable
- Update setup.iss, README badge, publish-app.ps1
- Consolidate 2.3.6-beta.x through 2.3.8-beta.1 changes into single stable entry

Co-authored-by: GitHub Actions <actions@github.com>
* Fix vertical spacing, point release links to latest stable

* Fix hero headline: 'Track your AI providers'

* Update docs and changelog, wire real referral links

- Add landing page redesign entries to CHANGELOG Unreleased section
- Add website link to README.md
- Replace placeholder referral links with real ones from README:
  OpenCode Go, Z.AI, MiniMax, Synthetic

---------

Co-authored-by: GitHub Actions <actions@github.com>
… SEO (#701)

- robots.txt allows all crawlers and points to sitemap
- sitemap.xml declares the landing page URL
- FAQPage structured data (5 Q&As) for rich results and AI search
- Organization structured data with sameAs links
- Deploy workflow copies robots.txt and sitemap.xml to _site

Co-authored-by: GitHub Actions <actions@github.com>
…Codex (#700)

* Prefer absolute reset_at epoch over relative reset_after_seconds for Codex

The Codex wham/usage API returns reset_at (absolute Unix epoch) alongside
reset_after_seconds (relative). The relative value drifts by network
round-trip latency (~18s observed). Now prefer the absolute timestamp,
falling back to reset_after_seconds when absent.

Applied to all four windows: primary (5h burst), secondary (weekly), and
both Spark windows.

* Fix Semgrep: install via pip instead of stale Docker action

The semgrep-action@v1 Docker image (returntocorp/semgrep-agent:v1) is too
old to handle severity=MEDIUM from current registry rules, causing every
run to crash with ValueError. Install semgrep via pip instead so the
latest version is always used.

---------

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: GitHub Actions <actions@github.com>
…abase (#704)

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: GitHub Actions <actions@github.com>
* Bump version to 2.4.2-beta.2

* Fix publish-app.ps1 version reference for beta.2

---------

Co-authored-by: GitHub Actions <actions@github.com>
…ad of digging into child cards (#707)

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Adds a toggle-consistent percentage line (used or remaining matching
the user's preference) to the card tooltip for quota providers,
alongside the raw description string from the provider. Bumps version
to 2.4.2-beta.4.

Co-authored-by: GitHub Actions <actions@github.com>
* fix: eliminate silent-zero bugs in OpenAI, Codex, ClaudeCode providers; split Zai dual quotas into separate cards

* Bump version to 2.4.2-beta.6

* fix: update publish-app.ps1 version comment to 2.4.2-beta.6

---------

Co-authored-by: GitHub Actions <actions@github.com>
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

⚠️ Large PR Detected

This PR contains 12630 lines changed across 307 files.

Details:

  • 📁 Files changed: 307
  • ➕ Insertions: 8784
  • ➖ Deletions: 3846
  • 📊 Total: 12630 lines

Recommendation:
Consider splitting this PR into smaller, focused changes to make review easier and faster. PRs under 500 lines are ideal for thorough code review.


This is an automated message. Feel free to ignore if this PR is intentionally large.

url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
echo "aiusagetracker.outerstellar.net" > _site/CNAME

- name: Setup Pages
uses: actions/configure-pages@v6
uses: actions/configure-pages@v6

- name: Upload artifact
uses: actions/upload-pages-artifact@v5

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
@rygel

rygel commented Jul 6, 2026

Copy link
Copy Markdown
Owner Author

This large PR is intentional — it consolidates 6 beta releases (v2.4.2-beta.1 through v2.4.2-beta.6) into a single stable release. The 307 files reflect the accumulated changes across all betas, not a single monolithic change. Review by commit is recommended.

@rygel
rygel merged commit f5d6f6d into main Jul 6, 2026
37 of 39 checks passed
@rygel
rygel deleted the feature/v2.4.2-stable branch July 6, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants