0.2.0 (2026-04-22)
Breaking Changes
- Declarative assigns API: Removed
stash_assigns/2in favor ofstash/1. Assigns that should be persisted must now be declared in theusemacro options in #75 - TTL unit update: Changed TTL configuration to use seconds, which may require updating existing TTL values to preserve previous behavior in #80
Core Architecture & Features
- Context attributes validation: Added validation for context attributes to improve API correctness and fail fast on invalid input in #82
Documentation & Maintenance
- README cleanup: Removed redundant examples and streamlined documentation to keep the guides focused and easier to follow in #86
- README refresh: Updated README content to reflect the latest API and usage patterns in #79
0.1.2 (2026-04-08)
Core Architecture & Features
- PID Check for Updates: Added process ID verification when updating state to improve consistency in #74
- Default Adapter Update: Changed the default storage adapter to ETS for better out-of-the-box performance in #73
Bug Fixes
- Browser Adapter TTL: Fixed Time-To-Live (TTL) behavior issues specifically in the browser adapter in #72
- State Recovery Cleanup: Improved recovery logic to automatically clear corrupted or "bad" states in #62
Documentation & Maintenance
- README Refactor: Streamlined the main README by removing redundant examples in #76
- Debug Log Removal: Removed unnecessary debug logs to keep the production output clean in #64
0.1.1 (2026-04-02)
Internal Changes & Dependencies
- Dependency Migration: Replace
elixir_uuidwithuniqfor improved UUID generation in #57.
Documentation
- Macro Documentation: Documented the
__using__/1macro for better developer experience in #61. - README Fixes: Corrected source references and links within the README in #59.
- Documentation Update: General improvements and updates to the library documentation in #60.
0.1.0 (2026-03-31)
Core Architecture & Features
- Pluggable adapter architecture: Re-designed the core to support flexible storage and transport layers in #39.
- State recovery in server mode: Implemented synchronization from other nodes for high availability in #25.
- Security & Encryption: Added optional data signing and encryption with salt support in #22.
- API Simplification: Major refactor to streamline the developer interface in #30.
- Node discovery hints: Added support for node hints to improve state location in #28.
- Server-side UUIDs: Added automatic UUID generation for server-mode instances in #33.
- Browser memory management: Improved state isolation by resetting browser memory during initialization in #44.
Documentation & Examples
- Enhanced Documentation: Comprehensive update of README and technical docs in #35, #49.
- New Architecture Guide: Updated documentation to reflect the pluggable adapter system in #45.
- Tic-Tac-Toe Example: Added a side-by-side demo showcasing real-time synchronization in #50.
- Authentication Example: Added a guide for integrating user authentication in #27.
- Visual Guide: Added a demonstration video to the repository in #52.
Testing & CI/CD
- End-to-End Testing: Introduced a suite of E2E tests for system validation in #48.
- Unit Testing: Created comprehensive unit tests for both client and server versions in #37.
- Test Infrastructure: Improved state finder tests and fixed timing-related issues in #46, #51.
- Automation: Added GitHub Actions for testing and automated release workflows in #26, #43.