Skip to content

Commit 4402a6f

Browse files
committed
Release 0.5.2 (build 17)
1 parent 71883bc commit 4402a6f

6 files changed

Lines changed: 19 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Changelog
22

3-
## 0.5.2 — Unreleased
4-
- Release packaging now includes uploading the dSYM archive alongside the app zip to aid crash symbolication (policy documented in shared mac release guide).
3+
## 0.5.2 — 2025-11-22
4+
- Release packaging now includes uploading the dSYM archive alongside the app zip to aid crash symbolication (policy documented in the shared mac release guide).
55
- Claude PTY fallback removed: Claude probes now rely solely on `script` stdout parsing, and the generic TTY runner is trimmed to Codex `/status` handling.
66
- Fixed a busy-loop on the codex RPC stderr pipe (handler now detaches on EOF), eliminating the long-running high-CPU spin reported in issue #9.
77

Scripts/package_app.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ cat > "$APP/Contents/Info.plist" <<PLIST
4343
<key>CFBundleIdentifier</key><string>${BUNDLE_ID}</string>
4444
<key>CFBundleExecutable</key><string>CodexBar</string>
4545
<key>CFBundlePackageType</key><string>APPL</string>
46-
<key>CFBundleShortVersionString</key><string>0.5.1</string>
47-
<key>CFBundleVersion</key><string>16</string>
46+
<key>CFBundleShortVersionString</key><string>0.5.2</string>
47+
<key>CFBundleVersion</key><string>17</string>
4848
<key>LSMinimumSystemVersion</key><string>15.0</string>
4949
<key>LSUIElement</key><true/>
5050
<key>CFBundleIconFile</key><string>Icon</string>

Scripts/sign-and-notarize.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -euo pipefail
44
APP_NAME="CodexBar"
55
APP_IDENTITY="Developer ID Application: Peter Steinberger (Y5PE65HELJ)"
66
APP_BUNDLE="CodexBar.app"
7-
ZIP_NAME="CodexBar-0.5.1.zip"
7+
ZIP_NAME="CodexBar-0.5.2.zip"
88

99
if [[ -z "${APP_STORE_CONNECT_API_KEY_P8:-}" || -z "${APP_STORE_CONNECT_KEY_ID:-}" || -z "${APP_STORE_CONNECT_ISSUER_ID:-}" ]]; then
1010
echo "Missing APP_STORE_CONNECT_* env vars (API key, key id, issuer id)." >&2

Sources/CodexBar/TTYCommandRunner.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ struct TTYCommandRunner {
2929
}
3030
}
3131

32-
// swiftlint:disable cyclomatic_complexity function_body_length
32+
// swiftlint:disable function_body_length
3333
func run(binary: String, send script: String, options: Options = Options()) throws -> Result {
3434
guard let resolved = Self.which(binary) else { throw Error.binaryNotFound(binary) }
3535

@@ -247,7 +247,7 @@ struct TTYCommandRunner {
247247
return Result(text: text)
248248
}
249249

250-
// swiftlint:enable cyclomatic_complexity function_body_length
250+
// swiftlint:enable function_body_length
251251

252252
static func which(_ tool: String) -> String? {
253253
// First try system PATH

Sources/CodexBar/UsageFetcher.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ struct UsageFetcher: Sendable {
344344
let rpc = try CodexRPCClient()
345345
defer { rpc.shutdown() }
346346

347-
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.1")
347+
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.2")
348348
// The app-server answers on a single stdout stream, so keep requests
349349
// serialized to avoid starving one reader when multiple awaiters race
350350
// for the same pipe.
@@ -405,7 +405,7 @@ struct UsageFetcher: Sendable {
405405
private func loadRPCCredits() async throws -> CreditsSnapshot {
406406
let rpc = try CodexRPCClient()
407407
defer { rpc.shutdown() }
408-
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.1")
408+
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.2")
409409
let limits = try await rpc.fetchRateLimits().rateLimits
410410
guard let credits = limits.credits else { throw UsageError.noRateLimitsFound }
411411
let remaining = Self.parseCredits(credits.balance)
@@ -438,7 +438,7 @@ struct UsageFetcher: Sendable {
438438
do {
439439
let rpc = try CodexRPCClient()
440440
defer { rpc.shutdown() }
441-
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.1")
441+
try await rpc.initialize(clientName: "codexbar", clientVersion: "0.5.2")
442442
let limits = try await rpc.fetchRateLimits()
443443
let data = try JSONEncoder().encode(limits)
444444
return String(data: data, encoding: .utf8) ?? "<unprintable>"

appcast.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
33
<channel>
44
<title>CodexBar</title>
5+
<item>
6+
<title>0.5.2</title>
7+
<pubDate>Sat, 22 Nov 2025 10:19:44 +0100</pubDate>
8+
<link>https://raw.githubusercontent.com/steipete/CodexBar/main/appcast.xml</link>
9+
<sparkle:version>17</sparkle:version>
10+
<sparkle:shortVersionString>0.5.2</sparkle:shortVersionString>
11+
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
12+
<enclosure url="https://github.com/steipete/CodexBar/releases/download/v0.5.2/CodexBar-0.5.2.zip" length="2645714" type="application/octet-stream" sparkle:edSignature="Fs/M9yxMf4+JXeu96WpI/dp8RVso7KBuPNBHugVk2TP+Vm0biex4y3m6n4lBdBz1IWC+L5TIyZ1fwGXbtU2LBA=="/>
13+
</item>
514
<item>
615
<title>0.5.1</title>
716
<pubDate>Sat, 22 Nov 2025 05:07:22 +0100</pubDate>

0 commit comments

Comments
 (0)