This document defines a high-level roadmap for Yorkie development and upcoming releases. The features and themes included in each milestone are optimistic in the sense that many do not have clear owners yet. Community and contributor involvement is vital for successfully implementing all desired items for each release. We hope that the items listed below will inspire further engagement from the community to keep Yorkie progressing and shipping exciting and valuable features.
Any dates listed below and the specific issues that will ship in a given milestone are subject to change but should give a general idea of what we are planning. We use the Projects feature in GitHub so look there for the most up-to-date and issue plan.
Yorkie v0.6 focuses on improving support for collaborative editing.
Yorkie v0.5 focuses on improving the reliability and performance.
- Version Vector Introduction and GC Enhancement: #723
- Concurrent Editing Performance Enhancement: #1501
- Introduce broadcast API for event sharing: #628
Yorkie v0.4 focuses on providing a more stable and scalable cluster.
- Sharding-based cluster mode #472
- Support MongoDB Sharded Cluster #673
- Support transaction for document and presence #442
- Devtools #688
Yorkie v0.3 should provide APIs in the form of service(PaaS) to make it easier for users to Yorkie.
- Renewal of Homepage
- Dashboard Yorkie House
- Admin API #273
- Multi-tenancy #310
- Mobile SDKs #54
Yorkie v0.2 should be reliably available for services used in production environments.
- Mar: Monitoring #155
- May: Supporting TLS and Auth webhook to secure Yorkie #6
- Jun: Providing Cluster Mode #11
- Oct: Improved Peer Awareness #153
- Nov: Release CodePair
- Dec: Providing MemoryDB for Agent without MongoDB #276
Yorkie's first release version, v0.1, aims to implement the basic features of the document store for building collaborative editing applications.
- Jan: Text datatype for supporting text based collaboration editor #2
- Feb: Realtime event stream #5
- Mar: https://yorkie.dev
- Apr: Change hook
- May: Snapshot to reduce payload #9
- Jun: Garbage collection to clean CRDT meta #3
- Aug:
- Dec: Cleanup such as package dependency cleanup and tests cleanup
- Nov: Start the project with adding basic structure(Agent, Client, Document)
- Dec: JS-SDK(Client, Document) yorkie-js-sdk