BlockSuite v0.16.0 is now released with 316 PRs and 3 new contributors.
It's currently used in Affine 0.15. This release includes a lot of new features, improvements, and bug fixes.
Note Color Picker
We have a new color picker for notes now. You can pick whatever color you like for your notes. You can even set different colors for dark and light themes.
Screen.Recording.2024-08-07.at.20.18.22.mov
TOC
We have a lightweight TOC for the outline viewer now. You can easily navigate through your document with it. And you can use it to open the original TOC in sidebar.
Screen.Recording.2024-08-07.at.20.21.09.mov
List Block
List block now can have other types of blocks as children now, ex. bookmark.
Screen.Recording.2024-08-07.at.20.26.22.mov
AI Chat Block
Now you can save your AI Chats as blocks.
- Keep history of your AI chat conversation
- Feed data and prompts into reusable AI chats
- Link blocks together to create your own AI workflow
Signal Model Props
Now the block model props will also provide a signal version:
declare const model: BlockModel<{ name: string }>;
assert(typeof model.name$.value === 'string'); // true
model.name = 'hello';
assert(model.name$.value === 'hello'); // true
assert(model.yBlock.get('prop:name') === 'hello'); // true
model.name$.value = 'world';
assert(model.name === 'world'); // true
assert(model.yBlock.get('prop:name') === 'world'); // true
model.yBlock.set('prop:name', 'blocksuite');
assert(model.name$.value === 'blocksuite'); // true
Clipboard Improvement
We improved the clipboard performance by adding batch and stream for paste behavior.
Screen.Recording.2024-08-07.at.20.37.29.mov
Edgeless Quality Improvement
We fixed a bunch of issues in edgeless both in user experience and performance. We heard your words.
Full Changes
file-type
v19.1.0 @lawvs (#7523)
edgeless-element-toolbar-widget
when readonly
changes @RubaXa (#7504)
BlockElement
-> BlockComponent
@doodlewind (#7715)
widgetComponent
and rootComponent
@doodlewind (#7716)
BlockComponent
-> CaptionedBlockComponent
@doodlewind (#7714)
GfxElementGeometry
interface @doodlewind (#7758)
childrenUpdated
slot @Saul-Mirone (#7573)