Skip to content

v0.15.0

Compare
Choose a tag to compare
@Saul-Mirone Saul-Mirone released this 03 Jul 02:52
· 750 commits to master since this release
59241f2

BlockSuite v0.15.0 is now released with 380 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.

Synced Doc

Now, we can easily embed another document in the current document.
The embedded document will be real-time synced with the original document.
You can also create a new document from the embedded document.

AFFiNE_embed_view.mp4

Contribution Details

MindMap

In version 0.14, we have already enabled AFFiNE AI to create MindMaps on the whiteboard.
Now we are opening up this capability, and you can freely create MindMaps on the edgeless (whiteboard) !

AFFiNE_mindMap.mp4

Contribution Details

New Edgeless Toolbar

We have redesigned the Edgeless toolbar.
It's now more responsive and user-friendly.
And with a lot of fancy animations!

AFFiNE_toolbar.mp4

Contribution Details

  • chore(edgeless): simplify data flow of edgeless toolbar hideToolbar @CatsJuice (#7122)
  • chore(edgeless): toggle presentation toolbar with css instead @CatsJuice (#7125)
  • feat(blocks): new smooth-corner component @CatsJuice (#7181)
  • feat(edgeless): separate presentation toolbar from edgeless-toolbar @CatsJuice (#7141)
  • feat(edgeless): responsive for edgeless toolbar @CatsJuice (#7182)
  • feat(edgeless): add link via edgless-toolbar @CatsJuice (#7264)
  • feat(edgeless): responsive for edgeless presentation toolbar @CatsJuice (#7281)
  • feat(edgeless): bind mindmap shortcut in edgeless toolbar @CatsJuice (#7318)
  • feat(edgeless): add shape shortcut in toolbar @CatsJuice (#7330)
  • feat(edgeless): consider dragging a short distance as click for toolbar draggable @CatsJuice (#7393)
  • feat(playground): add presentation button in edgeless mode @CatsJuice (#7280)
  • fix(edgeless): don't hide presentation toolbar if frame/setting menu opened @CatsJuice (#7128)
  • fix(edgeless): adjust edgeless toolbar ui, add tooltips, replace icons @CatsJuice (#7317)
  • fix(edgeless): bind shortcuts in toolbar should dispose when tool disconnected @CatsJuice (#7329)
  • fix(edgeless): resolve the conflict of drag-and-drop to create shapes, modify toolbar shadow @CatsJuice (#7364)
  • fix(edgeless): correct initial location of shape preview when toggled by shortcut 's' @CatsJuice (#7365)
  • fix(edgeless): optimize edgeless toolbar active states @CatsJuice (#7380)
  • fix(edgeless): edgeless toolbar disappear when hide toolbar in presentation setting @CatsJuice (#7413)
  • style(page): adjust heading font-weight and letter-spacing @CatsJuice (#7277)

New Edgeless Text

We've added a new edgeless block type - Edgeless Text.
It's more powerful and user-friendly than the legacy canvas text.
It supports more child blocks and has a better user experience.

Contribution Details

  • chore(blocks): export edgeless text spec @Flrande (#7234)
  • chore(playground): enable new edgeless text by default in playground @Flrande (#7247)
  • feat(edgeless): add edgeless text @Flrande (#7144)
  • feat(edgeless): add default color and editing border for edgeless text @Flrande (#7278)
  • feat(edgeless): support copy and paste for edgeless text @Flrande (#7324)
  • feat(edgeless): add min width for link card in edgeless text @Flrande (#7350)
  • feat(edgeless): auto focus when press enter in edgeless text @Flrande (#7360)
  • feat(edgeless): auto add paragraph when no editable area in edgeless text @Flrande (#7374)
  • feat(edgeless): support edgeless text for new toolbar @Flrande (#7384)
  • fix: edgeless selection may disappear when typing on edgeless text @Flrande (#7443)
  • fix(blocks): support overlapping of inline styles @Flrande (#6998)
  • fix(edgeless): edgeless text should overflow automatically @Flrande (#7235)
  • fix(edgeless): align panel not work @Flrande (#7293)
  • fix(edgeless): edgeless text rect should automatically update when changing font @Flrande (#7292)
  • fix(edgeless): the style of internal text should be reset when modifying the style of edgeless text @Flrande (#7311)
  • fix(edgeless): edgeless text not support divider @Flrande (#7325)
  • fix(edgeless): need to delete first block in note when it has children @Flrande (#7379)
  • fix(edgeless): auto delete empty edgeless text @Flrande (#7385)
  • fix(edgeless): can not undo block moving @Flrande (#7400)
  • fix(edgeless): disable sync doc in edgeless text @Flrande (#7431)
  • fix(edgeless): need to clear selection when focus out in edgeless text @Flrande (#7446)
  • fix(edgeless): should not trigger linked doc widget in canvas text @Flrande (#7459)
  • fix(edgeless): drag text from toolbar should not change edgeless tool @Flrande (#7465)
  • fix(inline): adjust the error range @Flrande (#7225)
  • fix(playground): can not change mode @Flrande (#7361)
  • fix(playground): flags from params need to be converted @Flrande (#7362)
  • fix(presets): export ai action types @Flrande (#7073)
  • refactor: clean up edgeless types @Flrande (#7152)
  • refactor: remove the deprecated blocksuite-overlay @Flrande (#7212)
  • refactor(blocks): move edgeless type and remove useless type @Flrande (#7113)
  • refactor(edgeless): remove hard writing edgeless types @Flrande (#7249)
  • refactor(edgeless): change edgeless text model role to hub @Flrande (#7327)

Quick Connector With Label

You can click the arrow icon on the toolbar of any object on the whiteboard to create a connector.
You can add text labels to the connector.

AFFiNE_connctor.mp4

Contribution Details

  • chore(blocks): adjust connector shapes order @fundon (#7300)
  • feat(blocks): connector label @fundon (#7106)
  • chore(blocks): add test cases to connector label with straight shape @fundon (#7155)
  • feat(blocks): add quick connect button to element toolbar @fundon (#7167)
  • feat(blocks): support connections between groups @fundon (#7192)
  • feat(blocks): support connecting different linked doc formats @fundon (#7193)
  • feat(blocks): connector supports shortcut keys for label editing @fundon (#7425)
  • fix(blocks): reassociate connectors @fundon (#7210)
  • fix(blocks): connectors resize and rotate @fundon (#7256)
  • fix(blocks): source position when creating a quick connection on a triangle @fundon (#7333)
  • fix(blocks): find the closest point on ellipse @fundon (#7337)
  • fix(blocks): auto snap to neighboring point @fundon (#7344)
  • fix(blocks): default mode in connector tool @fundon (#7399)

New Slash Menu

The new slash menu is more user-friendly and has a better user experience.
It supports more commands and has a better visual effect.

Contribution Details

  • chore(blocks): refine slash menu style @L-Sun (#7383)
  • refactor(blocks): new slash menu @L-Sun (#7132)
  • fix(blocks): error icon and style @L-Sun (#7190)
  • fix(blocks): slash category menu can not scroll @L-Sun (#7058)
  • fix(blocks): refine tooltip visual effect @L-Sun (#7245)
  • fix(blocks): debouce slash menu popover @L-Sun (#7273)
  • fix(blocks): support azerty keyboard layout for slashmenu @L-Sun (#7449)
  • fix(blocks): ime compatibility of slash menu @L-Sun (#7452)

Database

The database block now allows each row to have a note to record extensive content, and we also support freezing the header

Contribution Details

  • feat(database): database block row supports attaching notes @zzj3720 (#7103)
  • feat(database): link column supports displaying the title of internal doc link @zzj3720 (#7328)
  • feat(database): support paste link in title column @zzj3720 (#7348)
  • feat(database): support freezing the header @zzj3720 (#7377)
  • fix(blocks): remove the & selector @zzj3720 (#7448)
  • fix(database): import table from markdown and notion html @zzj3720 (#7091)
  • fix(database): duplicate icon of title cell in kanban @zzj3720 (#7102)
  • fix(database): create Database Block in List Block @zzj3720 (#7124)
  • fix(database): can't get editor-host in detail panel @zzj3720 (#7147)
  • fix(database): copy Multi-Select cell should be comma-separated @zzj3720 (#7171)
  • fix(database): todo block query incorrectly displayed all blocks @zzj3720 (#7197)
  • fix(database): view not found @zzj3720 (#7323)
  • fix(database): duplicate column behavior @zzj3720 (#7342)
  • fix(database): link convert should skip selection @zzj3720 (#7358)
  • fix(database): attachment note drag-handle @zzj3720 (#7387)
  • fix(database): database popup is broken in center peek @zzj3720 (#7412)
  • fix(database): duplicate title when import doc from snapshot @zzj3720 (#7428)
  • fix(database): delete row should refresh view @zzj3720 (#7441)
  • fix(database): database rich-text column affect the global contenteditable @zzj3720 (#7447)
  • fix(database): unable to close context menu @zzj3720 (#7463)
  • fix(database): database block background color @zzj3720 (#7464)
  • refactor(database): change import file format in table/group.ts @zzj3720 (#7069)
  • refactor(database): render the title of the detail panel using rich-text @zzj3720 (#7134)
  • refactor(database): move the database detail panel to the center peek @zzj3720 (#7363)

Edgeless Performance Optimization

We noticed that the Edgeless mode has some performance issues.
We've made a lot of improvements to the Edgeless mode, including rendering optimization, performance improvements, and bug fixes.
Now the Edgeless mode is more stable and faster.

Contribution Details

AI Polishing

We've made a lot of improvements to the AI feature, including new AI actions, filters, better panel position, and more.

Contribution Details

New Contributors

Detailed Bug Fixes and Improvements