Releases: streamich/json-joy
v10.0 - JSON CRDT 🎉 ready to rock-n-roll
In this major release we are happy to announce that json-joy
JSON CRDT implementation is now complete. It is now ready to be tested in real-world production environments. See the Getting started guide here.
As part of this we have also published the JSON CRDT and JSON CRDT Patch specifications, which define in detail how a JSON-like conflict-free replicated data type can be constructed, how to construct the change patches, and how to serialize all of that. These specifications will let you understand in detail how it works, but also can be used to implement JSON CRDT in other languages.
Why use json-joy
JSON CRDT implementation? See this
What's Changed
- chore(deps): update dependency nodemon to v3 by @renovate in #395
- chore(deps): lock file maintenance by @renovate in #397
- JSON CRDT side-car metadata codec by @streamich in #402
- JSON CRDT binary codec improvements 2 by @streamich in #405
- CRDT model codec benchmarks by @streamich in #408
- CRDT codec size benchmarks by @streamich in #411
- Concurrent editing traces by @streamich in #412
- Use
json-crdt-traces
package by @streamich in #414 - JSON CRDT event improvements by @streamich in #415
- JSON CRDT model reset improvements by @streamich in #418
- JSON Expression improvements by @streamich in #421
- Update CRDT editing traces by @streamich in #422
Full Changelog: v9.9.1...v10.0.0
v9.9
What's Changed
- JSON CRDT refactor class names by @streamich in #369
- JSON CRDT Patch prevent
new_val
recursion by @streamich in #370 - JSON CRDT .toString(), and equal object identity by @streamich in #371
Full Changelog: v9.8.0...v9.9.0
v9.8
What's Changed
- Address JSON CRDT todos by @streamich in #362
- JSON CRDT refactor and automated docs by @streamich in #363
- CRDT convenience types, schemas, and demos by @streamich in #364
Full Changelog: v9.7.0...v9.8.0
v9.7
What's Changed
- CLI improvements by @streamich in #350
- CRDT Typing by @streamich in #353
- JSON CRDT Event System & Strict Typing by @streamich in #358
- CRDT advanced testing by @streamich in #361
Full Changelog: v9.6.0...v9.7.0
v9.6
What's Changed
- JSON CRDT Patch improvements by @streamich in #313
- JSON CRDT Patch Improvements by @streamich in #314
- JSON CRDT model improvements by @streamich in #315
- JSON CRDT codecs by @streamich in #316
- JSON CRDT API by @streamich in #317
- BSON encoder by @streamich in #318
- Operational Transformation algorithms by @streamich in #319
- Improvements 2 by @streamich in #320
- Benchmarks by @streamich in #321
- JSON Expression (Arithmetic Operators) by @streamich in #331
- Common JSON Expression Operators - 2 by @streamich in #332
- JSON Expression - Array Operators by @streamich in #336
- JSON Type CLI by @streamich in #347
Full Changelog: v9.5.0...v9.6.0
v9.5 - JSON CRDT Patch
Main highlight of this release is implementation of JSON CRDT Patch specification, including all three ("json", "compact", and "binary") serialization codecs.
What's Changed
- JSON CRDT Patch codecs by @streamich in #309
- JSON CRDT Patch JSDocs and Benchmarks by @streamich in #310
- Update typedocs by @streamich in #311
- JSON CRDT Patch demos by @streamich in #312
- CRDT Patch compact binary codec, clock table, fuzz testing & other tweaks by @streamich #304
- JSON CRDT Patch binary codec by @streamich #299
- JSON CRDT Patch compact codec by @streamich #297
- CRDT binary codec helpers by @streamich #296
Full Changelog: v9.3.0...v9.5.0
CRDT fuzz testing and JSON codec improvements
What's Changed
Major fuzz testing improvements for json-joy
RGA CRDT:
- Fuzzing 1: two user RGA CRDT fuzz testing by @streamich in #280, #279, and #276
- Fuzzing 2: multiuser RGA CRDT fuzz testing by @streamich in #289
- Fuzzing 3: full JSON CRDT fuzz testing by @streamich in #293
Progress towards full-JSON CRDT:
- JSON CRDT Patch setup by @streamich in #287
- Array RGA by @streamich in #288
JSON serialization improvements:
- Helper utilities, which will be used in JSON CRDT serialization by @streamich in #296
json-pack
faster JSON number decoding by @streamich in #290- ubjson fixes by @streamich in #291
Full Changelog: v9.2.0...v9.3.0
JSON codec optimizations
This release includes speed improvements to MessagePack, CBOR, JSON, UBJSON, and Amazon Ion codecs.
v9.0.0
The v9 release is out! Main highlights:
- Big improvements to
json-pack
.- MessagePack codec was improved.
- CBOR codec added.
- JSON codec added.
- UBJSON codec added.
- Implementation of Amazon Ion codec started.
- Major update to
json-type
.- Improvements in TypeScript type inference.
- JIT codegen for:
- Validator
- JSON serializer
- Binary serializers: CBOR, JSON, MessagePack
- Major update for Reactive-RPC
- Improved binary format
- Integration with
json-type
Benchmarks and license change
This patch release adds benchmarks, which are used in List CRDT Benchmarks post.
It also switches the license to Apache 2.0.