All notable changes to Yorkie JS SDK will be documented in this file.
The format is based on Keep a Changelog, and Yorkie JS SDK adheres to Semantic Versioning.
- Merge Text and RichText by @chacha912 in yorkie-team#425
- Fix the value type of Counter and remove double type from Counter by @cozitive in yorkie-team#426
- Let Client.attach wait until stream initialization is finished by @cozitive in yorkie-team#440
- Add the toJS method to the ObjectProxy's handler by @chacha912 in yorkie-team#449
- Increase CRDT Counter in local change by @chacha912 in yorkie-team#441
- Add benchmark tests by @parkeunae in #358, #359
- Add CodeMirror6 integration example by @blurfx in #394
- Add vuejs-kanban example by @hackerwins in #399
- Add profile-stack example by @chacha912 #414
- Bump socket.io-parser from 4.0.4 to 4.0.5 by @dependabot in #403
- Bump engine.io and socket.io by @dependabot in #407
- Bump express from 4.17.1 to 4.18.2 by @dependabot in #411
- Bump minimatch from 3.0.4 to 3.1.2 by @dependabot in #412
- Fix issues identified during iOS SDK development by @hackerwins in #398
- Use uint64 for date value by @hackerwins in #408
- Rename keyOf to subPathOf: #391
- Remove unused nodeMapByCreatedAt in RHT: #386
- Change lamport from uint64 to int64: #390
- Apply generics to support any types of properties in RichText: #354
- Send peers-changed event to the user who updated one's own presence: #371
- Fix the error that occurs when importing JS SDK in Next.js: #378
- Add snapshot event observer to Quill example: #365
- Bump up proto files to the latest: #367
- Export Change APIs to generate history snapshots in admin: #368
- Change trie traverse parameter name to isTerminalIncluded: #363
- Reduce the number of paths of change events: #351
- Fix the problem local changes were applied twice: #356
- Update CodeMirror example to handle snapshot events: #360
- Support Quill embeds type to example project: #344
- Fix a bug when overwriting in Object: #349
- Fix incorrect index for nodes newly created then concurrently removed: #334
- Fix initial value bug in counter proxy: #333
- Escape string to return valid json: #330
- Implement array methods with objects: #327
- Improve performance deletion in Text: #326
- Fix a bug when deleting blocks concurrently: #328
- Implement inserting elements with splice() method: #318
- Revert text deletion improvements: #323
- Add read-only Array methods to ArrayProxy: #310
- Add Array.splice to ArrayProxy: #317
- Use types more strictly in Document.update: #314
- Revert Document and Text: #47478e7
- Improve performance deletion in Text: #312, #316
- Remove size cache from RGATreeList and use SplayTree instead: #315
- Fix bug when setting non-string values in Presence: #311
- Expose constructors for user-accessible types
- Refine SDK interface: #300
- Add apiKey option: #295
- Fix incorrect type hint in document.update handler: #289
- Rename Client Metadata to Presence: #293
- Remove collection from document: #292
- Bump up yorkie.proto to 0.2.3
2nd Year Release
- Garbage collection for Text and RichText
- Improve Client's metadata to be updatable
- Improved Peer Awareness
- Supporting TLS and Auth webhook
- Fix a bug where text nodes with tombstones were not counted: #263
- Add Array.toJS() and Object.toJS(): #237
- Print log message more accurately: #5ce95c6, #de05448
- Fix quill example page: #260
- Hide clock from value of peers-changed event
- Improve Client's metadata to be updatable: #240
- Fix reduce array size when deleting the same position: #229
- Handle special characters in keys of the path in change events: #247
- Add client.getStatus and client.Metadata: #162f2d5
- Change getElementByID to return undefined if the element doesnt exist: #208
- Change esnext to ES2019 in compiler target option: #197
- Clean up JS SDK Reference: #181, #218, #219
- Fix a bug where deleted values from objects are revivded after GC: #216
- Add moveFront, moveAfter, moveLast, insertBefore to Array: #194, #203, #206, #207
- Add AuthInterceptor: #199
- Fix the concurrent editing issue of Move Operation: #196
- Fix a bug when pushing an array element in Array: #200
- Delete RequestHeader in Protobuf
- Rename Document.getKey().toIDString() to Document.getKey(): #178
- Only display exported objects in JS SDK Reference: #179
- Rename Document to DocumentReplica: #10f2b72
- Fix a bug occurs when setting an empty string as a key: #182
- Fix a bug that the first element of an array was not deleted: #185
- Fix a bug that the size of the array increases when moving element: #186
- Fix a bug that did not move after pushing in same update: #188
- Pass paths to change events: #162
- Support null and undefined values: #157
- Add type parameter to Document: #148
- Rename getRootObject to getRoot: #158
- Rename updateSelection to select: #170
- Fix error that occurred when deleting value using missing key or index: #149
- Fix invalid states of SplayTree: #153
- Remove errors that occur when insPrev does not exist: #166
- Add customizable metadata for peer awareness: #123
- Add garbage collection for Text and RichText: #137
- Replace the type of client_id to a byte array to reduce payload: #133
- Fix a bug that attributes were lost when splitting RichText nodes: #136
- Add garbage collect for Container type: #101
- Update libs to fix security vulnerability: #103
- Fix quill paragraph style errors: #104
- Change Logger to receive all values: #100
0.1.0 - 2020-11-07
First public release
- Add
Client
andDocument
- Add Custom CRDT data type
Text
for code editor - Add Custom CRDT data type
RichText
for WYSIWYG editor - Add examples: CodeMirror, Drawing, Quill
- Support Network Auto Recovery
- Add Peer Awareness
- Add Custom CRDT data type
Counter