Releases: satoren/y_ex
Releases · satoren/y_ex
v0.10.5
v0.10.4
v0.10.3
What's Changed
- Run doc NIF calls in worker process for Yex API by @satoren in #223
- performance optimization for doc server by @satoren in #224
- perf: fast-path decode for v1 sync/awareness messages by @satoren in #225
Median
| Benchmark | v0.10.2 | v0.10.3 | Improvement |
|---|---|---|---|
| sync_step1 (empty server) | 3.96 μs | 2.50 μs | 1.58x |
| sync_step1 (array 100 cells) | 4.25 μs | 3.00 μs | 1.42x |
| sync_step1 (array 10_000 cells) | 56.67 μs | 40.33 μs | 1.41x |
| sync_update (array 100 cells) | 5.71 μs | 5.00 μs | 1.14x |
| query_awareness | 2.92 μs | 2.67 μs | 1.09x |
| awareness_update | 1.83 μs | 1.71 μs | 1.07x |
| sync_update (array 10_000 cells) | 325.63 μs | 315.54 μs | 1.03x |
Full Changelog: v0.10.2...v0.10.3
v0.10.2
v0.10.1
What's Changed
- add keys/1,values/1 to Yex.Map by @satoren in #202
- fix(shared_types): treat negative indices as offsets; cap delete_range to overlapping bounds by @satoren in #203
- refactor: optimize push/2 and push_and_get/2 by @satoren in #205
- add error handling tests for encode functions and protocol delegation by @satoren in #206
- feat: implement String.Chars protocol for Xml and Text type by @satoren in #208
- fix(deps): update rust crate yrs to 0.25.0 by @renovate[bot] in #211
Full Changelog: v0.10.0...v0.10.1
v0.10.0
What's Changed
-
New Features
- Added get/3 with default support and get_lazy/3 across Array, Map, XmlElement and XmlFragment.
- Introduced public type alias value() for consistent return semantics.
-
Breaking Changes
- Insertion/set helpers now return values directly on success and raise on failure instead of {:ok, ...} | :error.
- get/2 removed in favor of get/3.
-
Bug Fixes / Other
- Error messages converted to RuntimeError for missing worker/transaction cases.
- Project version bumped to 0.10.0; tests updated.
Full Changelog: v0.9.2...v0.10.0