cdx-manager 0.21.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  <br clear="left"/>
6
6
 
7
- [![License](https://img.shields.io/badge/license-MIT-4C8BF5)](LICENSE) ![Version](https://img.shields.io/badge/version-v0.21.0-4C8BF5) ![Python](https://img.shields.io/badge/python-3.9%2B-3776AB?logo=python&logoColor=white)
7
+ [![License](https://img.shields.io/badge/license-MIT-4C8BF5)](LICENSE) ![Version](https://img.shields.io/badge/version-v0.21.1-4C8BF5) ![Python](https://img.shields.io/badge/python-3.9%2B-3776AB?logo=python&logoColor=white)
8
8
 
9
9
  **The right AI coding account, when you need it.** CDX Manager keeps your Codex and Claude accounts in separate profiles, shows which ones have quota, and helps you pick the next usable session from your terminal.
10
10
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.21.0
1
+ 0.21.1
@@ -0,0 +1,6 @@
1
+ # CDX Manager 0.21.1
2
+
3
+ ## Fixes
4
+
5
+ - Stop the macOS tray companion from leaking memory: each poll rebuilt the menu and status icon outside any autorelease pool, so nothing was ever freed and a week-old companion reached a footprint of about 19 GB.
6
+ - Cache a failed cdx-manager release check like a successful one and lower its network timeout from 5 s to 2 s, so a degraded network no longer stalls every `cdx` command on GitHub.
@@ -474,6 +474,17 @@
474
474
  "x86_64-pc-windows-msvc": "d1888eb3d8f34114e36e88821907fae776498b2b03c18158316db61033c94419",
475
475
  "x86_64-unknown-linux-musl": "e369163b63bfb5301c985a02cc02755ea90996dc992a8c29c28d6b307b507447"
476
476
  }
477
+ },
478
+ "v0.21.0": {
479
+ "github_tarball_sha256": "bee4a300e5de4b31535cebf245e33f73a59be6823dd1c449ebb61711ea7d644d",
480
+ "github_zip_sha256": "c1e8f49b513d5c4c92b298312b865ca3e966954b05b53936699784bf6446343c",
481
+ "tray_assets": {
482
+ "aarch64-apple-darwin": "4c87353837291f562baf0be20c6c1423369924ccda2b670bc328986771082424",
483
+ "aarch64-unknown-linux-musl": "9481632866b7b271483b964633948ec4c43ecbed090e688479afafcfac03bbba",
484
+ "x86_64-apple-darwin": "b0ca64da014846b0cc2eaa5918496b75ff3fc02bd000a9945a9ac7b8fb1f8771",
485
+ "x86_64-pc-windows-msvc": "20af5c24d62b673458c1ad7245df58d3cadb0be27116338fa39f66f896cd3d9f",
486
+ "x86_64-unknown-linux-musl": "4f7bc612c378a6e746a5bd737f89763ddaea0398182b49df28a9954e955fcd63"
487
+ }
477
488
  }
478
489
  }
479
490
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cdx-manager",
3
- "version": "0.21.0",
3
+ "version": "0.21.1",
4
4
  "description": "Terminal session manager for Codex and Claude accounts.",
5
5
  "license": "MIT",
6
6
  "author": "Alexandre Agostini",
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cdx-manager"
7
- version = "0.21.0"
7
+ version = "0.21.1"
8
8
  description = "Terminal session manager for Codex and Claude accounts."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -78,7 +78,7 @@ def _fetch_latest_release(env=None):
78
78
  LATEST_RELEASE_URL,
79
79
  headers=headers,
80
80
  )
81
- with urllib.request.urlopen(request, timeout=5) as response:
81
+ with urllib.request.urlopen(request, timeout=2) as response:
82
82
  payload = json.loads(response.read().decode("utf-8"))
83
83
  return {
84
84
  "latest_version": str(payload.get("tag_name") or "").lstrip("v"),
@@ -185,6 +185,12 @@ def check_for_update(base_dir, current_version, env=None, now_fn=None):
185
185
 
186
186
  latest = fetch_latest_release(env=env)
187
187
  if not latest:
188
+ # A failure is cached like a success, keeping the last known version:
189
+ # otherwise a slow network makes every cdx command wait on GitHub again.
190
+ try:
191
+ _write_cache(path, {**cached, "checked_at": now_ts})
192
+ except OSError:
193
+ pass
188
194
  return None
189
195
 
190
196
  payload = {