|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the LocalStorage Driver for ObjectQL will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.1.0] - 2026-01-15 |
| 9 | + |
| 10 | +### Added |
| 11 | +- Initial release of LocalStorage Driver |
| 12 | +- Full implementation of ObjectQL Driver interface |
| 13 | +- Browser localStorage persistence |
| 14 | +- Automatic JSON serialization/deserialization |
| 15 | +- Namespace support to avoid key conflicts |
| 16 | +- Storage quota error handling |
| 17 | +- Complete query support (filters, sorting, pagination) |
| 18 | +- Bulk operations (createMany, updateMany, deleteMany) |
| 19 | +- Distinct value queries |
| 20 | +- Initial data loading |
| 21 | +- Strict mode for error handling |
| 22 | +- Comprehensive test suite (31 tests) |
| 23 | +- Full documentation and README |
| 24 | +- Support for all ObjectQL query operators: |
| 25 | + - Comparison: =, !=, >, >=, <, <= |
| 26 | + - Set: in, nin |
| 27 | + - String: contains, startswith, endswith |
| 28 | + - Range: between |
| 29 | + - Logical: and, or |
| 30 | +- Utility methods (clear, getSize) |
| 31 | +- Custom storage support for testing |
| 32 | +- TypeScript type definitions |
| 33 | + |
| 34 | +### Features |
| 35 | +- ✅ Production-ready for browser-based applications |
| 36 | +- ✅ Data persists across page refreshes |
| 37 | +- ✅ Works in all modern browsers |
| 38 | +- ✅ Namespace isolation for multi-app scenarios |
| 39 | +- ✅ Graceful quota exceeded handling |
| 40 | +- ✅ Zero external dependencies |
| 41 | + |
| 42 | +### Use Cases |
| 43 | +- Progressive Web Apps (PWAs) |
| 44 | +- Client-side web applications |
| 45 | +- Browser extensions |
| 46 | +- User preference storage |
| 47 | +- Offline-first applications |
| 48 | +- Prototyping without backend |
| 49 | + |
| 50 | +### Performance |
| 51 | +- Create: O(1) |
| 52 | +- Read by ID: O(1) |
| 53 | +- Update: O(1) |
| 54 | +- Delete: O(1) |
| 55 | +- Find/Query: O(n) |
| 56 | +- Count: O(n) |
| 57 | +- Sort: O(n log n) |
| 58 | + |
| 59 | +### Storage |
| 60 | +- Key format: `{namespace}:{objectName}:{id}` |
| 61 | +- Default namespace: `objectql` |
| 62 | +- Typical browser limit: 5-10MB per origin |
| 63 | +- Automatic JSON serialization |
| 64 | + |
| 65 | +### Documentation |
| 66 | +- Comprehensive README with examples |
| 67 | +- API reference |
| 68 | +- Configuration guide |
| 69 | +- Storage management guide |
| 70 | +- Browser compatibility information |
| 71 | +- Migration guide |
| 72 | +- Best practices |
| 73 | +- Troubleshooting section |
| 74 | + |
| 75 | +[0.1.0]: https://github.com/objectstack-ai/objectql/releases/tag/%40objectql/driver-localstorage%400.1.0 |
0 commit comments