Skip to content

Releases: tractat-us/kuilt

v0.6.0

19 Jun 03:26
cd22de8

Choose a tag to compare

What's Changed

  • feat(examples): add :examples module with tic-tac-toe and chat by @keddie in #478
  • docs: update README coordinates to 0.5.0 by @github-actions[bot] in #472
  • examples: tic-tac-toe + chat integration over real raft and SeamReplicator by @keddie in #481
  • feat(raft): leader-forwarding for propose() + two-player tic-tac-toe example by @keddie in #486
  • docs: design spec — RaftNode.propose leader-forwarding by @keddie in #482
  • docs: design spec + plan — kuilt-raft exactly-once forwarded proposals by @keddie in #487
  • feat(kuilt-raft): exactly-once forwarded proposals (client-serial dedup, §8) by @keddie in #493
  • docs: design spec + plan — server-cluster topology (epic #485) by @keddie in #497
  • docs: convert G4 CRDT map snippets to source includes by @keddie in #499
  • docs: convert G5 CRDT composite/ephemeral snippets to source includes by @keddie in #503
  • docs: convert G1 CRDT snippets to source includes by @keddie in #501
  • docs: convert G3 CRDT register snippets to source includes by @keddie in #500
  • docs: convert G2 CRDT set snippets to source includes by @keddie in #504
  • docs: formalize server-cluster topology vocabulary (epic #485) by @keddie in #506
  • docs: pull snippets from source via Writerside include (spike on gcounter) by @keddie in #498
  • feat(session): ServerClusterReconnect helper — S1a of server-cluster topology (#485) by @keddie in #514
  • examples: PNCounter pilot + SeamReplicator convenience API by @keddie in #491
  • test(examples): S1b relay-room integration — RaftNode over KtorRoomHost by @keddie in #521
  • feat(crdt)!: split :kuilt-crdt (dependency-free) + :kuilt-quilter; rename SeamReplicator→Quilter by @keddie in #522
  • docs: how to set up multi-node / consensus virtual-time tests by @keddie in #526
  • publish MultiNodeRaftSim in :kuilt-raft-test, S1c-0 of epic #485 by @keddie in #527
  • M=3 leader-change + entry-server-kill, no double-apply (done-when), epic #485 by @keddie in #530
  • M=1 exactly-once done-when, epic #485 by @keddie in #529
  • test(examples): strengthen M=3 done-when — prove duplicate is actually committed by @keddie in #533
  • docs: reframe library around three axes; add getting-started tutorial by @keddie in #473
  • docs: sync CLAUDE.md module table after #522 kuilt-crdt/quilter split by @keddie in #536
  • test(examples): real-transport failover — ResumeToken degrades to fresh-join on entry-server change (O4) by @keddie in #537
  • fix(core): make CompositeSeam ply announces close-safe (#535) by @keddie in #538
  • feat: :kuilt-cluster scaffold + ClusterClient API + tier-(a) tests (S3a) by @keddie in #539
  • feat: ManagedRaftTransport + wire CoroutineScope.clusterClient (S3b-1, #513) by @keddie in #540
  • feat(cluster): S3b-2 — ServerCluster facade + M=3 voter mesh by @keddie in #541
  • feat(cluster): S3b-3 — real-socket E2E for ServerCluster + ClusterClient by @keddie in #543
  • docs: server-cluster topology — architecture + usage + guide by @keddie in #546
  • docs: diagnosing the UncaughtExceptionsBeforeTest leak class (#535) by @keddie in #547
  • feat(websocket): injectable selfPeerId on KtorClientLoom (#544) by @keddie in #548
  • feat(websocket): injectable selfPeerId on KtorClientLoom (#544) by @keddie in #549
  • feat(cluster): production-path clusterClient over real sockets (#544) by @keddie in #550
  • fix(core): CompositeSeam send paths tolerate a ply tearing mid-send (#542) by @keddie in #551
  • feat(core)!: rename Conn → Connection (no abbreviations) by @keddie in #552
  • fix(cluster): route learner→leader in LearnerRouter — M=3 real-socket E2E (#545) by @keddie in #553
  • fix(core): register a ply in live before launching its pumps (#554) by @keddie in #555
  • fix(cluster): ManagedRaftTransport addresses its single relay peer (#544) by @keddie in #556
  • feat(cluster): multi-relay ServerCluster + real-socket cross-relay failover E2E (#544) by @keddie in #557
  • docs(cluster): S2a sub-spec — per-server star relay (#511) by @keddie in #558
  • docs: convert backtick-blocked snippets via camelCase sample aliases by @keddie in #534
  • test(cluster): N-client hardening E2E — leader transfer + relay kill + no-double-apply by @keddie in #560
  • fix(cluster): retry changeMembership on concurrent admission race by @keddie in #562
  • test(core): close() CompositeSeam in composite tests by @keddie in #564
  • docs(kuilt-raft): dedup GC v2 sub-spec — supersession prune by @keddie in #566
  • docs(kuilt-game): one-call gameNode bootstrap — design sub-spec by @keddie in #567
  • feat(kuilt-raft): dedup GC v2 — supersession prune + closeSession by @keddie in #568
  • docs(kuilt-game): resolve gameNode bootstrap-enumeration (#480) by @keddie in #569
  • docs(kuilt-game): gameNode bootstrap implementation plan (#480) by @keddie in #573
  • test(kuilt-raft): wire closeSession() end-to-end on committed close op (#570) by @keddie in #572
  • test(kuilt-game): Seam-based virtual-time bootstrap harness (#480) by @keddie in #574
  • feat(kuilt-game): gameNode(seam, voterIds) roster-given bootstrap (#480) by @keddie in #575
  • feat(kuilt-game): gameHost/gameJoin appoint-the-host bootstrap (#480) by @keddie in #576
  • test(kuilt-game): latecomer admission after first commit (#480) by @keddie in #577
  • feat(kuilt-game): EphemeralMap host-declaration presence layer (#480) by @keddie in #578
  • feat(kuilt-game): fail fast on duplicate gameHost (#480) by @keddie in #579
  • feat(kuilt-game): gameNode samples, incoming-guard + virtual-time test hygiene (#480) by @keddie in #581
  • docs(kuilt-raft): decision — no index-horizon idle TTL valve (#571) by @keddie in #582
  • feat(kuilt-game): bounded presence-convergence wait for duplicate-host check (#580) by @keddie in #583
  • feat(kuilt-game): deterministic lowest-NodeId host arbitration (#584) by @keddie in #585
  • feat(kuilt-game): gameHost return-at-quorum mode (#586) by @keddie in #588
  • docs(testing): advanceTimeBy over an always-on timer is O(span/interval) work by @keddie in #591
  • feat(kuilt-core): NamedMux — string-keyed multiplexer over a Seam (#589) by @keddie in #590
  • feat(kuilt-game): GameSession return type with named app channels (#589) by @keddie in #592
  • docs: add :kuilt-cluster to the module table by @keddie in #595
  • docs: refresh module table — game bootstrap API, Conn→Connection by @keddie in #596
  • docs(kuilt-raft,kuilt-cluster): currency pass for dedup-GC/closeSession + cluster surface by @keddie in #597
  • docs(writerside): consistency pass — module table + NamedMux + game bootstrap by @keddie in #601
  • docs(kuilt-game): bootstrap API doc completeness + samples by @keddie in #598
  • docs(guide): note kuilt-stream/kuilt-tcp in fabric-kit by @keddie in #605
  • docs(guide): kuilt-game bootstrap topic by @keddie in #606
  • docs(kuilt-core): NamedMux + multiplexing surface + freshness pass by @keddie in #599
  • feat(kuilt-game): gameJoin fails loud with RosterFullException when roster is full (#587) by @keddie in #602
  • refactor(...
Read more

v0.5.0

15 Jun 03:19
21ba56f

Choose a tag to compare

What's Changed

  • feat(publish): create GitHub Release on tag push by @keddie in #435
  • fix(kuilt-websocket): scrub internal project references from KtorRoomHost KDoc by @keddie in #438
  • fix(kuilt-websocket): remove application-specific defaults from KtorRoomHost by @keddie in #442
  • fix(kuilt-mdns): require callers to supply service type by @keddie in #441
  • fix(kuilt-multipeer): require callers to supply MC service type, remove hardcoded default by @keddie in #443
  • fix(kuilt-multipeer): rename dylib and cdecl symbols from fireworks_mc to kuilt by @keddie in #444
  • fix(kuilt-mdns): replace fireworks-* test fixture names with kuilt-* by @keddie in #445
  • fix(kuilt-webrtc): public-API hygiene — remove app vocabulary, inject RNG, scrub internal refs by @keddie in #463
  • docs(kuilt-raft,kuilt-core): scrub internal PR-stack labels and spec paths from shipped KDoc by @keddie in #462
  • fix(kuilt-mdns): generic txtExtensions, MDNSServiceType normalization, DI-agnostic KDoc by @keddie in #464
  • fix(kuilt-session): require room-factory clock, surface accept-loop errors, align WindowOpened to Instant by @keddie in #465
  • docs: note stale ci-required draft-run gotcha in merge polling by @keddie in #468
  • docs(kuilt-raft): correct changeMembership KDoc — voter-set changes ARE supported via joint consensus by @keddie in #467
  • fix: use 0.4.0-dev.<run_number> for dev build versions by @keddie in #469
  • fix: bump version line to 0.5 by @keddie in #470

Full Changelog: v0.4.0...v0.5.0

v0.5.0-rc1

15 Jun 03:05
21ba56f

Choose a tag to compare

v0.5.0-rc1 Pre-release
Pre-release

What's Changed

Misc. release prep

v0.4.0

15 Jun 01:09
138466e

Choose a tag to compare

v0.4.0 Pre-release
Pre-release

Pre-release. Do not use.