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 - v2.10.0

Published by streamich over 3 years ago

2.10.0 (2021-05-06)

Features

  • 🎸 implement JSON-Rx server part with plain JS objects (c765d95)
json-joy - v2.9.1

Published by streamich over 3 years ago

2.9.1 (2021-05-02)

Bug Fixes

  • 🐛 create data view at offset in MessagePack decoder (2887f26)
  • 🐛 use byteOffset when creating DataView (518001d)
json-joy - v2.9.0

Published by streamich over 3 years ago

2.9.0 (2021-04-17)

Bug Fixes

  • 🐛 clone array chunk nodes (efe4cdf)
  • 🐛 correctly check server timestmap equality (f38a53c)
  • 🐛 correctly encode 8 byte b1vuint56 numbers (e01acdc)
  • 🐛 correctly encode UTF-8 strings (0ac0a1d)
  • 🐛 correctly execute JSON Patch "move" (04f168c)
  • 🐛 do not return undefined keys in view (efb8f32)
  • 🐛 handle empty strings in cached key decoder (66008b2)
  • 🐛 throw correctly when time is skipped (f965bf9)

Features

  • 🎸 add array decoding (226c3ec)
  • 🎸 add array fuzzing (531882e)
  • 🎸 add b1vuint28 decoder (61c05ca)
  • 🎸 add b1vuint56 decoder (9a69c4a)
  • 🎸 add binary encoding for compound objects (c04bed6)
  • 🎸 add clock decoder (ba25f35)
  • 🎸 add clock encoding (0c6085a)
  • 🎸 add clock table encoding (15b7e40)
  • 🎸 add encoding for constant type (3aab177)
  • 🎸 add encoding for relative IDs (d9980a5)
  • 🎸 add id decoder (a920d8b)
  • 🎸 add json nominal encoding for server time (7476077)
  • 🎸 add length() method (b63fd9a)
  • 🎸 add node index implementation for server clock (df90865)
  • 🎸 add object decoding (3264b34)
  • 🎸 add random JSON generator (1e07efc)
  • 🎸 add server time codec for binary compact encoding (c0fc622)
  • 🎸 add server time codec to snapshot compact codec (93d1079)
  • 🎸 add string decoding (e1204e4)
  • 🎸 add value node encoding (63dcbd0)
  • 🎸 add value node fuzzing (26c7a9d)
  • 🎸 add vuint39 decoder (0982366)
  • 🎸 add vuint57 decoder (2a16681)
  • 🎸 create models through static methods (fecef74)
  • 🎸 do not allow time travel (5c2e1ec)
  • 🎸 generate 53 bit session IDs (d3e3241)
  • 🎸 implement binary codec for model with server time (f0ba189)
  • 🎸 implement binary decoder (e246f1a)
  • 🎸 implement JSON Patch translator to CRDT operations (82d3219)
  • 🎸 improve logical vector clock (ba50714)
  • 🎸 improve random generator (e3621de)
  • 🎸 improve vector clock encoding (42ad785)

Performance Improvements

  • ⚡️ dont index constant type symbols (25a379c)
json-joy - v2.8.0

Published by streamich over 3 years ago

2.8.0 (2021-04-11)

Bug Fixes

  • 🐛 correctly encode negative fixint in v2 encoder (43ad76f)
  • 🐛 do not overwrite previous buffer (86b4a1d)
  • 🐛 fixes for v2 encoder (cb5cae0)
  • 🐛 index decoded nodes from nominal JSON encoding (2b63792)

Features

  • 🎸 add "val_set" operatin (037484b)
  • 🎸 add constants to binary encoding (14108f3)
  • 🎸 add JSON Compact to MessagePack encoding (354d904)
  • 🎸 add json-pack CLI (f0e4fd4)
  • 🎸 add json-pack-test CLI utility (029923e)
  • 🎸 add json-unpack CLI (149b278)
  • 🎸 add nominal json encoder (f17efff)
  • 🎸 add nominal structural JSON encoding types (3c55ef0)
  • 🎸 add number encodings (6f0ab7a)
  • 🎸 add structural JSON encoder (0f53fbe)
  • 🎸 add value "val" type (2c0ca2f)
  • 🎸 add value operation encoding to compact encoding (810481a)
  • 🎸 add value type operations to nominal JSON encoding (88ff979)
  • 🎸 add value type support to document (badaf65)
  • 🎸 add variable length integer encoding methods (a3ee324)
  • 🎸 implement nominal JSON decoder (0d9bd73)
  • 🎸 implemet compact JSON CRDT decoder (267de02)
  • 🎸 improve clock encoding (1287c53)
  • 🎸 modularize v4 encoder and create msgpack encoder interf (02da6a8)

Performance Improvements

  • ⚡️ add Binary-Rx benchmarks (c8ea340)
  • ⚡️ improve performace of Binary-Rx encoder (5d04aa5)
  • ⚡️ keep references directly to nodes (56c94cd)
  • ⚡️ update json-pack benchmarks (4a9baf8)
json-joy - v2.7.0

Published by streamich over 3 years ago

2.7.0 (2021-04-05)

Bug Fixes

  • 🐛 adjust binary encoding for new root and obj_set ops (0d16120)
  • 🐛 allow decoding more than one object key (e00184e)
  • 🐛 correctly encode 8 byte negative integers (aed9ce3)
  • 🐛 correctly merge array operations (693c88c)
  • 🐛 do not apply already applied operations (ca90c7a)
  • 🐛 do not insert empty list elements in json builder (0aa799f)
  • 🐛 do not merge new chunk with a deleted chunk (f511d1b)
  • 🐛 fix array and string decoding (3ab65fd)
  • 🐛 fix doc forking and clock table building (a15f374)

Features

  • 🎸 add "arr" field for "arr_ins" in compact encoding (986456c)
  • 🎸 add "arr" field to "arr_ins" for binary codec (e433536)
  • 🎸 add "arr" field to arr_ins operation (d55d5eb)
  • 🎸 add "noop" operation binary encoding (7183fe3)
  • 🎸 add "noop" operation encoding to compact JSON codec (1ab6045)
  • 🎸 add ability to clone a document (2776e38)
  • 🎸 add ability to find array value by index (0ca5e1e)
  • 🎸 add ability to fork a document (8917e89)
  • 🎸 add all string encodings (94e8c1b)
  • 🎸 add array decoding (39765c8)
  • 🎸 add array encoding (a6feb74)
  • 🎸 add array encoding (2bb9394)
  • 🎸 add array insert operation binary encoding (1a1af91)
  • 🎸 add array type (a029f38)
  • 🎸 add basic object insertions (618462d)
  • 🎸 add benchmarking (2199b72)
  • 🎸 add binary decoding for delete operations (dd168b6)
  • 🎸 add binary encoding for deletion operation (55bb035)
  • 🎸 add binary number decoding (dd39399)
  • 🎸 add binary string decodgin (87e2118)
  • 🎸 add binary string encoding (9cfdd35)
  • 🎸 add Binary-Rx header encoding (251ba88)
  • 🎸 add Binary-Rx message decoding (0edeb3f)
  • 🎸 add binary-rx message types (df0bb6e)
  • 🎸 add Binary-Rx specification (30dd435)
  • 🎸 add classes for JSON CRDT Patch patch and patch builder (547c642)
  • 🎸 add codec for negative integers (afe35f8)
  • 🎸 add constant JSON value type (78b6657)
  • 🎸 add constant type to compact operation encoding (6ff3459)
  • 🎸 add decodeVarUint() function (584e5f6)
  • 🎸 add decoding for arraay (83f4655)
  • 🎸 add decoding for array insert operation (95afbb2)
  • 🎸 add decoding for JSON CRDT Patch patches (502bb0c)
  • 🎸 add decoding for object key set operation (14d3168)
  • 🎸 add doc.find() to find nodes by pointer (187ac61)
  • 🎸 add Draft class (1c77c32)
  • 🎸 add encoding for CompleteMessage (8ebac17)
  • 🎸 add encoding for DataMessage (a27594d)
  • 🎸 add extension codec (60f13ba)
  • 🎸 add findIdSpan() to array type (c4ad173)
  • 🎸 add findIdSpan() to string type (e1d5ce3)
  • 🎸 add float32 codec (f95dbc1)
  • 🎸 add full encoder class (d78e792)
  • 🎸 add isFloat32() helper (9f17969)
  • 🎸 add JSON codec types and encoder (a02e36b)
  • 🎸 add JSON CRDT Patch compact decoder (3a8d5d7)
  • 🎸 add JSON CRDT Patch types (6f22aec)
  • 🎸 add JSON-CRDT typings (bb01b4a)
  • 🎸 add LogicalTimespan class (15e155b)
  • 🎸 add LWW object operations (7f3665c)
  • 🎸 add MakeConstatOperation class (2d00909)
  • 🎸 add more test cases (d1ada8b)
  • 🎸 add msgpack binary codec (4965c51)
  • 🎸 add number decoding (2ea3efb)
  • 🎸 add number structural encoding (5816133)
  • 🎸 add number utilities (28d8c07)
  • 🎸 add numSet() method to DocumentAPi (9653ee2)
  • 🎸 add obj key delete helper (ac794be)
  • 🎸 add obj property to deletion in binary encoding (4e4c0ae)
  • 🎸 add obj ref to del op in compact encoding (4393faf)
  • 🎸 add obj reference to compact JSON encoding (70abb81)
  • 🎸 add obj_set operation binary encoding (fa8d19c)
  • 🎸 add object api to DocumentApi (891c39d)
  • 🎸 add object decoding (5b32fab)
  • 🎸 add object encoding (5e90bcb)
  • 🎸 add object reference to delete operation (539ed73)
  • 🎸 add object reference to string insert operation (b005297)
  • 🎸 add padding in patch builder when clock jumps (a610bca)
  • 🎸 add patch noop operation, which simply skips IDs (58fce94)
  • 🎸 add positive uint encodings (464107e)
  • 🎸 add pre-computed value encoding (31e2fac)
  • 🎸 add short string encoding (3197454)
  • 🎸 add string decoding (f3fb93c)
  • 🎸 add string obj param to nominal JSON encoding (9b99e1b)
  • 🎸 add string obj reference to binary codec (7489435)
  • 🎸 add StringApi interface (fe4b5f0)
  • 🎸 add support for "noop" op in basic JSON encoding (5c6eff2)
  • 🎸 add support for as-is value (27b60c1)
  • 🎸 add support for string operations (e2aa213)
  • 🎸 add timestamp decoding functio (2c90237)
  • 🎸 add toString() to document (ba97de3)
  • 🎸 add v3 of decoder (2a06782)
  • 🎸 adjust root and obj_set ops in compact encoding (54d238a)
  • 🎸 create dedicated document root type (a980f0c)
  • 🎸 do not emit object key size when in compact encoding (1a56e64)
  • 🎸 enable extension encoding (b64c5da)
  • 🎸 encode constants as a single number (b6d6221)
  • 🎸 encode document in a tree way (b04c823)
  • 🎸 encode num_set operation (5089467)
  • 🎸 extend patch builder to construct any JSON value (5abdf98)
  • 🎸 find ID in array by index (1dfc98e)
  • 🎸 find string char ID by inndex (059f42f)
  • 🎸 fix timestamp encoding (f7e0aaf)
  • 🎸 icrement time on operation application (3f75c88)
  • 🎸 implement array element deletion (2b67c4b)
  • 🎸 implement binary decoding for "noop" operation (8589ba9)
  • 🎸 implement Binary-Rx client (30c3716)
  • 🎸 implement Binary-Rx server controller (459c3c8)
  • 🎸 implement clock codec (2caeb32)
  • 🎸 implement commit and flush for document api (83a5aad)
  • 🎸 implement compact JSON encoding (8377d70)
  • 🎸 implement Decoder class (7de2d23)
  • 🎸 implement decoder with its own stack (cae45fc)
  • 🎸 implement encoder (7dc195f)
  • 🎸 implement JSON document root as LWW register (cbb6a58)
  • 🎸 implement lww number type (08bc48f)
  • 🎸 implement LWW-Register (c282006)
  • 🎸 implement MessagePack with Node native buffer copying (f65bef8)
  • 🎸 implement v2 of decoder (7c9c454)
  • 🎸 implement varuint8 utilities (8dc1ebd)
  • 🎸 improve .toJson() method (29df33b)
  • 🎸 improve binary encoding (1843b57)
  • 🎸 improve Binary-Rx server implementation and add tests (7599958)
  • 🎸 improve encoding and add string codec (98676ff)
  • 🎸 improve folder structure (004afcb)
  • 🎸 improve JSON CRDT Patch and JSON encoding (b649caa)
  • 🎸 improve JSON-CRDT typings (f92ed4f)
  • 🎸 improve ts overlap function (5286546)
  • 🎸 improve vector clock (425856a)
  • 🎸 incode clock as string (d706ac3)
  • 🎸 make json pack encoder return Uint8Array (e8102ef)
  • 🎸 merge array chunks (099a073)
  • 🎸 merge subsequent chunks in string type (b9f6941)
  • 🎸 recursively delete deleted nodes (f7911f9)
  • 🎸 remove batch message (bfee836)
  • 🎸 remove old root values (7ac48c4)
  • 🎸 resize encoder memory as needed (2b11625)
  • 🎸 serialize the whole vector clock (7b2d6df)
  • 🎸 set up string type (d09e79d)
  • 🎸 setup exports from Binary-Rx (c666b78)
  • 🎸 simplify root and obj_set ops in JSON encoding (aa3556d)
  • 🎸 specify JSON CRDT Patch operations (af68336)
  • 🎸 split array chunks when inserting in the mid of chunk (64886d6)
  • 🎸 start clock encoder class (5c1edbb)
  • 🎸 start implementation of ChangeBuffer (4419bf5)
  • 🎸 start implementing binary encoding (06f3ebf)
  • 🎸 start json-pack library (4f76f6b)
  • 🎸 start msgpack decoding (f441f23)
  • 🎸 start object type (a8b584d)
  • 🎸 start structural encoding (86c3790)
  • 🎸 support basic insertions for array type (6782a19)
  • 🎸 support const type in nominal json encoding (4b4f0c7)
  • 🎸 support object operations for JSON Patch "add" op (469c382)
  • 🎸 support setting document root in JSON Patch "add" op (c208181)
  • 🎸 update document class (baa5c66)
  • 🎸 upgrade TypeScript (aa50357)
  • 🎸 use clock table in decoding (63ad5a4)
  • 🎸 use clock table to encode clocks (dd83024)
  • 🎸 use timespan collection when deleting chunks (d4a549a)

Performance Improvements

  • ⚡️ add decoding benchmark (ab8da29)
  • ⚡️ add more MessagePack benchmarks (8e27ca2)
  • ⚡️ add msgpack benchmarks (c8eb910)
  • ⚡️ add v5 of decoder (fe13330)
  • ⚡️ check perf with msgpack-javascript (17efacb)
  • ⚡️ implement fast v3 with growing Uint8Array (a8c143f)
  • ⚡️ implement v2 of Encoder (a13ba1f)
  • ⚡️ improve array buffer perf (4c493ad)
  • ⚡️ improve encoder performance (fc4922b)
  • ⚡️ improve small negative int encoding performance (65ac84a)
  • ⚡️ improve string encoding performance (f3bf7ae)
  • ⚡️ increase cached key size (97fe82b)
  • ⚡️ minor improvements to encoder (5c07bac)
  • ⚡️ optimize type detection in encodign (7ca2d94)
  • ⚡️ represent local op nums in compact encoding with negnum (bc20bfa)
  • ⚡️ try to improve string encoding performance (6eb2d0d)
json-joy - v2.6.0

Published by streamich over 3 years ago

2.6.0 (2021-02-27)

Features

  • 🎸 move dependencies to peerDependencies (d215b0b)
json-joy - v2.5.3

Published by streamich over 3 years ago

2.5.3 (2021-02-26)

Bug Fixes

  • 🐛 bump json-schema-serializer (c413bc4)
json-joy - v2.5.2

Published by streamich over 3 years ago

2.5.2 (2021-02-26)

Bug Fixes

  • relax node version requirement (98b9f2a)
json-joy - v2.5.1

Published by streamich almost 4 years ago

2.5.1 (2020-12-22)

Bug Fixes

  • 🐛 show expected and received test results (ef1b382)
json-joy - v2.5.0

Published by streamich almost 4 years ago

2.5.0 (2020-12-22)

Bug Fixes

  • 🐛 make json-joy pass json-patch-test CLI tests (c796dd8)

Features

  • 🎸 add JSON Predicate "contains" operation tests (52f6214)

Performance Improvements

  • ⚡️ report ns/op in main benchmark (8a81531)
json-joy - v2.4.0

Published by streamich almost 4 years ago

2.4.0 (2020-12-19)

Bug Fixes

  • 🐛 fix json-patch-tests tests (0c7591c)

Features

  • 🎸 improve CLI JSON patch tests (19b2af7)
  • 🎸 improve JSON Patch tests (b86a0ea)
json-joy - v2.3.6

Published by streamich almost 4 years ago

2.3.6 (2020-12-19)

Bug Fixes

  • 🐛 don't fail test suite on invalid output (f91576b)
json-joy - v2.3.5

Published by streamich almost 4 years ago

2.3.5 (2020-12-18)

Bug Fixes

  • 🐛 move fast-deep-equal to dependencies (59a8459)
json-joy - v2.3.4

Published by streamich almost 4 years ago

2.3.4 (2020-12-18)

Bug Fixes

  • 🐛 remove peer dependencies (e8725aa)
json-joy - v2.3.3

Published by streamich almost 4 years ago

2.3.3 (2020-12-18)

Bug Fixes

  • 🐛 use binary paths in /bin folder (0bfcf8f)
json-joy - v2.3.2

Published by streamich almost 4 years ago

2.3.2 (2020-12-18)

Bug Fixes

  • 🐛 used extensions in binary references (39dea15)
json-joy - v2.3.1

Published by streamich almost 4 years ago

2.3.1 (2020-12-18)

Bug Fixes

  • 🐛 bump json-schema-serializer patch version (a6f9cd8)
json-joy - v2.3.0

Published by streamich almost 4 years ago

2.3.0 (2020-12-18)

Features

  • 🎸 add json-pointer binary to package (a9c77f9)
  • 🎸 add json-pointer CLI (239da00)
  • 🎸 improve JSON Patch CLI testing (942cf1b)
  • 🎸 improve json-pointer testing CLI (498b0a8)
  • 🎸 improve json-pointer tests (89bc2f6)
  • 🎸 normalize CLI tool names (97a27eb)
json-joy - v2.2.0

Published by streamich almost 4 years ago

2.2.0 (2020-12-12)

Features

  • 🎸 add test CLI tool docs (0ea059c)
  • 🎸 add testing script (3b68ea6)
json-joy - v2.1.0

Published by streamich almost 4 years ago

2.1.0 (2020-12-12)

Features

  • 🎸 add JSON Patch CLI script (dabd4d8)
  • 🎸 add JSON Patch CLI target (db058cc)