v0.1.0
What's Changed
- docs: add PRD for BEAM hierarchical store runtime by @fahchen in #1
- chore: bootstrap project tooling by @fahchen in #2
- feat(m1): Arbor.Socket + assigns + attr macro (Track B) by @fahchen in #4
- docs: add AGENTS.md by @fahchen in #6
- feat(m1): typed_structor plugins + DSL macros (Track A) by @fahchen in #3
- docs: add Copilot review playbook and PR template by @fahchen in #7
- feat(m1): Page Runtime + hooks + Store Registry (Track C) by @fahchen in #5
- docs: rebrand stream_async as LV-parity; align spec with M1 implementation by @fahchen in #8
- feat(m2): render contract + resolver + validation (Tracks A+B combined) by @fahchen in #11
- feat(m3): command pipeline by @fahchen in #12
- feat(m4): replication, streams, transport adapter by @fahchen in #13
- feat(m5): async lifecycle by @fahchen in #14
- feat(m6): codegen + telemetry + channel + bench by @fahchen in #19
- feat(m6): example apps + persistence pattern guide by @fahchen in #17
- refactor(socket): encapsulate changed access via any_changed?/1 by @fahchen in #20
- refactor(store): rename to_state → render + Arbor.Store behaviour by @fahchen in #21
- feat(streams): tag every wire stream op with its owning store_id by @fahchen in #22
- feat(client): @arbor/client — pure-TS Arbor wire consumer by @fahchen in #23
- feat(react): @arbor/react — React adapter on top of @arbor/client by @fahchen in #24
- feat(examples): wire cart_page + chat_room examples end-to-end by @fahchen in #25
- feat(arbor_ts): emit @arbor/client augmentation + adopt generic store typing across packages + examples by @fahchen in #26
- fix: chrome-test bugs — auto socket.connect + stable empty stream + jason dep by @fahchen in #27
- feat(client): land connectStore contract and type-only codegen by @fahchen in #28
- feat(transport): add connection-scoped root stores by @fahchen in #31
- docs: prepare release documentation by @fahchen in #32
- feat(streams): explicit stream markers and async stream wire shape by @fahchen in #33
- feat(examples/chat_room): stream_async demo + client duplicate-mount fix by @fahchen in #34
- feat: child-targeted commands demo + per-example mix aliases by @fahchen in #35
- refactor: LV-style facade for Arbor.Store + assign_new/3 + update/3 rename by @fahchen in #36
- feat: Arbor.Testing harness, cold-VM fix, JS source-export packages by @fahchen in #37
- fix(reconciler): deep-tree leaf dirty detection + prune-safe reuse by @fahchen in #40
- perf(reconciler): check parent assign value equality before changed-key intersection by @fahchen in #43
- perf(page/server): skip Jsonpatch when wire root is structurally equal by @fahchen in #38
- perf(client): invalidate snapshotCache by op path instead of clearing by @fahchen in #39
- perf(resolver): stitch cached child wire_state into parent wire output by @fahchen in #41
- perf(resolver): skip root render/1 when root socket is unchanged by @fahchen in #42
- chore: rename Arbor → Musubi by @fahchen in #44
- ci: add publish workflow; drop ritual dev dep by @fahchen in #45
New Contributors
Full Changelog: https://github.com/fahchen/musubi/commits/v0.1.0