<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CodePulse Changelog</title>
    <link>https://codepulse.at/changelog</link>
    <description>Latest changes and improvements to CodePulse.</description>
    <language>en</language>
    <lastBuildDate>Fri, 05 Jun 2026 21:00:51 GMT</lastBuildDate>
    <atom:link href="https://codepulse.at/changelog/rss.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title><![CDATA[CodePulse v2.3.176 - /agents start <agent-name> dispatches as a named subagent]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.176 closes the Telegram-side subagent loop. /agents start now accepts an optional <agent-name> prefix — if the first word matches a custom subagent installed under .claude/agents/ or $CLAUDE_CONFIG_DIR/agents/, the background Claude Code session runs as that subagent. Bare agent names with no prompt are rejected with a usage hint instead of silently dispatching the name as a literal prompt, and the chat-context guard added to /agents pin / /agents refresh now also protects /agents start.]]></description>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.175 - Pin rotation + Windows console-popup fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.175 is the definitive fix for two long-standing bugs that survived four prior release attempts (v2.3.171, v2.3.173, v2.3.174). /agents pin and /agents refresh now rotate the pinned message to a new message_id so a previously-dismissed pinned bar reappears reliably. The cold-start Windows console popup is eliminated by routing the service spawn through a wscript.exe VBS launcher that calls WshShell.Run with SW_HIDE — the only Windows mechanism that fully suppresses console allocation for a CONSOLE-subsystem child. Both root causes were verified by exhaustive personal read of official documentation, not guessed.]]></description>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.174 - InaccessibleMessage ghost-pin detection]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.174 added detection for Telegram's InaccessibleMessage ghost-pin sentinel (date === 0) — a case where getChat.pinned_message returns the original cached message_id even after the underlying message has been deleted. v2.3.173 had read only the message_id field and treated the ghost as a valid pin, short-circuiting /agents pin with no actual effect. This release fixed that specific case but the user-reported 'Pin restored with no banner' symptom persisted because the actual root cause was per-message_id client dismissal — a different class of failure addressed in v2.3.175 (rotation pattern).]]></description>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.173 - getChat ground-truth for /agents pin recovery]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.173 was the first attempt at fixing the user-reported '/agents pin replies Pin restored but no banner appears' bug. Service logs showed four consecutive forcePin succeeded events with zero visible banner, leading to the hypothesis that Telegram's pinChatMessage was returning ok: true even when the cached message_id was no longer pinnable. The fix added bot.api.getChat() probes around the pin call to detect stale-cache cases. The user-reported symptom persisted — the actual root cause turned out to be different (per-message_id client dismissal, fixed in v2.3.175) — but the stale-cache detection added here is still load-bearing for the genuine server-side delete recovery path.]]></description>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.172 - /agents templates lists installed custom subagents]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.172 ships the discovery side of TAB-760: a new /agents templates Telegram subcommand that lists every reachable custom Claude Code subagent — .md files in .claude/agents/ (project scope, walked up from cwd) and $CLAUDE_CONFIG_DIR/agents/ or ~/.claude/agents/ (user scope). Previously you had to ssh in and ls to see which subagents were installed; now you can list them from anywhere you have Telegram. Project entries override user entries with the same name, matching Claude Code's own precedence.]]></description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.171 - Hide Windows console flash at service startup (Phase A)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.171 is the Phase A hotfix for the Windows console-popup regression first reported against v2.3.170. Two execFileSync probes in src/diagnostics/crash-context.ts:warmDependencyCache() — claude --version and powershell.exe echo ok — flashed a console window at every service startup because Node's child_process defaults to windowsHide: false. v2.3.169 had patched all Bun.spawn(...) sites for the same class of bug but the two APIs are independent. Phase A patches both startup-time child_process sites; Phase B (TAB-761, deferred) covers six remaining user-command-triggered sites. The cold-start console popup that persisted beyond this fix was a different root cause entirely (upstream Bun bug), addressed in v2.3.175 via VBS launcher.]]></description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.170 - /agents start, /agents pin, refresh force-repin]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[v2.3.170 wraps the Claude Code Agent View Layer 1 fleet in two new Telegram subcommands. /agents start dispatches a fresh background session from a typed message; /agents pin restores the pinned status bar without fetching anything. /agents refresh now always re-pins after updating, and the full 10-command set is now listed in /help.]]></description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.148-v2.3.151 - Send Gmail from Telegram (Phase 1 beta)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[CodePulse now sends real Gmail from Telegram. Three new slash commands, a bundled local MCP server, a Telegram WebApp + t.me auto-return OAuth bridge, and a HIGH_BLAST always-ASK approval card. Phase 1 beta is open to approved Gmail testers — full CASA verification lands in Phase 2.]]></description>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.147 — Bash hook achieves Linux/macOS parity with the Windows anchor-file resolver]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The bash hook (`codepulse-pulse.sh`) now uses the same 4-tier resolver chain shipped for Windows in v2.3.145 — anchor file → env var → script-location inference → self-heal flag. `/health` cross-platform: it reads diag flags from both `%APPDATA%` (Windows) and `$HOME/.codepulse/diagnostics` (Linux/macOS). New CI workflow validates the bash code on real Linux instead of git-bash. Concludes the TAB-665 EPIC.]]></description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.146 — Installer Step 5 demoted to non-fatal + path-resolution dedup]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Transient registry / shell-config write hiccups at install Step 5 (the `CODEPULSE_HOME` env-var write) no longer abort the install with a rollback prompt. The hook + anchor file are already in place by then, so a failed env-var write now logs a WARN and continues. Cross-platform parity (Windows + Linux/macOS). Bonus: collapsed three duplicate path-resolution blocks in `install.ps1` into one canonical variable.]]></description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.145 — Anchor-file resolver eliminates env-var fragility]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Hooks now resolve their CodePulse install via an installer-written anchor file (`codepulse-home.txt`) instead of the fragile `CODEPULSE_HOME` env var. A new `/health` field surfaces hook resolver state so silent failures are visible. Triggered by an outage where the env var disappeared from a user's HKCU registry mid-session, taking every Telegram tool surface dark with no diagnostic.]]></description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.142–v2.3.144 — Real-life final bug fixes (active-gate, streaming, calendar)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three-release bug-fix sweep wrapping up the Real-life mode rollout. RL-active gate (TAB-645) makes hook-suppression conditional on RL being attached so Code-mode users don't lose their Telegram surface mid-session. Streaming UX cleaned up — placeholder dropped, connector-account marker preserved (TAB-646). Calendar tool now correctly includes pending-RSVP events with diagnostic logging for tool_use args (TAB-648). v2.3.142 was the version that hit the outage that triggered the v2.3.145 anchor-file resolver fix.]]></description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.139–v2.3.141 — Voice + RL UX polish (hook dedup, Connector, formatting)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three-release UX polish pass on Real-life mode after the TAB-626 isolation redesign. Voice commands stop trying to drive RL turns (TAB-615), hook dedup eliminates duplicate Telegram cards from concurrent stop-hooks (TAB-644 hook-dedup), Connector reads auto-allow on first call (TAB-644 connector-allow), prompt formatting cleaned up so RL responses look like Telegram messages, and the answer-placement order is finally below the approval cards.]]></description>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.136–v2.3.138 — Real-life mode fully isolated from CLI + production smoke-test fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[TAB-626 redesign: Real-life mode is now fully isolated from the Code-mode CLI bridge — separate session registry, separate prompt, separate streaming pipeline. Plus the first round of production smoke-test fixes (mid-spawn race, response-card layout, placeholder UX) and stop-hook diagnostic instrumentation that surfaced the cross-session contamination bug fixed in TAB-642/643.]]></description>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.131–v2.3.135 — Real-life Phase 6: dedicated handler, slim cards, per-topic policy]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Five-release sprint refactoring Real-life mode from the proof-of-concept Phase D plumbing into production-grade architecture. Dedicated message handler replaces plan-module branching, slim card layouts shed Code-mode chrome, and a read/write classifier with per-topic approval policy isolates RL approval state from Code-mode learned patterns.]]></description>
      <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.125–v2.3.130 — Real-life Mode arrives (Path D + Path E)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The biggest architectural addition since delegate mode. Telegram now drives a Claude Desktop MCP toolkit for non-coding workflows — Gmail, Calendar, Drive, Linear, Slack — via the new Real-life mode. Includes the `/select` Code/Real-life/Exit picker, auto-attach state machine, rich approval-card previews, and the cross-platform CLI MCP toolkit honoring.]]></description>
      <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.122–v2.3.124 — Foundation hardening (cross-project, MCP, env spawn)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three-release sprint locking down the bridge core before Real-life mode lands. Cross-project `--continue` delegation works on `/project` switch (TAB-596 Phase 3). Regex-based MCP auto-approve removed in favor of explicit per-tool whitelists (TAB-605). Every CLI subprocess spawn now uses an explicit env allowlist instead of inheriting the full parent environment (TAB-606).]]></description>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.121 — Conditional `if` filters for hook registration]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Adds CLI v2.1.85's conditional `if` field to CodePulse's hook registration. Operators can now scope hooks to specific tool calls via permission-rule syntax (e.g., `Bash(git *)` to fire only on git Bash commands). Opt-in via the new HOOK_IF_FILTERS env var. Pre-ship adversarial review caught a CRITICAL wire-format bug where the `if` field was emitted at the wrong JSON nesting level.]]></description>
      <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.120 — Release pipeline retries + deploy-version verify (shipped, not yet active)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Hardens the release pipeline with worker version injection, post-deploy /health verify, step-level timeouts, and a 60-min job ceiling. Honest disclosure: the changes shipped to the dev branch and tagged successfully, but the workflow_dispatch trigger uses main's release.yml — none of these improvements actually ran during this release. Tracked for end-to-end activation.]]></description>
      <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.119 — PermissionDenied auto-retry classifier]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Activates the v2.3.117-stubbed PermissionDenied hook with a transient/persistent classifier. When Claude Code denies a tool call for a transient reason, CodePulse now tells the model to retry — capped per-tool and per-session, with git-write commands always prompting regardless.]]></description>
      <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.118 — Install-step retries across the release pipeline]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Extends v2.3.117's NSIS resilience pattern to four other transient-failure surfaces in the release pipeline: bun install, npm ci (launcher), npm ci (worker), and wrangler deploy. A single transient registry 503 or Cloudflare API blip can no longer take down a release.]]></description>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.117 — Hooks panel sync + NSIS install resilience]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Two fixes in one release. The Hooks Configuration panel now actually controls which Claude Code hooks the service registers (previously the checkboxes were decorative). The release pipeline's NSIS install step gained resilience against transient Chocolatey outages — the v2.3.116 release attempt had failed when community.chocolatey.org returned 503.]]></description>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.115 — Prompt sanitize + installer marker + stop_hook cap]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three tickets in one release. Prompt-injection sanitization extended from 2 to 11 Claude call sites (SDK + TCVF + proactive modules). Installer accepts settings.local.json. Stop_hook_active runs with a per-session loop cap instead of blanket pass-override.]]></description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.114 — Service lifecycle fix + Uninstall now works]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Stop Service now completes in 2-3s (was 20-160s under AMSI). Uninstall button finally works — UAC elevation via ShellExecute. Top-right + Dashboard buttons sync; Force Kill escalates only after 60s.]]></description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.113 — em-dash parse bomb + AST CI gate]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Build-support-email.ps1 failed to parse because a UTF-8 em-dash inside a double-quoted string was misread as a closing quote under PS 5.1's ANSI fallback. All installer .ps1 files scrubbed + CI now runs [Parser]::ParseFile before every release.]]></description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.112 — $Script parse bomb (install.ps1)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Install.ps1 failed to parse on every machine — PS 5.1 treated $Script: as a scope modifier. Exit code 1 with no output. Fixed by wrapping in $($Script) subexpression.]]></description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.111 — Installer PowerShell cascade eliminated]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Installer drops from 30-45s to 15-20s by collapsing 3-4 spawned PowerShell processes per phase into a single dot-sourced call. Live NSIS progress streaming via ExecToLog, FirstRunWizard phase labels added.]]></description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.110 — grammY shutdown timeout + Stop button deadlock fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Two production-blocking issues resolved: sendToAllUsers now has a 3s timeout so shutdown can't hang forever, and the Stop button no longer deadlocks waiting on PowerShell cold-start. Force Kill escalation added.]]></description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.109 — QR pairing UX polish: 10x faster confirm]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Post-QR-scan pending delay drops from 5-10 seconds to about 1 second by replacing a fixed 5s sleep with a 250ms poll loop. Telegram reply on success and diagnostics progress logs added.]]></description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.108 — Mobile QR redirect via HTML meta-refresh]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[QR pairing now redirects to Telegram via an HTML meta-refresh page instead of a 302 response, fixing a silent dead-end on iOS Safari and Android Chrome in-app WebViews. The bot also sends a Welcome message immediately.]]></description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.107 — QR pairing firewall rule + multi-NIC hardening]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Production hardening for QR pairing: installer now provisions a Windows Firewall rule, Rust ranks multi-NIC machines correctly, and a StrictMode unmount race in the retry handler is fixed.]]></description>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.106 — QR pairing goes live end-to-end]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Pair a Telegram bot in under 30 seconds by scanning a QR code. LAN HTTP server, Telegram polling, .env persistence, and a React PairingCard UI all ship together as the first working release of the TAB-482 epic.]]></description>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.105 — QR pairing scaffold]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Backend scaffold for QR-based Telegram bot pairing — dependencies and Tauri command stubs land. No user-visible flow yet; the end-to-end experience ships in v2.3.106.]]></description>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.104 — Park UltraPlan command, revert v2.3.103 experiment]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Parks the UltraPlan command path because the underlying CLI lacks the --remote flag required for cloud sessions. Reverts the v2.3.103 raw keyword detection experiment.]]></description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.103 — UltraPlan raw keyword detection test]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Experimental change to UltraPlan keyword detection — drops XML wrapping and plan mode to test whether raw keyword parsing improves cloud-session routing.]]></description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.102 — Exempt .example/.sample from Safety Check]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Files ending in .example or .sample are now exempt from the excluded path safety check. This prevents false positives when working with template configuration files.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.101 — UltraPlan UI Cleanup]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Removed the dead 'Open in Browser' text button from UltraPlan cards. The URL button now only appears when a session URL is actually available.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.100 — Escape All Angle Brackets in User Prompts]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[All angle brackets in user prompts are now escaped, not just the 5 previously allowlisted tags. Closes a potential prompt injection vector via crafted XML-like input.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.99 — UltraPlan Phase 3: Cloud Execution + PR Cards]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[UltraPlan now detects cloud execution completion and shows a PR notification card with a direct link when the task creates or updates a pull request.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.98 — UltraPlan Per-User Bridge Map]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[UltraPlan now uses a per-user bridge map, extracts regex constants, and adds a dedicated executing keyboard to prevent cross-user session conflicts.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.97 — UltraPlan URL Regex Hardening]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Hardened URL extraction regexes in UltraPlan, eliminated a double card edit race condition, and added a runtime guard against malformed plan responses.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.96 — UltraPlan Phase 2: Teleport & Auto-Execute]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[UltraPlan plans can now teleport back to your terminal and auto-execute. Tap Execute on the plan card, and the task starts on your local machine automatically.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.95 — /ultraplan: Cloud Planning from Telegram]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New /ultraplan command enables cloud-based planning directly from Telegram. Send a task description and get a full implementation plan generated by Claude Opus in the cloud.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.94 — Stop Reply Window Expiry Notification]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Users are now notified when the stop reply window expires instead of the stop request being silently dropped. Prevents confusion when stop timing overlaps with task completion.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.93 — Replay Count Reset Before Follow-Up]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The replay count is now reset before follow-up execution, eliminating a 30-second timeout that could occur when chaining multiple follow-up tasks.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.92 — Stop Hook Active Shown as Status Cards]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[stop_hook_active messages now display as visual status cards on Telegram instead of being suppressed, giving clear feedback that a task stop is in progress.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.91 — Forward stop_hook_active to Bridge]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The stop_hook_active signal is now forwarded to the bridge instead of being blanket-suppressed, allowing the Telegram UI to show accurate task state.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.90 — UTF-8 Encoding for Stop POST Body]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The Stop hook POST body is now encoded as UTF-8 bytes, fixing emoji corruption when stopping tasks via the HTTP transport layer.]]></description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.89 — Non-Delegate Auto-Allow Notifications]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Non-delegate auto-allows now send a notification and record a learning entry, ensuring consistent audit trail and user feedback across all session types.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.88 — Auto-Approve Notifications Restored]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Auto-approve notifications for interactive terminal sessions are restored. Users now see feedback when tool calls are automatically approved in the terminal.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.87 — Skip Wait Quietly for Non-Delegate Sessions]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The Wait Quietly suppression logic now skips non-delegate (interactive terminal) sessions, restoring normal tool call output in the terminal.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.86 — UTF-8 Stdin Encoding Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Set UTF-8 encoding on stdin to fix emoji and Unicode corruption on Telegram cards. Characters like checkmarks and arrows now render correctly.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.85 — Smart Continuation for Follow-Up Messages]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Follow-up messages now auto-resume the most recent CLI session instead of starting fresh. Claude keeps full context from the previous task, making corrections instant.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.84 — Non-Delegate Guard Moved Above TCVF]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The non-delegate session guard now runs before the TCVF pipeline, ensuring interactive terminal sessions skip the entire approval flow without side effects.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.83 — Auto-Allow for Non-Delegate Sessions]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Non-delegate sessions now auto-allow tool calls instead of holding the HTTP connection, preventing the interactive terminal from blocking on bridge approval.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.82 — Defer Only Delegate-Spawned Sessions]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Deferred approvals now only activate for delegate-spawned sessions. Interactive terminal sessions skip the defer pipeline entirely, preventing unexpected pauses.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.81 — Defer Response Includes hookEventName]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Added the missing hookEventName field to defer responses. The CLI requires this field to correctly honor the defer signal and pause execution.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.80 — Defer Key Fits Telegram Callback Limit]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Shortened the deferKey format to fit within Telegram's 64-byte callback data limit, fixing approval buttons that silently failed on long session IDs.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.79 — Deferred Approval Edge Case Handling]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Handles deferred approval edge cases: session expiry cards, permissionMode compatibility, and an eviction guard to prevent stale deferred entries from leaking memory.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.78 — Deferred Approval Card UX]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New Telegram card UX for deferred approvals: a paused indicator while waiting, resume feedback on approval, and a clear error card if the session expires.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.77 — Tool Deferred Handling + Auto-Resume]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The CLI framework now handles the tool_deferred state natively. When a deferred approval is resolved via Telegram, the CLI auto-resumes execution seamlessly.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.76 — Defer Approval Support in Bridge Server]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The bridge server now supports deferred approvals behind a feature flag. Tool calls can be paused and resumed via Telegram without blocking the CLI process.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.75 — Defer Response Infrastructure]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New defer response types, builders, and adapter lay the groundwork for deferred tool approvals — letting the CLI pause execution while waiting for Telegram approval.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.74 — Bridge Validation Prevents Orphaned Connections]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Added optionIndex validation before deleting pending bridge entries. Prevents orphaned HTTP connections when stale callbacks arrive after session cleanup.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.73 — Hook Adapter Replaces 18 Protocol Branches]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[A unified hook-adapter now handles all approval protocol branches in the bridge server, replacing 18 hand-coded protocol paths with a single dispatch layer.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.72 — CallbackRegistry Replaces 37-Case Switch]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[A new CallbackRegistry.dispatch() system replaces the 37-case switch statement in the callback handler, making callback routing declarative and extensible.]]></description>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.71 — Visual Plan Source Indicators]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Plan cards now show whether the plan was generated by AI Preview (fast Haiku) or Full Analysis (Opus), so you know the depth of reasoning behind each plan.]]></description>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.70 — Plan Execution Timeout & TTL Guard]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Plan execution now enforces a timeout to prevent runaway tasks. TTL extension and strict userId guards prevent orphaned or cross-user plan sessions.]]></description>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.69 — MessageRouter Decomposed into 5 Modules]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The monolithic MessageRouter has been split into 5 focused feature modules, improving maintainability and making the approval pipeline easier to extend.]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.68 — Reusable Reliability Primitives + Hook Abstraction]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Phase 0+1 of the MessageRouter decomposition introduces four reusable primitives: TTL-aware state container, typed callback dispatcher, session isolation helper, and normalized hook adapter.]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.67 — Plan Mode: 25 Security + Correctness Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three adversarial review rounds against the TAB-562 plan-mode rollout. 2 critical, 6 high, and 9 medium fixes shipped including secret redaction, XML prompt-injection sanitization, session isolation, and abort-race hardening.]]></description>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.66 — /plan Forwards AskUserQuestion to Telegram]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[When Claude Code asks a clarifying question while building a plan, the question and options are forwarded to Telegram as an inline keyboard with a 120-second response window.]]></description>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.65 — /plan Migrated to CLI Native Plan Mode]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[The /plan command now uses Claude Code's native plan mode instead of a custom implementation. Plans are richer, editable, and execute with full CLI context.]]></description>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.64 — /plan Command for Plan-First Tasks]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New /plan command lets you request an explicit plan before execution. Includes AI pre-check, error handling polish, and test fixes for classifier mocks.]]></description>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.63 — Faster CLI Startup (MCP Non-Blocking)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Set MCP_CONNECTION_NONBLOCKING=1 in the CLI environment. MCP servers now connect in the background, saving 3-8 seconds on every delegate task start.]]></description>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.62 — Task Complete Follow-Up Button]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Task Complete card now shows up to 800 characters of summary and adds a Follow-up button that resumes the exact same CLI session without re-planning.]]></description>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.61 — Dynamic MCP Discovery (No More Hardcoded Names)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Replaced the static MCP tool whitelist with dynamic per-spawn discovery that reads all config sources. Eliminates the class of name-mismatch bugs that silently blocked MCP tools.]]></description>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.60 — Local Linear MCP Added to Whitelist]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Added local Linear MCP variants and additional configured MCPs to the allowedTools whitelist as a workaround for Claude Code cloud MCP bug #37105.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.59 — Voice Auto-Confirm Timer Raised to 40 Seconds]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Raised the voice transcription auto-confirm timer from 20s to 40s across config defaults, fallback constants, and the environment example.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.58 — MCP Auto-Escalation & Reply Button Everywhere]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[MCP-action phrases in companion mode now auto-escalate to CLI execution. Seven Claude-native MCPs whitelisted by default. Reply button now appears on all text responses.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.57 — Wait Quietly Stop Loop Root-Cause Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Root-cause fix for the Wait Quietly stop loop. The bridge now returns an empty response instead of a decision:block that injected wait_for_instructions and cycled 28 times.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.56 — Setup Wizard Simplified]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Setup wizard collapsed from 4 steps to 3 by removing the API key fields. Both keys remain accessible in the Configuration panel with descriptive hints.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.55 — Wait Quietly Cycling Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Removed the 5-stop counter that caused Wait Quietly suppression to cycle indefinitely — showing an approval card every 40 seconds and restarting the loop.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.54 — Voice Transcription Card Rebuilt]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Voice transcription cards now update in-place via editMessageText. Added an Edit button, a race condition guard, and raised the auto-confirm default from 10s to 20s.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.53 — Plan Cards Show the Real Git Branch]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Plan cards now display the actual git branch detected at plan time instead of a Haiku-generated fake. Dead voice config entries also removed.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.52 — Upgraded Transcription Model]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Upgraded the voice transcription model from whisper-1 to gpt-4o-mini-transcribe on both the service and Cloudflare Worker proxy for higher accuracy at similar cost.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.51 — Voice Transcription Through Cloudflare Worker Proxy]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Voice transcription now routes through the Cloudflare Worker proxy. Premium users get voice out of the box — no personal OpenAI API key required.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.50 — Branching Cleanup]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Adversarial review cleanup for TAB-535. Removed dead branch creation code, fixed stale tests that asserted the old behavior, and updated the environment example file.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.49 — Delegate Mode Works on Your Current Branch]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Delegate mode no longer creates feature branches from hardcoded main. It now detects and works directly on your current branch, preserving project context and recent infrastructure.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.48 — Focused Error Log (65KB → 12KB)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Reduced diagnostic error log from 65KB to ~12KB of focused, useful content by trimming install log noise and scoping the service log to the current session.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.47 — Hang Timer Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed CLI hang timer killing Claude during legitimate long operations like approval waits and MCP calls.]]></description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.46 — Delegate Mode Intent Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed delegate mode misclassifying task messages as simple questions, blocking natural language task delegation.]]></description>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.45 — Content Push & Claude Behavior Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed TCVF falsely blocking content-only git pushes and prevented Claude from suggesting PR links after delegate tasks.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.44 — Diagnostic Logging Improvements]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Improved diagnostic logging with user message previews, raw Haiku responses, CLI prompt prefixes, and increased log capture size.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.43 — Unicode Escape Revert]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Reverted the v2.3.41 Unicode escape to literal UTF-8 conversion that broke all emoji and special characters in Telegram cards.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.42 — Plan Card Cost & JSON Repair]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed plan card showing estimated cost instead of $0 for Max Plan users, and added JSON repair for truncated Haiku responses.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.41 — Unicode Escape Change (Reverted)]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Replaced Unicode escape sequences with literal UTF-8. This change was reverted in v2.3.43 due to compiled binary incompatibility.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.40 — Extractive Plan Generation]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New lossless extractive plan generation that preserves full user intent, richer plan cards with constraints, and increased maxTokens.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.39 — MCP Wildcard Syntax Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed MCP allowedTools wildcard syntax that silently failed, preventing MCP tools from being available in delegate mode.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.38 — MCP Tools in Delegate Mode]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed MCP tools being blocked in delegate mode by dynamically discovering configured MCP servers from settings.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.37 — Health Check Sync]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed health check reporting false warnings by syncing process.env after premium auto-enable and CLI path resolution.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.36 — Task Complete & Stop Storm Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed wrong filesChanged count in Task Complete card and stop hook storm after delegate task completion.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.35 — Environment Conflict Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed CLAUDECODE=1 environment variable conflict when service launches from a Claude Code terminal.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.34 — Git Status Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed misleading branch comparison text in status cards and expanded commit type inference to all 6 conventional-commit prefixes.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.33 — Delegate Mode Task Flow Redesign]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New Task Complete card, status-aware actions with git state detection, and removal of the old Push and PR flow.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.32 — Truncation Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Increased truncation limits for startup messages and plan summaries to improve readability.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.31 — Approval Mode Race Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed approval mode race condition on concurrent fire-and-forget executions that could corrupt shared state.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.30 — Stale Conversation History Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed stale conversation history being injected into plan generation prompts, causing Haiku to generate plans about previous requests.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.29 — UX Polish]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed send logs button hover state and hidden the WMIC console window flash during system info collection.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.28 — PermissionRequest: TCVF Path + Always Allow Learning]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Adversarial review of v2.3.27 found 3 more PermissionRequest gaps: the TCVF T3 deny path used the wrong format, decisions weren't recorded for learning, and commit-message edits were silently discarded.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.27 — PermissionRequest Auto-Approve Format Fix]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[MCP tools matching auto-approve patterns silently failed because the bridge returned PreToolUse-format responses to PermissionRequest events. Now branches on event type.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.26 — Send Logs Fresh-Eyes Security Review]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Three medium findings from re-review of /send_logs: Worker error HTML escape, userId null guard, premium tier check based on tier (not licenseKey presence).]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.25 — Premium Auto-Enable + /send_logs Review Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Adversarial review of TAB-512/514: configured-port respect, bridge-enabled guard, opt-out via .env override, clearer error messages.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.24 — Premium Features Auto-Enable + /send_logs from Telegram]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Premium features (Pulse, Guardian, ErrorWatch, Bridge, CommitReview, MCP Heartbeat, TCVF) now auto-enable on license validation. New /send_logs Telegram command for one-tap diagnostic submission. /manage surfaces specific Worker errors.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.23 — Send Logs: Chief Architect Final Review]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Final review pass on diagnostic log submission: real system info, crash report collection, fail-closed rate-limit increment, button cursor states.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.22 — Send Logs: Fresh-Eyes Review Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Second fresh-eyes review of diagnostic log submission: license-key KV verification, full sanitization coverage, code-fence escape, IP redaction, type coercion.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.21 — Send Logs: First Adversarial Review Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[First-pass review of the diagnostic log submission feature: UTF-8 boundary safety in Rust, Worker-side license validation, PII sanitization, GitHub Issue body size guard.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.3.20 — One-Click Diagnostic Log Submission]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New 'Send Diagnostic Logs' button in the Help tab submits sanitized logs to a Cloudflare-Worker-backed GitHub issue, rate-limited per license key.]]></description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.30 — Diagnostics Tab Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed stale version display, test pollution in crash reports, and version preservation across service restarts.]]></description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.29 — Wait Quietly Button]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New [Wait Quietly] button on status cards breaks the infinite stop card loop while keeping your session alive.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.28 — Reliability & Security Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed SQLite migration bug, Dashboard stats for free users, aligned all timeouts to 6 minutes, and fail-closed hook error handling.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.27 — Reliability & Timeout Fixes]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed SQLite migration bug, Dashboard stats for free users, and aligned all approval timeouts to 6 minutes.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.26 — Stop Card UX Overhaul]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Fixed 4 critical UX bugs in Telegram stop cards: truncated questions, ugly design, timeout too short, and false reply confirmation.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.25 — Session Intelligence Digest]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Enriched 'Claude Ready' cards with file heat map, test cycle history, bash health, and risk-based QA triggers — all powered by the /loop watchdog.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.24 — Layer 2.5: MCP Heartbeat Watchdog]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[External /loop watchdog monitors session health and sends Telegram alerts when the MCP keep-alive connection degrades — closing the 2.5-hour hook limitation gap.]]></description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.23 — 9-Class Security Exploit Taxonomy]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Embedded adversarial security intelligence into CommitReview, /review, and T4 verification with a 9-class exploit taxonomy. Zero additional API cost.]]></description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.8 — Real-Time Text Forwarding]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Assistant text messages now appear on Telegram immediately before long-running tool calls instead of being held until the turn completes.]]></description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.7 — Auto-Updater & Release Pipeline]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Built-in auto-updater with ed25519 signing, one-command release pipeline, GitHub Actions CI/CD, and selective builds.]]></description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.0.6 — UX Improvements]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Inline Save button in Telegram configuration, persistent save state across tab switches, Uninstall option in Help, and corrected footer link.]]></description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.0.5 — Stability & Polish]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Critical process detection fix for Bun-compiled binaries, async IPC to prevent UI freezes, and improved dashboard activity feed.]]></description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.0.4 — Dashboard & Installer Overhaul]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[New License and Help tabs, Exit CodePulse button, process tree cleanup, and 15 installer and launcher bug fixes.]]></description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.0.2 — Licensing & Security Audit]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Full licensing system audit with 7 critical fixes, Durable Objects machine enforcement, structured logging, and 14 launcher/installer fixes.]]></description>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.1.0 — The Pulse]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Live activity tracking with The Pulse, improved bidirectional communication, and Haiku Auto-Answer for routine queries.]]></description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v2.0.0 — Major Rewrite]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Complete architecture overhaul with all 7 core features, new hook system integration, smart classifier, and Commit Gate with AI review.]]></description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v1.0.0 — Initial Release]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[First stable release with Morning Briefing, Approval Pipeline, and Telegram integration. Local-first JSONL architecture with zero cloud dependencies.]]></description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
      <category>release</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v0.9.0 — Public Beta]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Public beta launch with Telegram integration, approval engine, and multi-project support.]]></description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
      <category>feature</category>
    </item>
    <item>
      <title><![CDATA[CodePulse v0.8.0 — Alpha Preview]]></title>
      <link>https://codepulse.at/changelog</link>
      <description><![CDATA[Internal alpha release with core hook infrastructure and basic Telegram notifications.]]></description>
      <pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate>
      <category>improvement</category>
    </item>
  </channel>
</rss>