From 7865a5e2d3ec8dbc72e58d233563a7c5854c11b6 Mon Sep 17 00:00:00 2001 From: Dmitriy Zhavoronkov Date: Tue, 18 Aug 2026 20:11:54 +0200 Subject: [PATCH 1/5] chore: prepare v0.5.0 release Bump pluginVersion to 0.5.0. Close the Unreleased changelog section with DeepSeek, GitHub Copilot, platform 2025.3 bump, and build hardening. Update version references in README and DEVELOPMENT. Rewrite WhatsNewNotification body for v0.5.0. - Added DeepSeek provider support - Added GitHub Copilot provider (personal + org budget) - Raised minimum platform to IntelliJ 2025.3 - Non-public API and Detekt now gate the build - Fixed Add/Edit Account dialog hint UI issues --- CHANGELOG.md | 17 +++++++++++++++++ DEVELOPMENT.md | 4 ++-- README.md | 4 ++-- gradle.properties | 2 +- .../startup/WhatsNewNotificationActivity.kt | 19 +++++++------------ 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb0604b..054d66e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added + +### Changed + +### Fixed + +### Removed + +## [0.5.0] - 2026-08-18 + +### Added +- **DeepSeek provider support** — track your DeepSeek API usage and quota + alongside the other LLM providers. +- **GitHub Copilot provider** — track Copilot spend for both personal + accounts and organizations from the status bar, with a dedicated + connect dialog for each flavor. - **Architecture Decision Records** — `docs/adr/` now holds the ADRs that `docs/agents/domain.md` has always required. They were previously impossible to commit: `.gitignore` listed `docs/` under "Build directories" and swallowed the whole tree, which @@ -41,6 +56,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 own copy of the Gradle home, which put the repository at 24 GB across 60 entries against a ~10 GB budget — so entries were evicted before they could be reused, making runs cold *and* costing ~2 min per run in uploads. +- **Triage label vocabulary expanded** with type/domain/priority namespaces, + giving contributors a shared taxonomy for classifying issues and PRs. ### Fixed - Removed all use of platform API that is deprecated or scheduled for removal, so the plugin diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 3ca79b8..6dc697d 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -101,7 +101,7 @@ token-pulse/ All versioning and platform compatibility info is centralized in **`gradle.properties`**: ```properties -pluginVersion = 0.4.0 +pluginVersion = 0.5.0 pluginSinceBuild = 253 platformVersion = 2025.3.6 ``` @@ -135,6 +135,6 @@ Code quality is enforced via **Detekt**. The build will fail if any issues are f 1. Update version in `gradle.properties`. 2. Add a new entry to `CHANGELOG.md`. -3. Create a git tag: `git tag v0.4.0` and push it. +3. Create a git tag: `git tag v0.5.0` and push it. 4. CI will automatically create a GitHub Release and attach the ZIP artifact. 5. **Manually publish** the signed artifact to the JetBrains Marketplace (see `MARKETPLACE.md`). diff --git a/README.md b/README.md index 48ab39f..bed2afd 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # TokenPulse [![JetBrains Plugin](https://img.shields.io/badge/JetBrains-Plugin-orange.svg)](https://plugins.jetbrains.com/plugin/30615-tokenpulse) -[![Version](https://img.shields.io/badge/version-0.4.0-blue.svg)](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/releases) +[![Version](https://img.shields.io/badge/version-0.5.0-blue.svg)](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/releases) [![CI](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/actions/workflows/ci.yml/badge.svg)](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) -> ⚠️ **Beta Release** — This is an early release (v0.4.0). Features may change and some functionality may be incomplete. Please [report issues](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/issues) on GitHub. +> ⚠️ **Beta Release** — This is an early release (v0.5.0). Features may change and some functionality may be incomplete. Please [report issues](https://github.com/DimazzzZ/tokenpulse-intellij-plugin/issues) on GitHub. **TokenPulse** is an IntelliJ IDEA plugin that aggregates token balances and credit usage across multiple AI providers directly in your IDE status bar. diff --git a/gradle.properties b/gradle.properties index f72d69c..1c14026 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ kotlin.compiler.execution.strategy=in-process # Plugin metadata pluginGroup = org.zhavoronkov.tokenpulse pluginName = TokenPulse -pluginVersion = 0.4.0 +pluginVersion = 0.5.0 pluginRepositoryUrl = https://github.com/DimazzzZ/tokenpulse-intellij-plugin # Compatibility diff --git a/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt b/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt index 8b18879..7fe92f0 100644 --- a/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt +++ b/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt @@ -39,19 +39,14 @@ class WhatsNewNotificationActivity : ProjectActivity { .getNotificationGroup("TokenPulse Updates") .createNotification( "TokenPulse Updated to v$version", - """ + """ Thank you for using TokenPulse!

- New in v$version — a redesigned status-bar tooltip
- Hover the status bar for an all-new, native view of every quota:
- • Real progress bars for each provider and account — no more plain text
- • Theme-aware colors that turn orange, then red as you approach a limit
- • Humanized reset times like “Today 14:30” or “Tomorrow 09:00”
- • Grouped by provider, one clear section per account

- Also new:
- • Unified Xiaomi MiMo — pay-as-you-go balance and Token Plan Credits in one account
- • Claude Code multi-account — auto-discovers every logged-in account
- • Codex & Claude OAuth — usage read from your stored logins, tokens auto-refreshed
- • Nebius & Xiaomi silent session refresh — stay connected without re-logging in + What’s new in v$version:
+ • DeepSeek provider — track your DeepSeek API usage and quota
+ • GitHub Copilot provider — personal and organization budget tracking
+ • Platform raised to IntelliJ 2025.3 — required for forward compatibility
+ • Build hardened — non-public API and Detekt now gate the build
+ • UI fix — Add/Edit Account dialog hint no longer floods the log or gets stuck tall """.trimIndent(), NotificationType.INFORMATION ) From 552180a34293d5f6372a9bc4ee50e4f3f9398871 Mon Sep 17 00:00:00 2001 From: Dmitriy Zhavoronkov Date: Tue, 18 Aug 2026 20:17:06 +0200 Subject: [PATCH 2/5] docs(changelog): add Quick Navigation table for easier release jumping Add a compact release-highlights table at the top of CHANGELOG.md so readers can jump to the release they care about without scrolling through every entry. The changelog body itself is unchanged. --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 054d66e..b2bb271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to the TokenPulse plugin will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 📋 Quick Navigation + +Jump to the release that interests you: + +| Release | Highlights | +|---------|-----------| +| [0.5.0](#050---2026-08-18) | DeepSeek & GitHub Copilot providers, platform 2025.3, build hardening | +| [0.4.0](#040---2026-07-23) | Redesigned tooltip, session auto-refresh, multi-account support | +| [0.3.1](#031---2026-07-08) | ClinePass usage limits, improved CLI detection | +| [0.3.0](#030---2026-06-22) | Xiaomi MiMo provider, session capture, status bar formats | +| [0.2.0](#020---2026-04-22) | Codex CLI integration, credential cooldowns | +| [0.1.0](#010---2026-03-10-initial--release) | Initial release — multi-provider tracking, status bar widget | + ## [Unreleased] ### Added From 904b0c9b2c639e7d5d00dc74b9f6856b66735290 Mon Sep 17 00:00:00 2001 From: Dmitriy Zhavoronkov Date: Tue, 18 Aug 2026 22:09:49 +0200 Subject: [PATCH 3/5] docs(changelog): add per-release highlights callout Each version section now opens with a one-line 'Highlights' blockquote summarising the main features, so users can quickly grasp what a release contains without reading every bullet. The full changelog entries below remain unchanged. --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2bb271..47de06b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ Jump to the release that interests you: ## [0.5.0] - 2026-08-18 +> **Highlights:** New DeepSeek & GitHub Copilot providers • Platform raised to 2025.3 • Build hardening (non-public API & Detekt gates) • UI fixes + ### Added - **DeepSeek provider support** — track your DeepSeek API usage and quota alongside the other LLM providers. @@ -88,6 +90,8 @@ Jump to the release that interests you: ## [0.4.0] - 2026-07-23 +> **Highlights:** Redesigned status-bar tooltip with native rendering • Session auto-refresh for Nebius & Xiaomi • Claude Code multi-account support • OAuth API integration for Claude & Codex • Unified Xiaomi MiMo provider + ### Added - **Redesigned status-bar tooltip** — hovering the status-bar widget now opens an all-new, natively rendered popup that shows your usage at a glance: @@ -162,6 +166,8 @@ Jump to the release that interests you: ## [0.3.1] - 2026-07-08 +> **Highlights:** ClinePass usage limits • Improved CLI detection reliability • Dialog & logging fixes + ### Added - **ClinePass usage limits** for Cline API key accounts — optional 5-hour, weekly, and monthly usage (percent + reset time) displayed in the tooltip when available @@ -189,6 +195,8 @@ Jump to the release that interests you: ## [0.3.0] - 2026-06-22 +> **Highlights:** Xiaomi MiMo provider (pay-as-you-go + Token Plan) • Session capture flow • Status bar format options • Short number formatting + ### Added - **Xiaomi MiMo provider** — Two connection types: API (pay-as-you-go) and Token Plan (subscription Credits) - **Session capture flow** — XiaomiConnectDialog for capturing platform session via cURL @@ -214,6 +222,8 @@ Jump to the release that interests you: ## [0.2.0] - 2026-04-22 +> **Highlights:** Codex CLI integration for ChatGPT • Credential failure cooldowns • Improved Nebius handling + ### Added - **Codex CLI integration** — ChatGPT now uses Codex CLI for simpler, more reliable setup without OAuth complexity - **Credential failure cooldowns** — Smart throttling reduces notification spam for repeated credential errors @@ -236,6 +246,8 @@ Jump to the release that interests you: ## [0.1.0] - 2026-03-10 (Initial β Release) +> **Highlights:** Multi-provider balance tracking • 6 providers supported (OpenRouter, Cline, OpenAI, ChatGPT, Nebius, Claude) • Status bar widget & dashboard • Settings page & secure storage + ### Added - **Multi-provider balance tracking** — Monitor token balances and credit usage across multiple AI providers directly in your IDE status bar. - **Provider support**: From bbfb5519f358fd84c45ae499a65cd9ed0669b63b Mon Sep 17 00:00:00 2001 From: Dmitriy Zhavoronkov Date: Wed, 19 Aug 2026 11:09:47 +0200 Subject: [PATCH 4/5] fix(lint): correct indentation in WhatsNewNotificationActivity The opening triple-quote was indented 15 spaces instead of 16, triggering detekt's Indentation rule. --- .../tokenpulse/startup/WhatsNewNotificationActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt b/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt index 7fe92f0..364d74b 100644 --- a/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt +++ b/src/main/kotlin/org/zhavoronkov/tokenpulse/startup/WhatsNewNotificationActivity.kt @@ -39,7 +39,7 @@ class WhatsNewNotificationActivity : ProjectActivity { .getNotificationGroup("TokenPulse Updates") .createNotification( "TokenPulse Updated to v$version", - """ + """ Thank you for using TokenPulse!

What’s new in v$version:
• DeepSeek provider — track your DeepSeek API usage and quota
From 8500894f8c697cf168ccbf25e0b8e45d5015a771 Mon Sep 17 00:00:00 2001 From: Dmitriy Zhavoronkov Date: Wed, 19 Aug 2026 11:21:41 +0200 Subject: [PATCH 5/5] docs(changelog): add missing PR #24 & #25 entries for v0.5.0 - PR #24: Tooltip progress bars unified on remaining% convention - PR #25: Xiaomi Connect dialog fix + platformTest zero-tests fix These were merged during the release cycle but not documented in the Unreleased section before closing it. --- CHANGELOG.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47de06b..63989ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Jump to the release that interests you: | Release | Highlights | |---------|-----------| -| [0.5.0](#050---2026-08-18) | DeepSeek & GitHub Copilot providers, platform 2025.3, build hardening | +| [0.5.0](#050---2026-08-18) | DeepSeek & GitHub Copilot providers, platform 2025.3, progress bar fix, build hardening | | [0.4.0](#040---2026-07-23) | Redesigned tooltip, session auto-refresh, multi-account support | | [0.3.1](#031---2026-07-08) | ClinePass usage limits, improved CLI detection | | [0.3.0](#030---2026-06-22) | Xiaomi MiMo provider, session capture, status bar formats | @@ -30,7 +30,7 @@ Jump to the release that interests you: ## [0.5.0] - 2026-08-18 -> **Highlights:** New DeepSeek & GitHub Copilot providers • Platform raised to 2025.3 • Build hardening (non-public API & Detekt gates) • UI fixes +> **Highlights:** New DeepSeek & GitHub Copilot providers • Platform raised to 2025.3 • Build hardening (non-public API & Detekt gates) • Progress bar & UI fixes ### Added - **DeepSeek provider support** — track your DeepSeek API usage and quota @@ -44,6 +44,13 @@ Jump to the release that interests you: also kept the agent-convention docs out of the repository. ### Changed +- **Tooltip progress bars unified on a single remaining% convention** — every provider row in + the status-bar popup (Claude, Codex, Cline, Xiaomi) now fills and labels its progress bar + the same way: **percent remaining**. Previously Claude/Codex filled the bar with used% but + labeled it remaining%, Cline used used% for both, and Xiaomi used remaining% for both — + three inconsistent behaviors in one popup. Thresholds are now shared (red ≤10%, orange ≤30%, + green otherwise), and the row model collapsed from `BalanceBar` + `UsageBar` into a single + `UsageBar`. - **⚠️ Minimum IntelliJ platform is now 2025.3 (build 253)**, up from 2024.2 (build 242). IDEs from 2024.2 through 2025.2 will stay on the last compatible release and no longer receive updates. This was required to replace `SimpleListCellRenderer.create(...)`, which @@ -82,6 +89,15 @@ Jump to the release that interests you: connection-type change under the 2025.3 SDK (the DSL `comment()` label inserts `` itself). The manual wrapper is removed, and the dialog now re-packs after the hint changes so it shrinks back to fit shorter hints instead of staying at its tallest size. +- **Xiaomi Connect dialog no longer emits an error balloon on JCEF-unavailable builds** — the + fallback branch passed a literal `...` wrapper into the UI DSL `comment()`, + which IntelliJ rejects at runtime (`Invalid html: tag inserted automatically`). The + wrapper is stripped, and a shared `DslCommentText.sanitize()` helper plus a source-scanning + regression test (`DslCommentHtmlGuardTest`) now catch any future occurrence at build time. +- **`platformTest` had been silently running zero tests** — the class-name-based JUnit filter + was replaced with a working one, and the missing `junit-vintage-engine` dependency plus + IntelliJ sandbox JVM wiring were added so the platform smoke tests actually execute in `check` + / CI. `check` was previously reporting green on zero platform assertions. ### Removed - Individual TokenPulse settings are no longer indexed for Settings search