Skip to content

Latest commit

 

History

History
923 lines (551 loc) · 34 KB

CHANGELOG.md

File metadata and controls

923 lines (551 loc) · 34 KB

Changelog

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.

[0.5.4] - 2024-10-28

Added

  • Implement InitialRoot option for Document attachment by @raararaara in yorkie-team#913
  • Add doc.getStats for debugging purpose by @hackerwins in yorkie-team#920

Fixed

[0.5.3] - 2024-10-23

Changed

  • Introducing version vector to solve GC problem by @JOOHOJANG in yorkie-team#899

[0.5.2] - 2024-10-22

Changed

  • Update target to ES2020 and replace Long with bigint by @hackerwins in yorkie-team#912

[0.5.1] - 2024-10-15

Added

  • Add configurable retry mechanism to broadcast interface by @gwbaik9717 in yorkie-team#901

Changed

  • Ensure find and indexOf perform splay by @m4ushold in yorkie-team#904
  • Restrict presence object type to JSON serializable values by @gwbaik9717 in yorkie-team#898

Fixed

  • Automate Linting with Husky and lint-staged to Prevent CI Failures by @gwbaik9717 in yorkie-team#896

[0.5.0] - 2024-09-05

Added

  • Introduce broadcast API for event sharing by @gwbaik9717 in yorkie-team#884

Fixed

  • Update npm-publish command for sdk by @hackerwins in yorkie-team#886
  • Update MAINTAINING.md by @chacha912 in yorkie-team#887
  • Lock version of @codemirror/view to prevent potential issues with Korean character input by @devleejb in yorkie-team#890

[0.4.31] - 2024-08-22

Changed

[0.4.28] - 2024-07-25

Added

  • Improve performance for creating crdt.TreeNode by @hackerwins in yorkie-team#875
  • Add Root-Only Filter Feature in History Tab by @gwbaik9717 in yorkie-team#872

Changed

[0.4.27] - 2024-07-11

Changed

  • Add taskQueue to handle each request one by one by @hackerwins in yorkie-team#862

Removed

Fixed

  • Handle retry for syncLoop and watchLoop by @hackerwins in yorkie-team#863
  • Handle ErrClientNotActivated and ErrClientNotFound by @hackerwins in yorkie-team#865
  • Handle local changes correctly when receiving snapshot by @hackerwins in yorkie-team#868

[0.4.26] - 2024-07-04

Changed

Fixed

[0.4.25] - 2024-07-03

Added

  • Add doc.subscribe('status', callback) function by @chacha912 in yorkie-team#828

Changed

[0.4.24] - 2024-06-14

Added

[0.4.23] - 2024-06-07

Changed

Fixed

  • Fix miscalculation of tree size in concurrent editing by @hackerwins in yorkie-team#846

[0.4.22] - 2024-06-04

Added

  • Add RHTNode removal to converter for consistency by @raararaara in yorkie-team#842

Changed

  • Update examples version to v0.4.21 by @chacha912 in yorkie-team#840
  • Simplify type checking for style attributes in TreeStyleOpInfo by @chacha912 in yorkie-team#841

Fixed

  • Add conditional checks for window object by @chacha912 in yorkie-team#839

[0.4.21] - 2024-06-03

Changed

Fixed

  • Prevent remote-change events in RealtimeSyncOff mode by @chacha912 in yorkie-team#824
  • Fix invalid error message in CRDTTreePos by @hackerwins in yorkie-team#830
  • Fix incorrect tree snapshot encoding/decoding by @hackerwins in yorkie-team#836
  • Fix incorrect indexes in TreeChange by @chacha912 in yorkie-team#837

[0.4.20] - 2024-05-24

Added

Changed

Fixed

  • Handle Tree.toXML to return proper XML string by @raararaara in yorkie-team#805
  • Avoid unnecessary syncs in push-only syncmode by @chacha912 in yorkie-team#818

[0.4.19] - 2024-05-10

Added

  • Add Tree concurrency tests by @justiceHui, @hackerwins in yorkie-team#792

Changed

Fixed

  • Export OpSource by @chacha912 in yorkie-team#786
  • Add window type condition for using devtools by @chacha912 in yorkie-team#787
  • Update GitHub Action workflow for create-yorkie-app by @hackerwins in yorkie-team#790
  • Handle exception for the client without proper presence value in example by @chacha912 in yorkie-team#798
  • Handle concurrent editing and styling in Tree by @raararaara in yorkie-team#803
  • Fix invalid tree style changes by @hackerwins in yorkie-team#804
  • Fix gc for multiple nodes in text and tree type by @chacha912 in yorkie-team#806

[0.4.18] - 2024-04-23

Added

  • Add history tab and enhance visualization features to devtools by @chacha912 in yorkie-team#760

[0.4.17] - 2024-04-19

Added

  • Add RealtimeSyncOff and refactor interface of SyncMode by @chacha912 in yorkie-team#772

Fixed

  • Fix issue of incorrect display of remote selection in Quill example by @chacha912 in yorkie-team#769
  • Reverse TreeChanges when Deleting in Tree by @raararaara in yorkie-team#774
  • Remove unnecessary stubs from the test code by @chacha912 in yorkie-team#776
  • Provide CODECOV_TOKEN to codecov-action by @hackerwins in yorkie-team#777
  • Fix issue of referencing process object on browser by @blurfx in yorkie-team#778

[0.4.16] - 2024-03-29

Added

  • Implement Protocol Changes for Tree.RemoveStyle by @raararaara in yorkie-team#755

[0.4.15] - 2024-03-11

Added

Changed

Fixed

  • Fix invalid sync when editing multiple cursors in CodeMirror6 by @devleejb in yorkie-team#743
  • Fix incorrect index returned when using posRangeToIndexRange by @chacha912 in yorkie-team#742
  • Fix incorrect calculation in indexTree.treePosToPath operation by @raararaara in yorkie-team#751
  • Fix errors when editing Tree due to missing insPrevID in CRDTTree by @raararaara in yorkie-team#756
  • Prevent remote-change events from occurring in push-only mode by @chacha912 in yorkie-team#759

[0.4.14] - 2024-01-29

Added

Fixed

  • Follow up work after devtools mvp by @chacha912 in yorkie-team#734
  • Fix invalid TreeChanges in concurrent Tree.Style by @hackerwins in yorkie-team#738
  • Restore interface changes due to server DB sharding by @sejongk yorkie-team#740

[0.4.13] - 2024-01-19

Added

Changed

Fixed

  • Fix multiple versions of prosemirror-model were loaded by @hackerwins in yorkie-team#728
  • Fix invalid tree conversion by @hackerwins in yorkie-team#719

[0.4.12] - 2024-01-05

Added

Fixed

  • Generate correct TreeChange in concurrent edits by @sejongk in yorkie-team#712
  • Add forced sync when switching to realtime mode by @chacha912 in yorkie-team#713
  • Fix getGarbageLen to retrun correct size by @devleejb in yorkie-team#714
  • Prevent deregisterElement from deregistering twice in nested object by @justiceHui in yorkie-team#716

[0.4.11] - 2023-12-18

Added

  • Address duplicate node IDs in Tree.Split by @sejongk, @hackerwins in yorkie-team#707
  • Add test filtering and log printing guide to CONTRIBUTING.md by @sejongk in yorkie-team#708
  • Support concurrent insertion and splitting in Tree by @sejongk in yorkie-team#709

Changed

[0.4.10] - 2023-12-04

Added

Fixed

  • Fix reading wrong .env path by @blurfx in yorkie-team#694
  • Handle escape string for strings containing quotes by @chacha912 in yorkie-team#700
  • Correct typos in the installation command on README.md in the example by @ymw0407 in yorkie-team#702

[0.4.9] - 2023-11-25

Added

  • Implement merge elements in Tree.Edit by @hackerwins in yorkie-team#681
  • Add README and thumbnail on example 'simultaneous-cursors'by @banma1234 in yorkie-team#683
  • Support Undo/Redo for object.set and object.remove operations by @chacha912 in yorkie-team#658

Changed

  • Refactor ProseMirror example and Tree codes by @hackerwins in yorkie-team#686
  • Enhance Set and Add for representing nested elements by @chacha912 in yorkie-team#691

Fixed

  • Add missing removedAt during Primitive deepcopy by @chacha912 in yorkie-team#692
  • Prevent empty ops are applied during undo/redo by @chacha912 in yorkie-team#687

[0.4.8] - 2023-11-01

Changed

Removed

Fixed

  • Fix missing collection of removed elements from the root by @hackerwins in yorkie-team#676
  • Add more GC tests to reflect current server modifications by @hackerwins in yorkie-team#677
  • Fit Next.js example style to the yorkie homepage by @blurfx in yorkie-team#675
  • Disable jekyll on github actions by @blurfx in yorkie-team#674

[0.4.7] - 2023-10-06

Added

  • Introduce basic architecture to support undo and redo by @hyemmie, @chacha912 and @hackerwins in yorkie-team#650
  • Add Text devtool to CodeMirror example by @chacha912 and @hackerwins in yorkie-team#646
  • Add DisableGC option to document by @hackerwins in yorkie-team#644
  • Add toJS to return TreeNode of Tree by @JOOHOJANG and @hackerwins in yorkie-team#639
  • Add Tree.Edit benchmark and improve performance by @JOOHOJANG and @hackerwins in yorkie-team#641
  • Add simultaneous cursors example and Update examples to v0.4.6 by @YoonKiJin and @chacha912 in yorkie-team#581
  • Add nextjs-scheduler example by @banma1234 and @hackerwins in yorkie-team#637

Changed

Removed

Fixed

  • Support concurrent formatting of Text by @MoonGyu1 in yorkie-team#642
  • Recover istanbul-instrumenter-loader to use debugger by @hackerwins in yorkie-team#659
  • Recover Select to prevent unsupported operation by @hackerwins in yorkie-team#634

[0.4.6] - 2023-08-25

Added

  • Build error on node 18+ by @blurfx in yorkie-team#584
  • Add .nvmrc to specify Node version to LTS by @kutta97 in yorkie-team#586
  • Add client deactivation before unmount by @degurii in yorkie-team#595
  • Add presence.get() to get presence value in doc.update() by @chacha912 in yorkie-team#600
  • Add test for concurrent rich-text editing in the Peritext example by @chacha912 in yorkie-team#610
  • Concurrent case handling for Yorkie.tree by @ehuas in yorkie-team#611
  • Support multi-level and parital element selection by @sejongk in yorkie-team#631

Changed

  • Move "Building & Testing" Guide to CONTRIBUTING.md by @g2hhh2ee in yorkie-team#589
  • Define more specific condition to check whether the input is opened by @su-ram in yorkie-team#597
  • Clean up methods related to presence by @chacha912 in yorkie-team#599
  • Refactor presence event code in examples by @chacha912 in yorkie-team#614
  • Change TreeNode to have IDs instead of insPrev, insNext by @JOOHOJANG in yorkie-team#627
  • Remove select operation from text by @blurfx in yorkie-team#622
  • Fix invalid path of style changes by @hackerwins in yorkie-team#632

Removed

Fixed

[0.4.5] - 2023-07-20

Added

Changed

Removed

Fixed

[0.4.4] - 2023-07-05

Changed

  • Cleanup of test-related terminology by @chacha912 in yorkie-team#562
  • Use TreeRangeStruct to represent tree selection by @chacha912 in yorkie-team#561

[0.4.3] - 2023-06-29

Added

Changed

Fixed

[0.4.2] - 2023-06-19

Added

  • Support for OperationInfo inference on Document.subscribe by @easylogic in yorkie-team#535
  • Add peer selection display example by @easylogic in yorkie-team#544
  • Implement Tree.Style and Tree.StyleByPath by @JOOHOJANG, @hackerwins in yorkie-team#542

[0.4.1] - 2023-06-09

Changed

  • Bump vite from 3.2.5 to 3.2.7 by @dependabot in yorkie-team#531
  • change to next method as synchronously by @easylogic in yorkie-team#526
  • Change the value of XXXChange to Change in Document.subscribe by @easylogic in yorkie-team#538
  • Replace Tree.onChanges with Document.subscribe by @easylogic in yorkie-team#523

[0.4.0] - 2023-06-05

Added

  • Implement yorkie.Tree for text editors using tree model by @hackerwins in yorkie-team#507

Changed

  • Bump socket.io-parser from 4.2.1 to 4.2.3 by @dependabot in yorkie-team#516
  • Replace Text.onChanges with Document.subscribe by @easylogic in yorkie-team#519

[0.3.5] - 2023-05-22

Changed

Fixed

  • Fix quill example page image rendering issue by @JOOHOJANG in yorkie-team#504
  • Add actor to ChangeInfo / update api-reference by @JOOHOJANG in yorkie-team#508

[0.3.4] - 2023-04-18

Added

  • Add the document.subscribe(targetPath, (event) => {}), which enables users to subscribe to a specific target in a document by @chacha912 in #487
  • Add the document.getValueByPath() to get the value of a document by specifying the path by @chacha912 in #487
  • Add benchmark tests for yorkie.Document by @JOOHOJANG in #494
  • Add client sync mode, which enables users to pause and resume remote changes by @chacha912 in #495
  • Add x-shard-key to APIs by @hackerwins in #486
  • Add yorkie user agent in grpc metadata by @emplam27 in #488

Changed

  • Change Counter.increase() to remove the decimal part instead of using Math.floor() when a decimal number is passed as an argument by @JOOHOJANG in #496

Fixed

  • Return undefined when searching for presence of non-existent peer by @chacha912 in #493

[0.3.3] - 2023-03-24

Added

Changed

  • Clarify the ClientEvent that is sent to client.subscribe by @chacha912 in yorkie-team#464
  • Rename initialization to initialized in PeersChangedEvent by @chacha912 in yorkie-team#478

Fixed

[0.3.2] - 2023-02-27

Fixed

[0.3.1] - 2023-02-27

Added

  • Add delete and empty method to Text data type by @cozitive in yorkie-team#454

Changed

  • Reduce bundle size for production by @easylogic in yorkie-team#460
  • Remove string dependency of RGATreeSplit value by @cozitive in yorkie-team#459
  • Remove priority queue from RHTPQMap and entire project by @blurfx in yorkie-team#462
  • Modify config to run the webpack-bundle-analyzer when using profile:bundle script by @chacha912 in yorkie-team#468

Fixed

  • Fix invalid indexOf SplayTree with single node by @chacha912 in yorkie-team#463

[0.3.0] - 2023-01-31

Changed

  • 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

Fixed

[0.2.20] - 2022-12-30

Added

  • 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

Changed

  • 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

Fixed

  • Fix issues identified during iOS SDK development by @hackerwins in #398
  • Use uint64 for date value by @hackerwins in #408

[0.2.19] - 2022-10-04

Changed

  • Rename keyOf to subPathOf: #391

Fixed

  • Remove unused nodeMapByCreatedAt in RHT: #386
  • Change lamport from uint64 to int64: #390

[0.2.16] - 2022-08-16

Changed

  • Apply generics to support any types of properties in RichText: #354

Fixed

  • 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

[0.2.15] - 2022-08-08

Added

  • Add snapshot event observer to Quill example: #365

Changed

  • 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

[0.2.14] - 2022-08-03

Added

  • Reduce the number of paths of change events: #351

Fixed

  • Fix the problem local changes were applied twice: #356
  • Update CodeMirror example to handle snapshot events: #360

[0.2.13] - 2022-07-27

Added

  • Support Quill embeds type to example project: #344

Fixed

  • Fix a bug when overwriting in Object: #349

[0.2.12] - 2022-07-20

Fixed

  • Fix incorrect index for nodes newly created then concurrently removed: #334
  • Fix initial value bug in counter proxy: #333

[0.2.11] - 2022-07-14

Fixed

  • Escape string to return valid json: #330

[0.2.10] - 2022-07-06

Added

  • Implement array methods with objects: #327

Changed

  • Improve performance deletion in Text: #326

Fixed

  • Fix a bug when deleting blocks concurrently: #328

[0.2.9] - 2022-06-30

Changed

  • Implement inserting elements with splice() method: #318

Fixed

  • Revert text deletion improvements: #323

[0.2.8] - 2022-06-22

Added

  • Add read-only Array methods to ArrayProxy: #310
  • Add Array.splice to ArrayProxy: #317

Changed

  • Use types more strictly in Document.update: #314
  • Revert Document and Text: #47478e7
  • Improve performance deletion in Text: #312, #316

Fixed

  • Remove size cache from RGATreeList and use SplayTree instead: #315
  • Fix bug when setting non-string values in Presence: #311

[0.2.7] - 2022-05-25

Fixed

  • Expose constructors for user-accessible types

[0.2.6] - 2022-05-25

Changed

  • Refine SDK interface: #300

[0.2.5] - 2022-05-12

Added

  • Add apiKey option: #295

[0.2.4] - 2022-05-10

Changed

  • Fix incorrect type hint in document.update handler: #289
  • Rename Client Metadata to Presence: #293

Removed

  • Remove collection from document: #292

[0.2.3] - 2022-04-07

Changed

  • Bump up yorkie.proto to 0.2.3

[0.2.0] - 2021-12-19

2nd Year Release

Added

  • Garbage collection for Text and RichText
  • Improve Client's metadata to be updatable
  • Improved Peer Awareness
  • Supporting TLS and Auth webhook

Changed

Removed

Deprecated

[0.1.11] - 2021-12-04

Fixed

  • Fix a bug where text nodes with tombstones were not counted: #263

[0.1.10] - 2021-11-16

Added

  • Add Array.toJS() and Object.toJS(): #237

Changed

  • Print log message more accurately: #5ce95c6, #de05448

Fixed

  • Fix quill example page: #260

[0.1.8] - 2021-10-21

Fixed

  • Hide clock from value of peers-changed event

[0.1.7] - 2021-10-19

Added

  • Improve Client's metadata to be updatable: #240

Fixed

  • Fix reduce array size when deleting the same position: #229
  • Handle special characters in keys of the path in change events: #247

[0.1.6] - 2021-07-24

Added

  • Add client.getStatus and client.Metadata: #162f2d5

Changed

  • 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

Fixed

  • Fix a bug where deleted values from objects are revivded after GC: #216

[0.1.5] - 2021-06-05

Added

  • Add moveFront, moveAfter, moveLast, insertBefore to Array: #194, #203, #206, #207
  • Add AuthInterceptor: #199

Fixed

  • Fix the concurrent editing issue of Move Operation: #196
  • Fix a bug when pushing an array element in Array: #200

Removed

  • Delete RequestHeader in Protobuf

[0.1.4] - 2021-05-15

Added

Changed

  • Rename Document.getKey().toIDString() to Document.getKey(): #178
  • Only display exported objects in JS SDK Reference: #179
  • Rename Document to DocumentReplica: #10f2b72

Fixed

  • 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

[0.1.3] - 2021-04-04

Added

  • Pass paths to change events: #162
  • Support null and undefined values: #157
  • Add type parameter to Document: #148

Changed

  • Rename getRootObject to getRoot: #158
  • Rename updateSelection to select: #170

Fixed

  • 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

[0.1.2] - 2021-02-14

Added

  • Add customizable metadata for peer awareness: #123
  • Add garbage collection for Text and RichText: #137

Changed

  • Replace the type of client_id to a byte array to reduce payload: #133

Fixed

  • Fix a bug that attributes were lost when splitting RichText nodes: #136

[0.1.1] - 2021-01-01

Added

  • Add garbage collect for Container type: #101

Changed

  • Update libs to fix security vulnerability: #103

Fixed

  • Fix quill paragraph style errors: #104
  • Change Logger to receive all values: #100

0.1.0 - 2020-11-07

First public release

Added

  • Add Client and Document
  • 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

Changed

Removed

Deprecated