What's Changed
- fix(editor): clicking the sorting button results in an error by @zzj3720 in #10800
- feat(core): update blocksuite icons by @akumatus in #10805
- feat(editor): support embed iframe block by @donteatfriedrice in #10740
- feat(core): add tag-chip and collection-chip lit components by @akumatus in #10795
- fix(core): unsub in LiveData.fromSignal by @pengx17 in #10756
- fix(server): failed to resolve user importing result by @forehalo in #10804
- refactor(editor): generic layout type support for turbo renderer by @doodlewind in #10766
- feat(editor): add isLocal flag in blockUpdated subject by @Saul-Mirone in #10799
- chore(server): revert doc write restriction by @forehalo in #10807
- chore(editor): at menu stays open when left right arrow keys are pressed by @L-Sun in #10806
- feat(editor): improve block meta updated event handler by @Saul-Mirone in #10815
- feat(editor): add ui for display block meta in toolbar by @Saul-Mirone in #10817
- fix(electron): add back updater by @pengx17 in #10814
- refactor(editor): make turbo renderer a gfx extension by @doodlewind in #10818
- chore(editor): use at menu to insert linked doc by @L-Sun in #10808
- chore(core): doc role telemetry by @forehalo in #10822
- fix(infra): use framework stack provider by @EYHN in #10825
- chore(server): add pro user for testing with extended workspace member limit by @fengmk2 in #10827
- fix(editor): database block e2e test flaky by @zzj3720 in #10828
- feat(admin): make the left navigation bar collapsable by @JimmFly in #10774
- fix(electron): electron fallback container should not contain tabs header by @pengx17 in #10826
- feat(core): add an entry for admin panel by @JimmFly in #10813
- feat(editor): add i18n support for block meta display by @Saul-Mirone in #10831
- feat(server): context awareness for copilot by @darkskygit in #9611
- chore: bump oxlint to v0.15.15; enable
import/named
by @Boshen in #10836 - fix(core): should not invert label when its shape text by @fundon in #10765
- fix(editor): clamp method in color picker by @fundon in #10840
- chore: auto assign feature reqeusts by @forehalo in #10819
- feat(editor): content block getter command by @yoyoyohamapi in #10720
- feat(editor): is nothing selected command by @yoyoyohamapi in #10721
- test(editor): getFirstContentBlock & getLastContentBlock & isNothingSelected command by @yoyoyohamapi in #10757
- refactor(editor): getFirstContentBlock -> getFirstBlock & getLastContentBlock -> getLastBlock by @yoyoyohamapi in #10809
- test(infra): add check job to verify committed changes by @fengmk2 in #10829
- feat(core): add ai file context api by @akumatus in #10842
- chore(infra): update dev env template by @darkskygit in #10845
- fix(editor): worker loading in webpack env by @doodlewind in #10832
- feat(editor): block painter extension by @Saul-Mirone in #10847
- feat: improve context api by @darkskygit in #10812
- feat(nbstore): rename SyncStorage to DocSyncStorage by @EYHN in #10751
- chore(editor): hide tweakpane for turbo renderer by @doodlewind in #10846
- chore(server): enable copilot in doc service by @darkskygit in #10850
- fix(server): handle graphql bad input error by @fengmk2 in #10854
- chore(server): merge duplicate queries by @darkskygit in #10857
- fix(server): add mode property on mention doc input by @fengmk2 in #10853
- feat(core): poll context docs and files embedding status by @akumatus in #10843
- refactor(web): insert blew action by @yoyoyohamapi in #10722
- refactor(web): save as doc & save as block action by @yoyoyohamapi in #10833
- feat(core): add notification service by @EYHN in #10855
- feat(nbstore): add blob sync storage by @EYHN in #10752
- chore(server): enable r2 in doc service by @darkskygit in #10865
- fix(editor): type import in vite worker env by @doodlewind in #10856
- fix(editor): improve type declaration definition by @fundon in #10866
- feat(core): display embedding progress by @akumatus in #10871
- chore(editor): update default width of page block by @L-Sun in #10873
- refactor(editor): improve implementation of flat model by @Saul-Mirone in #10848
- refactor(editor): separate init logic of flat model by @Saul-Mirone in #10862
- refactor(editor): separate yjs subscribe logic of flat model by @Saul-Mirone in #10863
- refactor(editor): improve the implementation of flat proxy by @Saul-Mirone in #10872
- chore: bump up all non-major dependencies by @renovate in #10734
- fix(nbstore): fix download blob return too early by @EYHN in #10875
- chore: bump up all non-major dependencies by @renovate in #10877
- chore: bump up all non-major dependencies by @renovate in #10885
- feat(editor): support embed iframe block in edgeless by @donteatfriedrice in #10830
- fix(editor): minor ui bugs by @OlegDev1 in #10841
- feat(editor): unify block props api by @Saul-Mirone in #10888
- feat(editor): embed iframe loading status card in surface by @donteatfriedrice in #10868
- feat(editor): embed iframe error status card in surface by @donteatfriedrice in #10869
- feat(core): add transparent as default shape fill by @hackeresq in #10801
- fix(editor): should include node types by @Saul-Mirone in #10892
- fix(editor): missing export by @Saul-Mirone in #10893
- chore(editor): remove unused npm scripts by @Saul-Mirone in #10895
- fix(editor): repeat instantiation of std by @L-Sun in #10896
- fix(core): correct template setting item text by @CatsJuice in #10902
- feat(editor): enable block meta for code, image, list block by @Saul-Mirone in #10905
- feat(editor): support bookmark block convert to embed iframe block by @donteatfriedrice in #10907
- feat(editor): add block meta for table block by @Saul-Mirone in #10915
- docs(editor): add guide for extension usage by @doodlewind in #10911
- chore(server): data mocking and seeding by @forehalo in #10864
- test(editor): move blocksuite test to tests folder by @Saul-Mirone in #10917
- chore: bump up all non-major dependencies by @renovate in #10886
- fix(server): operation name record by @darkskygit in #10914
- build(server): no build seed script by @forehalo in #10923
- feat(nbstore): add debug log for incorrect writing by @EYHN in #10697
- feat(core): user service loading state by @EYHN in #10922
- fix(server): catch panic for context parsing by @darkskygit in #10912
- test(server): new test facilities by @forehalo in #10870
- refactor(server): saving past_due subscription in db by @forehalo in #10908
- feat(editor): insert a blank frame slash menu action by @L-Sun in #10899
- fix(core): chat-panel ui by @akumatus in #10928
- docs(editor): scaffolding docs generator by @Saul-Mirone in #10925
- feat(editor): insert a mindmap slash menu action by @L-Sun in #10930
- fix(editor): background of surface-ref disappeared when it was re-rendered by @L-Sun in #10931
- feat(server): tag and collection record for context by @darkskygit in #10926
- feat(editor): improve api for store, and add docs by @Saul-Mirone in #10941
- feat(server): add settings model by @fengmk2 in #10755
- feat(server): add settings resolver by @fengmk2 in #10797
- feat(server): display date in yyyy-MM-dd format on email by @fengmk2 in #10916
- feat(editor): support user provided role and role schema by @Saul-Mirone in #10939
- fix(core): add timeout params to graphql request options by @akumatus in #10919
- feat(electron): create recording through tray by @pengx17 in #10526
- feat(server): init gemini provider & transcript action by @darkskygit in #10731
- feat(core): improve text preview in editor settings by @OlegDev1 in #10070
- chore(editor): update icon color of link doc card by @L-Sun in #10943
- refactor(editor): use stable stringify for snapshots by @pengx17 in #10948
- docs(editor): improve documentation for store class by @Saul-Mirone in #10949
- feat(core): intilize integration module and basic readwise impl by @CatsJuice in #10726
- docs(editor): add doc for reactive types in store by @Saul-Mirone in #10958
- fix(server): convert 4xx status HttpError to UserFriendlyError by @fengmk2 in #10956
- feat(server): separate storage quota limit and blob size limit by @fengmk2 in #10957
- refactor(core): split the billing component into a separate file by @JimmFly in #10924
- chore(server): improve stream read by @darkskygit in #10960
- fix(editor): block can be null in widget by @Saul-Mirone in #10959
- feat(editor): support file column and member column for database block by @zzj3720 in #10932
- refactor(editor): edgeless element toolbar with new pattern by @fundon in #10511
- fix(editor): adapt font size in turbo renderer by @doodlewind in #10858
- refactor(editor): improve query methods in toolbar context by @fundon in #10714
- fix(editor): embed iframe types in toolbar config extension by @fundon in #10835
- refactor(editor): edgeless attacment toolbar config extension by @fundon in #10710
- fix(core): copy link should not have mode by @JimmFly in #10904
- refactor(editor): edgeless bookmark toolbar config extension by @fundon in #10711
- fix(core): allow unused blobs to preview in new tab by @pengx17 in #10874
- feat(editor): support add embed iframe block in mobile by @donteatfriedrice in #10955
- fix(editor): chat panel text render link preview base url by @pengx17 in #10791
- fix(editor): descendant elements are missing in edgelessToCanvas by @L-Sun in #10933
- fix(core): remove unexpected comma by @CatsJuice in #10984
- refactor(editor): edgeless external embed card toolbar config extension by @fundon in #10712
- feat(core): add tags and collections menu item by @akumatus in #10951
- feat(core): add keyboard event listener to ai popover by @akumatus in #10952
- feat(core): support tag search for ai chat by @akumatus in #10965
- perf(editor): improve resize frame rate by @doodlewind in #10967
- refactor(editor): edgeless html embed card toolbar config extension by @fundon in #10716
- refactor(server): remove unused randomDoc method by @fengmk2 in #10985
- chore: align vitest versions by @Saul-Mirone in #10990
- fix(editor): adjust creation position to avoid being blocked by banner by @fundon in #10992
- refactor(core): separate rendering logic for user and assistant messages by @yoyoyohamapi in #10909
- refactor(editor): move surface-ref toolbar to its block folder by @L-Sun in #10938
- refactor(editor): improve std structure by @Saul-Mirone in #10993
- refactor(server): improve workspace content retrieval from database by @fengmk2 in #10964
- refactor(editor): edgeless internal embed card toolbar config extension by @fundon in #10717
- refactor(editor): edgeless image toolbar config extension by @fundon in #10718
- refactor(editor): edgeless note toolbar config extension by @fundon in #10719
- refactor(editor): edgeless frame toolbar config extension by @fundon in #10769
- refactor(editor): edgeless group toolbar config extension by @fundon in #10787
- refactor(editor): edgeless brush toolbar config extension by @fundon in #10796
- chore(server): revert access control in sync module by @forehalo in #11011
- chore(server): change the embedding params by @Brooooooklyn in #10994
- refactor(editor): remove paragraph service by @Saul-Mirone in #11003
- refactor(editor): improve config extension by @Saul-Mirone in #11006
- refactor(editor): remove code block service by @Saul-Mirone in #11010
- feat(editor): add embed iframe provider miro by @donteatfriedrice in #10996
- chore: bump otel packages in a group by @forehalo in #11001
- feat(server): copilot job models by @darkskygit in #10732
- refactor(editor): edgeless connector toolbar config extension by @fundon in #10798
- refactor(editor): edgeless mindmap toolbar config extension by @fundon in #10803
- feat(server): record pending updates count to metrics by @fengmk2 in #10991
- feat: add ElementTransformManager for edgeless element basic manipulation by @doouding in #10824
- refactor(editor): remove legacy block service spec slots by @Saul-Mirone in #11013
- refactor(editor): remove empty block services by @Saul-Mirone in #11014
- refactor(editor): remove note block service by @Saul-Mirone in #11015
- chore(server): better internal error stack by @forehalo in #11009
- refactor(server): mail service by @forehalo in #10934
- refactor(server): e2e utilities by @forehalo in #11000
- feat(core): support collection search for ai chat by @akumatus in #10987
- refactor(editor): store should not rely on inline by @Saul-Mirone in #11017
- refactor(editor): improve edgeless editors by @Saul-Mirone in #11019
- refactor(editor): edgeless text toolbar config extension by @fundon in #10811
- refactor(editor): edgeless shape toolbar config extension by @fundon in #10821
- refactor(editor): edgeless toolbar quick connect action by @fundon in #10876
- refactor(editor): edgeless toolbar lock and unlock actions by @fundon in #10878
- refactor(editor): edgeless toolbar add group action and release group action by @fundon in #10879
- refactor(editor): edgeless toolbar add frame action by @fundon in #10880
- refactor(editor): edgeless toolbar alignment actions by @fundon in #10881
- refactor(editor): edgeless toolbar more actions by @fundon in #10882
- refactor(editor): edgeless toolbar linked doc custom config extension by @fundon in #10883
- refactor(core): edgeless toolbar ai action config extension by @fundon in #10884
- refactor(editor): fix edgeless toolbar theme by @fundon in #10897
- refactor(editor): edgeless toolbar chevron down icon by @fundon in #10898
- chore(editor): remove edgeless element toolbar by @fundon in #10900
- chore(editor): remove redundant edgeless-align-panel component by @fundon in #10972
- chore(editor): remove redundant card-style-panel component by @fundon in #10973
- feat(core): adjust guard service support loading state by @EYHN in #10989
- fix(component): correct notification card's border radius by @CatsJuice in #10802
- feat(editor): add embed iframe provider excalidraw by @donteatfriedrice in #10997
- feat(core): add notifications settings by @EYHN in #11004
- refactor(editor): move gfx frame title to widget by @Saul-Mirone in #11021
- fix(core): public user avatar missing by @EYHN in #11023
- feat(editor): add embed iframe provider google docs by @donteatfriedrice in #10998
- refactor(core): simplify chat panel user message rendering by @yoyoyohamapi in #10910
- refactor(editor): merge inline to std by @Saul-Mirone in #11025
- fix(editor): should not show toolbar when elements have been deleted by @fundon in #11026
- refactor(core): reorganize chat-panel components by @yoyoyohamapi in #10935
- refactor(core): ai message style by @yoyoyohamapi in #10950
- feat(core): document search shows up to three results by @akumatus in #11002
- feat(server): audio transcription by @darkskygit in #10733
- feat(core): add no access to share menu by @JimmFly in #10927
- fix(editor): some bugs of attachment column by @zzj3720 in #11031
- chore(server): allow adjust selfhost team quantity by @forehalo in #11022
- feat(core): hybird search for docs, tags and collections by @akumatus in #11008
- refactor(editor): group and expose parameters of createButtonPopper by @L-Sun in #10999
- refactor(editor): move embed iframe config and service extension to shared by @donteatfriedrice in #11029
- feat(editor): support converting inline link to embed iframe block by @donteatfriedrice in #11030
- feat(server): send mention email by @fengmk2 in #10859
- chore(editor): remove redundant line styles components by @fundon in #10980
- feat(editor): add block meta for more blocks by @Saul-Mirone in #11034
- feat(server): impl context model by @darkskygit in #11027
- feat(editor): std inline extensions by @Saul-Mirone in #11038
- refactor(editor): align rich text util apis by @Saul-Mirone in #11039
- fix(editor): some bugs of member column by @zzj3720 in #11033
- feat(editor): audio block by @pengx17 in #10947
- feat(native): mix the input and output audio by @Brooooooklyn in #11037
Full Changelog: v0.21.0-canary.1...v0.21.0-canary.2