<div class="update"><div class="update-label">v2026.1.28.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.27.0...v2026.1.28.0
<div class="update"><div class="update-label">v2026.1.27.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.26.0...v2026.1.27.0
<div class="update"><div class="update-label">v2026.1.26.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.21.0...v2026.1.26.0
<div class="update"><div class="update-label">v2026.1.21.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.20.0...v2026.1.21.0
<div class="update"><div class="update-label">v2026.1.20.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.16.0...v2026.1.20.0
<div class="update"><div class="update-label">v2026.1.16.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.15.0...v2026.1.16.0
<div class="update"><div class="update-label">v2026.1.15.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.14.0...v2026.1.15.0
<div class="update"><div class="update-label">v2026.1.14.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.13.1...v2026.1.14.0
<div class="update"><div class="update-label">v2026.1.13.1</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.13.0...v2026.1.13.1
<div class="update"><div class="update-label">v2026.1.13.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.12.0...v2026.1.13.0
<div class="update"><div class="update-label">v2026.1.12.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.9.0...v2026.1.12.0
<div class="update"><div class="update-label">v2026.1.9.0</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.7.3...v2026.1.9.0
<div class="update"><div class="update-label">v2026.1.7.3</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.7.2...v2026.1.7.3
<div class="update"><div class="update-label">v2026.1.7.2</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.7.1...v2026.1.7.2
<div class="update"><div class="update-label">v2026.1.7.1</div><div class="update-body">
What's Changed
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2026.1.7.0...v2026.1.7.1
<div class="update"><div class="update-label">v2026.1.7.0</div><div class="update-body">
What's Changed
- fix(channel): Fix reactive updates to channel query data when renaming by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/618
- fix(ai): auto attachments by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/624
- fix[email]: rendering of certain emails with initial style tags by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/655
- add [properties-be] - extra protection against deleting system properties by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/649
- fix [properties] - only allow entity type tasks to have parent and subtask properties by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/616
- fix(email-service): Use oldest message for subject in search thread histories endpoint by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/650
- fix(email-service): Only create index if it doesn't already exist by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/652
- fix: bring back inbox settings by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/660
- unified-list: fix entitywitheverything component timestamp by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/658
- feat(tauri,vite): iOS mobile v1 by @nickisnoble in https://github.com/kuumba-dev/kuumba/pull/293
- fix [properties-fe] - inject current user into contacts list for entity property selection by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/662
- fix(opensearch_client): error on invalid query creation by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/663
- fix(opensearch_client): remove un-needed fields from response indices by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/664
- refactor(dss): Created items now private by default, except MD documents by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/665
- Seanaye/feat/remove graphql service by @seanaye in https://github.com/kuumba-dev/kuumba/pull/443
- seanaye/fix/ios notifications by @seanaye in https://github.com/kuumba-dev/kuumba/pull/603
- fix (chat): auto attachments fix channels, images, projects by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/666
- fix(md): fix single line util for single item lists by @sedson in https://github.com/kuumba-dev/kuumba/pull/661
- fix(email-service): Declare sfs_id field as optional when fetching attachments in upsert_message by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/670
- chg(emails): centralize email links query by @synoet in https://github.com/kuumba-dev/kuumba/pull/667
- feat: support create block with params by @gbirman in https://github.com/kuumba-dev/kuumba/pull/668
- fix: channel open jitters due to unstable location by @gbirman in https://github.com/kuumba-dev/kuumba/pull/669
- fix(channel): duplicate thread messages and sending messages not updating list by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/672
- fix(auth-service): Only fallback to contact name for empty Kuuumba name by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/674
- feat(email-service): Queue upsert for missing message on label update by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/676
- Revert "fix(ai): auto attachments (#624)" by @gbirman in https://github.com/kuumba-dev/kuumba/pull/683
- feat(search): enter key selects first item, down arrow key goes to next item by @gbirman in https://github.com/kuumba-dev/kuumba/pull/680
- fix(channels): channel scroll should highlight from soup click + not highlight unwanted target message on message send by @gbirman in https://github.com/kuumba-dev/kuumba/pull/685
- rm(contact): remove block contact + remove from command menu by @synoet in https://github.com/kuumba-dev/kuumba/pull/686
- feat(email-service): Backfill sfs attachments script by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/619
- fix (soup): screen flash on j/k by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/677
- feat(search): separate cmd-f and / hotkeys by @gbirman in https://github.com/kuumba-dev/kuumba/pull/681
- feat(email-service): Enable attachment syncing for all users by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/671
- fix(ai): suspsense trigger by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/688
- feat(search): ignore trash when performing email search by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/689
- feat(search): return 400 bad request if no valid terms are provided by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/690
- fix(email-service): Make email signature optional in /links endpoint by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/687
- chore(email-service): Add param to swagger by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/694
- feat(splits): Narrow width for narrow splits and mobile UI by @jbecke in https://github.com/kuumba-dev/kuumba/pull/583
- fix(channel): don't clear input until after collect mentions by @sedson in https://github.com/kuumba-dev/kuumba/pull/695
- fix(email-service): Use entire message content for replyless w/o split by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/696
- fix virtua list bugs and restore scroll by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/697
- unified-infinite-list remove logs by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/699
- display full email names for threads with single participants by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/678
- fix: tab behavior in combobox by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/673
- feat: sfs image/video support for email message attachment by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/599
- fix(channels/ai): fix pasting images by @synoet in https://github.com/kuumba-dev/kuumba/pull/682
- feat: error on warnings biome by @gbirman in https://github.com/kuumba-dev/kuumba/pull/702
- Seanaye/chore/user id invariants by @seanaye in https://github.com/kuumba-dev/kuumba/pull/693
- fix(email-service): Slow
/seen endpoint by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/705
- fix(ai): auto attach on create new chat by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/679
- fix(channel): Reply input mentions menu displaying all users by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/706
- fix(email): Add horizontal padding for compose for small containers by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/707
- chore: no underscored variable for naming collision by @gbirman in https://github.com/kuumba-dev/kuumba/pull/708
- fix: unified empty state clean up by @gbirman in https://github.com/kuumba-dev/kuumba/pull/698
- feat(search) update search service opensearch queries to use filter by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/709
- chore: add sass to model file type by @gbirman in https://github.com/kuumba-dev/kuumba/pull/701
- feat(search) sort by updated at seconds by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/710
- feat: do not scroll channel reply open by @gbirman in https://github.com/kuumba-dev/kuumba/pull/711
- soup-context: update entity properties by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/712
- soup: update filters/sort scroll to top and select first entity by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/703
- refactor(email-service): Rename webhook worker to inbox_sync worker by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/714
- Refactor(email-service): Rename refresh pubsub worker to link_manager pubsub worker by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/715
- fix(search): sort by updated at by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/716
- fix(dss): update UserItemAccess for user who shared item by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/717
- feat(share): new ShareButton, DialogWarper, ClippedPanel Signals, and disable transitions by @Fake-User in https://github.com/kuumba-dev/kuumba/pull/704
- feat(soup): filter file associations by @seanaye in https://github.com/kuumba-dev/kuumba/pull/718
- fix(channel): Sending, editing, and deleting a message not updating view by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/721
- fix(channel): scroll position jumping and flickering by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/691
- soup: fix preview regression and add entity styling state for active context menu by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/719
- fix: empty state drawer by @gbirman in https://github.com/kuumba-dev/kuumba/pull/723
- fix(channels): better styles for multiple invites - participant selector by @sedson in https://github.com/kuumba-dev/kuumba/pull/724
- feat: Visor and WhichKey by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/273
- feat(tasks): task compose v1 by @sedson in https://github.com/kuumba-dev/kuumba/pull/692
- fix: Add suspense boundaries by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/727
- feat(channel): Send static attachment dimensions and use dimensions for displaying attachments by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/653
- fix(channel): Unable to send message by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/730
- fix(task): re add portal scoping for in-modal popovers by @sedson in https://github.com/kuumba-dev/kuumba/pull/728
- fix(email-service): Proper attachment upload retry logic, backfill rate limit tiering by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/720
- feat(email): Email compose shortcuts by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/732
- feat(hotkeys): faster hotkeys with less nesting / remove visor system by @jbecke in https://github.com/kuumba-dev/kuumba/pull/731
- Nick/mobile nits by @nickisnoble in https://github.com/kuumba-dev/kuumba/pull/700
- style(share): tweak padding and add fallback icon/tooltip by @sedson in https://github.com/kuumba-dev/kuumba/pull/738
- chore(ios): console-logs by @seanaye in https://github.com/kuumba-dev/kuumba/pull/739
- unified-list: replace virtua with tanstack virtual by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/740
- fix(auth): remove onboarding redirect completely by @synoet in https://github.com/kuumba-dev/kuumba/pull/741
- fix: Add more suspense boundaries by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/743
- fix(md): make markdown areas safer under suspense by @sedson in https://github.com/kuumba-dev/kuumba/pull/742
- fix: Virtual lists are reversed by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/747
- feat: Add email to
UserIcon tooltip by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/750
- chore(ui): create @ui package by @nickisnoble in https://github.com/kuumba-dev/kuumba/pull/755
- add [properties & tasks] - show assignee status priority in unified list by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/659
- unified-list: multi-select mark_as_done select neighboring entity by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/758
- fix(channels): fix image preview escape handling by @sedson in https://github.com/kuumba-dev/kuumba/pull/745
- fix: lexical crash under suspense pt2 by @sedson in https://github.com/kuumba-dev/kuumba/pull/753
- fix(email): Send email w/o marking as done & button UI by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/756
- unified-list: improve jk experience keeping scroll gap at most of entity minimum height by @aquaductape in https://github.com/kuumba-dev/kuumba/pull/754
- feat(notifications): port notifications to query package by @synoet in https://github.com/kuumba-dev/kuumba/pull/641
- add [properties-be] - properties crate set entity property by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/749
- refactor [properties-be] - set_entity_property to hexagonal by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/752
- [1/3] feat(anthropic): Add support for anthropic server tools by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/725
- feat: mobile dock by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/761
- [2/3] feat(ai): Add extension support in ai crate by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/726
- fix: restore dock by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/766
- feat(unified-list): Add support for signal and noise filters on all views by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/764
- feat(email): toggle quoted text in reply by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/763
- feat: include individual content hit senders in email search by @gbirman in https://github.com/kuumba-dev/kuumba/pull/765
- add [tasks] - grant permissions to task assignee by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/760
- add [tasks] - push notifications when assigned a task by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/769
- fix(unified-list): Make channels always show with signal filter by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/771
- add [tasks] - quick create task endpoint by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/675
- refactor [tasks-fe] - use create task endpoint in compose task by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/759
- fix (ai): update search service client to match api return type by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/772
- chore: change leeway and reject tokens expiring and in less than by @gbirman in https://github.com/kuumba-dev/kuumba/pull/775
- add [properties & tasks] - enable properties and tasks feature flags by @danielkweon in https://github.com/kuumba-dev/kuumba/pull/592
- feat(md): do not allow soft enter on new line after empty linebreak by @sedson in https://github.com/kuumba-dev/kuumba/pull/774
- feat(md): add md util for truncating around <macro_em> search tags for soup by @sedson in https://github.com/kuumba-dev/kuumba/pull/768
- fix: add unauthed retry to legacy api rpc client by @gbirman in https://github.com/kuumba-dev/kuumba/pull/777
- fix(email): Email scroll jumping, suspense issues, and refactor by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/770
- chore(ui): drastically simplify button components by @nickisnoble in https://github.com/kuumba-dev/kuumba/pull/733
- fix(soup): file assoc cursor by @seanaye in https://github.com/kuumba-dev/kuumba/pull/780
- fix: sort channel first iff name match by @gbirman in https://github.com/kuumba-dev/kuumba/pull/778
- fix: missing uuid feature flag schemars by @synoet in https://github.com/kuumba-dev/kuumba/pull/786
- fix: downloading works now for block unknown/code by @gbirman in https://github.com/kuumba-dev/kuumba/pull/785
- (fix): internal access by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/782
- feat(email): Add share button to emails by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/783
- fix(channel): List is reversed for a small number of messages by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/788
- chore(soup): increase cursor size limit by @seanaye in https://github.com/kuumba-dev/kuumba/pull/791
- chore(deps): bump rsa from 0.9.8 to 0.9.10 in /rust/cloud-storage by @dependabot[bot] in https://github.com/kuumba-dev/kuumba/pull/792
- style(md): minified comment thread styles by @sedson in https://github.com/kuumba-dev/kuumba/pull/795
- move from names index to querying macrodb directly by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/793
- fix(dcs): attachments breaking due to serialization issue by @ehayes2000 in https://github.com/kuumba-dev/kuumba/pull/796
- refactor(email-service): Separate email api and pubsub workers into separate services by @evanhutnik in https://github.com/kuumba-dev/kuumba/pull/594
- feat: use file type soup request filters by @gbirman in https://github.com/kuumba-dev/kuumba/pull/790
- fix(notifications): fix reconcile in notification source by @synoet in https://github.com/kuumba-dev/kuumba/pull/801
- feat: swipe gestures in Soup by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/784
- fix: remove collapse on name/name_content search by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/806
- feat: change collapsible list visible count for search content data by @gbirman in https://github.com/kuumba-dev/kuumba/pull/805
- fix: remove type safety for get user email names by @whutchinson98 in https://github.com/kuumba-dev/kuumba/pull/807
- fix(email): Email draft not displaying when moving between soup and email by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/808
- feat: images in emails by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/789
- fix(UI): style share modal, fix(Dock): fix brock signup wordwrap, feat(themes): added black bezel mode by @Fake-User in https://github.com/kuumba-dev/kuumba/pull/802
- fix: share menu by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/813
- fix(user): use branded type for Macroid string with validation by @synoet in https://github.com/kuumba-dev/kuumba/pull/809
- fix: remove all tailwind colors by @peterchinman in https://github.com/kuumba-dev/kuumba/pull/810
- fix(soup): unread indicator wasn't showing by @synoet in https://github.com/kuumba-dev/kuumba/pull/814
- chg/fix(notifications): use tanstack as source of truth for optimistic updating, simplifies source by @synoet in https://github.com/kuumba-dev/kuumba/pull/815
- fix(login): login button options cleanup, better hitbox by @synoet in https://github.com/kuumba-dev/kuumba/pull/819
- fix(email): Marking email as seen not updating in soup by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/804
- chore(email): Feature flag email sharing by @dev-rb in https://github.com/kuumba-dev/kuumba/pull/821
New Contributors
Full Changelog: https://github.com/kuumba-dev/kuumba/compare/v2025.12.15.1...v2026.1.7.0