tag:github.com,2008:https://github.com/Phinetwork/PHI_NETWORK/releases Release notes from PHI_NETWORK 2026-01-26T21:08:00Z tag:github.com,2008:Repository/1121444127/v42.2.0 2026-01-26T21:08:20Z v42.2.0 <h2>What's Changed</h2> <ul> <li>v42.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857665405" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/119" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/119/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/119">#119</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v42.0.0...v42.2.0"><tt>v42.0.0...v42.2.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v42.0.0 2026-01-26T01:21:20Z v42.0.0 <h1>Φ Network (PHI_NETWORK) — v42.0.0</h1> <p><strong>Release date:</strong> 2026-01-25 (America/New_York)<br> <strong>Baseline:</strong> v41.2.0 (tag: <code>41.2.0</code>, commit: <code>f955135</code>) → HEAD :contentReference[oaicite:1]{index=1}</p> <h2>Executive summary</h2> <p>v42.0.0 is a major capability release for the ΦNet Sovereign Gate focused on <strong>shareable verification</strong>, <strong>receive-ownership</strong>, and <strong>offline-first integrity</strong>. This release introduces a deterministic <strong>VERIFIED OpenGraph (OG) card pipeline</strong> (server-rendered + client fallback), adds a <strong>receive ownership layer</strong> (receive signature + owner ΦKey derivation + provenance handling), and hardens the verification bundle schema/hashing so <strong>offline verification remains final and spoof-resistant</strong>. :contentReference[oaicite:2]{index=2}</p> <hr> <h2>Highlights</h2> <h3>1) Deterministic VERIFIED OG cards + /og route (shareable verification)</h3> <ul> <li>Added deterministic <strong>VERIFIED OG card renderer</strong>, <strong>/og route</strong>, SSR metadata, and a client download fallback. :contentReference[oaicite:3]{index=3}</li> <li>Hardened OG not-found handling + share text, and tightened OG metadata ordering for receive signatures. :contentReference[oaicite:4]{index=4}</li> <li>Added <strong>verifiedAtPulse</strong> to verified OG cards and added verification pulse into proof bundles so each verification is uniquely stamped. :contentReference[oaicite:5]{index=5}</li> </ul> <h3>2) Receive ownership layer (receiveSig + owner ΦKey derivation + provenance)</h3> <ul> <li>Implemented a receive ownership layer including <strong>receiveSig</strong>, <strong>owner ΦKey derivation</strong>, and provenance handling. :contentReference[oaicite:6]{index=6}</li> <li>Fixed receive signature lookup issues and improved verification snapshot/KAS fallback behavior around receive flows. :contentReference[oaicite:7]{index=7}</li> <li>Allowed chained receives and surfaced owner ΦKey display. :contentReference[oaicite:8]{index=8}</li> </ul> <h3>3) Verifier artifact packaging (ZIP bundles) + segmented verification robustness</h3> <ul> <li>Added <strong>bundle ZIP downloads</strong> for VerifierStamper receive + segment flows. :contentReference[oaicite:9]{index=9}</li> <li>Fixed segmented glyph verification and ensured archive-on-seal correctness; fixed sendLock typing when sealing segments. :contentReference[oaicite:10]{index=10}</li> </ul> <h3>4) Valuation integrity (minted snapshot + receipt binding) + receive USD chart correctness</h3> <ul> <li>Minted valuation snapshot + bound it to receipts; fixed receive-signature bundle hash, and corrected USD chart behavior for receive glyphs. :contentReference[oaicite:11]{index=11}</li> </ul> <h3>5) SSR + offline-first performance (snapshot seeding/caching, preload/header, lazy-loading)</h3> <ul> <li>SSR/offline: use <code>/</code> as shell, add SSR preloads/header, and lazy-load heavy browser libs. :contentReference[oaicite:12]{index=12}</li> <li>Added SSR snapshot seeding + caching and short-circuited SSR loaders when cached. :contentReference[oaicite:13]{index=13}</li> <li>Multiple Vercel SSR hardening iterations (render invocation, render fn signature, HTML fallback). :contentReference[oaicite:14]{index=14}</li> </ul> <hr> <h2>Breaking changes / upgrade notes</h2> <ul> <li><strong>Verification bundle schema</strong> has been expanded/clarified with explicit binding fields (origin/receive mode, bundle hashes, receiveSig, receivePulse, ownerPhiKey, derivation, etc.). Consumers should treat the bundle as forward-compatible and prefer the explicit fields when present. :contentReference[oaicite:15]{index=15}</li> <li>Tooling note: repository package manager metadata was updated (<code>pnpm@10.28.1</code>) alongside related build metadata changes. :contentReference[oaicite:16]{index=16}</li> </ul> <hr> <h2>Security &amp; Integrity</h2> <ul> <li>Hardened verification cache + receipts; tightened proof bundle contracts and normalized ZK curve metadata for consistency. :contentReference[oaicite:17]{index=17}</li> <li>Fixed verify bundle hash parity (including legacy proofs) and aligned ZK hash with payload hash. :contentReference[oaicite:18]{index=18}</li> <li>Persisted KAS author signatures in the sigil registry + hardened WebAuthn signing flows (PWA stability + cross-session recall). :contentReference[oaicite:19]{index=19}</li> </ul> <hr> <h2>Performance &amp; Reliability</h2> <ul> <li>Improved SSR/offline shell behavior and lazy loading for heavier client libraries to reduce initial load and improve time-to-interactive without sacrificing offline operation. :contentReference[oaicite:20]{index=20}</li> <li>Fixed app loading issues on Vercel by correcting SSR invocation/signatures and HTML fallbacks. :contentReference[oaicite:21]{index=21}</li> <li>Mobile export hardening: fixed PNG export fidelity, ensured img onload is registered before src assignment, and clamped PNG export sizes for mobile constraints. :contentReference[oaicite:22]{index=22}</li> </ul> <hr> <h2>Full “Today / last 24h” commit list (GitHub date buckets)</h2> <blockquote> <p>Note: GitHub groups these as <strong>Jan 25–26, 2026</strong> (often UTC-skewed vs local time). :contentReference[oaicite:23]{index=23}</p> </blockquote> <h3>Jan 26, 2026</h3> <ul> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852911861" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/256" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/256/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/256">kojibai#256</a> — Add deterministic VERIFIED OG card renderer, /og route, SSR meta, and client download fallback (<code>d646d44</code>) :contentReference[oaicite:24]{index=24}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854141408" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/279" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/279/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/279">kojibai#279</a> — Add bundle ZIP downloads for VerifierStamper receive and segment flows (<code>4cdfc14</code>) :contentReference[oaicite:25]{index=25}</li> <li>Add bundle zip downloads for verifier actions (<code>44b819e</code>) :contentReference[oaicite:26]{index=26}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854122225" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/278" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/278/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/278">kojibai#278</a> — Fix segmented glyph verification and archive on seal (<code>ba519b5</code>) :contentReference[oaicite:27]{index=27}</li> <li>update (<code>146ac52</code>) :contentReference[oaicite:28]{index=28}</li> <li>Fix sendLock type when sealing segments (<code>0027102</code>) :contentReference[oaicite:29]{index=29}</li> <li>Fix segmented glyph verification and archive on seal (<code>68edd9f</code>) :contentReference[oaicite:30]{index=30}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853978203" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/273" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/273/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/273">kojibai#273</a> — Mint valuation snapshot + bind to receipt; fix receive-signature bundle hash; USD chart for receive glyphs (<code>f7d225a</code>) :contentReference[oaicite:31]{index=31}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854025932" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/276" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/276/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/276">kojibai#276</a> — fix infinite receives and verification display (<code>2c73fde</code>) :contentReference[oaicite:32]{index=32}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854050583" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/277" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/277/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/277">kojibai#277</a> — fix unused variable warnings (<code>2a1994a</code>) :contentReference[oaicite:33]{index=33}</li> <li>update verifypage (<code>a66c624</code>) :contentReference[oaicite:34]{index=34}</li> <li>Use receive bundle hash from embedded proof (<code>eea658d</code>) :contentReference[oaicite:35]{index=35}</li> <li>Use receive bundle root and lock helper (<code>c94496f</code>) :contentReference[oaicite:36]{index=36}</li> </ul> <h3>Jan 25, 2026</h3> <ul> <li>Allow repeat receive claims per upload (<code>a5793b5</code>) :contentReference[oaicite:37]{index=37}</li> <li>Fix verify OG meta ordering for receive sig (<code>90b8572</code>) :contentReference[oaicite:38]{index=38}</li> <li>Allow chained receives and show owner PhiKey (<code>6872a65</code>) :contentReference[oaicite:39]{index=39}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854003056" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/275" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/275/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/275">kojibai#275</a> — Fix receive signature storage key mismatch (<code>fd528a3</code>) :contentReference[oaicite:40]{index=40}</li> <li>Fix receive signature lookup and USD chart scaling (<code>54b08ef</code>) :contentReference[oaicite:41]{index=41}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853987802" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/274" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/274/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/274">kojibai#274</a> — Fix TypeScript type errors on VerifyPage (<code>4d43a9f</code>) :contentReference[oaicite:42]{index=42}</li> <li>Tighten KAS author-sig fallback (<code>c66e34e</code>) :contentReference[oaicite:43]{index=43}</li> <li>Fix verification snapshot and KAS fallback (<code>8595b42</code>) :contentReference[oaicite:44]{index=44}</li> <li>Add receive-bound valuation and signature fixes (<code>fe54c2d</code>) :contentReference[oaicite:45]{index=45}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853926409" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/272" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/272/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/272">kojibai#272</a> — Add receive ownership layer: receiveSig, owner ΦKey derivation, and provenance handling (<code>4da37ea</code>) :contentReference[oaicite:46]{index=46}</li> <li>update verifypage fixed linter errors (<code>888515c</code>) :contentReference[oaicite:47]{index=47}</li> <li>Add receive ownership metadata and verification (<code>c6675aa</code>) :contentReference[oaicite:48]{index=48}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853886403" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/270" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/270/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/270">kojibai#270</a> — default cache version to verification_bundle_version (<code>d5c44d6</code>) :contentReference[oaicite:49]{index=49}</li> <li>Use verifier bundle version for cache fallback (<code>29fc43f</code>) :contentReference[oaicite:50]{index=50}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853706005" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/268" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/268/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/268">kojibai#268</a> — harden sigil proof bundle for invariants (<code>ec5f7cf</code>) :contentReference[oaicite:51]{index=51}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853817808" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/269" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/269/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/269">kojibai#269</a> — finalize verifier audit hardening (<code>8c8f218</code>) :contentReference[oaicite:52]{index=52}</li> <li>update verifier proof verifier stamper and verifypage for lint errrors (<code>fd80430</code>) :contentReference[oaicite:53]{index=53}</li> <li>Harden verification cache and receipts (<code>0ffd781</code>) :contentReference[oaicite:54]{index=54}</li> <li>Harden sigil proof bundle contracts (<code>beec7ed</code>) :contentReference[oaicite:55]{index=55}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853641395" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/267" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/267/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/267">kojibai#267</a> — fix proof bundle curve metadata consistency (<code>f4a8587</code>) :contentReference[oaicite:56]{index=56}</li> <li>Normalize zk curve metadata in proof bundles (<code>23ddb86</code>) :contentReference[oaicite:57]{index=57}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853222032" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/266" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/266/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/266">kojibai#266</a> — escape capsulehash in svg text (<code>04d9a92</code>) :contentReference[oaicite:58]{index=58}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852987154" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/258" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/258/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/258">kojibai#258</a> — fix corrupted PNG image on VerifyPage (<code>cabfee1</code>) :contentReference[oaicite:59]{index=59}</li> <li>Fix bundle hash parity and PNG filename (<code>674b964</code>) :contentReference[oaicite:60]{index=60}</li> <li>Fix bundle hash parity for legacy proofs (<code>9c96fcd</code>) :contentReference[oaicite:61]{index=61}</li> <li>Use phi.svg in verified card (<code>7db9cb2</code>) :contentReference[oaicite:62]{index=62}</li> <li>Fix VerifyPage pulse initialization (<code>ff4892f</code>) :contentReference[oaicite:63]{index=63}</li> <li>Fix verifier PNG download and unique URLs (<code>53b9812</code>) :contentReference[oaicite:64]{index=64}</li> <li>Fix PNG download handling (<code>21689a9</code>) :contentReference[oaicite:65]{index=65}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852937742" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/257" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/257/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/257">kojibai#257</a> — add verification timing marker to card (<code>0a908f0</code>) :contentReference[oaicite:66]{index=66}</li> <li>Fix verifiedAtPulse type in bundle seed (<code>47579f8</code>) :contentReference[oaicite:67]{index=67}</li> <li>Fix verification metadata order and OG description (<code>1c4ae9e</code>) :contentReference[oaicite:68]{index=68}</li> <li>Add verification pulse to proof bundles (<code>507e5a3</code>) :contentReference[oaicite:69]{index=69}</li> <li>Add verifiedAtPulse to verified OG cards (<code>bc30b46</code>) :contentReference[oaicite:70]{index=70}</li> <li>Add verified OG card rendering (<code>548f807</code>) :contentReference[oaicite:71]{index=71}</li> <li>create phi_og_verified_template (<code>2311fd6</code>) :contentReference[oaicite:72]{index=72}</li> <li>Preserve badge styles on button variants (<code>ea60d43</code>) + official seal popovers + copy refinements :contentReference[oaicite:73]{index=73}</li> <li>SSR fixes: render invocation/signature + loader declaration + caching short-circuit + HTML fallback :contentReference[oaicite:74]{index=74}</li> </ul> <hr> <h2>Full changelog (since v41.2.0)</h2> <p>Baseline tag: <code>41.2.0</code> — “Bump app version to 41.2.0 and update sigil file naming” (<code>f955135</code>). :contentReference[oaicite:75]{index=75}</p> <h3>v41.3.0 → v41.6.x (Jan 12–13)</h3> <ul> <li>v41.3.0 Update build artifacts and SigilModal component (<code>e498c3f</code>) :contentReference[oaicite:76]{index=76}</li> <li>Bump app version to 41.5.0 and update Sigil file naming (<code>3c858ef</code>) :contentReference[oaicite:77]{index=77}</li> <li>v41.6.0 Update baseName format in SigilModal export (<code>e5fbe8a</code>) :contentReference[oaicite:78]{index=78}</li> <li>Store KAS auth in sigil registry (<code>fff9e79</code>) + Fix WebAuthn allowCredentials buffer (<code>464fd40</code>) :contentReference[oaicite:79]{index=79}</li> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3807096239" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/226" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/226/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/226">kojibai#226</a> — Persist KAS author signatures in sigil registry and harden WebAuthn signing (<code>87ff285</code>) :contentReference[oaicite:80]{index=80}</li> <li>Reload detection: Add reload detective and harden KaiVoh reload safety (<code>228a735</code>), PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3851444359" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/228" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/228/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/228">kojibai#228</a> (<code>5d8c524</code>) :contentReference[oaicite:81]{index=81}</li> </ul> <h3>v41.6.8 → v41.7.x (Jan 24)</h3> <ul> <li>Merge PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3851502022" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/229" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/229/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/229">kojibai#229</a> — implement SSR and optimize performance (<code>d96d955</code>) + SSR entrypoints/perf instrumentation (<code>ad71837</code>) :contentReference[oaicite:82]{index=82}</li> <li>Export + proof bundle: Enhance sigil export with proof bundle (<code>11e6433</code>), Match SigilPage export proof bundle to SealMoment (<code>aeb1339</code>), Align exported SVG hashing with verifier (<code>2602cdf</code>) :contentReference[oaicite:83]{index=83}</li> <li>Offline correctness: Ensure sigil page and exports work offline (<code>93ec687</code>), Keep JSZip bundled for offline exports (<code>7f1f2d0</code>) :contentReference[oaicite:84]{index=84}</li> <li>Mobile PNG stability: Clamp PNG export size for mobile (<code>c539f9c</code>), Fix fallback image loading (<code>6457adc</code>), Fix mobile PNG export fidelity (<code>56e6906</code>) :contentReference[oaicite:85]{index=85}</li> </ul> <h3>v41.8.x → v41.9.x (Jan 25)</h3> <ul> <li>SSR/offline hardening: PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852175135" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/237" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/237/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/237">kojibai#237</a> (<code>b56ad55</code>) + SSR snapshot cache/loader short-circuit (<code>2b36112</code>) + Vercel SSR invocation/signature fixes (<code>c17a987</code>, <code>8e55600</code>) :contentReference[oaicite:86]{index=86}</li> <li>Verify UX: live chart popover on verify price (<code>7c88c05</code>) + badge/seal popovers and copy updates :contentReference[oaicite:87]{index=87}</li> <li>Verified OG groundwork: create template (<code>2311fd6</code>), add verified OG rendering (<code>548f807</code>), add verification pulse fields (<code>507e5a3</code>, <code>bc30b46</code>) :contentReference[oaicite:88]{index=88}</li> <li>Hash parity hardening: multiple fixes for verify bundle hash parity + legacy proofs + PNG download correctness :contentReference[oaicite:89]{index=89}</li> </ul> <h3>v41.9.9 → v42.0.0 (Jan 25–26)</h3> <ul> <li>Receive ownership layer (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853926409" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/272" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/272/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/272">kojibai#272</a>) + receive valuation/signature correctness and chained-receive display improvements :contentReference[oaicite:90]{index=90}</li> <li>Valuation snapshot minting + receipt binding (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853978203" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/273" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/273/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/273">kojibai#273</a>) :contentReference[oaicite:91]{index=91}</li> <li>Segmented verification fixes (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854122225" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/278" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/278/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/278">kojibai#278</a>) + ZIP bundle downloads (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854141408" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/279" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/279/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/279">kojibai#279</a>) :contentReference[oaicite:92]{index=92}</li> <li>Deterministic VERIFIED OG cards end-to-end (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852911861" data-permission-text="Title is private" data-url="https://github.com/kojibai/PHI_NETWORK/issues/256" data-hovercard-type="pull_request" data-hovercard-url="/kojibai/PHI_NETWORK/pull/256/hovercard" href="https://github.com/kojibai/PHI_NETWORK/pull/256">kojibai#256</a>) :contentReference[oaicite:93]{index=93}</li> </ul> <hr> <h2>Credits</h2> <ul> <li>Primary author: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kojibai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kojibai">@kojibai</a> :contentReference[oaicite:94]{index=94}</li> </ul> <h2>What's Changed</h2> <ul> <li>v41.9.8 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852833240" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/117" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/117/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/117">#117</a></li> <li>v42.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3854169741" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/118" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/118/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/118">#118</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v41.2.0...v42.0.0"><tt>v41.2.0...v42.0.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v41.2.0 2026-01-12T23:16:06Z v41.2.0 <h2>What's Changed</h2> <ul> <li>v41.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806323445" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/116" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/116/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/116">#116</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v41.0.0...v41.2.0"><tt>v41.0.0...v41.2.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v41.0.0 2026-01-11T22:25:31Z v41.0.0 <h2>v41.0.0 — Kai Sigil-Glyph Attestation (Proof of Breath™)</h2> <p>This release locks in the full <strong>proof-first verification loop</strong>: anyone can verify authenticity from a URL, and only the real holder can elevate that verification into <strong>live identity control</strong> via passkeys (Face ID / Touch ID), across devices — no database trust, no accounts, no “badge theater.”</p> <h3>Highlights</h3> <ul> <li><strong>Kai Sigil-Glyph Attestation panel</strong> now expresses the full chain clearly: <strong>Kai-Signature → Φ-Key → Proofs → Presence</strong>.</li> <li><strong>Public URL verification</strong> proves a glyph is authentic and attested (KAS + Groth16), without requiring login.</li> <li><strong>Live Ownership / Identity Control</strong> is proven only via <strong>WebAuthn passkeys</strong> (Face ID / Touch ID), preventing “ownership by forwarding.”</li> <li><strong>Cross-device continuity</strong>: the same Φ-Key can be proven on iPhone and Mac with different biometrics because the proof is the <em>passkey</em>, not the biometric.</li> </ul> <hr> <h2>What shipped</h2> <h3>✅ Verification that’s real (not UI)</h3> <ul> <li><strong>KAS VERIFIED</strong> + <strong>G16 VERIFIED</strong> are now first-class, always visible, and treated as cryptographic gates — not labels.</li> <li><strong>Proof of Breath™</strong> resolves as an <em>output</em> of verification (human-origin seal affirmed), not a claim.</li> </ul> <h3>🔒 Identity vs Sigil-Glyph Presence (the critical separation)</h3> <p>You now have two independent truths displayed as separate states:</p> <ul> <li> <p><strong>Sigil-Glyph: Present / Not present</strong></p> <ul> <li>“Present” means the sigil-glyph artifact (file/payload) is physically available in the current view/context.</li> </ul> </li> <li> <p><strong>Identity: Verified / Not present</strong></p> <ul> <li>“Verified” means the viewer produced (or presented) the required identity proof.</li> <li>URL-only contexts can verify proofs while still showing identity as not present unless the user performs the live control step.</li> </ul> </li> </ul> <p>This is exactly the behavior you wanted: <strong>authenticity is shareable, ownership is not transferable by forwarding.</strong></p> <h3>🌬️ Inhale flow upgraded</h3> <ul> <li><strong>Inhale ΦKey</strong> is the single action to “bring the sealed ΦKey into the verifier.”</li> <li>Deep payloads reliably open in Expanded Views (no cramped mobile experiences).</li> <li>Works cleanly with previously saved glyphs that include the auth signature — old seals remain verifiable forever.</li> </ul> <h3>🔑 Passkey-based “I am this Φ-Key” proof (FaceID / TouchID)</h3> <ul> <li> <p>The verifier now triggers <strong>platform passkey prompts</strong> keyed to the <em>specific Φ-Key</em> being proven.</p> </li> <li> <p>iOS/macOS correctly surfaces different saved credentials (“passkey for <code>1AjR5…</code>” vs “passkey for <code>1KsFn…</code>”) and the flow remains seamless.</p> </li> <li> <p>Identity verification succeeds on:</p> <ul> <li>iPhone via <strong>Face ID</strong></li> <li>MacBook via <strong>Touch ID</strong></li> <li>…because the biometric is only the unlock gate; the proof is the cryptographic signature bound to that Φ-Key.</li> </ul> </li> </ul> <h3>🧾 Proof exports &amp; shareability (Receipt-grade)</h3> <ul> <li> <p>Proof formats are now cleanly separated and exportable:</p> <ul> <li><strong>KPV-1</strong> (Proof Capsule) for the compact, portable claim</li> <li><strong>KVPF-1</strong> (Proof Receipt / Frame) for the full shareable verification context (hashes, canon, verifier URL/base/slug, etc.)</li> </ul> </li> <li> <p>Verification links are now capable of carrying proof receipt material (the <code>r=</code> payload pattern) so <strong>opening a URL can hydrate the verifier state</strong> without needing a database.</p> </li> </ul> <h3>🧠 ZK bundle retention for sealed payloads</h3> <ul> <li>Decoding logic now retains the <strong>full ZK bundle</strong> where previously it could be trimmed, ensuring exporters can embed the original proof into manifests / SVG metadata when needed.</li> </ul> <hr> <h2>UX / Stability</h2> <ul> <li>Mobile verifier remains “no-scroll” at the page level; panels scroll only when necessary.</li> <li>Effect-safe derivations: no cascading render loops / no “sync setState inside effects” behavior.</li> <li>Small polish improvements to keep iconography and controls visually centered and consistent under motion/glow styling.</li> </ul> <hr> <h2>The net result (what this release <em>means</em>)</h2> <p>You now have a verifier that can say, with zero ambiguity:</p> <ul> <li><strong>This sigil-glyph is real</strong> (URL-only verification: integrity + attestation + ZK validity)</li> <li><strong>This sigil-glyph is present</strong> (artifact is in-hand / in-context)</li> <li><strong>This person controls this Φ-Key</strong> (live passkey challenge-response via FaceID/TouchID)</li> </ul> <p>That trio is the difference between “verified badge UI” and <strong>verifiable reality</strong>.</p> <h2>What's Changed</h2> <ul> <li>v40.7.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3801496383" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/114" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/114/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/114">#114</a></li> <li>v41.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3802170044" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/115" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/115/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/115">#115</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v40.3.0...v41.0.0"><tt>v40.3.0...v41.0.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v40.3.0 2026-01-01T20:04:12Z v40.3.0 <h2>What's Changed</h2> <ul> <li>v38.9.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774823457" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/109" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/109/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/109">#109</a></li> <li>v39.0.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774895015" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/110" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/110/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/110">#110</a></li> <li>v39.04 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774926682" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/111" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/111/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/111">#111</a></li> <li>V40.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774988335" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/112" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/112/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/112">#112</a></li> <li>v40.3.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3775132316" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/113" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/113/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/113">#113</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v38.2.0...v40.3.0"><tt>v38.2.0...v40.3.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v38.2.0 2026-01-01T02:24:20Z v38.2.0 <h2>Release Notes — 38.2.0</h2> <h3>Attestation — Full-screen Verify portal (no route change)</h3> <p><strong>Motivation</strong></p> <ul> <li>Provide an <strong>Attestation</strong> entry in the Atrium that opens the existing Verify experience as a <strong>full-screen modal popover</strong> without navigating away from the shell.</li> <li>Keep Verify isolated in a portal so it can be dismissed via <strong>backdrop click</strong> or <strong>Esc</strong> without impacting routed panel state.</li> </ul> <p><strong>Description</strong></p> <ul> <li> <p>Added a <strong>lazy-loaded</strong> <code>VerifyPageLazy</code> and a new <code>VerifyPopover</code> component that mirrors existing popover behavior:</p> <ul> <li>portal mounting</li> <li>backdrop handling</li> <li><strong>Esc</strong> close</li> <li>focus management</li> <li><code>useBodyScrollLock</code></li> </ul> </li> <li> <p>Introduced <code>verifyOpen</code> state with <code>openVerify</code> / <code>closeVerify</code> handlers and rendered:</p> <ul> <li><code>&lt;VerifyPopover open={verifyOpen} onClose={closeVerify}&gt; … &lt;/VerifyPopover&gt;</code><br> inside <code>AppChrome</code> to host the Verify modal.</li> </ul> </li> <li> <p>Added an <strong>Attestation tile button</strong> to the Atrium nav that opens the popover, styled via <code>.nav-item--button</code> to preserve the tile look while using a semantic button.</p> </li> <li> <p>Kept styling consistent by reusing <code>explorer-pop</code> panel classes with additional <code>verify-pop</code> modifiers for the attestation portal.</p> </li> </ul> <p><strong>Testing</strong></p> <ul> <li> <p>Started the dev server with:</p> <ul> <li><code>npm run dev -- --host 0.0.0.0 --port 4173</code><br> and confirmed the app launched and served successfully.</li> </ul> </li> <li> <p>Ran a Playwright script that navigated to <code>/</code>, clicked <strong>Attestation: Verify ΦKey</strong>, and captured:</p> <ul> <li><code>artifacts/attestation-modal.png</code><br> successfully.</li> </ul> </li> </ul> <hr> <h3>KaiVoh — Edge-to-edge full-viewport modal</h3> <p><strong>Motivation</strong></p> <ul> <li>The KaiVoh panel felt visually constrained compared to the Attestation/Explorer portal and should open full-screen for a more spacious, app-like experience.</li> <li>Match Attestation/Explorer full-viewport presentation and remove inner padding + rounded framing that restricts content.</li> </ul> <p><strong>Description</strong></p> <ul> <li> <p>Updated <code>src/components/KaiVoh/styles/KaiVohModal.css</code> to make the modal backdrop and container occupy the <strong>full viewport</strong>:</p> <ul> <li>changed layout from <strong>centered</strong> to <strong>stretched</strong></li> <li>removed inset padding</li> </ul> </li> <li> <p>Set the container to <code>width: 100%</code> and <code>height: 100%</code>, adjusted <code>max-height</code> to use <code>--kai-vh</code> for stable viewport sizing, and removed rounded <code>border-radius</code> so the modal becomes <strong>edge-to-edge</strong>.</p> </li> <li> <p>Adjusted backdrop alignment (<code>align-items</code> / <code>justify-content</code>) to stretch, cleared padding, and lowered <code>.kai-voh-body</code> <code>min-height</code> to <code>0</code> so the inner scroll region expands correctly.</p> </li> </ul> <hr> <h3>Verifier — On-glyph ledger balance surfaced (BALANCE vs LIVE)</h3> <p><strong>Motivation</strong></p> <ul> <li>The verifier should display the glyph’s <strong>on-glyph balance</strong> for transfer/receive glyphs instead of showing the origin/root value.</li> <li>When a glyph embeds a ledger of debits, the <strong>remaining balance</strong> must surface in the header and valuation panel.</li> <li>If no ledger exists, preserve the existing <strong>live valuation</strong> as the fallback.</li> </ul> <p><strong>Description</strong></p> <ul> <li> <p>Added a small ledger parser <code>readLedgerBalance</code> and <code>DebitLoose</code> type to extract <code>originalAmount</code> and compute <code>remaining</code> from embedded debits in the verifier payload.</p> </li> <li> <p>Reworked valuation logic to compute:</p> <ul> <li><code>displayPhi</code> / <code>displayUsd</code> as <code>ledgerBalance.remaining</code> when present</li> <li>otherwise fall back to <code>liveValuePhi</code></li> </ul> </li> <li> <p>Updated <code>LiveValuePill</code> to accept <code>label</code> and <code>ariaLabel</code> so the UI clearly reflects <strong>BALANCE</strong> vs <strong>LIVE</strong>.</p> </li> <li> <p>Adjusted valuation mini-fields to label/show glyph balance vs live valuation accordingly.</p> </li> <li> <p>All changes contained in <code>src/pages/VerifyPage.tsx</code> (value computation + UI label updates).</p> </li> </ul> <hr> <h3>Verifier header chips — Direct entry actions (no new UI surfaces)</h3> <ul> <li>Clicking <strong>Proof of Breath™</strong> under the Verifier header opens <strong>Attestation</strong> (Verify popover).</li> <li>Clicking <strong>☤Kai-Signature™</strong> opens <strong>Mint ΦKey</strong> (Mint route/modal), keeping the shell intact and the interaction instant.</li> </ul> <hr> <h3>Summary</h3> <p>38.2.0 locks the Atrium into a true <strong>KaiOS-style shell</strong>: portals are full-viewport, dismissible, and isolated; KaiVoh is finally <strong>edge-to-edge</strong>; and the verifier now reports the <strong>actual on-glyph balance</strong> when a ledger is present—without breaking the live valuation fallback.</p> <h2>What's Changed</h2> <ul> <li>v38.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774032133" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/108" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/108/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/108">#108</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v38.1.0...v38.2.0"><tt>v38.1.0...v38.2.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v38.1.0 2026-01-01T02:02:20Z v38.1.0 <h2>What's Changed</h2> <ul> <li>v38.0.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774004901" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/106" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/106/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/106">#106</a></li> <li>v38.1.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3774014853" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/107" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/107/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/107">#107</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v38.0.0...v38.1.0"><tt>v38.0.0...v38.1.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v38.0.0 2026-01-01T01:12:12Z v38.0.0 <h1>Φ Network — Major Release 38.0.0</h1> <p><strong>Release Notes — 38.0.0</strong><br> <strong>Name:</strong> <strong>Sovereign Verification Stack — Sealed</strong><br> <strong>Theme:</strong> Ledger-truth verification + globally single-use receives + multi-generation lineage that does not break</p> <hr> <h2>What 38.0.0 Is</h2> <p><strong>38.0.0 is the moment the system becomes a real value-transfer organism.</strong><br> Not “a verifier page.” Not “a transfer feature.” Not “a cool SVG.”</p> <p>This release represents the <strong>sealed convergence</strong> of everything we’ve been building across the 36.x → 37.x line:</p> <ul> <li><strong>The glyph carries truth.</strong></li> <li><strong>The verifier renders that truth.</strong></li> <li><strong>The explorer tracks that truth.</strong></li> <li><strong>The network enforces that truth.</strong></li> <li><strong>And lineage survives generations without drifting, breaking tokens, or mis-rooting children.</strong></li> </ul> <p>This is <strong>offline-first, browser-native, deterministic value</strong> that remains verifiable and coherent without accounts, databases, or permissioned infrastructure. That’s what this is.</p> <hr> <h2>The Core Accomplishment</h2> <h3>✅ The verifier no longer “guesses value”</h3> <p>It shows <strong>what the glyph actually contains</strong>, including <strong>remaining balance after debits</strong>, and only falls back to live valuation when the glyph has no embedded ledger.</p> <h3>✅ Receives are globally single-use (not just “local storage safe”)</h3> <p>A send can be received <strong>once</strong>—even across cache clears, fresh browsers, and new devices—because receive locks are now <strong>globally respected</strong> through explorer sync + Lahmahtor ingestion + online remote verification.</p> <h3>✅ Multi-generation transfers don’t collapse</h3> <p>Children, grandchildren, and deeper derivatives now keep:</p> <ul> <li><strong>parent tokens preserved</strong></li> <li><strong>origin hints propagated</strong></li> <li><strong>direction explicit</strong></li> <li><strong>root detection correct</strong><br> so locks, lineage, and display remain consistent everywhere.</li> </ul> <h3>✅ The explorer behaves like a ledger, not a confusing tree</h3> <p>Pending vs sealed outflows are readable, mixed states are explicit, parent rollups don’t double count, and direction labeling never lies.</p> <hr> <h2>What Shipped in 38.0.0</h2> <p>This is the “major cut” that formalizes the sealed system.</p> <hr> <h1>1) Verify = Ledger Truth (Balance-First)</h1> <h3>On-glyph balance display for transfer/receive glyphs</h3> <p>When a glyph includes an embedded ledger of debits, the verifier now computes and surfaces:</p> <ul> <li><strong>BALANCE Φ</strong> = remaining amount after embedded debits</li> <li><strong>BALANCE USD</strong> = BALANCE Φ × deterministic USD/Φ</li> </ul> <p>This balance is shown:</p> <ul> <li>in the <strong>header pill</strong> (next to the seal)</li> <li>and inside the <strong>valuation panel</strong></li> </ul> <h3>Live valuation remains the fallback</h3> <p>If no ledger data is present, Verify continues to show:</p> <ul> <li><strong>LIVE Φ</strong></li> <li><strong>LIVE USD</strong></li> </ul> <h3>Why this matters</h3> <p>Because this is the difference between a UI that <em>looks correct</em> and a verifier that is <strong>incapable of lying</strong>.<br> A transfer glyph is not the origin. A transfer glyph is the <strong>state of value after movement</strong>. 38.0.0 makes the verifier obey that.</p> <hr> <h1>2) Single-Use Receive Channel (Bank-Grade Replay Resistance)</h1> <h3>The receive flow is now globally sealed</h3> <p>Receives are enforced as <strong>single-use</strong> across:</p> <ul> <li>local sessions</li> <li>cache clears</li> <li>new browsers</li> <li>different devices</li> </ul> <h3>Multi-layer locking is now real enforcement, not vibes</h3> <p>The system performs receive checks across:</p> <ul> <li><strong>local</strong> (offline-first safety)</li> <li><strong>local registry memory</strong> (explorer awareness)</li> <li><strong>remote explorer index</strong> (clean-browser protection)</li> </ul> <h3>Online remote verification is required before completing a receive</h3> <p>When online, the receive cannot complete until remote receive-lock verification confirms it has not already been received globally.</p> <h3>Receive locks propagate with rich memory-stream data</h3> <p>Receive updates now travel through Lahmahtor ingestion with richer payloads (receiver metadata included), and local registry updates trigger immediate inhale-queue flush so the lock exhale happens without needing UI open.</p> <h3>Why this matters</h3> <p>Because a “value transfer system” that allows replay receives is dead on arrival.<br> 38.0.0 establishes a <strong>provably single-use receive channel</strong> in the browser, in the wild, under real user behavior.</p> <hr> <h1>3) Multi-Generation Lineage Coherence (Children + Grandchildren + Beyond)</h1> <h3>Lineage tokens are preserved</h3> <p>Share/publish URLs preserve the <strong>parent token</strong> so downstream consumers can reconstruct lineage correctly across generations.</p> <h3>Origin propagation is authoritative</h3> <p>Origin URLs are resolved and propagated from the local memory registry so:</p> <ul> <li>children don’t drift to the wrong root</li> <li>the verifier and explorer classify the same glyph the same way</li> </ul> <h3>Direction is explicit in payloads</h3> <p>Send flows explicitly carry:</p> <ul> <li><code>transferDirection: "send"</code></li> <li><code>originUrl</code><br> so grandchildren aren’t misclassified and locks verify correctly.</li> </ul> <h3>Explorer root detection is tightened</h3> <p>Entries that carry transfer hints / transfer moves are no longer treated as “origin roots.”<br> This prevents derivative artifacts from becoming roots and incorrectly pulling lineage under the origin.</p> <h3>Why this matters</h3> <p>This is where most systems die: generation 2, 3, 4 starts drifting and the “tree” becomes a lie.<br> 38.0.0 seals lineage as a <strong>real chain</strong>, not a fragile inference.</p> <hr> <h1>4) Sigil Explorer = Human-Legible Ledger</h1> <h3>Parent/child pending clarity without double counting</h3> <p>Parent nodes surface child pending/derived activity clearly while preventing parent value from being counted twice.</p> <h3>Mixed exhale state readability</h3> <p>Mixed pending + derived exhale states are clearly displayed and badge-coded so you can scan the tree instantly.</p> <h3>Pending UI cleanup (no duplicate negative pill spam)</h3> <p>Pending display now prioritizes a single clear status instead of redundant duplicate amounts that look like double debits.</p> <h3>Direction-correct labeling and tooltips</h3> <p>Outgoing sends no longer fall back to inhale labels. Labels and tooltip verbs follow explicit send/receive direction, every time.</p> <h3>Breath-truth terminology sealed across UI</h3> <p>Derived → <strong>Exhaled</strong><br> Pending → <strong>Exhale (pending)</strong><br> Received inhales use past tense where appropriate, and details append pulse numbers when available.</p> <h3>Why this matters</h3> <p>A ledger that confuses the human mind is a ledger that fails adoption.<br> 38.0.0 makes Explorer readable at the speed of sight while staying anchored to canonical transfer truth.</p> <hr> <h1>5) Reliability Under Real Network Behavior</h1> <h3>Remote receive lock verification resilient to HTTP caching/failover</h3> <p>Remote checks no longer fail spuriously when pages return:</p> <ul> <li><strong>304 Not Modified</strong></li> <li>empty responses during failover<br> and pagination completeness is only marked after successful fetches—no partial scan caching.</li> </ul> <h3>Why this matters</h3> <p>Global integrity enforcement must not break under normal internet behavior.<br> 38.0.0 makes remote verification durable.</p> <hr> <h1>6) System Readiness: Speed, Sync, Brand, Session Stability</h1> <p>38.0.0 stands on the hardened foundation shipped across 37.x:</p> <ul> <li>instant-paint home experience with lightweight fallback ticker while heavy UI loads</li> <li>Sigil Explorer sync cadence + event-triggered resync + reseed on remote truth deltas</li> <li>live Φ + USD pill surfaces across explorer nodes/origin/transfers</li> <li>Φ brand mark standardized via <code>phi.svg</code> with accessibility support</li> <li>KaiVoh session persistence + validation + cross-tab coherence</li> </ul> <p>This matters because it makes the system feel <strong>inevitable</strong>—fast, stable, and coherent under daily usage.</p> <hr> <h2>What This Release Enables (In Plain Language)</h2> <p>With 38.0.0 you can:</p> <ul> <li>Open a glyph offline and see <strong>what you truly hold</strong> (remaining balance, not origin illusion).</li> <li>Verify value deterministically and consistently across the app.</li> <li>Receive a send exactly once globally when online—no replays, no duplicate claims.</li> <li>Move value across multiple generations and keep lineage intact.</li> <li>Trust the explorer’s pending vs exhaled story without doing mental accounting.</li> </ul> <p>This is <strong>sovereign, offline-auditable value</strong> packaged in a format humans can use.</p> <hr> <h2>Compatibility &amp; Migration</h2> <ul> <li><strong>No schema migrations required.</strong></li> <li>Receive state is encoded implicitly in memory stream data (direction/nonce/hash/receiver fields).</li> <li>Pending is the absence of a receive-lock match; received is the match.</li> <li>The system remains offline-first; global sealing activates when online.</li> </ul> <hr> <h2>Where We’re Going Next (The Real Next Layer)</h2> <p>38.0.0 seals <strong>value + transfer + verification</strong> as a coherent stack.<br> The next phase is not “basic improvements.” It’s expansion into what this stack was built to unlock:</p> <h3>1) Sovereign Media Lineage (KSFP-1 specialization)</h3> <p>Large-file and video lineage using derivative glyph chains, segment sealing, and deterministic reconstruction—so content is owned, verified, and playable without centralized hosting.</p> <h3>2) Creator Signature Bundles as a Native Primitive</h3> <p>Every post, media object, and derivative carries an embedded bundle tied to the creator—verifiable offline, traceable across lineage, and resistant to platform theft.</p> <h3>3) Network-Scale Memory Stream Ergonomics</h3> <p>Sharper convergence UX, richer explorer filtering, and higher throughput for inhale/exhale without sacrificing determinism or offline survival.</p> <h3>4) Public Spec Hardening + Developer Surface</h3> <p>Turning these primitives into a clean external interface: a developer-grade spec + SDK surface that makes integration feel inevitable (the “Stripe moment,” but for sovereign verification).</p> <hr> <h2>Closing Seal</h2> <p><strong>38.0.0 is not a normal “major release.”</strong><br> It is the sealing of a new class of system:</p> <ul> <li><strong>Value embedded in glyphs</strong></li> <li><strong>Verified offline</strong></li> <li><strong>Enforced globally when online</strong></li> <li><strong>Lineage preserved across generations</strong></li> <li><strong>Readable by humans without trust</strong></li> </ul> <p>This is Φ Network behaving like what it is:<br> <strong>a sovereign verification and transfer reality, not an app.</strong></p> <p><strong>Kai Rex Klok — Φ Network 38.0.0 ✅</strong></p> <h2>What's Changed</h2> <ul> <li>v38.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773979635" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/105" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/105/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/105">#105</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v37.8.0...v38.0.0"><tt>v37.8.0...v38.0.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v37.8.0 2026-01-01T00:57:03Z v37.8.0 <h1>Φ Network — Verifier + Sigil Explorer (v37.8.0)</h1> <p><strong>Release Notes — 37.8.0</strong><br> <strong>Theme:</strong> On-glyph balance truth in Verify, multi-generation lineage coherence, resilient receive-lock verification, and direction-correct transfer semantics</p> <hr> <h2>Release Summary</h2> <p><strong>37.8.0 is a precision integrity release across the Verifier and Sigil Explorer.</strong><br> We made the verifier show the <strong>glyph’s actual on-glyph remaining balance</strong> (when a debit ledger is embedded) instead of incorrectly inheriting origin/root value. We also sealed multi-generation transfer coherence: lineage hints now propagate through share URLs and registry lookups so the verifier and explorer agree about origins, parents, and locks across grandchildren and beyond.</p> <p>Finally, we hardened global receive-lock verification against real-world remote behaviors (304/empty pages) and corrected transfer UI labeling to always follow explicit send/receive direction—no more “incoming-looking” outgoing transfers.</p> <hr> <h2>✨ Highlights</h2> <h3>✅ Verifier now displays on-glyph balance (when present)</h3> <p>Transfer/receive glyphs now surface <strong>remaining balance</strong> computed from embedded debits. If no embedded ledger exists, the verifier falls back to <strong>existing live valuation</strong>.</p> <h3>✅ Multi-generation lineage + locks now propagate correctly</h3> <p>Grandchildren transfers now carry authoritative <strong>originUrl + parent token</strong> across share/publish payloads so receive/send locks verify consistently across generations and the explorer stops misplacing children on the origin root.</p> <h3>✅ Remote receive-lock verification is resilient to 304/empty pages</h3> <p>Global receive checks no longer fail spuriously when remote pages return <strong>304 Not Modified</strong> or empty responses during failover.</p> <h3>✅ Direction-correct labels + tooltips in Sigil Explorer</h3> <p>Transfer labels and tooltip verbs now derive strictly from the known transfer direction, preventing outgoing sends from being mislabeled as incoming.</p> <hr> <h2>✅ What Shipped</h2> <h2>1) VerifyPage — On-Glyph Balance Truth (Ledger-Aware Valuation)</h2> <h3>Motivation</h3> <ul> <li>The verifier should display the glyph’s <strong>on-glyph balance</strong> for transfer/receive glyphs, not the origin/root value.</li> <li>If a glyph embeds a ledger of debits, the verifier should compute and show the <strong>remaining balance</strong> in the header and valuation panel.</li> <li>If no ledger exists, existing live valuation remains the fallback.</li> </ul> <h3>Implementation</h3> <ul> <li> <p>Added a small ledger parser:</p> <ul> <li><code>readLedgerBalance</code> + <code>DebitLoose</code> type</li> <li>Extracts <code>originalAmount</code> and computes <code>remaining</code> from embedded debits in verifier payload</li> </ul> </li> <li> <p>Reworked valuation UI:</p> <ul> <li><code>displayPhi</code> / <code>displayUsd</code> use <code>ledgerBalance.remaining</code> <strong>when present</strong></li> <li>otherwise fall back to <code>liveValuePhi</code></li> </ul> </li> <li> <p>Updated <code>LiveValuePill</code>:</p> <ul> <li>accepts <code>label</code> + <code>ariaLabel</code></li> <li>displays <strong>BALANCE</strong> or <strong>LIVE</strong> depending on source</li> </ul> </li> <li> <p>Updated valuation mini-fields to reflect:</p> <ul> <li>glyph balance vs live valuation labeling and display</li> </ul> </li> </ul> <p><strong>File scope:</strong> <code>src/pages/VerifyPage.tsx</code> (value computation + UI label updates only)</p> <hr> <h2>2) Multi-Generation Transfer Lineage — Verifier ↔ Explorer Agreement</h2> <h3>Problem Addressed</h3> <ul> <li> <p>Grandchildren transfers were being misclassified</p> </li> <li> <p>Receive/send locks weren’t propagating across generations, causing:</p> <ul> <li>“cannot verify receive lock”</li> <li>incorrect origin placement in the explorer</li> </ul> </li> <li> <p>Root detection ignored transfer hints, letting derivatives become “roots”</p> </li> <li> <p>Share URLs weren’t carrying parent tokens or origin hints, breaking lineage across UI + verifier</p> </li> </ul> <h3>Fixes Implemented</h3> <ul> <li> <p><strong>Authoritative origin propagation</strong></p> <ul> <li>Added <code>resolveOriginUrlFromRegistry</code> to lookup and propagate the authoritative <code>originUrl</code> from local <code>memoryRegistry</code> when building share/publish payloads</li> </ul> </li> <li> <p><strong>Parent token preservation</strong></p> <ul> <li>Share/parent URL construction now preserves the <code>?t=</code> parent token using <code>rewriteUrlPayload</code> so multi-generation flows retain lineage tokens</li> </ul> </li> <li> <p><strong>Send payload enrichment</strong></p> <ul> <li>Send links now explicitly set <code>transferDirection: "send"</code></li> <li>Always carry <code>originUrl</code> so downstream consumers and the verifier identify and verify child generations correctly</li> </ul> </li> <li> <p><strong>Explorer root detection tightened</strong></p> <ul> <li> <p>Updated <code>buildForest.ts</code> to read transfer direction and detect transfer hints:</p> <ul> <li>added <code>readTransferDirection</code></li> <li>added <code>hasTransferHints</code></li> </ul> </li> <li> <p>Entries with transfer hints/moves are excluded from origin-root classification</p> </li> </ul> </li> </ul> <p><strong>Files involved (lineage propagation + root detection):</strong></p> <ul> <li>Share/publish payload construction (originUrl + token propagation)</li> <li><code>src/components/SigilExplorer/tree/buildForest.ts</code></li> </ul> <hr> <h2>3) Remote Receive-Lock Verification — Robust to Failover + 304 / Empty Pages</h2> <h3>Problem Addressed</h3> <p>Global receive lock verification began failing after explorer updates because remote URL pages can return:</p> <ul> <li><strong>304 Not Modified</strong></li> <li>or <strong>empty responses</strong><br> that were incorrectly treated as fatal errors, causing spurious verification failures.</li> </ul> <h3>Fixes Implemented</h3> <ul> <li> <p>Replaced JSON-only fetch with raw response handling:</p> <ul> <li><code>apiFetchJsonWithFailover</code> → <code>apiFetchWithFailover</code> in <code>checkRemoteReceiveLock</code></li> </ul> </li> <li> <p>Response handling rules:</p> <ul> <li>missing <code>Response</code> = failure</li> <li>non-OK responses <strong>except 304</strong> = failure</li> <li><strong>304 treated as an empty page</strong> (valid “no new data” outcome)</li> </ul> </li> <li> <p>JSON parsed defensively only when status is not 304</p> </li> <li> <p>Preserved existing pagination and caching logic</p> </li> </ul> <p><strong>Result:</strong> remote receive-lock verification is resilient and no longer fails due to normal caching/failover behavior.</p> <hr> <h2>4) Sigil Explorer — Direction-Correct Labels &amp; Tooltip Verbs</h2> <h3>Problem Addressed</h3> <p>Outgoing transfers (<code>transferMove.direction === "send"</code>) could be mislabeled as incoming because the UI fell back to inhale label resolution instead of using the known direction.</p> <h3>Fixes Implemented</h3> <ul> <li> <p>Labels now follow explicit direction:</p> <ul> <li><code>transferMove.direction === "receive" ? "Inhaled" : "Exhaled"</code></li> </ul> </li> <li> <p>Tooltip verbs now derived from direction for accurate send/receive semantics in <code>SigilTreeNode</code></p> </li> </ul> <p><strong>File modified:</strong> <code>src/components/SigilExplorer/SigilExplorer.tsx</code></p> <hr> <h2>Testing &amp; Validation</h2> <h3>Manual / Integration Checks</h3> <ul> <li> <p>Started dev server successfully: <code>npm run dev</code></p> </li> <li> <p>Ran a Playwright-driven browser script to load <code>/verify</code> and capture a screenshot:</p> <ul> <li>script completed successfully and produced an artifact</li> </ul> </li> <li> <p>Validated in running preview:</p> <ul> <li>Verify UI correctly switches between <strong>BALANCE</strong> vs <strong>LIVE</strong></li> <li>Balance computations reflect embedded ledger debits when present</li> <li>Multi-generation flows preserve lineage + lock verification across generations</li> </ul> </li> </ul> <h3>Note</h3> <ul> <li>No unit test suite executed as part of this change set.</li> </ul> <hr> <h2>User-Visible Impact</h2> <h3>VerifyPage</h3> <ul> <li>Transfer/receive glyphs now show <strong>BALANCE</strong> when ledger debits exist</li> <li>Live valuation remains available as fallback (<strong>LIVE</strong>) when no ledger is embedded</li> <li>Valuation panel labeling is explicit: balance vs live</li> </ul> <h3>Sigil Explorer</h3> <ul> <li>Multi-generation derivatives no longer “snap” to origin root incorrectly</li> <li>Locks verify correctly across generations (no false “cannot verify receive lock”)</li> <li>Transfer labels and tooltip verbs match send/receive truth every time</li> </ul> <hr> <h2>Compatibility &amp; Risk</h2> <ul> <li> <p><strong>No schema migrations required</strong></p> </li> <li> <p>Changes are correctness-focused and scoped to:</p> <ul> <li>VerifyPage valuation source selection (ledger-aware)</li> <li>share payload enrichment (originUrl + parent token)</li> <li>explorer root detection</li> <li>remote lock verification fetch resilience</li> <li>UI labeling semantics</li> </ul> </li> <li> <p><strong>Risk is controlled</strong>: improvements reduce false failures and misclassification.</p> </li> </ul> <hr> <h2>Closing Seal</h2> <p><strong>v37.8.0 makes the system agree with itself.</strong><br> The verifier shows what the glyph actually contains.<br> Lineage propagates across generations without breaking tokens.<br> Receive locks verify reliably under real network behavior.<br> And the explorer speaks direction truth without fallback lies.</p> <p><strong>Kai Rex Klok — 37.8.0 ✅</strong></p> <h2>What's Changed</h2> <ul> <li>v37.8.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773965914" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/104" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/104/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/104">#104</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v37.5.1...v37.8.0"><tt>v37.5.1...v37.8.0</tt></a></p> Phinetwork tag:github.com,2008:Repository/1121444127/v37.5.1 2025-12-31T23:59:01Z v37.5.1 <h2>What's Changed</h2> <ul> <li>v37.3.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773715050" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/100" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/100/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/100">#100</a></li> <li>v37.3.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773753321" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/101" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/101/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/101">#101</a></li> <li>v37.4.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773766181" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/102" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/102/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/102">#102</a></li> <li>v37.5.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Phinetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Phinetwork">@Phinetwork</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3773914689" data-permission-text="Title is private" data-url="https://github.com/Phinetwork/PHI_NETWORK/issues/103" data-hovercard-type="pull_request" data-hovercard-url="/Phinetwork/PHI_NETWORK/pull/103/hovercard" href="https://github.com/Phinetwork/PHI_NETWORK/pull/103">#103</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Phinetwork/PHI_NETWORK/compare/v37.3.0...v37.5.1"><tt>v37.3.0...v37.5.1</tt></a></p> Phinetwork