CultLib/packages/cultnet-ts/CHANGELOG.md
Meta Vens 94f20eee5e
Some checks failed
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest one-command multiplayer onboarding (push) Has been cancelled
CultMesh portability and performance / windows-latest one-command multiplayer onboarding (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh portability and performance / windows-latest reactive semantics and leases (push) Has been cancelled
CultNet cross-runtime interop / C# / TypeScript / Rust / Python / Kotlin (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
cultnet-ts server: close() waits for the goodbyes to leave the socket; peer reaping is opt-in and TypeScript-only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 01:51:34 +01:00

1.8 KiB

Changelog

All notable changes to cultnet-ts are recorded here, following Keep a Changelog.

Unreleased

Added

  • CultNetRudpSocketTransportServer: one UDP socket serving many peers, each remote address and port with its own reliable session (peerConnected, frame, peerDisconnected events; send(peer, ...) answers on the peer a frame came from). A second client no longer replaces the first; Connects beyond maxPeers (default 256) are dropped, and close() resolves once every peer's goodbye has left the socket. The shape follows the Rust CultNetRudpServerHub and C# CultNetRudpSocketTransportServer, and the wire format is unchanged. The optional peerTimeoutMs (idle peers ended and told so; default off) exists only in TypeScript. CultNetRudpSocketTransportConnection in server mode still serves exactly one peer.

Breaking

  • CultMeshCdnChunkRef carries id (slot 4), the reference's element id. encodeManifest writes five-slot chunk references and packContent sets the decimal offset as the id, as the reference does; a manifest written before ids reads "" and is rewritten with the slot. Content vectors regenerated from the reference.

  • Needs the cultcache-ts release that ships with this change (its manifest range moves with that release): the Idunn runtime authority reader calls readSingleFileStore, which 0.14.x does not export. An absent authority file is now a plain Error without a code.

[0.3.0]

Added

  • cultnet-ts/content: the CultMesh CDN content plane. Manifest and chunk types, canonical manifest encode and decode, packContent, SHA-256 helpers, and the chunk and artifact record keys, with wire parity to the C# reference.

Changed

  • Depends on @gamecult/cultcache-ts ^0.14.1, which exports checkPayloadDepth.