This release brings full compatibility with Leptos 0.8 and significant improvements to the library's API, examples, and testing infrastructure.
β¨ New Features
- Full Leptos 0.8 Support: Updated to work seamlessly with the latest Leptos framework
- Enhanced Type Safety: Improved type checking and compile-time error detection
- Modern Rust Standards: Updated to use latest Rust idioms and patterns
π§ API Changes
- Query Hook Updates:
use_querynow expectsQueryKeyand a single async closure - Signal Access: Result fields like
is_loading,is_success,is_error,statusare nowSignals accessed via.get() - Callback Invocation:
refetchandmutateare nowCallbacks invoked with.run() - QueryKey Constructor: Updated to use
QueryKey::new(&[...])pattern
π§ͺ Testing & Examples
- Comprehensive Test Suite: All 28 tests now passing (12 core + 7 integration + 9 basic)
- Updated Examples: All examples updated to Leptos 0.8 and current API
- Working Benchmarks: Added performance benchmarks with criterion
- Integration Tests: Full integration test coverage for real-world usage patterns
π Documentation & Examples
- Updated Examples:
basic_usage,advanced_usage, andbasicexamples all working - API Documentation: Comprehensive coverage of all public APIs
- Migration Guide: Clear upgrade path from previous versions
π Performance Improvements
- Benchmark Suite: Added performance measurement for key operations
- Query Key Operations: ~150-300ns for key creation and pattern matching
- Client Operations: ~20-900ns for client creation and cache operations
- Serialization: ~70-170ns for JSON/bincode operations
π§ Technical Improvements
- Dependency Updates: Added
criterionandrandfor benchmarking - Code Quality: Resolved all compilation errors and warnings
- Modern Standards: Updated deprecated function usage
π¦ Breaking Changes
- Leptos 0.8 Required: This version requires Leptos 0.8 or higher
- API Updates: Several method signatures have changed for better type safety
- Signal Access: Result fields now require
.get()for access
π― Migration Guide
To upgrade from 0.2.x to 0.3.0:
- Update Leptos: Ensure you're using Leptos 0.8
- Update Query Calls: Change
use_queryto useQueryKey::new(&[...]) - Update Field Access: Add
.get()to access result fields - Update Callbacks: Change
.call()to.run()for refetch and mutate
π Bug Fixes
- Fixed
view!macro type compatibility issues - Resolved lifetime issues in examples
- Fixed module path issues for client functions
- Corrected API compatibility across all components
Full Changelog: v0.1.0...v0.3.0