json-joy

JSON CRDT, JSON CRDT Patch, JSON Patch+, JSON Predicate, JSON Pointer, JSON Expression, JSON Type

APACHE-2.0 License

Downloads
410.7K
Stars
644
Committers
4

Bot releases are hidden (Show)

json-joy - v11.2.0

Published by streamich 11 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v11.1.0...v11.2.0

json-joy - v11.1.0

Published by streamich 11 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v11.0.0...v11.1.0

json-joy - v11.0.0

Published by streamich 11 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v10.0.0...v11.0.0

json-joy - v10.0 - JSON CRDT 🎉 ready to rock-n-roll

Published by streamich 11 months ago

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

Full Changelog: https://github.com/streamich/json-joy/compare/v9.9.1...v10.0.0

json-joy - v9.9

Published by streamich 12 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v9.8.0...v9.9.0

json-joy - v9.8

Published by streamich 12 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v9.7.0...v9.8.0

json-joy - v9.7

Published by streamich 12 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v9.6.0...v9.7.0

json-joy - v9.6

Published by streamich 12 months ago

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v9.5.0...v9.6.0

json-joy - v9.5 - JSON CRDT Patch

Published by streamich about 1 year ago

Main highlight of this release is implementation of JSON CRDT Patch specification, including all three ("json", "compact", and "binary") serialization codecs.

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v9.3.0...v9.5.0

json-joy - CRDT fuzz testing and JSON codec improvements

Published by streamich over 1 year ago

What's Changed

Major fuzz testing improvements for json-joy RGA CRDT:

Progress towards full-JSON CRDT:

JSON serialization improvements:

Full Changelog: https://github.com/streamich/json-joy/compare/v9.2.0...v9.3.0

json-joy - JSON codec optimizations

Published by streamich over 1 year ago

This release includes speed improvements to MessagePack, CBOR, JSON, UBJSON, and Amazon Ion codecs.

json-joy - v9.0.0

Published by streamich over 1 year ago

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
json-joy - Benchmarks and license change

Published by streamich over 1 year ago

This patch release adds benchmarks, which are used in List CRDT Benchmarks post.

It also switches the license to Apache 2.0.

json-joy - v8.0.0

Published by streamich over 1 year ago

v8.0.0 is out now! The major feature of this release is the implementation of very performant RGA algorithm that will serve as the base on which JSON CRDT will build on.

See blogposts about the RGA algorithm:

What's Changed

Full Changelog: https://github.com/streamich/json-joy/compare/v7.15.0...v8.0.0

json-joy - v7.15.0

Published by streamich over 2 years ago

7.15.0 (2022-04-21)

Bug Fixes

  • json-ot: 🐛 fix another compose() bug (8a80e77)
  • json-ot: 🐛 make compose() function pass fuzzer tests (9559e60)
  • json-ot: 🐛 make compose() hand-crafted tests pass (b0b6a95)

Features

  • 🎸 minor edits to block interface (2caa82c)
  • json-ot: 🎸 add append method (fd3a16f)
  • json-ot: 🎸 add apply() method (84053b0)
  • json-ot: 🎸 add normalize() method (0c6b024)
  • json-ot: 🎸 add string type transform() function (4ec0aae)
  • json-ot: 🎸 add StringType validate method (2bb6f6d)
  • json-ot: 🎸 implement compose function (9cbc704)
json-joy - v7.14.0

Published by streamich over 2 years ago

7.14.0 (2022-04-19)

Bug Fixes

  • json-crdt: 🐛 use this.model after it is defined (7076cfe)

Features

  • json-crdt: 🎸 add JSON Patch+ str_del operation support (9b6112d)
  • json-crdt: 🎸 add str_ins JSON Patch+ operation support (858ae48)
  • json-crdt: 🎸 improve JSON Patch interfac (8718818)
  • json-crdt: 🎸 throw on uknown op (919196b)
json-joy - v7.13.0

Published by streamich over 2 years ago

7.13.0 (2022-04-19)

Features

  • json-pack: 🎸 implement EncoderStable, which serializes objects predictably (a21a936), closes #134
json-joy - v7.12.0

Published by streamich over 2 years ago

7.12.0 (2022-04-19)

Features

  • json-crdt: 🎸 add straight to view binary parser (d80fa46)

Performance Improvements

  • json-crdt: ⚡️ update CRDT serialization benchmarks (7ea9b0f)
json-joy - v7.11.0

Published by streamich over 2 years ago

7.11.0 (2022-04-19)

Features

  • 🎸 start adding JSON block interfaces (29e4114)
  • json-clone: 🎸 improve typing of cloning methods (ac76b77)
  • json-crdt: 🎸 add object key compression (d8236fa)
  • json-crdt: 🎸 compress repeating string chunks (8f57068)
  • json-crdt: 🎸 use literal compression for value type (9efbd48)

Performance Improvements

  • ⚡️ add compression benchmark (1fc58f3)
  • ⚡️ update compression benchmark (dae4228)
  • json-crdt: ⚡️ add caching for string and binary type .toJson() methods (56113d3)
  • json-crdt: ⚡️ add caching to object type (c628fbf)
  • json-crdt: ⚡️ add Y.js to codec benchmarks (4462099)
  • json-crdt: ⚡️ cache object type .toJson() output (4ac009a)
  • json-crdt: ⚡️ update CRDT serialization benchmark (e10e6ea)
json-joy - v7.10.0

Published by streamich over 2 years ago

7.10.0 (2022-04-15)

Features

  • json-binary: 🎸 add support for all MessagePack encoder values (31e8728)
  • json-binary: 🎸 add support for JsonPackValue instances (4a108cd)
  • json-cli: 🎸 support binary data in json-pack and json-unpack (085297a)
  • util: 🎸 handle invalid Base64 strings when decoding (52615b4)