- 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>
132 lines
6.3 KiB
Markdown
132 lines
6.3 KiB
Markdown
# 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
|
|
|
|
<!-- generated by git-cliff -->
|