Recent changes to Fabric Core.
Pre-release focusing on wire parity, tooling, and release hygiene.
Protocol / core
- Message wire v2 — 208-byte header:
preimage(32 bytes) afterhash, beforesignature; public messages use all-zero preimage (exposed asnullin JS).FABRIC_MESSAGE_VERSION/VERSION_NUMBERbumped accordingly; max body size reduced to stay within 4096-byte frames. - Body hash —
hashfield remains double-SHA256 of body only; signing covers full header (signature zeroed) + body with BIP-340 tagFabric/Message(seedocs/C-JS-PARITY.md).
Security / privacy
- Peer logging — NOISE handshake: never log local private key material; public-key diagnostics and inbound session notices only when
settings.debugis true (seetypes/peer.js).types/key.js—encrypt()uses explicitcrypto.randomBytes(16)for IVs. P2P_PEER_GOSSIPrelay — Mitigates relay amplification: logical payload dedup (ignores per-hop re-signing),gossipHopTTL, per-origin relay budget, bounded wire-hash / payload caches (constants.jsGOSSIP_*,Peersettings.gossip).P2P_PEERING_OFFERrelay — Same mitigations for peering offers: logical payload dedup,peeringHopTTL, per-origin relay budget, bounded payload cache, FIFO-capped deduped candidate queue (constants.jsPEERING_OFFER_*,PEER_MAX_CANDIDATES_QUEUE,Peersettings.peering).- Operations / security docs — PRIVACY.md, AUDIT.md, SECURITY.md; docs/README.md index.
- Docs — DEVELOPERS.md production & release, core types table; README.md seed warning + doc table; QUICKSTART.md links to PRODUCTION/DEVELOPERS.
- Types — types/fabric.d.ts minimal entry typings for
package.json"types".
Tooling & docs
- Quality reports —
npm run report:qualitywritesreports/WARNINGS.md,reports/DEPRECATIONS.md,reports/SECURITY-AUDIT.md+npm-audit.json(seereports/README.md). - Production checklist —
docs/PRODUCTION-CHECKLIST.mdaligned with CI gates and audit posture; docs/PRODUCTION.md;npm run ci; GitHub Actions (install +npm run ci). - CI — Tests + coverage (
npm run report:coverage) run right afterbitcoindinstall, before Core Lightning setup, for faster failure feedback. - Handbook —
SUMMARY.mdguide links,check:book-links,docs/DOCUMENTATION-AUDIT.md; README Production blurb points to the checklist. - Package —
package.jsondescription clarified;review:tododisclosure email typo fixed.
Payments / documents
functions/publishedDocumentEnvelope.js— canonicalDocumentPublishenvelope, HTLC preimage, purchasecontentHash; teststests/publishedDocumentEnvelope.core.js.
Known / accepted
- npm audit — No critical findings; remaining high / low issues are transitive under honkit (docs/book toolchain). Tracked in
reports/SECURITY-AUDIT.md; clearing them likely requireshonkitupgrades ornpm audit fix --force(out of runtime dependency paths for@fabric/coreconsumers).
First pass at public playnet — initial release candidate for the v0.1.0 tag.
Notable
- Fabric CLI — terminal interaction.
- Core types: Actor, Channel, Message, Peer, Service.
Initial changelog file.