BREAKING CHANGES
The old image name ghcr.io/toeverything/affine-graphql:stable
is deprecated
use ghcr.io/toeverything/affine:stable
or ghcr.io/toeverything/affine-graphql:0.23.0
to a specific version
🚀 Features
- core:
- Adjust the layout, style, and structure of the AI chat input - by @CatsJuice in #12828 (2366c)
- Enable socket cors - by @EYHN and @fengmk2 in #12823 (c1691)
- Linked doc visiblity setting and new sidebar layout - by @CatsJuice in #12836 (dfe4c)
- Moving in affine-reader doc parsers - by @pengx17 in #12840 (f4c20)
- Allow importing affine file within import dialog - by @pengx17 in #12850 (e0462)
- Add stream object api - by @akumatus and @darkskygit in #12841 (6169c)
- Add ai web-search and web-crawl tools ui components - by @akumatus in #12854 (3886b)
- Enable quick select for trash page - by @CatsJuice in #12878 (3a124)
- Ai tools css style adjustment - by @akumatus in #12891 (12fce)
- Limit visible doc inline stack tags - by @CatsJuice in #12647 (8754d)
- Support objects render in ai chat block - by @akumatus in #12906 (63de2)
- Use cloud indexer for search - by @EYHN in #12899 (aa487)
- Add ai playground feature flag and remove model switch feature flag - by @akumatus in #12934 (2171d)
- Add ai tool call error type and ui - by @akumatus in #12941 (a7185)
- Add allowGuestDemoWorkspace flag to force login - by @NorkzYT in #12779 (82b3c)
- Remove chat-panel component's dependency on doc - by @akumatus in #12975 (6e948)
- Add missing affine version header to server config - by @EYHN in #12986 (3d12b)
- Add a resizeable split view for ai chat - by @CatsJuice in #12896 (a5944)
- Comment panel - by @pengx17 in #12989 (a21f1)
- Make editor host optional - by @akumatus in #12990 (3e035)
- Quick search support search locally - by @EYHN in #12987 (4641b)
- Bettery save mode - by @EYHN in #12996 (b2bf5)
- Support mentions in comments - by @pengx17 in #13000 (532ea)
- Support ai chat add, pin and unpin - by @akumatus in #13002 (134e6)
- Support compose a doc tool - by @pengx17 in #13013 (cfc10)
- Code artifact tool - by @pengx17 in #13015 (8ed7d)
- Add an independent AI panel - by @CatsJuice in #13004 (64fb3)
- Add ai-chat-toolbar for independent chat - by @CatsJuice in #13021 (2b0b2)
- Support ai recent session history - by @akumatus in #13025 (24f11)
- Add comment notification settings - by @fengmk2 in #13029 (29608)
- Markdown-diff & patch apply - by @yoyoyohamapi in #12844 (c882a)
- Support open doc in ai session history - by @akumatus and @fengmk2 in #13035 (2f9a9)
- Auto expand workbench sidebar when opening ai preview panel - by @CatsJuice in #13058 (563a1)
- Remove auto-scroll when chatting and display down-arrow instead - by @CatsJuice in #13066 (f78e0)
- Reply actions - by @pengx17 in #13071 (0833d)
- Hide model switch menu - by @akumatus in #13070 (ce679)
- Comment with attachment uploads - by @pengx17 in #13089 (83970)
- Add ai history loading placeholder - by @akumatus in #13092 (d5c95)
- Show ai-island and navigate to chat page if not available in sidebar - by @CatsJuice in #13085 (e04d4)
- Completely remove the dependence on EditorHost - by @akumatus in #13110 (d10e5)
- Support normal attachments - by @pengx17 in #13112 (d4c90)
- Add onOpenDoc handler for AFFiNE Intelligence page - by @akumatus in #13118 (1f87c)
- Remove scrollable-text-renderer's dependency on editor host - by @akumatus in #13123 (11a9e)
- Disable pin chat while generating AI answers - by @akumatus in #13131 (fe002)
- Apply model tracking - by @yoyoyohamapi in #13128 (6b7d1)
- Clear all notifications - by @EYHN in #13144 (d98b4)
- Render session title in ai session history - by @akumatus in #13147 (e0f88)
- Restore pinned chat for independent chat - by @CatsJuice in #13154 (2dacb)
- Update ai add context button ui - by @akumatus and @fengmk2 in #13172 (93f13)
- Show server name when delete account - by @EYHN in #13175 (33f64)
- Add basic ui for doc search related tool calling - by @CatsJuice in #13176 (3dbdb)
- Ai intelligence track - by @akumatus in #13187 (65453)
- Do not show AI actions in history - by @akumatus in #13198 (b2c09)
- Display doc title with display-config for semantic result - by @CatsJuice and @akumatus in #13194 (3948b)
- Remount ai-chat-content when session changed - by @CatsJuice in #13200 (de8fe)
- editor:
- By default render code iframe for html preview - by @pengx17 in #12848 (ce951)
- Support connector dom renderer - by @doodlewind in #12505 (76568)
- Streamline cell editing and navigation with improved keyboard support - by @NorkzYT in #12770 (a8c18)
- Use affine container url in preview - by @EYHN in #12919 (320d2)
- Allow embedding any iframes - by @pengx17 in #12895 (f80b6)
- Comment extension - by @L-Sun in #12948 (8ce85)
- Block comment extension - by @L-Sun in #12980 (d768a)
- Resolve unassociated comments on init - by @L-Sun in #13008 (55827)
- Comment for edgeless element - by @L-Sun in #13098 (1d865)
- Can highlight resolved comment - by @L-Sun in #13122 (1fe07)
- electron:
- ios:
- mobile:
- Add delete operation for detail page menu - by @CatsJuice in #12900 (24b20)
- native:
- nbstore:
- server:
- Search blob names from indexer - by @fengmk2 in #12822 (c0c81)
- Embedding search tool - by @darkskygit in #12810 (cdaaa)
- Parse ydoc to markdown - by @fengmk2 in #12812 (73402)
- Parse ydoc to ai editable markdown format - by @fengmk2 in #12846 (d80bf)
- Allow chat session dangling & pin session support - by @darkskygit in #12849 (bd049)
- Get recently updated docs - by @fengmk2 in #12861 (ad572)
- Add pinned & action filter for session query - by @darkskygit in #12876 (c7113)
- Search docs by keywork from indexer - by @fengmk2 in #12863 (62d74)
- Add doc keyword search tool - by @fengmk2 in #12837 (e9781)
- Add search docs by keyword gql api - by @fengmk2 in #12866 (011f9)
- Improve session modify - by @darkskygit in #12928 (e32c9)
- Allow multiple session attach to doc - by @darkskygit in #12933 (06f27)
- Support multiple hosts in one deployment - by @fengmk2 in #12950 (dc555)
- Remove context prefetch & integrate context search - by @darkskygit in #12956 (e6f91)
- Faster reranking based on confidence - by @darkskygit in #12957 (9b881)
- Comment model - by @fengmk2 in #12760 (e2a79)
- Add morph doc edit tool - by @darkskygit in #12789 (1c1da)
- Add comment-attachment model - by @fengmk2 in #12909 (e7739)
- Add read doc tool - by @fengmk2 in #12811 (5599c)
- Add comment-attachment storage - by @fengmk2 in #12911 (e8bc8)
- Add typed list session gql - by @darkskygit in #12979 (0326d)
- Comment service and resolver - by @fengmk2 in #12761 (2aa5c)
- Support comment notification type - by @fengmk2 in #12924 (7ed72)
- Send comment notifications - by @fengmk2 in #12925 (a2810)
- Deprecate blob id provide by client - by @darkskygit in #12991 (2ae3c)
- Expose reuse latest chat - by @darkskygit in #12999 (2ea3c)
- Add Blob Model - by @fengmk2 in #12894 (06253)
- Edit tool intent collect - by @darkskygit in #12998 (53968)
- Use new content reader - by @darkskygit in #13007 (2b7a8)
- Update session after doc deletion - by @darkskygit in #13028 (b9c4d)
- Update tool descriptions and AI prompt - by @hwangdev97 in #13032 (a485a)
- Add apple-itunes-app meta tag on shage page - by @fengmk2 in #13065 (7dc10)
- Support read all notifications - by @fengmk2 in #13083 (db79c)
- Paginated list endpoint - by @darkskygit in #13026 (6dac9)
- Use faster model in ci test - by @darkskygit in #13038 (c4c11)
- Summary tools - by @darkskygit in #13133 (ad5a1)
- Export title and summary on doc resolver - by @fengmk2 in #13139 (f655e)
- Add process memory usage metrics - by @fengmk2 in #13148 (af9c4)
- Add doc meta for semantic search - by @darkskygit in #13174 (847ef)
- Add cron job for session cleanup - by @darkskygit in #13181 (b6187)
- Add generate title cron resolver - by @darkskygit in #13189 (9a3e4)
- Allow fork session to other doc - by @darkskygit in #13199 (bcf6b)
🐞 Bug Fixes
- 🚑 compiler issue on newer syntax - by @Lakr233 in #12974 (2be3f)
- 🚑 build on Xcode 16.2 - by @Lakr233 in #12981 (6a04f)
- 🚑 compiler issue - by @Lakr233 in #13114 (ecea7)
- Hide embedding status tip if embedding completed - by @yoyoyohamapi in #13156 (58dc5)
- Ai artifact preview styles - by @pengx17 in #13203 (7cff8)
- android:
- core:
- Iframe rendering issue for youtube videos - by @pengx17 in #12880 (da980)
- Adjust new doc list filter style - by @CatsJuice in #12629 (ea92e)
- Show toolbar when quick select doc explorer - by @CatsJuice in #12601 (dd1b8)
- Remove list view doc preview skeleton - by @CatsJuice in #12621 (4507c)
- Persist sidebar open state and width to prevent flash on load - by @NorkzYT in #12743 (74106)
- Center align user avatar in doc property - by @CatsJuice in #12908 (616e7)
- Adjust workspace selector style in import page - by @CatsJuice in #12916 (6813d)
- Correct workspace selector position in sidebar fallback - by @CatsJuice in #12945 (5c45c)
- Persist right sidebar open state correctly for desktop - by @CatsJuice in #12953 (ad306)
- Ai make it real ci timeout - by @akumatus and @darkskygit in #12954 (a4680)
- Fix ai input style in chat block and simply img rendering - by @CatsJuice in #12943 (32787)
- Fix client crash - by @EYHN in #12966 (f46d2)
- Adjust ai chat tool calling style - by @CatsJuice in #12985 (423c5)
- Dedicated link config for comments - by @pengx17 in #13003 (81f54)
- Some artifact styles - by @pengx17 in #13020 (fe8cb)
- Fix migrate filter list error - by @EYHN in #13022 (f961d)
- Re-layout ai-chat-content to display preview panel - by @CatsJuice in #13030 (882d0)
- List comment changes usage - by @pengx17 and @fengmk2 in #13036 (1452f)
- Some style issues - by @pengx17 in #13039 (ec510)
- Timezone aware datetime display - by @yifeiyin in #13055 (2df4a)
- Some ux issues related to comments - by @pengx17 in #13057 (0d2fb)
- Border color for embed-linked-doc-block and others - by @yifeiyin in #13056 (0be63)
- Should not be able to comment with empty content - by @pengx17 in #13061 (90b2b)
- Comment mention filters - by @pengx17 in #13062 (6175b)
- Opt doc edit prompt - by @yoyoyohamapi in #13054 (5a81c)
- Chat history not show in independent page - by @CatsJuice in #13069 (f8be0)
- Should be able to unresolve a resolved comment - by @pengx17 in #13078 (81014)
- Show actions only if docId equals session.docId - by @akumatus in #13080 (afb39)
- Shared mode permission check - by @EYHN in #13087 (f6a45)
- Insert diff not displayed after the expected block - by @yoyoyohamapi in #13086 (8c49a)
- Ai tool calling explanation - by @akumatus in #13097 (3226a)
- Long words will overflow in chat panel - by @CatsJuice in #13101 (81a76)
- Some editor issues - by @pengx17 in #13096 (072ff)
- Apply model ui - by @yoyoyohamapi in #13084 (3cc33)
- Avoid shared page to fetch workspace info - by @EYHN in #13104 (ce7ff)
- Some ux enhancements on comments - by @pengx17 in #13105 (a5027)
- Should not be able to commit comments when uploading images - by @pengx17 in #13108 (9071c)
- Should show delete permanently for trash page multi-select - by @CatsJuice in #13111 (dace1)
- Should use sonnet 4 for make it real - by @pengx17 in #13106 (f839e)
- Code block artifact styles - by @pengx17 in #13116 (38537)
- Old ai messages not cleared before retrying - by @akumatus in #13119 (89958)
- Some comment editor ux enhancements - by @pengx17 in #13126 (ed6fd)
- Disable comment in local workspace - by @L-Sun in #13124 (5b027)
- Add missing tooltip effect for independent chat - by @CatsJuice in #13127 (0f9b9)
- Cannot download comment files - by @pengx17 in #13136 (7d527)
- Doc reference error in ai answer - by @akumatus in #13141 (9d5c7)
- Empty style for comment - by @pengx17 in #13142 (46901)
- Ensure new chat when entering chat page - by @CatsJuice in #13146 (8b579)
- Load chat history content correctly - by @CatsJuice in #13149 (aba0a)
- Remove scroller visiblility test - by @yoyoyohamapi in #13159 (b23f3)
- Artifact rendering issue in standalone ai chat panel - by @pengx17 in #13164 (fef4a)
- Some artifact tools styling - by @pengx17 and @fengmk2 in #13152 (d65a7)
- Artifact rendering issue in standalone ai chat panel - by @pengx17 in #13166 (9cda6)
- Avoid infinite sign in with selfhost - by @EYHN in #13169 (0e8ff)
- Update code artifact tool prompt - by @pengx17 in #13171 (aee7a)
- Hide footer actions for independent ai chat - by @CatsJuice in #13177 (6f87c)
- Right sidebar switching not work after switching workspace - by @CatsJuice in #13179 (0d414)
- Artifact panel theme - by @pengx17 in #13186 (4d7d8)
- Prevent creating session every time in chat page - by @CatsJuice in #13190 (ebefb)
- Loading spinner color issue - by @pengx17 in #13192 (d9e8c)
- Disable creating linked doc in sidebar when show linked is off - by @CatsJuice in #13191 (7b536)
- Comment empty style issue - by @pengx17 in #13208 (8ec4b)
- Electron storage sync - by @pengx17 in #13213 (2a8f1)
- editor:
- FilterableList - prevent undefined item selection in keyboard nav - by @golok727 in #12818 (1fb68)
- Unexpectedly update edgeless note in readonly mode - by @L-Sun in #12839 (ba718)
- Middle click open new tab - by @L-Sun in #12902 (1686b)
- Improve performence of link card render - by @L-Sun in #12937 (a6edb)
- Peekable conditions for edgeless note block - by @pengx17 in #12969 (03aeb)
- Comment style and creation issues - by @L-Sun in #13006 (7879e)
- Time issues of comment initialization - by @L-Sun in #13031 (eb56a)
- Adjust highlght style of comment and comment editor flickering - by @L-Sun in #13040 (eb965)
- Keyboard can not open after closing input modal - by @L-Sun in #13041 (6f9c1)
- Focus comment editor after click its bottom area - by @L-Sun in #13060 (75f2e)
- Centerize iframe modal in mobile - by @L-Sun in #13073 (339bf)
- Can not create surface block comment - by @L-Sun in #13115 (39abd)
- Commented heading style - by @L-Sun in #13140 (46a9d)
- Missing viewport selector in editor setting - by @L-Sun in #13168 (15726)
- Use inline-block style for inline comment - by @L-Sun in #13204 (fbd6e)
- Memory leak caused by missing unsubscription from autoUpdate - by @CatsJuice in #13205 (36bd8)
- electron:
- ios:
- mobile:
- Change mobile docs display config and prevent opening doc when close menu - by @CatsJuice in #12903 (d7430)
- server:
- Should save end date of subscription in db - by @forehalo in #12814 (a1abb)
- Ci nextest - by @darkskygit in #12851 (31e65)
- Session unique index conflict - by @darkskygit in #12865 (dfaf6)
- Set empty embedding on empty doc - by @fengmk2 in #12857 (5623d)
- Don't use global AFFiNELogger - by @fengmk2 in #12871 (5a87d)
- Save snapshot and delete updates in the same transaction - by @fengmk2 in #12856 (c6262)
- Session update check - by @darkskygit in #12877 (13b64)
- Convert date and timestamp value to Date instance - by @fengmk2 in #12867 (bebe4)
- Use job queue instead event on doc indexing changes - by @fengmk2 in #12893 (862a5)
- Should check doc public attribute when snapshot not exists - by @fengmk2 in #12913 (f0671)
- Copilot permission check - by @darkskygit in #12923 (07ec4)
- Allow fork empty session in playground - by @darkskygit in #12940 (5e193)
- Disable Apple oauth on client version < 0.22.0 - by @fengmk2 in #12984 (facf6)
- Model mistakenly thinks the edit failed - by @darkskygit in #12997 (4fd42)
- Incorrect list condition - by @darkskygit in #13005 (41524)
- Send comment mention to comment author by default - by @fengmk2 in #13018 (1b9ed)
- Abort behavior in sse stream - by @darkskygit in #12211 (5a49d)
- Allow MS Office365 / Azure compatibility by making OIDC.preferred_username optional - by @chief-nerd in #13027 (eb73c)
- Only send comment mention notification when comment author is doc owner - by @fengmk2 in #13033 (831da)
- Doc embedding crash with transaction - by @darkskygit in #13042 (e8857)
- Rerank scores calc - by @darkskygit in #13016 (181cc)
- Separate active subscriptions - by @forehalo in #13077 (61da6)
- Get pending embedding docs in event handler - by @darkskygit in #13095 (d2f01)
- Incorrect abort condition - by @darkskygit in #13100 (e0275)
- Session updated at - by @darkskygit in #13099 (0bd1f)
- Use new LocalWorkspace ServerFeature instead - by @fengmk2 in #13091 (95f88)
- Chunk session in migration - by @darkskygit in #13107 (8236e)
- Should use signed url first - by @fengmk2 in #13109 (ae74f)
- Add user id to comment-attachment model - by @fengmk2 in #13113 (45c01)
- Batch size in gemini embedding - by @darkskygit in #13120 (0f306)
- Sse abort behavior - by @darkskygit in #13153 (b7943)
- Ignore 409 status error on es delete query - by @fengmk2 in #13162 (0f74e)
- Recent session missing params - by @darkskygit in #13188 (d5f63)
- web:
- Adjust sign-in panel height - by @hwangdev97 in #12976 (d49a0)