dreamstack/CHANGELOG.md
enzotar 878e55b962 chore: add per-package versioning, changesets, and clean changelogs
- Add cliff.toml for git-cliff changelog generation (one-line entries,
  no commit body dumps, improve/refine prefixes mapped)
- Add @changesets/cli config and README in .changeset/
- Add release.sh script with per-package version bumps from changesets,
  changeset-driven per-crate changelog updates, and --all/--dry-run flags
- Switch all crates from workspace version to independent version = "0.1.0"
- Generate clean root CHANGELOG.md and per-crate CHANGELOGs with [0.1.0]
- Retag v1.0.0 → v0.1.0 to match actual crate versions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:12:54 -07:00

6.3 KiB

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

🚀 Features

  • V2 phase 1 — array access, timer, string interpolation
  • Step sequencer demo — reactive pads, playhead, BPM
  • V2 built-in functions — 90+ native functions
  • V2 module system — import/export with multi-file compilation
  • V2 codegen hardening — scoped local variables
  • Todo app demo — streamable, showcases v2 builtins
  • Bidirectional signal streaming sync
  • Peer mode relay + self-echo filtering for true bidirectional sync
  • Per-signal version counters for conflict resolution
  • Explicit signal output API for stream declarations
  • 4-app signal composition demo with explicit outputs
  • Chained signal composition — 3→1→final + mood mixing
  • Stream composition API — select, schema, relay filtering
  • Dependent types — refinement types, type aliases, type annotations
  • Dependent types review — cycle detection, precision, error quality
  • Component registry with styled variants, dreamstack add/convert CLI, and showcase
  • Container variant props, 11-component registry, rich dashboard
  • Each loop, dreamstack init, expanded registry
  • When/else conditional branching
  • Slot/children composition for components
  • Dev server improvements - recursive watching, auto-open browser
  • Dynamic lists (push/remove/pop) + TodoMVC demo
  • Component event callbacks + function prop forwarding
  • Upgrade init starter app to showcase all DreamStack features
  • Multi-page routing demo with 4 routes
  • Project Manager demo — comprehensive 4-page routed app
  • Multi-statement event handlers with semicolons
  • Streaming dashboard with imported components + live data
  • Comprehensive streaming improvements
  • HTTP /meta API, signal dedup, periodic auto-sync
  • Enhanced 14 registry components + component gallery
  • Expanded variant system — 30+ new CSS class mappings
  • *= /= operators + 6 new array methods
  • Snake game streaming via relay
  • Game-pong.ds + two compiler improvements
  • Keyboard input, Web Audio synthesis, and multiplayer demo
  • Pong spectator viewer + stream proxy reactivity fix
  • Beats viewer, score sounds, audio early-exit guards
  • Core language & stream improvements
  • Complete type system — HM unification, signal-aware types, effect scoping
  • Tetris — signal composition showcase with 6 reactive layers
  • Live signal debug panel for tetris
  • Full grid collision, freeze, and T-piece support (20 rows)
  • Complete tetris rewrite — flat grid, SRS rotation, ghost piece toggle
  • Add Waveshare P4 panel device integration with display streaming and touch input, alongside core streaming engine
  • Implement Panel IR emitter to generate JSON UI descriptions for LVGL panels.
  • Implement ds-screencast engine, panel preview, and Waveshare ESP-NOW communication.

🐛 Bug Fixes

  • Bidirectional streaming sync — phone→laptop now works
  • Add _streamDiff to push/pop/reverse built-ins
  • Streaming polish — bind diff, state snapshot, dead code cleanup
  • Signal composition — stream derived signals, fix identity check, correct relay routing
  • Use explicit /peer/counter channel for streaming-counter
  • Integer division + streaming restart
  • Component prop signal wrapping + import demo
  • When/else parentNode null guard for slot context + match parser boundaries + showcase demo
  • Match parser allows container bodies in arms
  • Merge duplicate click props + upgrade streaming examples
  • For-in parser token mismatch + enhanced step sequencer
  • Reactive component props + breakout improvements
  • Tetris collision detection — pieces now stack properly
  • Collision off-by-one — pieces now stack adjacently
  • Keyboard inputs now respect collision — soft drop and hard drop gated on blocked
  • Complete collision — checks both top row and bottom cell
  • Piece-type aware collision — only T-piece checks bottom cell
  • No-overlap rendering — hide foot cell for non-T pieces, render all 20 rows
  • I-piece now persists all 4 cells and renders at correct row

🔧 Refactoring

  • Type system second pass — deeper unification throughout
  • Complete collision system rewrite — decomposed sub-signals

📚 Documentation

  • Add STREAM_COMPOSITION.md — full API reference and protocol spec
  • Comprehensive documentation update

Performance

  • Streaming core improvements — batched diffs, RTT tracking, relay merging
  • Merge same-interval timers + breakout game + beats viewer

[0.1.0] - 2026-02-26

🚀 Features

  • Add DreamStack project vision and detailed implementation plan documentation.
  • DreamStack compiler foundation — Phase 0/1
  • TodoMVC example with full reactivity
  • Phase 2+3 — effects, streams, springs, search + dashboard
  • Phase 3+4 — Cassowary constraint solver + type system
  • Phase 5 — Live Playground with editor, preview, signal graph, console
  • Showcase — What DreamStack Does That Nothing Else Can
  • Dev server with file watching + poll-based HMR
  • Signal propagation benchmarks + dev server HMR fix
  • For-in list rendering + component system
  • Hash-based router + keyed list reconciliation
  • Two-way binding, form props, and async resources
  • Universal bitstream streaming — any input → any output
  • Physics language integration — scene container with Rapier2D WASM
  • ds-stream: RLE compression, input events, keyframe caching
  • demos: Sync protocol with Rust codec, add touch/gamepad support
  • compiler: Full bitstream integration across 7 pipeline stages
  • compiler: Complete bitstream integration — all 9 changes
  • examples: Add streaming .ds examples — compiler-native streaming
  • wasm: Add ds-stream-wasm crate — browser codec via WebAssembly
  • relay: Multi-source routing — /source/{name} and /stream/{name}
  • examples: Add streaming-physics.ds, mark all roadmap items complete
  • WebRTC transport — peer-to-peer data channels with auto-fallback
  • Production hardening — relay v1.0.0, receiver protocol completeness

📚 Documentation

  • Add implementation status, benchmarks, and React comparison to DREAMSTACK.md
  • Add router to DREAMSTACK.md features and comparison
  • Mark all integration spec changes as implemented, update test counts
  • Add Next Steps roadmap (Phases A-C) to integration spec
  • Add compiler-native streaming syntax to language reference
  • Add USE_CASES.md — vision, revenue paths, and demo roadmap