New Features
- Journal Document: With our new Journal functionality, you can keep track of your daily thoughts, ideas, and experiences. The feature can be found in left sidebar, and you can maintain the same document with team members in every workspace, keeping all your daily entries organized in one place.
Updated Features
- Self Host: We refactored the self-hosting process. Now, you can deploy AFFiNE to everywhere you want, and the document is on the way.
- Usage Limit: We upgraded usage limitation, for AFFiNE business.
Fixed Issues
- Workspace not found after import by @EYHN in #5571
- Reserve space for the editor scrollbar by @JimmFly in #5625
- bidi links rendering issue by @pengx17 in #5707
- path issue on Windows by @Brooooooklyn in #5725
Editor
Features
- feat(edgeless): optimize note slicer toeverything/blocksuite#6131 @donteatfriedrice
- feat: add setup function for spec toeverything/blocksuite#6122 @Saul-Mirone
- feat(presets): add cover page for AI slides toeverything/blocksuite#6105 @zzj3720
- feat(page): support pasting files as attachment toeverything/blocksuite#6107 @fourdim
- feat(presets): support Ask AI in format-bar toeverything/blocksuite#5970 @zzj3720
- feat: support edgeless-attachment & card views toeverything/blocksuite#6069 @AyushAgrawal-A2
- feat: update adapter toeverything/blocksuite#6090 @donteatfriedrice
- feat(presets): add outline notice toeverything/blocksuite#6067 @donteatfriedrice
- feat: support per-block version field and version mismatch fallback toeverything/blocksuite#6065 @Saul-Mirone
- feat(edgeless): new note slicer toeverything/blocksuite#6029 @donteatfriedrice
- feat(edgeless): add mouse styles on note, image, embed-* & bookmark block scaling toeverything/blocksuite#6033 @AyushAgrawal-A2
- feat(page): code clipboard toeverything/blocksuite#6030 @fourdim
- feat(inline): support for relative position correction in collaborative scenarios toeverything/blocksuite#6032 @Flrande
- feat: export set link preview / image proxy api & update docs toeverything/blocksuite#5969 @darkskygit
- feat: plaintext adapter toeverything/blocksuite#6017 @fourdim
- feat(edgeless): support note scaling on shift + corner resize toeverything/blocksuite#6015 @AyushAgrawal-A2
- feat: change note visibility toeverything/blocksuite#5994 @donteatfriedrice
- feat(presets): support bi-directional link panel toeverything/blocksuite#6010 @regischen
- feat(page): support for parsing bookmarks as links in Markdown toeverything/blocksuite#6011 @lawvs
- feat(page): create linked doc from block selection toeverything/blocksuite#5998 @AyushAgrawal-A2
- feat(edgeless): show a arrow button when a note was clipped toeverything/blocksuite#5997 @AyushAgrawal-A2
- feat: support embed-figma block type toeverything/blocksuite#5988 @AyushAgrawal-A2
- feat: support config reference-node externally toeverything/blocksuite#5993 @Flrande
- feat(edgeless): support drag to add note toeverything/blocksuite#5995 @donteatfriedrice
- feat: embed-linked-page card views and toolbar toeverything/blocksuite#5955 @AyushAgrawal-A2
- feat: allow change link preview endpoint toeverything/blocksuite#5963 @darkskygit
- feat: embed-youtube, embed-github, new-bookmark card views and toolbar toeverything/blocksuite#5927 @AyushAgrawal-A2
- feat: support files dropped callback toeverything/blocksuite#5952 @regischen
- feat: expose image proxy url setter toeverything/blocksuite#5949 @fourdim
- feat(playground): add pages panel toeverything/blocksuite#5947 @zzj3720
- feat: expose embed block helper apis toeverything/blocksuite#5943 @doodlewind
- feat(presets): improve chat mode copilot toeverything/blocksuite#5918 @zzj3720
- feat: add cover size of linked page card toeverything/blocksuite#5917 @Saul-Mirone
- feat(presets): support adapting multiple AI services toeverything/blocksuite#5862 @zzj3720
- feat: support add custom inline nodes toeverything/blocksuite#5909 @Flrande
- feat(page): general html import toeverything/blocksuite#5905 @fourdim
- feat: add abstract cover for linked page card view toeverything/blocksuite#5911 @Saul-Mirone
- feat(edgeless): add surface ref service toeverything/blocksuite#5904 @Saul-Mirone
- feat: add print formatter for the block model toeverything/blocksuite#5900 @doouding
- feat(edgeless): add more templates toeverything/blocksuite#5888 @doouding
- feat: scaffolding embed linked page toeverything/blocksuite#5889 @Saul-Mirone
Bugfix
- fix(page): linked page/web toolbar should not be displayed when the page is in read-only mode toeverything/blocksuite#6141 @AyushAgrawal-A2
- fix: drag-handle note-scale in page mode toeverything/blocksuite#6140 @AyushAgrawal-A2
- fix: image-block error/loading state & captions in edgeless toeverything/blocksuite#6139 @AyushAgrawal-A2
- fix(page): link disapper when paste toeverything/blocksuite#6135 @regischen
- fix(page): snapshot export assets rename toeverything/blocksuite#6132 @fourdim
- fix(edgeless): should rerender when new element was added or removed toeverything/blocksuite#6130 @doouding
- fix(presets): no frame preview in sidebar toeverything/blocksuite#6124 @donteatfriedrice
- fix(edgeless): don't record last props in session toeverything/blocksuite#6128 @regischen
- fix: surface ref should not contenteditable toeverything/blocksuite#6126 @Flrande
- fix(inline): event source should not contenteditable when in readonly toeverything/blocksuite#6127 @Flrande
- fix: bookmark should show caption toeverything/blocksuite#6119 @AyushAgrawal-A2
- fix(edgeless): prevent native selection on drag select in edgeless toeverything/blocksuite#6117 @AyushAgrawal-A2
- fix: group paste bug toeverything/blocksuite#6118 @regischen
- fix: bidirectional link panel bug toeverything/blocksuite#6116 @regischen
- fix(edgeless): remove redundant menu divider toeverything/blocksuite#6114 @donteatfriedrice
- fix: list number should not be contenteditable toeverything/blocksuite#6113 @Flrande
- fix(playground): bring snapshot import back toeverything/blocksuite#6111 @fourdim
- fix(store): extension name toeverything/blocksuite#6110 @fourdim
- fix(edgeless): prevent file drop indicator on block elements in surface toeverything/blocksuite#6099 @AyushAgrawal-A2
- fix(page): add attachment transformer toeverything/blocksuite#6109 @fourdim
- fix: resolve loading state after queryUrlData fails toeverything/blocksuite#6102 @AyushAgrawal-A2
- fix: card banner images should not be draggable toeverything/blocksuite#6098 @AyushAgrawal-A2
- fix: show github status on update toeverything/blocksuite#6097 @AyushAgrawal-A2
- fix: embed-* blocks should not be contentEditable toeverything/blocksuite#6100 @AyushAgrawal-A2
- fix(page): should not remove empty lines when canceling an action toeverything/blocksuite#6104 @lawvs
- fix(edgeless): show curve icon on resize handle hover before scaling starts toeverything/blocksuite#6095 @AyushAgrawal-A2
- fix(edgeless): drag to add note should support collapse toeverything/blocksuite#6093 @donteatfriedrice
- fix: bookmark and image block should not contenteditable toeverything/blocksuite#6089 @Flrande
- fix: line number container in code-block should not contenteditable toeverything/blocksuite#6085 @Flrande
- fix: unexpected cursor position after clicking page outside toeverything/blocksuite#6087 @Flrande
- fix(edgeless): bugs of connector and block toeverything/blocksuite#6088 @doouding
- fix(edgeless): should focus at note after creating it toeverything/blocksuite#6091 @donteatfriedrice
- fix(edgeless): should generate connectors' path once when loading connector middleware toeverything/blocksuite#6084 @doouding
- fix: card-view linked page display in backlink toeverything/blocksuite#6081 @regischen
- fix: event scope source type toeverything/blocksuite#6074 @Saul-Mirone
- fix: should not show placeholder when composing toeverything/blocksuite#6076 @Flrande
- fix(page): export png position shift toeverything/blocksuite#6075 @donteatfriedrice
- fix: attachment block should not contenteditable toeverything/blocksuite#6064 @Flrande
- fix(edgeless): should update index label when note order changed toeverything/blocksuite#6060 @donteatfriedrice
- fix: don't delete image when deleting in caption toeverything/blocksuite#6059 @zqran
- fix: on hover logic and css selector on icon toeverything/blocksuite#6050 @AyushAgrawal-A2
- fix(page): show only one toolbar at a time toeverything/blocksuite#6037 @AyushAgrawal-A2
- fix: remove link panel from affine-doc-editor toeverything/blocksuite#6031 @regischen
- fix: remove empty banner placeholder in linked doc card toeverything/blocksuite#6024 @AyushAgrawal-A2
- fix: add .js postfix toeverything/blocksuite#6026 @AyushAgrawal-A2
- fix: add .js postfix toeverything/blocksuite#6025 @regischen
- fix: proportional scaling for linked card horizontal style toeverything/blocksuite#6023 @AyushAgrawal-A2
- fix(edgeless): edgeless only index label position shift toeverything/blocksuite#6022 @donteatfriedrice
- fix: reference-node sometimes failed to get inline-editor toeverything/blocksuite#6021 @Flrande
- fix(edgeless): enable double click on cards in surface toeverything/blocksuite#6009 @AyushAgrawal-A2
- fix(page): linked page should show new title toeverything/blocksuite#6008 @AyushAgrawal-A2
- fix: input overflow menu toeverything/blocksuite#6005 @nawbc
- fix: add hover/select status of links in all card view and embed view toeverything/blocksuite#6003 @AyushAgrawal-A2
- fix(page): empty clipboard because of transient activation toeverything/blocksuite#6000 @fourdim
- fix(edgeless): wrong transparent shape overlay toeverything/blocksuite#5990 @donteatfriedrice
- fix(page): show backlink for affine:embed-linked-doc toeverything/blocksuite#5986 @AyushAgrawal-A2
- fix(edgeless): embed-card toolbar incorrect card styles toeverything/blocksuite#5987 @AyushAgrawal-A2
- fix(edgeless): incorrect dragStart in surface toeverything/blocksuite#5985 @AyushAgrawal-A2
- fix: dragPreview / dropIndicator / dragEndPos viewport offsets toeverything/blocksuite#5980 @AyushAgrawal-A2
- fix: treat embed-* blocks without iframe as card view toeverything/blocksuite#5984 @AyushAgrawal-A2
- fix: embed-card-create-portal - remove block specific url validation toeverything/blocksuite#5981 @AyushAgrawal-A2
- fix(page): dragStart for bookmark / embed / image block toeverything/blocksuite#5979 @AyushAgrawal-A2
- fix: unexpected spaces in the inline node toeverything/blocksuite#5982 @Flrande
- fix: cursor pointer on hover over card url toeverything/blocksuite#5975 @AyushAgrawal-A2
- fix: title & description on generic link card when fetch failed toeverything/blocksuite#5974 @AyushAgrawal-A2
- fix: change title/tooltip/description of entry points for adding link toeverything/blocksuite#5971 @AyushAgrawal-A2
- fix(page): change text attribute on converting inline-link to card toeverything/blocksuite#5968 @AyushAgrawal-A2
- fix: change video embed card dimensions toeverything/blocksuite#5967 @AyushAgrawal-A2
- fix(page): export long page to png toeverything/blocksuite#5973 @donteatfriedrice
- fix: import use .js postfix toeverything/blocksuite#5965 @regischen
- fix(page): merge delta when exporting code toeverything/blocksuite#5964 @fourdim
- fix(page): enter in title move cursor toeverything/blocksuite#5962 @regischen
- fix(edgeless): use default value when editsession parse error toeverything/blocksuite#5959 @regischen
- fix(edgeless): clear selection on pressing esc toeverything/blocksuite#5958 @water-in-stone
- fix(edgeless): add radius property to shape last props schema toeverything/blocksuite#5951 @regischen
- fix(page): update heading font weight toeverything/blocksuite#5946 @AyushAgrawal-A2
- fix: export png error and rich text format confusion toeverything/blocksuite#5945 @donteatfriedrice
- fix(page): add clipboard fallbacks toeverything/blocksuite#5944 @fourdim
- fix(edgeless): auto-complete panel position toeverything/blocksuite#5936 @donteatfriedrice
- fix(page): show whitespace when wrap code toeverything/blocksuite#5932 @lawvs
- fix(page): onCut should delete blocks between fromElement and toElement toeverything/blocksuite#5930 @donteatfriedrice
- fix(edgeless): change paragraph block placeholder text color toeverything/blocksuite#5929 @AyushAgrawal-A2
- fix(playground): editor host undefined toeverything/blocksuite#5926 @donteatfriedrice
- fix(edgeless): inserted template should generate new index toeverything/blocksuite#5921 @doouding
- fix(presets): llama2 chat image support toeverything/blocksuite#5923 @zzj3720
- fix: doc dragging area in multiple editors toeverything/blocksuite#5915 @Saul-Mirone
- fix: drag handle error on using standalone host toeverything/blocksuite#5914 @doodlewind
- fix: should not relay on business logic in block std toeverything/blocksuite#5913 @Saul-Mirone
- fix(edgeless): note background lost when copy as png toeverything/blocksuite#5907 @donteatfriedrice
- fix: export more types from store toeverything/blocksuite#5903 @Saul-Mirone
- fix: store exports toeverything/blocksuite#5902 @Saul-Mirone
- fix(edgeless): console error on block delete toeverything/blocksuite#5898 @AyushAgrawal-A2
- fix: complete draghandle fixme toeverything/blocksuite#5895 @AyushAgrawal-A2
- fix(page): tag value retention toeverything/blocksuite#5892 @umar23faiz
- fix(page): unexpected line wrap in code block toeverything/blocksuite#5891 @lawvs
AFFiNC Commits
What's Changed
- feat: adapted user quota for member api by @darkskygit in #5521
- feat: add unlimited workspace support by @darkskygit in #5523
- feat: support self-host docker build by @Brooooooklyn in #5506
- fix(core): workspace not found after import by @EYHN in #5571
- feat: blob size limit with quota by @darkskygit in #5524
- fix(electron): remove cors headers hack by @pengx17 in #5581
- fix: return empty resp if user not exists in login preflight by @darkskygit in #5588
- fix(server): node imports order by @forehalo in #5583
- fix: add field polyfill for old feature by @darkskygit in #5586
- fix: improve self-host convenience by @forehalo in #5582
- fix(server): standalone early access users detection by @forehalo in #5601
- feat: update nx config by @darkskygit in #5597
- feat(core): get cloud workspace usage limit from user quota by @JimmFly in #5518
- fix(component): add back lottie color hack for dark mode by @pengx17 in #5576
- feat: add query quota of workspace by @darkskygit in #5603
- feat: new free plan by @darkskygit in #5604
- feat(core): make password sigin default if user has one by @forehalo in #5577
- feat(component): new week-date-picker component by @CatsJuice in #5477
- feat(component): new inline-edit component by @CatsJuice in #5517
- fix(core): remove hash prefix from cdn path by @Brooooooklyn in #5509
- fix(workspace): check session before get workspaces by @EYHN in #5621
- fix(server): should not listen on user defined host by @forehalo in #5622
- fix(server): selfhost issues by @Brooooooklyn in #5623
- feat(core): add document title for shared page by @CatsJuice in #5596
- feat(core): journal hooks and page header layout by @CatsJuice in #5549
- feat(core): experimental features ui by @pengx17 in #5338
- feat: use nx cloud runner by @darkskygit in #5626
- feat(core): journal extension loader by @CatsJuice in #5557
- feat(core): journal sidebar dater-picker navigation by @CatsJuice in #5558
- fix(core): reserve space for the editor scrollbar by @JimmFly in #5625
- feat(core): add daily count for journal sidebar by @CatsJuice in #5559
- feat(core): journal sidebar conflict block by @CatsJuice in #5574
- feat(core): add experimental flag for journal by @CatsJuice in #5578
- feat(core): add journal entrance for app-sidebar by @CatsJuice in #5579
- feat: upgrade electron and playwright by @Brooooooklyn in #5632
- feat: skip update quota if same as latest activated quota by @darkskygit in #5631
- fix(server): missing google oauth in auth providers by @Brooooooklyn in #5656
- feat(core): page info adapter for journal by @pengx17 in #5561
- feat(component): react wrapper for blocksuite editor by @pengx17 in #5606
- feat(core): adopt editor features for journal by @pengx17 in #5638
- fix(component): adjust the style of Switch to match the design by @CatsJuice in #5636
- fix: remove incorrect commit by @pengx17 in #5660
- fix(core): properties adapter reactivitiy issue by @pengx17 in #5661
- fix(core): correct typo in onboarding 'get start' by @CatsJuice in #5666
- fix(server): del staled update count cache if unmatch by @forehalo in #5674
- feat: use custom image/preview link by @darkskygit in #5584
- fix(core): should set lang when locale changes by @pengx17 in #5679
- fix: create page button offset issue on non-windows desktop app by @pengx17 in #5669
- fix(core): workspace feature should be workspace specific by @pengx17 in #5677
- fix(server): disable payment module requirements temporarily by @forehalo in #5683
- feat(workspace): add blob and storage limit by @JimmFly in #5535
- fix(server): add metrics missing attributes by @forehalo in #5682
- feat(core): adjust member order by @JimmFly in #5685
- fix(core): change journal header week-date-picker's max-width by @CatsJuice in #5688
- fix(core): modify journal page title today style, add weekday tag by @CatsJuice in #5687
- feat(core): page info ui by @pengx17 in #5657
- fix: consume blob stream correctly by @darkskygit in #5706
- fix(core): bidi links rendering issue by @pengx17 in #5707
- feat(component): optimize week-date-picker keyboard navigation by @CatsJuice in #5684
- fix: add padding between editor and link panel by @regischen in #5713
- feat(core): add collection and tag filters to all pages by @JimmFly in #5567
- fix(core): journal title's day tag may be invalid by @CatsJuice in #5703
- feat: impl unlimited features by @darkskygit in #5659
- fix: path issue on Windows by @Brooooooklyn in #5725
- feat: add business blob limit by @darkskygit in #5734
Full Changelog: v0.11.3...v0.12.0-beta.3