github toeverything/blocksuite v0.9.0

latest releases: v0.19.5, v0.19.4, v0.19.3...
15 months ago

🔥 The BlockSuite 0.9.0 release incorporates over 300 PRs and welcomes 5 new contributors. Over the past weeks, we have not only continued to ship the functionalities in AFFiNE, but also landed significant enhancements in editor infra.

Editor Infrastructure

Many of the APIs mentioned below have yet to be fully clarified. We'll prioritize updating the documentation in the next release.

  • BlockTransformer (#4191) establishes a standardized block structure conversion API. This module is beginning to replace the existing ContentParser specific to markdown and HTML. It offers more reliable transformations for third-party data structures and isomorphically supports both clipboard actions and data import/export (#4757). Based on the block transformer, the new markdown adapter (#4624 #4797) implements markdown compatibility targeting block snapshots using unified and mdast.
  • The new BlockSnapshot format (#4609 #4614) allows storing a workspace or page as a JSON block tree. This format, built on the block transformer foundation, serves as an equivalent alternative to CRDT binary and supports packaging it with blob content into a zip-formatted block bundle.
  • The new CommandManager facilitates the registration and reuse of a set of block operations, with support for chained calls, better modeling complex updates to the block tree (#4471 #4626).
  • The Virgo-based RichText component offers out-of-the-box controls for undo/redo and clipboard actions, positioning it as a replacement for the more low-level virgo-input component (#4956).
  • Existing workspace methods have been segregated based on the addon concept (#4492).

Edgeless Editing Features

  • Direct insertion of image blocks at the top level of surface blocks without the need for encapsulation within note blocks is now supported (#4894).
  • Frame blocks can be inserted at the surface block top level, serving as a substitute for the previous frame element (#4711).
  • Elements can now be connected using curved connectors (#4516).
  • A new note can be swiftly created on a selected note (#4881).
  • Multi-selection alignment of elements is now available (#4456).
  • Transitioned to a transformer-based clipboard (#5023).

Document Editing Features

  • Display of YouTube-style embed bookmark block types is now available (#4523).
  • Popups featuring secure triangle areas and transitions have been introduced (#4965 #4958).

Database Editing Features

  • Group view is now supported (#4727).
  • A new filter-usable UI has been introduced (#4339).
  • There's support for an independent preview modal (#4628).

Other Notable Updates

  • Rendering performance for edgeless has been optimized (#4746 #4939).
  • The original phasor package has been integrated into the edgeless editor (#4518).

Detailed Bugfixes

New Contributors

Full Changelog: v0.8.0...v0.9.0

Don't miss a new blocksuite release

NewReleases is sending notifications on new releases.