<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
  <channel>
    <title>CocoaPacketAnalyzer</title>
    <link>https://appcast.tastycocoabytes.com/cpa/appcast.xml</link>
    <item>
      <title>4.0.3</title>
      <pubDate>Thu, 01 Oct 2026 16:52:00 +0000</pubDate>
      <sparkle:version>569</sparkle:version>
      <sparkle:shortVersionString>4.0.3</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[

<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/569/rnotes.css" type="text/css" rel="stylesheet" media="all">


<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tbody><tr>
		<td class="banner"> <h3>Version 4.0.3:</h3><h4>October 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>Capture helper</strong>: capture windows, the menu bar capture and the MITM proxy say when the helper is off, missing or not answering, and offer the fix; <strong>Try Again</strong> restarts it and names a second copy of the app that blocks it.</p></li>
				<li><p><strong>MITM proxy</strong> now carries plain HTTP, WebSockets and HTTP/2.</p></li>
				<li><p><strong>MITM Proxy Monitor</strong>: decoded bodies with tabs for GraphQL, forms, query strings, uploads, tokens, event streams and OCSP; WebSocket and gRPC messages; an overview in the detail pane; numbered rows and resizable columns.</p></li>
				<li><p><strong>HAR files</strong>: export from the MITM Proxy Monitor and open those saved by browsers; <strong>Copy as cURL</strong>.</p></li>
				<li><p><strong>Packet view</strong>: OCSP and stapled certificate status are decoded; with keys, the TLS 1.3 handshake is shown decrypted; decrypted HTTP decodes Brotli.</p></li>
				<li><p><strong>Packet details</strong>: keyboard navigation (→, ←, ⌥ for everything beneath), no empty band above the tree.</p></li>
				<li><p><strong>Packet time zone</strong> applies at once, with a picker grouped by region and a new Packet Date column.</p></li>
				<li><p><strong>Faster, less memory</strong>: quicker clicks with a folder of TLS keys, no pause when returning to the app, closed capture windows release their memory; the activity strip shows how long a trace took to open.</p></li>
				<li><p>Declining the decryption prompt cancels the capture.</p></li>
				<li><p>Fixes for new capture windows, row dragging, the selection colour, Settings ▸ MITM Proxy and the macOS 27 appearance.</p></li>
				<li><p><strong>Plugin SDK 4.0.3</strong> ships with this release; plugins built with SDK 4.0.2 keep working.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</tbody></table>


]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_403.dmg" length="34875685" type="application/octet-stream" sparkle:edSignature="LfR9HJXE+Sba2Q9A8/y3rBiZ3W+fevR83fxI+3PDiu87aaQDWh3W3scUD2n7SksWyQRNNrXKvkov8xaZXaeDBQ=="/>
    </item>
    <item>
      <title>4.0.2</title>
      <pubDate>Thu, 17 Sep 2026 18:15:00 +0000</pubDate>
      <sparkle:version>567</sparkle:version>
      <sparkle:shortVersionString>4.0.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/567/rnotes.css" type="text/css" rel="stylesheet" media="all">


<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tbody><tr>
		<td class="banner"> <h3>Version 4.0.2:</h3><h4>September 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>Ready for macOS 27 Golden Gate</strong>.</p></li>
				<li><p><strong>Plugins built with the Plugin SDK now load</strong> — the app’s copy of the SDK framework was not built for library evolution, so no plugin built from the SDK download could be loaded; SDK 4.0.2 ships with this release.</p></li>
				<li><p>New SDK sample: a dissector written in <strong>Objective-C</strong> behind a small Swift shim.</p></li>
				<li><p><strong>TLS rows become HTTPS rows</strong> as you scroll, while a live capture runs and after it stops, with a real Info column.</p></li>
				<li><p><strong>QUIC connections that begin during a live capture</strong> resolve, while it runs and after it stops.</p></li>
				<li><p><strong>Saving keeps the file’s packet order</strong> even when the table is sorted.</p></li>
				<li><p>The Inspect, Save and Export menus and the <strong>TLS Key Store</strong> stay available during a live capture.</p></li>
				<li><p><strong>Less memory</strong>: the parsed key-log store is a fifth of its former size, and a closed trace releases its memory.</p></li>
				<li><p>A cleaner detail tree: container rows no longer repeat what their fields say.</p></li>
				<li><p>The menu bar capture item is off by default — a menu bar item keeps the app out of App Nap.</p></li>
				<li><p>Sidebar: <strong>Show in Finder</strong> for a recent trace.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</tbody></table>


]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_402.dmg" length="32378315" type="application/octet-stream" sparkle:edSignature="qHQKn68uN//2pOWwfub45yyNsmP5JTyiVa2Y3gwSdQ8MknNYoEc7UFWZdViW7Yv3iSvbhJZN6fExWUtqCZMiCw=="/>
    </item>
    <item>
      <title>4.0.1</title>
      <pubDate>Tue, 08 Sep 2026 11:51:00 +0000</pubDate>
      <sparkle:version>566</sparkle:version>
      <sparkle:shortVersionString>4.0.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/566/rnotes.css" type="text/css" rel="stylesheet" media="all">


<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tbody><tr>
		<td class="banner"> <h3>Version 4.0.1:</h3><h4>September 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>Use the MITM proxy from an iPhone, iPad or another computer</strong> — <strong>File ▸ Connect a Device…</strong> walks the device through the setup.</p></li>
				<li><p>New <strong>Proxy Tunnel Analyzer</strong>: TLS inside an HTTP CONNECT tunnel is decrypted.</p></li>
				<li><p><strong>TLS Keys</strong>: filter sessions by secret kind or client random.</p></li>
				<li><p><strong>DNS name resolution works again</strong> for IPv4 and IPv6, and never stalls the packet list.</p></li>
				<li><p>Lower memory after a long live capture.</p></li>
				<li><p>Switches in Settings ▸ Analyzers no longer snap back when the window loses focus.</p></li>
				<li><p><strong>Updates come from a new update server</strong>; the update prompt now offers to include an optional anonymous system profile.</p></li>
				<li><p>A refreshed <strong>document icon</strong>.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</tbody></table>


]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_401.dmg" length="33382900" type="application/octet-stream" sparkle:edSignature="lETWJP13XURrUZVLPh5wmxT51Tl5OH/azqImFTL47wRgmZ2bRY4E2sg5f9QMRSvmc2wm3cEgfU+pWLsZJbtWCw=="/>
    </item>
    <item>
      <title>4.0.0</title>
      <pubDate>Sun, 30 Aug 2026 08:37:33 +0000</pubDate>
      <sparkle:version>565</sparkle:version>
      <sparkle:shortVersionString>4.0.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/565/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 4.0.0:</h3><h4>August 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>A new engine.</strong> Version 4 changes how a trace is held in memory, so the app stays fast as captures grow. A document now opens through a <strong>packet index</strong> instead of keeping every packet resident. A background pass dissects each packet once, and every later stream and statistics request is answered from that result. Stream reassembly runs off the main thread. The difference is greatest on large traces: a file with millions of packets opens without a stall, uses a fraction of the memory it used to, and releases that memory when you close it. Smaller traces benefit too &mdash; clicking a packet during a live capture responds immediately, holding an arrow key no longer allocates gigabytes, selecting every packet is free, and the app's idle CPU during a capture stays low.</p></li>
				<li><p><strong>QUIC, dissected and decrypted.</strong> The QUIC transport (RFC 9000) is fully dissected: long and short headers across coalesced datagrams, every frame type including DATAGRAM (RFC 9221), connection identity resolved per flow, and packet numbers decoded per number space. Decryption works at every encryption level &mdash; <strong>Initial</strong> packets decrypt from the connection ID alone, and <strong>Handshake</strong> and <strong>1-RTT</strong> packets from key-log material, following key updates as they happen. When a packet cannot be decrypted, the packet tree states the reason and offers the key-log chooser in place. Secrets from a QUIC capture are counted in the key badge and saved into pcapng, exactly like TCP secrets.</p></li>
				<li><p><strong>HTTP/3 and QPACK, end to end.</strong> HTTP/3 is recognised by ALPN and confirmed by the shape of the stream; its frames appear beneath the QUIC stream in the packet tree and in the stream viewer. QPACK header decoding covers the static table and the per-direction dynamic tables &mdash; encoder instructions, Required Insert Count and Base, and decoder acknowledgements &mdash; so request and response headers are readable and searchable. A new <strong>Info</strong> column describes what each packet carries, and a <strong>Stream</strong> column links packets to their streams.</p></li>
				<li><p>New <strong>Follow QUIC Stream</strong> reassembles each stream's bytes in order, marking any gaps, and shows them in a viewer window with the same display modes and menus as Follow TCP Stream.</p></li>
				<li><p>New <strong>Follow UDP Flow</strong> shows the whole conversation behind any UDP packet: four display modes, a search that also matches message bodies, an ASCII pane that narrows to the matches, per-datagram detail rows taken from the dissector, and request/response pairing.</p></li>
				<li><p><strong>The details of a TLS packet show the decrypted content it carries</strong> &mdash; live, per packet, with no reanalysis. Decrypted content appears as an HTTPS layer of its own, an HTTPS segment in the middle of a stream shows the HTTP inside it, and a decrypted stream's tab is named for its content (HTTPS, SMTPS, IMAPS, POP3S). Labels are accurate elsewhere too: an encrypted segment is labelled as encrypted, and a bare ACK on a secured port is shown as TCP.</p></li>
				<li><p><strong>Open stream windows pick up keys as they arrive</strong> and decrypt within seconds &mdash; no reload, no reopening.</p></li>
				<li><p>The TLS Keys window gains a <strong>Sources</strong> pane listing everywhere key material comes from. Add as many key-log files as you like, or add a folder and every key log inside it is read. A trace with a <code>.keys</code> file beside it decrypts the moment it opens, and <kbd>&#8679;&#8984;K</kbd> opens the TLS Key Store.</p></li>
				<li><p><strong>The capture daemon runs only while it is needed.</strong> It starts on demand and quits after a few idle minutes, so it no longer sits in the background holding memory between captures. The key badge counts a running capture's secrets as they arrive, and saving a capture as pcapng reuses the secrets it has already derived. A capture recording directly to a file no longer shows a key count stuck at zero.</p></li>
				<li><p><strong>Cancel means stop.</strong> Long analyses stop when you cancel them or close their window, Cancel in Statistics genuinely cancels (and a cancelled run is reported as cancelled, not failed), and closed stream windows release their memory.</p></li>
				<li><p><strong>Memory is returned when you are done with it.</strong> Selecting every packet in a trace of millions no longer costs gigabytes &mdash; the selection is counted, and packets are fetched only when an action needs them &mdash; and closing a trace releases its memory immediately rather than holding it until the app quits.</p></li>
				<li><p><strong>Printing large traces is far lighter.</strong> Printing a trace of a quarter million packets used to require tens of gigabytes of memory and could freeze the app while paginating. Pages are now generated and paginated incrementally, so memory use stays modest regardless of trace size, the page count appears quickly, and the app stays responsive. The print panel also appears reliably &mdash; including on Macs with no printer configured, where the preview and PDF export work as usual.</p></li>
				<li><p><strong>Missing bytes are shown as missing.</strong> One model covers the four ways data can be absent &mdash; cut off at the end of the capture, cut by the snapshot length, a gap in the stream, or bytes that no parser claims &mdash; and the viewers draw the gap where it occurs. Traffic truncated by the snapshot length no longer crashes dissectors, and frames larger than 64 KB are handled.</p></li>
				<li><p><strong>Every field row highlights exactly its own bytes.</strong> A precision pass over some 25 dissectors (DNS, BGP, OSPF, ICMP and ICMPv6, DHCP and DHCPv6, HTTP/2, RadioTap, L2TP, RADIUS, the PPP family, VLAN, MPLS and more) brought the packet details into line with the hex view. Clicking the hex view now gives it focus, so Edit &#9656; Copy copies bytes.</p></li>
				<li><p><strong>Plug-in SDK 4.0.0.</strong> Analyzer plug-ins build against a new, smaller API. Plug-ins built with earlier SDKs must be rebuilt.</p></li>
				<li><p><strong>The recents lists follow the system setting.</strong> The Open Recent menu, the welcome window and the sidebar respect the &ldquo;Recent documents&rdquo; limit in System Settings as soon as you return to the app &mdash; and setting it to None no longer erases the list permanently: Cocoa Packet Analyzer keeps its own copy and restores your recents when the limit is raised again.</p></li>
				<li><p><strong>Protocol colors are legible in both appearances.</strong> Packet colors are adjusted for the current appearance &mdash; a bright pick is darkened on a light background and a deep one lightened on a dark background, while the hue and saturation you chose are kept. Analyzer settings gain a <strong>Randomize color</strong> button for each analyzer and a <strong>Randomize all colors</strong> button for the whole set, and a color change repaints the packet list immediately for every analyzer.</p></li>
				<li><p>In the stream and flow viewers, clicking a <strong>message's header row</strong> now shows or hides its detail rows &mdash; there is no need to aim for the small disclosure control.</p></li>
				<li><p>Expanded <strong>German and Japanese</strong> localization across the new windows and panes.</p></li>
				<li><p><strong>Live capture is sturdier under load.</strong> The capture helper no longer accumulates hundreds of megabytes while recording, high packet rates no longer risk dropping packets in the kernel's capture buffer, the selected packet survives background refreshes of the list, and several causes of interface stutter during heavy captures have been removed.</p></li>
				<li><p>A <strong>saved query</strong> now loads as the same editable pills you saved &mdash; click a value to edit it, or a predicate to change it &mdash; instead of a single opaque pill. Choosing a query in Manage Saved Queries updates the filter bar immediately.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_400.dmg" length="32649617" type="application/octet-stream" sparkle:edSignature="N3QnmNtVjw+S7dSXaSUntQfXUaSg9VA3drzqXkcXVTbYfoF464Tqdo0oQ1vGJo1tE51UEpkUMQQj8WuZP+qVDA=="/>
    </item>
    <item>
      <title>3.0.0</title>
      <pubDate>Thu, 30 Jul 2026 10:40:00 +0000</pubDate>
      <sparkle:version>564</sparkle:version>
      <sparkle:shortVersionString>3.0.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[

<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/564/rnotes.css" type="text/css" rel="stylesheet" media="all">


<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tbody><tr>
		<td class="banner"> <h3>Version 3.0.0:</h3><h4>July 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>Capturing stops asking for your password.</strong> Starting a capture with <strong>Decrypt HTTPS</strong> used to ask three times — once to connect to the capture daemon, once to set the system proxy, and once more to restore it on stop. A plain capture now asks nothing at all, and decrypting asks once, for exactly what that capture needs. Stopping never asks. If a capture is interrupted and the system proxy is left pointing at Cocoa Packet Analyzer, the capture daemon puts it back the next time it starts. <em>(non–App Store builds)</em></p></li>
				<li><p>New <strong>TLS Keys</strong> window — one window for everything the app knows about TLS key material, opened from <strong>Inspect ▸ Trace TLS Keys…</strong> for the capture in front of you or <strong>Inspect ▸ TLS Key Store…</strong> for what is held app-wide; a sidebar switches between the <strong>Key Store</strong>, the <strong>Live Keylog</strong>, and a row for every open capture. For a capture it lists every TLS session with its host, server address, first packet, and key material, and the <strong>Status</strong> column reports whether the session actually <strong>decrypted</strong> — and when it did not, why: no key material, an incomplete secret set (naming the missing secret), a key that does not match the session, or a TLS version that cannot be decrypted. A <strong>coverage band</strong> summarises the whole trace at a glance, an <strong>Only problems</strong> filter narrows to what needs attention, and problems sort to the top by default. Selected sessions can be exported as a <strong>keylog file</strong> or a <strong>CSV report</strong>, and any session can jump to its first packet or open its stream.</p></li>
				<li><p>The <strong>Key Store</strong> holds every TLS key the app has, not just the open trace's. Each frozen key set records which trace it came from — along with the <strong>sessions and host names</strong> it covers, since that is only knowable while the trace is open — and whether that trace is still where it was: <strong>Linked</strong>, <strong>Moved</strong>, <strong>Superseded</strong> by a later save, or with no record at all. Entries can be <strong>verified</strong> against their trace, <strong>re-linked</strong> after a move, exported as a keylog, or deleted — deletions are <strong>recoverable for 30 days</strong>, and keys whose trace is still present are refused outright, because deleting them is almost certainly a mistake. A session that only decrypts because another capture froze its key jumps straight to that entry, and back again.</p></li>
				<li><p>The live keylog is <strong>dated as it is written</strong> and can be <strong>pruned by date</strong>. Secrets logged before dating existed are never pruned, and the whole log is copied aside before any prune.</p></li>
				<li><p><strong>Saving now writes the format you asked for.</strong> Opening a <code>.pcapng</code> and saving it previously wrote pcap bytes into the file — and autosave did the same with nobody pressing anything, discarding any <strong>TLS keys</strong> stored in it. The save panel gained a <strong>format picker</strong> that preselects pcapng for traces known to carry key material; saving in place never changes a file's format, and turning an existing pcapng into pcap asks first, because it destroys the keys inside.</p></li>
				<li><p>Fixed several <strong>save</strong> faults, including one that could leave an <strong>empty file</strong> behind while reporting success, a redundant write after every save, and a race in how saves were serialised. Cancelling a save now genuinely aborts the write.</p></li>
				<li><p>Rebuilt the toolbar's <strong>progress strip</strong> on a single source of truth, so reading, saving, exporting, filtering, statistics, printing, capturing, and reanalysing all report through the same path. <strong>pcapng</strong> export and open now show progress instead of appearing frozen, statistics report continuously rather than only at the end, and <strong>Cancel</strong> behaves consistently.</p></li>
				<li><p>New <strong>View ▸ Scroll to Incoming Packet</strong> keeps the packet list following new packets during a live capture.</p></li>
				<li><p>The <strong>filter bar</strong> now restores an active filter's pills when it is revealed again, saved-query pills keep their own name instead of generic prose, and the completion dropdown no longer flickers as it appears.</p></li>
				<li><p>Live capture fixes — Cocoa Packet Analyzer now offers to <strong>save an unsaved capture</strong> when you quit, the file-capture window closes when its capture stops and hides the path bar while recording, a stale menu-bar capture no longer blocks starting a new one, and the <strong>Inspect</strong> menu stays usable in the capture window.</p></li>
				<li><p><strong>Export TLS Keys</strong> no longer blocks the interface while it derives key material.</p></li>
				<li><p>The capture daemon's <strong>authorization prompts</strong> are now localized, along with gaps closed by a full audit of every strings table.</p></li>
				<li><p><strong>Plug-in SDK 3.0.0</strong> — analyzer settings are now declarative: a plug-in declares its packet coloring, options and ports, and the app renders the pane under <strong>Settings ▸ Analyzers</strong> alongside the built-in analyzers. The SDK version now tracks the app's.</p></li>
				<li><p>Various bug fixes and stability improvements</p></li>
			</ul>
		</td>
	</tr>
</tbody></table>


]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_300.dmg" length="30340497" type="application/octet-stream" sparkle:edSignature="wgcv++ilPd0U/PDpFGUZcZ+9/qvJAqwyOVY5oposT/+taQylnWe29+xnGfbfD+Q0Kw3HNZwlxoAohg2eU43jCQ=="/>
    </item>
    <item>
      <title>2.6.2</title>
      <pubDate>Thu, 23 Jul 2026 11:16:58 +0000</pubDate>
      <sparkle:version>558</sparkle:version>
      <sparkle:shortVersionString>2.6.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/558/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.6.2:</h3><h4>July 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>Redesigned <strong>analyzer settings</strong> &mdash; each analyzer's options now appear <strong>inline</strong> in Settings &#9656; Analyzers instead of a separate sheet, with consistent icons and switches and packet <strong>coloring</strong> pinned first. Port-based analyzers get an aligned <strong>Ports</strong> grid (name, ports, source) with <strong>live validation</strong> that flags and auto-corrects out-of-range, duplicate, or already-assigned ports; analyzers that are not port-based now say so plainly instead of showing an empty area.</p></li>
				<li><p>Redesigned <strong>capture settings</strong> &mdash; the Capture settings tab and the capture-setup sheet now share one <strong>cockpit</strong> layout, with <strong>rotary-dial</strong> gauges for buffer size and snap length (drag, or click to type a value), a central switch console for the capture options, and a <strong>Decrypt HTTPS</strong> toggle.</p></li>
				<li><p>Modernized the <strong>General</strong> and <strong>Fonts</strong> settings in the same style, including a three-way <strong>Appearance</strong> selector (Light / Dark / System) and click-anywhere-on-a-row to toggle its switch.</p></li>
				<li><p>The <strong>CPA MITM Proxy</strong> configuration &mdash; system-wide proxy, listen port, and root-CA trust &mdash; is now also available in <strong>Settings &#9656; MITM Proxy</strong>, sharing the same controls as the Flow Inspector setup drawer. Starting and stopping the proxy and the live flow list stay in the Proxy Flows window. <em>(non&ndash;App Store builds)</em></p></li>
				<li><p>New <strong>Regenerate Root CA</strong> action in the proxy's Certificate menu (available while the proxy is stopped) discards the current root CA and creates a fresh one, removing trust for the old certificate. Already-captured traces stay decryptable &mdash; decryption uses the recorded session keys, not the CA. <em>(non&ndash;App Store builds)</em></p></li>
				<li><p>Fixed several <strong>Packet Details</strong> glitches &mdash; flicker when switching packets, same-named fields double-opening, and stray rows lingering in the outline.</p></li>
				<li><p>Expanded <strong>German and Japanese localization</strong> for the new capture and analyzer settings.</p></li>
				<li><p>Fixed the <strong>live-capture window's status toolbar</strong> showing another window's activity (and its capture indicator continuing to blink) when you switched windows &mdash; each window's toolbar now reflects only its own capture and analysis progress.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_262.dmg" length="29912873" type="application/octet-stream" sparkle:edSignature="8KiRbiWNPGsjhQoufkLh18VX7H3/QqOu9NKfyiEvfUY0yU5mxaQ9uuxeKZ+vERxp+meAOPndpIsTsexgeBUdDg=="/>
    </item>
    <item>
      <title>2.6.1</title>
      <pubDate>Sat, 18 Jul 2026 10:00:00 +0000</pubDate>
      <sparkle:version>554</sparkle:version>
      <sparkle:shortVersionString>2.6.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/554/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.6.1:</h3><h4>July 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New <strong>reveal filter bar</strong> &mdash; a filter / search bar that toggles into view with <kbd>&#8997;&#8984;F</kbd> above the packet list, with an autocomplete query field, a file <strong>path bar</strong>, and rich query helpers. Its shown / hidden state is now remembered per document.</p></li>
				<li><p>The <strong>packet-detail header</strong> now mirrors the packet list: an always-available row of <strong>query helpers</strong> (rich editors, saved queries, logical operators) and a compact <strong>file-info block</strong> (size, format, embedded TLS-key count, and created / modified dates), both shown whether or not a packet is selected. The search field's <strong>clear</strong> button now keeps keyboard focus so you can keep typing.</p></li>
				<li><p>New <strong>View &#9656; Hide Path Bar</strong> command (<kbd>&#8997;&#8984;B</kbd>) hides the file <strong>path bar</strong> and the <strong>file-info block</strong> together with a smooth slide, freeing space for the packet list and detail. The setting is per window and resets on relaunch.</p></li>
				<li><p>New top-level <strong>Inspect menu</strong> &mdash; <strong>Follow TCP Stream</strong>, <strong>Follow UDP Flow</strong>, and <strong>Inspect Subscriber Session</strong> alongside the packet context menu. The items track the current selection live and enable per protocol across a multi-packet selection.</p></li>
				<li><p>New <strong>Reanalyze</strong> command re-runs analysis on the open trace.</p></li>
				<li><p>Reworked <strong>packet-list column header</strong>, with its bottom separator now visible on 1&times; (non-Retina) displays.</p></li>
				<li><p>Large HTTP bodies in the <strong>Flow Inspector</strong> are now formatted off the main thread and rendered in a virtualized text view, so big responses stay responsive.</p></li>
				<li><p>Fixed a filter <strong>predicate</strong> error affecting some captures (including IGMP).</p></li>
				<li><p>The <strong>live-capture window</strong> now draws its sidebar at full height up under the title bar, matching document windows. While capturing to a file, the <strong>Capturing&#8230; / Waiting for capture</strong> status and the <strong>stop-capture</strong> button now update live instead of staying stuck.</p></li>
				<li><p>Clearing <strong>File &#9656; Open Recent</strong> now also clears the <strong>recent files</strong> shown in the sidebar.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_261.dmg" length="31958738" type="application/octet-stream" sparkle:edSignature="I0DgwQRBgH4q7clbF+cKzC9gidqlXMQ0irqG9OZozOow11bmF8z14s5WP9ltH5WVB3WePlCRQweSpVeb16T9AA=="/>
    </item>
    <item>
      <title>2.6.0</title>
      <pubDate>Thu, 09 Jul 2026 10:00:00 +0000</pubDate>
      <sparkle:version>553</sparkle:version>
      <sparkle:shortVersionString>2.6.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/553/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.6.0:</h3><h4>July 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New <strong>TLS / HTTPS analyzer</strong> &mdash; dissects the TLS record layer, handshake, and extensions with per-field byte highlighting in the hex view, parses the full <strong>certificate chain</strong> (subject, issuer, validity, serial, SANs), and correlates each <strong>ClientHello &harr; ServerHello</strong>. TLS is detected by content, so it is recognised on any port. In <strong>Follow TCP Stream</strong> the handshake, alerts, and application-data records are shown as an ordered, readable conversation.</p></li>
				<li><p><strong>TLS decryption</strong> in Follow TCP Stream &mdash; point Cocoa Packet Analyzer at an <code>SSLKEYLOGFILE</code> (Settings &#9656; TLS) and it decrypts <strong>TLS 1.2 (AEAD)</strong> and <strong>TLS 1.3</strong> application data, re-feeds the plaintext through the inner interpreters, and surfaces the decrypted <strong>HTTP request &harr; reply</strong> pairings. Decrypted records map back to every contributing packet, including records split across multiple TCP segments.</p></li>
				<li><p>New <strong>CPA MITM Proxy</strong> &mdash; a built-in man-in-the-middle HTTPS proxy that makes TLS decryption <em>just work</em>, with no key-log file required <em>(non&ndash;App Store builds)</em>. It generates its own <strong>root certificate authority</strong>, installs it into your login keychain on request, mints per-host leaf certificates on the fly, and toggles the <strong>system web proxy</strong> for you &mdash; restoring your previous settings when it stops. A live <strong>Flow Inspector</strong> window lists HTTP(S) transactions as they happen, with full request and response detail (headers, body, hex / JSON formatting) plus drag and copy. Turning on <strong>Decrypt HTTPS</strong> while capturing bridges the proxy's session keys straight into the trace, so captured HTTPS is decrypted end to end.</p></li>
				<li><p>New <strong>pcapng</strong> support &mdash; Cocoa Packet Analyzer now <strong>reads and writes</strong> the pcapng (<code>.pcapng</code> / <code>.ntar</code>) format, preserving per-packet and section <strong>comments</strong>. <strong>File &#9656; Export as pcapng</strong> saves the trace, and any <strong>TLS session keys</strong> derived for it travel inside the file as a <strong>Decryption Secrets Block</strong> &mdash; so a decrypted capture stays decryptable in Wireshark, and pcapng files carrying such keys open already decrypted here. pcapng files also get <strong>QuickLook</strong> previews in Finder, and their capture metadata &mdash; the writing application and OS, interface details, per-packet flags, and embedded TLS-key count &mdash; is surfaced in the packet inspector and the File Info panel.</p></li>
				<li><p><strong>Follow TCP Stream</strong> and <strong>Follow UDP Flow</strong> windows now put the source capture's <strong>filename</strong> in the window title, with the connection endpoints shown in the subtitle.</p></li>
				<li><p>Redesigned <strong>Welcome window</strong> &mdash; an Xcode-style borderless window with a two-tone layout, a multi-select <strong>Recents</strong> list (open, reveal in Finder, clear), and quick actions for Capture, the MITM Proxy, Analyze, Settings, and Help. <kbd>Esc</kbd> or <kbd>&#8984;W</kbd> dismisses it.</p></li>
				<li><p>TCP reassembly now strips <strong>link-layer padding</strong> before reassembling, so short frames no longer corrupt the reconstructed stream.</p></li>
				<li><p>Expanded <strong>German and Japanese localization</strong> covering the new TLS settings, the MITM Proxy, and the Welcome window.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_260.dmg" length="31805226" type="application/octet-stream" sparkle:edSignature="dX8R4OUnDYgAbK8ssoCrCqWA9n/15qbu3SHzCUusspCbn+5EI5lwcWJjkBf0FxpEDEplAI6emzeHsTAPbqtHBA=="/>
    </item>
    <item>
      <title>2.5.6</title>
      <pubDate>Mon, 15 Jun 2026 10:00:00 +0000</pubDate>
      <sparkle:version>549</sparkle:version>
      <sparkle:shortVersionString>2.5.6</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/549/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.6:</h3><h4>June 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p><strong>Follow TCP Stream</strong> now reconstructs the conversation as readable, protocol-aware messages instead of raw bytes &mdash; <strong>HTTP</strong> and <strong>Hotline</strong> exchanges are shown as ordered, colour-coded messages with a request &harr; reply <strong>pairing rail</strong> and <strong>jump-to-packet</strong> (reveal a message's packet back in the main window). Opening a stream now runs off the main thread, so large streams no longer beach-ball, and any message body &mdash; text, image, or attachment &mdash; can be dragged straight to the Finder.</p></li>
				<li><p>New <strong>e-mail stream interpreters</strong> for <strong>SMTP, POP3, and IMAP</strong> &mdash; show the command / response transcript and extract message <strong>MIME parts</strong> (text, HTML, and attachments), each draggable to the Finder with the correct type and filename.</p></li>
				<li><p>New <strong>Follow UDP Flow</strong> &mdash; reconstructs a UDP conversation by its four-tuple and presents it as an ordered, colour-coded exchange of datagrams with request / response pairing, protocol-aware summaries, and click-to-reveal back to the packet in the main window.</p></li>
				<li><p>New <strong>Subscriber Session Inspector</strong> &mdash; reconstructs a dial-in subscriber session across <strong>PPPoE, L2TP, and RADIUS</strong> as a sequence ladder between the client and the access concentrator / LNS, with a summary strip (user, session, assigned IP, tunnel, duration), per-step protocol detail, expand / collapse all, and copy of a single step, value, or the whole session.</p></li>
				<li><p>Full-fidelity <strong>printing</strong> for Follow TCP Stream, Follow UDP Flow, and the Subscriber Session Inspector &mdash; paginated graphical output that matches what is on screen.</p></li>
				<li><p>Smoother <strong>packet-list scrolling</strong> &mdash; rows are now pre-analyzed as you scroll, so protocol detail and colour are ready by the time a row scrolls into view instead of being computed on paint.</p></li>
				<li><p>Reworked <strong>window handling at startup</strong> &mdash; live capture now opens in its own window, documents are reserved purely for opening saved traces, and the brief empty placeholder window that used to flash at launch and when opening a <code>.pcap</code> is gone. Closing a capture window with unsaved packets now prompts you to save them.</p></li>
				<li><p>New <strong>Welcome window</strong> at launch with Capture, Open, Recents, and Help, plus a <strong>Close All</strong> command (<kbd>&#8984;&#8997;W</kbd>).</p></li>
				<li><p>The Follow TCP / UDP and Subscriber Session viewers now honour your <strong>Console font</strong> (Settings &#9656; Fonts) for message bodies, hex dumps, and detail fields, instead of a fixed monospaced font.</p></li>
				<li><p>Faster <strong>protocol statistics</strong> &mdash; analysis now runs off the main thread in parallel.</p></li>
				<li><p><strong>Plug-in SDK 1.1.0</strong> &mdash; documented the <code>CPAStreamInterpreting</code> protocol so third-party analyzers can supply their own follow-stream conversation view.</p></li>
				<li><p>Corrected the <strong>Hotline</strong> transaction-name table (validated against the Heidrun reference); the inspector now decodes the user privileges bitmap.</p></li>
				<li><p>The <strong>Columns</strong> menu now lists the analyzer-provided columns again and no longer shows a duplicate <em>Packet</em> entry, and <strong>File &#9656; Open Recent</strong> reliably lists your recent captures.</p></li>
				<li><p>Expanded <strong>German and Japanese localization</strong> &mdash; Settings, the application menus, the Welcome window, and the capture <strong>filter builder</strong> are now fully translated.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_256.dmg" length="24155225" type="application/octet-stream" sparkle:edSignature="0lN/DJH6W4YlYb3o7mmumLIl0ot47uPM4REmm3e+xXTQR0VEY3NG1zwDJMTO90bAW7fiG8xQs+Eo2e5qVwvdAg=="/>
    </item>
    <item>
      <title>2.5.5</title>
      <pubDate>Sat, 06 Jun 2026 10:00:00 +0000</pubDate>
      <sparkle:version>546</sparkle:version>
      <sparkle:shortVersionString>2.5.5</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/546/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.5:</h3><h4>June 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New <strong>Hotline protocol analyzer</strong> &mdash; dissects the Hotline / Heidrun TCP protocol. Each stream is presented as a single Hotline root with its transactions as children: transaction types and field names are rebuilt from the canonical protocol definition, long text fields are rendered as readable text, and user emoji are decoded. Non-Hotline TCP payloads are rejected rather than mis-parsed, so only genuine Hotline traffic is expanded.</p></li>
				<li><p>Packet-detail rows now each carry their <strong>own byte range</strong>, so selecting a field highlights exactly the right bytes in the hex view &mdash; including sibling fields that share the same name, which are now disambiguated instead of collapsing onto one another.</p></li>
				<li><p>The packet-details outline is anchored to the selected packet, so switching packets no longer leaves a <strong>stale selection</strong> pointing at the previous packet's fields.</p></li>
				<li><p>Refreshed, notarized <strong>installer disk image</strong> with an updated background and layout.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_255.dmg" length="22988705" type="application/octet-stream" sparkle:edSignature="7gBGPFfqHFYjnd9F36pXe5vQnMY/CkmACJ+3mFPtXcq6osfs9wwAISf4jxva894KD/2JD6W+pK1TebF5rzqRAw=="/>
    </item>
    <item>
      <title>2.5.4</title>
      <pubDate>Fri, 29 May 2026 18:00:00 +0000</pubDate>
      <sparkle:version>544</sparkle:version>
      <sparkle:shortVersionString>2.5.4</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/544/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.4:</h3><h4>May 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New <strong>Menu Bar Capture</strong> pin / window mode &mdash; a pin button in the popover header opens the capture UI as a standalone window that survives app switches. If a capture is running and you click another app without first pinning, the popover automatically reopens as a window <em>without stealing focus</em>, so the activity histogram, packet counter, and stop button stay visible. The window floats above other apps while the capture is active and drops to a normal level when the capture stops. Close the window to return to ordinary popover behaviour.</p></li>
				<li><p>Menu bar activity histogram now clears when a capture stops instead of freezing on the last byte-rate sample.</p></li>
				<li><p>New <strong>document icon</strong> with proper light- and dark-mode appearance.</p></li>
				<li><p>Capture setup's BPF filter expression is now seeded from <code>UserDefaults</code> on view appearance, so <code>pcap_compile</code> receives the actual current expression instead of an empty default.</p></li>
				<li><p>Fixed a crash during document autosave while a live capture was running &mdash; a background snapshot reader was racing MainActor packet appends in <code>PacketsProvider</code>; the array is now guarded by an unfair lock across reads and writes.</p></li>
				<li><p>Help book updated with the new menu-bar window behaviour.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_254.dmg" length="19456546" type="application/octet-stream" sparkle:edSignature="NVGto9uAsIihXaGB/mIm8yaxf16K5YHvPtcQ5zBbsPf4jiGzVAKvTQLbayIV7AlvBSA0olWD4uFjWkIci9kcAA=="/>
    </item>
    <item>
      <title>2.5.3</title>
      <pubDate>Tue, 12 May 2026 15:52:31 +0000</pubDate>
      <sparkle:version>542</sparkle:version>
      <sparkle:shortVersionString>2.5.3</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/542/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.3:</h3><h4>May 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>Rewrote the <strong>Packet Details</strong> outline in SwiftUI &mdash; roomier rows, center-aligned protocol icons, rounded selection, tooltips on long values, and &#8984;C copies the selected outline row.</p></li>
				<li><p><strong>Hex view selection</strong>: clicking a leaf field in the packet-details outline now highlights only that field's bytes on the wire; supports single-byte and range selection.</p></li>
				<li><p>Per-leaf byte ranges wired across the full analyzer suite &mdash; Ethernet, ARP, IPv4 (incl. Frag / DS / ECN flag bits), IPv6, TCP flags, DNS, DHCP, ICMPv6 NDP options, IPCP / IPv6CP, L2TP / RADIUS AVPs, IAX, SIP, Telnet IAC, SNMP VarBinds, BGP, LDAP &mdash; clicks resolve to the exact bytes on the wire.</p></li>
				<li><p>New <strong>Menu Bar Capture</strong> extra &mdash; quick capture from the menu bar with a live activity histogram, pre-flight gating, post-stop Open / Reveal / Discard actions, and automatic recovery of unfinished captures on relaunch.</p></li>
				<li><p>Menu bar <em>Live</em> mode acts as a remote control for the document window: starting capture from the menu bar opens a fresh document with capture already running; packets stream into both the document table and the menu bar histogram.</p></li>
				<li><p>BPF Filter Builder window can now be toggled visible / invisible from the same menu item.</p></li>
				<li><p>Confirm-before-quit prompt when a capture is in progress.</p></li>
				<li><p>Rewrote the live-capture pipeline for lower CPU: daemon batches packets, dropped the per-packet XPC ack, UI updates are coalesced at 30&nbsp;Hz, and per-row analyzer work is deferred off the main thread.</p></li>
				<li><p>Fixed a crash in the hex view when selecting packets immediately after opening a file.</p></li>
				<li><p>Fixed capture-to-file silently failing on macOS&nbsp;26 due to a wrong link type passed to the libpcap dump in the capture daemon.</p></li>
				<li><p>Fixed capture setup sheet being dismissed when the document scene re-rendered.</p></li>
				<li><p>Memory leak fixes.</p></li>
				<li><p>Various bug fixes and stability improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_253.dmg" length="19375887" type="application/octet-stream" sparkle:edSignature="G2FLhm9Jls41B1xq8OOt5RvDqbOcieneJq1Qx7SO70mMTrl2vb7gHd6LyshzhvsiBxYR1/LIDcRTAVyhKuddDQ=="/>
    </item>
    <item>
      <title>2.5.2</title>
      <pubDate>Tue, 05 May 2026 18:54:42 +0000</pubDate>
      <sparkle:version>541</sparkle:version>
      <sparkle:shortVersionString>2.5.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/541/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.2:</h3><h4>May 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>Fixed third-party plug-ins failing to load on release builds due to library validation.</p></li>
			</ul>
		</td>
	</tr>
	<tr>
	   <td class="banner"> <h3>Version 2.5.1:</h3><h4>May 2026</h4></td>
  	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New Quick Look preview for <code>.pcap</code> files &mdash; shows file summary (link type, packet count, time range), top protocols and talkers, a packet rate sparkline, and a packet table, without opening the app.</p></li>
				<li><p>Added Spotlight indexing for <code>.pcap</code> files via a new Quick Look Spotlight importer &mdash; capture metadata is now searchable from Finder and Spotlight.</p></li>
				<li><p>Welcome window: improved button hit area and live refresh of the recents column.</p></li>
				<li><p>Fixed toolbar filter item resizing behavior.</p></li>
				<li><p>Plug-in SDK: added a redistributable XCFramework release bundle (zip + SHA-256) for third-party plug-in developers.</p></li>
				<li><p>Help book updates and small UI polish.</p></li>
				<li><p>Various bug fixes.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_252.dmg" length="19106126" type="application/octet-stream" sparkle:edSignature="RSTncr0eNn/IbRwgBWBzaC0GPVBjeF4WPUrZkGFIodeG7tFoZORCii5DLmzb3wJSPOuLEsU4HQu18ozymnuTCA=="/>
    </item>
    <item>
      <title>2.5.1</title>
      <pubDate>Mon, 04 May 2026 12:48:46 +0000</pubDate>
      <sparkle:version>537</sparkle:version>
      <sparkle:shortVersionString>2.5.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/537/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.1:</h3><h4>May 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>New Quick Look preview for <code>.pcap</code> files &mdash; shows file summary (link type, packet count, time range), top protocols and talkers, a packet rate sparkline, and a packet table, without opening the app.</p></li>
				<li><p>Added Spotlight indexing for <code>.pcap</code> files via a new Quick Look Spotlight importer &mdash; capture metadata is now searchable from Finder and Spotlight.</p></li>
				<li><p>Welcome window: improved button hit area and live refresh of the recents column.</p></li>
				<li><p>Fixed toolbar filter item resizing behavior.</p></li>
				<li><p>Plug-in SDK: added a redistributable XCFramework release bundle (zip + SHA-256) for third-party plug-in developers.</p></li>
				<li><p>Help book updates and small UI polish.</p></li>
				<li><p>Various bug fixes.</p></li>
			</ul>
		</td>
	</tr>
	<tr>
	   <td class="banner"> <h3>Version 2.5.0:</h3><h4>April 2026</h4></td>
  	</tr>
	<tr>
	    <td valign="top">
			<ul>
				<li><p>Requires macOS 26 or later.</p></li>
				<li><p>All analyzers ported to pure Swift.</p></li>
				<li><p>Added OSPF protocol analyzer (RFC 2328).</p></li>
				<li><p>Added HTTP/2 frame dissection (RFC 9113) with detection toggle.</p></li>
				<li><p>Added protocol analyzers: SSH, IAX, SIP, WebSocket, SOAP, BGP, LDAP, SMB, SNMP, Telnet, DNS, IMAP, POP3, SMTP, FTP.</p></li>
				<li><p>Added TCP stream reassembly (Follow TCP Stream) with Conversation, ASCII, Hex, and HTTP views.</p></li>
				<li><p>Added protocol statistics view with printable charts.</p></li>
				<li><p>Added printing support with progress indication.</p></li>
				<li><p>Added <strong>Open Selection in New Window</strong> context menu on the packet table &mdash; opens 1..N selected packets in a standalone document window with full detail, hex, and toolbar-filter UI.</p></li>
				<li><p>The toolbar filter footer's <strong>Open result in new document</strong> toggle is now fully wired: committing a filter with it enabled routes the subset into a new window and leaves the current document unchanged.</p></li>
				<li><p><strong>Save As&hellip;</strong> / <strong>Export&hellip;</strong> on selection windows writes a standalone <code>.pcap</code> file and reopens it as a proper document, inheriting the source's link type and snap length.</p></li>
				<li><p>Added the <strong>PCAP Filter Builder</strong> to Capture Setup &mdash; a structured SwiftUI editor that covers the full <em>pcap-filter(7)</em> grammar (host / net / port / portrange / proto / ether / broadcast / multicast / vlan / mpls / pppoe / geneve / vxlan / wlan / byte accessors / len / inbound-outbound) with nested AND/OR/NOT groups, a live <code>pcap_compile</code> validator, one-click copy of the generated expression, and a raw-text escape hatch for obscure primitives.</p></li>
				<li><p>Modernised the capture setup's filter expression card and the builder sheet with material backgrounds, rounded-rect text wells, and SF Symbol labels.</p></li>
				<li><p>Refactored the toolbar filtering package: removed the legacy <code>CPACompletionWindowController</code> backup path, split the completion text view + coordinator + row view into focused extension files, and renamed the autocomplete protocols file.</p></li>
				<li><p>Improved hex view selection and display.</p></li>
				<li><p>Improved analyzer port customization and reload/clear notifications.</p></li>
				<li><p>Improved capture daemon stability (non-blocking dispatch, race condition fixes).</p></li>
				<li><p>Various bug fixes and performance improvements.</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_251.dmg" length="19106316" type="application/octet-stream" sparkle:edSignature="9NdT1kLK0o7+8G1a2Y5mwG8D1JdO9yUxcxMACfpNNK71YM8k59Qwy1LMS5vtM5OQ4N73UV343TrEWq+aZVNECw=="/>
    </item>
    <item>
      <title>2.5.0</title>
      <pubDate>Sat, 25 Apr 2026 00:30:18 +0000</pubDate>
      <sparkle:version>492</sparkle:version>
      <sparkle:shortVersionString>2.5.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/492/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
	<tr>
		<td class="banner"> <h3>Version 2.5.0:</h3><h4>April 2026</h4></td>
	</tr>
	<tr>
		<td valign="top">
			<ul>
				<li><p>Requires macOS 26 or later.</p></li>
				<li><p>All analyzers ported to pure Swift.</p></li>
				<li><p>Added OSPF protocol analyzer (RFC 2328).</p></li>
				<li><p>Added HTTP/2 frame dissection (RFC 9113) with detection toggle.</p></li>
				<li><p>Added protocol analyzers: SSH, IAX, SIP, WebSocket, SOAP, BGP, LDAP, SMB, SNMP, Telnet, DNS, IMAP, POP3, SMTP, FTP.</p></li>
				<li><p>Added TCP stream reassembly (Follow TCP Stream) with Conversation, ASCII, Hex, and HTTP views.</p></li>
				<li><p>Added protocol statistics view with printable charts.</p></li>
				<li><p>Added printing support with progress indication.</p></li>
				<li><p>Added <strong>Open Selection in New Window</strong> context menu on the packet table &mdash; opens 1..N selected packets in a standalone document window with full detail, hex, and toolbar-filter UI.</p></li>
				<li><p>The toolbar filter footer's <strong>Open result in new document</strong> toggle is now fully wired: committing a filter with it enabled routes the subset into a new window and leaves the current document unchanged.</p></li>
				<li><p><strong>Save As&hellip;</strong> / <strong>Export&hellip;</strong> on selection windows writes a standalone <code>.pcap</code> file and reopens it as a proper document, inheriting the source's link type and snap length.</p></li>
				<li><p>Added the <strong>PCAP Filter Builder</strong> to Capture Setup &mdash; a structured SwiftUI editor that covers the full <em>pcap-filter(7)</em> grammar (host / net / port / portrange / proto / ether / broadcast / multicast / vlan / mpls / pppoe / geneve / vxlan / wlan / byte accessors / len / inbound-outbound) with nested AND/OR/NOT groups, a live <code>pcap_compile</code> validator, one-click copy of the generated expression, and a raw-text escape hatch for obscure primitives.</p></li>
				<li><p>Modernised the capture setup's filter expression card and the builder sheet with material backgrounds, rounded-rect text wells, and SF Symbol labels.</p></li>
				<li><p>Refactored the toolbar filtering package: removed the legacy <code>CPACompletionWindowController</code> backup path, split the completion text view + coordinator + row view into focused extension files, and renamed the autocomplete protocols file.</p></li>
				<li><p>Improved hex view selection and display.</p></li>
				<li><p>Improved analyzer port customization and reload/clear notifications.</p></li>
				<li><p>Improved capture daemon stability (non-blocking dispatch, race condition fixes).</p></li>
				<li><p>Various bug fixes and performance improvements.</p></li>
			</ul>
		</td>
	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_250.dmg" length="20999880" type="application/octet-stream" sparkle:edSignature="LpASTTZm+OzUfO0f77LSVjRdELOxFcsdCh7Y/tV7yOgmXNpRaQcjeE+P2mN7UkUEUIgnvAk4Mc5i8pGu4kmYDw=="/>
    </item>
    <item>
      <title>2.1.4</title>
      <pubDate>Sat, 27 Jan 2024 02:09:31 +0000</pubDate>
      <sparkle:version>358</sparkle:version>
      <sparkle:shortVersionString>2.1.4</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14.6</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/358/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  	<tr>
	    <td class="banner"> <h3>Version 2.1.4:</h3><h4>Sat, 27 Jan 2024 03:09:31 +0100</h4></td>
  	</tr>
	<tr>
	    <td valign="top">
			<ul>
			  <li><p>fixed start capturing using onboarding</p></li>
             <li><p>fixed separator lines in packet list</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_214.dmg" length="13285514" type="application/octet-stream" sparkle:edSignature="CynsZcSA+Rdq1lTNI6/N1Nvo9PRbye3gJMuVVpa619x8Ht6eaMENCQaou9WD7CwS5UTWUsRZlVduGh0Vx4n3Ag=="/>
    </item>
    <item>
      <title>2.1.3</title>
      <pubDate>Mon, 16 Oct 2023 10:57:31 +0000</pubDate>
      <sparkle:version>357</sparkle:version>
      <sparkle:shortVersionString>2.1.3</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14.6</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/357/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  	<tr>
	    <td class="banner"> <h3>Version 2.1.3:</h3><h4>Mon, 16 Oct 2023 07:20:00 +0200</h4></td>
  	</tr>
	<tr>
	    <td valign="top">
			<ul>
			<li><p>fixed a potential crash while searching/ filtering files with many packets</p></li>
			<li><p>fixed a potential crash on app termination if operations are still running</p></li>
            <li><p>fixed searching/ filtering not analyzing all packets</p></li>
            <li><p>fixed packet table column sorting</p></li>
            <li><p>UI optimizations</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_213.dmg" length="13289386" type="application/octet-stream" sparkle:edSignature="K+hOHeL2u81zznjeOklya5rvAwa0jpHjRG1aHSYoJJ1eRiHYbx1MlVOSGxoDC3IEtylCq+cGJzfWU4UjlpWCDA=="/>
    </item>
    <item>
      <title>2.1.2</title>
      <pubDate>Mon, 02 Oct 2023 10:15:01 +0000</pubDate>
      <sparkle:version>356</sparkle:version>
      <sparkle:shortVersionString>2.1.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14.6</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/356/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  	<tr>
	    <td class="banner"><h3>Version 2.1.2:</h3><h4>Mon, 2 Oct 2023 09:16:49 +0200</h4></td>
  	</tr>
	<tr>
	    <td valign="top">
			<ul>
				<li><p>fixed stalling on opening if no recents document is present</p></li>
            	<li><p>little UI optimizations</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_212.dmg" length="13293245" type="application/octet-stream" sparkle:edSignature="SInzSusGqF80P2+kLY2dsW3PeY5IbIK6mo+mouxg6jOUX2cC3djqphnlybtuGedIV7jRbvF+Y1YtWpCQIPqjBQ=="/>
    </item>
    <item>
      <title>2.1.1</title>
      <pubDate>Thu, 28 Sep 2023 07:16:49 +0000</pubDate>
      <sparkle:version>354</sparkle:version>
      <sparkle:shortVersionString>2.1.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14.6</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/354/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  	<tr>
	    <td class="banner"><h3>Version 2.1.1:</h3><h4>Thu, 28 Sep 2023 09:16:49 +0200</h4></td>
  	</tr>
	<tr>
	    <td valign="top">
			<ul>
				 <li><p>Sonoma fixes</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_211.dmg" length="16605391" type="application/octet-stream" sparkle:edSignature="LF0OXdYyvddQ0YLjBAT16YYaoftRICtl7oBtPdus7E/tXUqaUxTjg458ebgRGGd6vm7UFgCqcAd+Wm+j6+uWCw=="/>
    </item>
    <item>
      <title>2.1.0</title>
      <pubDate>Tue, 26 Sep 2023 08:17:06 +0000</pubDate>
      <sparkle:version>352</sparkle:version>
      <sparkle:shortVersionString>2.1.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/352/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
   <tr>
    <td class="banner"><h3>Version 2.1.0:</h3><h4>Tue, 26 Jul 2023 10:01:58 +0200</h4></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				 <li><p>added onboarding window</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_210.dmg" length="16604514" type="application/octet-stream" sparkle:edSignature="axE8+7RYeFZg97qR4hNjK4lwbraHr1IadztBwDGSxi93vG5wr33qoFMXPxQko9350UPL7xMF8sOZ3HlAAYdSBQ=="/>
    </item>
    <item>
      <title>2.0.11</title>
      <pubDate>Sat, 29 Jul 2023 18:03:44 +0000</pubDate>
      <sparkle:version>351</sparkle:version>
      <sparkle:shortVersionString>2.0.11</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/351/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.11:</h3><h4>Sat, 29 Jul 2023 20:01:58 +0200</h4></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				 <li><p>fix: ICMP analyzer not analyzing certain payloads</p></li>
			</ul>
    	</td>
  	</tr>
</table>
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_2011.dmg" length="16762455" type="application/octet-stream" sparkle:edSignature="wxU8Jw/nGXel61ZkTdVrPv/dfXCyKbBd/pzbhDTwyQmgwi+oXOSqFKoZqAV1znhPhNAgJWpTmdVvcSARkIR3AQ=="/>
    </item>
    <item>
      <title>2.0.10</title>
      <pubDate>Thu, 13 Jul 2023 21:40:57 +0000</pubDate>
      <sparkle:version>350</sparkle:version>
      <sparkle:shortVersionString>2.0.10</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/350/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.10:</h3><h4>Thu, 13 Jul 2023 23:40:57 +0200</h4></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				<li><p>modified app icon</p></li>
				<li><p>fixed using DSManager Menu Item crashing the whole app</p></li>
                <li><p>fixed wrong protocol statistics for files with the same filename<p></li>
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_2010.dmg" length="16735254" type="application/octet-stream" sparkle:edSignature="H2lKCvlAxHHILtQfHNKre8m9/LBtM/w/xPDteqi3rkGbkNo0exIrye+IwUw5x3yTNcLCIHaopNC9K5Xk4H9WDg=="/>
    </item>
    <item>
      <title>2.0.9</title>
      <pubDate>Thu, 29 Jun 2023 05:20:31 +0000</pubDate>
      <sparkle:version>347</sparkle:version>
      <sparkle:shortVersionString>2.0.9</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/347/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.9:</h3><h4>Thu, 29 Jun 2023 07:21:37 +0200</h4></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				<li><p>modified app icon</p></li>
				<li><p>protocol details: fixed wrong font in some packets after changing font</p></li>
                <li><p>packets table: grid will not be drawn over last row<p></li>
                <li><p>new console raw toggle button on divider to packets table</p></li>
                <li><p>toolbar can be customized and will be restored on app start again</p></li>
                <li><p>empty selection in packet, raw and details views</p></li>
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_209.dmg" length="16694178" type="application/octet-stream" sparkle:edSignature="mXe/8mana8s+AdRYfYTP4wmRVihu39JJ6jTIJJ1K8Z6FM0FHb/pzkmE+vZg71YWt3t66ZvRxuM4ymDpMEopECQ=="/>
    </item>
    <item>
      <title>2.0.8</title>
      <pubDate>Mon, 19 Jun 2023 17:49:51 +0000</pubDate>
      <sparkle:version>341</sparkle:version>
      <sparkle:shortVersionString>2.0.8</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14.6</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/341/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.08:</h3><h4>Mon, 19 Jun 2023 17:21:37 +0200</h4></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				<li><p>modified app icon</p></li>
                <li><p>protocol colorization is taking place in the text foreground instead of colorizing the background</p></li>
                <li><p>toolbar filtering supports AND, OR, NOT now<p></li>
                <li><p>fixed fragmented line of chars in hex view</p></li>
                <li><p>fixed a crash while trying to open unknown file formats</p></li>
                <li><p>fixed too many open files bug</p></li>
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_208.dmg" length="13359122" type="application/octet-stream" sparkle:edSignature="LRaqaElabYcA5c3Dk7CVfepnVwbaiLo0Kn01lfk+MGxkyh8/VQNlaR5JDB23zOoLx4cUtWQD4xoJeR80LhGCDA=="/>
    </item>
    <item>
      <title>2.0.7</title>
      <pubDate>Thu, 24 Nov 2022 20:21:37 +0000</pubDate>
      <sparkle:version>336</sparkle:version>
      <sparkle:shortVersionString>2.0.7</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/336/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.7:</h3></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				<li><p>fixed packet capturing on macOS Ventura</p></li>
                <li><p>fixed About window on macOS Ventura</p></li>
                <li><p>fixed printing crashes if no printer is available</p></li>
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_207.dmg" length="16684779" type="application/octet-stream" sparkle:edSignature="Apq9j7knZUEk0+HobSaJDZx2Hl7XR/8YYsxw2rDq5JH+Rf+KWbimGyD07QeR1qDCQisuNWlYYWVae0P5kMotDw=="/>
    </item>
    <item>
      <title>2.0.6</title>
      <pubDate>Sat, 29 Oct 2022 13:18:20 +0000</pubDate>
      <sparkle:version>331</sparkle:version>
      <sparkle:shortVersionString>2.0.6</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/331/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.6:</h3></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				 <li><p>added support for using external analyzer plugins based on the plugin framework.</p></li>
	             <li><p>external analyzers can be developed using a plugin framework. A simple analyzer example plugin is also available (all done in Swift) - please contact me if you are interested.</p></li>
                 <li><p>PPPoE analyzer rewritten in Swift.</p></li>
         		 <li><p>L2TP / RADIUS reload packets port changes fixed.</p></li>
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_206.dmg" length="16935174" type="application/octet-stream" sparkle:edSignature="tlDwmn2ZFoYTuumCqb6nAG9jpZrBe2gnQXdn04Mf5Ypi9SfGhaGYfMBnkrCIzbWOTHPOMWrsiIwGbLdI8NE1Bg=="/>
    </item>
    <item>
      <title>2.0.5</title>
      <pubDate>Sat, 27 Aug 2022 20:22:20 +0000</pubDate>
      <sparkle:version>327</sparkle:version>
      <sparkle:shortVersionString>2.0.5</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.14</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/327/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.5:</h3></td>
  </tr>
	  <tr>
	    <td valign="top">
			<ul>
				<li><p>dropped macOS 10.13 support (sorry). requiring macOS 10.14 or newer. </p></li>
				<li><p>fixed crash when opening about window on systems missing SF font.</p></li>
				<li><p>fixed filtering toolbar item.</p></li>
				<li><p>PPPAnalyzer rewritten in Swift.</p></li>
				<li><p>CHAPAnalyzer rewritten in Swift.</p></li>
				<li><p>PAPAnalyzer rewritten in Swift.</p></l
			</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_205.dmg" length="16861507" type="application/octet-stream" sparkle:edSignature="HHk5Dn7EZgxU3UYWVSKqpdDr7E3OUu7PdPvmLzXEcT5n5HhcJf68oczolD3DlAr6FieMZ/iZeu/3xm/OLx8AAQ=="/>
    </item>
    <item>
      <title>2.0.4</title>
      <pubDate>Thu, 21 Jul 2022 16:21:53 +0000</pubDate>
      <sparkle:version>222</sparkle:version>
      <sparkle:shortVersionString>2.0.4</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/222/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
    <td class="banner"><h3>Version 2.0.4:</h3></td>
  </tr>
	  <tr>
	    <td valign="top">
				<ul>
					<li><p>optimized install of the capture daemon to avoid a possible install - restart loop ( <a href="https://www.tastycocoabytes.com/#faq"> see FAQ </a>)</p></li>
                    <li><p>fixed memory leaks in analyzers</p></li>
                    <li><p>various bugfixes and stability improvements</p></li>
				</ul>
    	</td>
  	</tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_204.dmg" length="16922479" type="application/octet-stream" sparkle:edSignature="FsIPIBSsOrgKKIb/lfMQXWOYgP8gH4xyyUNyOGIdg7+5X+lN+qdr3MaQyQG/rVqibytrmzJdQzS+y3IWEQmsDA=="/>
    </item>
    <item>
      <title>2.0.3</title>
      <pubDate>Wed, 08 Jun 2022 05:33:21 +0000</pubDate>
      <sparkle:version>4</sparkle:version>
      <sparkle:shortVersionString>2.0.3</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/4/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  <tr>
    <td class="banner"><h3>Version 2.0.3:</h3></td>
  </tr>
  <tr>
    <td valign="top">
				<ul>
					  		<li><p>fixed a crash while trying to print with no printer available</p></li>
                            <li><p>fixed print preview in print accessory panel</p></li>
                            <li><p>various bugfixes and stability improvements</p></li>
				</ul>

    </td>
  </tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_203.dmg" length="16855862" type="application/octet-stream" sparkle:edSignature="nETaaJH52Jug6JWZ5b92LsAP7BHEm3HsCRdH1IqsvyK+SuGcj/ZrSL+FL2QpipPNv9eIXlLxzK5fTa1HUnX/DQ=="/>
    </item>
    <item>
      <title>2.0.2</title>
      <pubDate>Sat, 02 Apr 2022 12:25:36 +0000</pubDate>
      <sparkle:version>2.0.2</sparkle:version>
      <sparkle:shortVersionString>2.0.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/2.0.2/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  <tr>
    <td class="banner"><h3>Version 2.0.2:</h3></td>
  </tr>
  <tr>
    <td valign="top">
						<ul>
								<li><p>fixed missing text in protocol details view</p></li>
								<li><p>fixed setting protocol details font</p></li>
								<li><p>fixed not able to open/ save files using the open panel which occured on some macOS version</p></li>
								<li><p>fixed missing bytes in payload crash</p></li>
							</ul>

    </td>
  </tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_202.dmg" length="16784178" type="application/octet-stream" sparkle:edSignature="mPHSoPGlTYw2PspnPqD9DDQ7TxYpjd+Wl+VOOGj7+GEjwmANAzfuc2HK01luB9js7SzGdKsikDbKXDyIoCjTCw=="/>
    </item>
    <item>
      <title>2.0.1</title>
      <pubDate>Sat, 19 Mar 2022 16:50:46 +0000</pubDate>
      <sparkle:version>2.0.1</sparkle:version>
      <sparkle:shortVersionString>2.0.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/2.0.1/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  <tr>
    <td class="banner"><h3>Version 2.0.1:</h3></td>
  </tr>
  <tr>
    <td valign="top">
							<ul>
								<li><p>Updated help files</p></li>
								<li><p>Localization fixes</p></li>
							</ul>

    </td>
  </tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_201.dmg" length="16847007" type="application/octet-stream" sparkle:edSignature="0EGWlpOiBfnku5wXtJrzalMuGu5VzeU7JIjI7nLmNA2lXueHAukaO3BXftJyvQIRfh+5uzJ+GxyTw3KsmrTcAw=="/>
    </item>
    <item>
      <title>2.0.0</title>
      <pubDate>Tue, 04 Jan 2022 12:22:00 +0000</pubDate>
      <sparkle:version>2.0.0</sparkle:version>
      <sparkle:shortVersionString>2.0.0</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
      <sparkle:fullReleaseNotesLink>https://appcast.tastycocoabytes.com/cpa/notes/history/index.html</sparkle:fullReleaseNotesLink>
      <description><![CDATA[<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>What's new in Cocoa Packet Analyzer?</title>
<meta name="robots" content="anchors">
<link href="https://appcast.tastycocoabytes.com/cpa/notes/2.0.0/rnotes.css" type="text/css" rel="stylesheet" media="all">
</head>
<body>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
  <tr>
    <td class="banner"><h3>Version 2.0.0:</h3></td>
  </tr>
  <tr>
    <td valign="top">
							<ul>
								<li><p>Swift!</p></li>
								<li><p>Core app is now ported to Swift</p></li>
								<li><p>New modern UI using splitviews with sidebar</p></li>
								<li><p>Customization using free selectable fonts and colors</p></li>
								<li><p>Data Sources Manager to access recents and protocol statistic overviews</p></li>
								<li><p>Lots of bugfixes and guess introduced a bunch of new buggers</p></li>
								<li><p>New analyzer plugin protocol</p></li>
								<li><p>Most Analyzer plugins ported</p></li>
								<li><p>Packet capture daemon ported</p></li>
								<li><p>QuickLook Finder extension</p></li>
							</ul>

    </td>
  </tr>
</table>
<br />
</body>
</html>
]]></description>
      <enclosure url="https://appcast.tastycocoabytes.com/cpa/downloads/CPA_200.dmg" length="15624011" type="application/octet-stream" sparkle:edSignature="dflkGt+38WKIJzkpLRg6+CQttGqSoKIGgYUatBZ+QHLjGJ6slMsse9iaiDlDoXyF7MkHG+Tf/sfOnKhEnFaGCQ=="/>
    </item>
  </channel>
</rss>
