v2026.7.15.0
What's Changed
- chore(email): temporarily raise inbox connect limits to 10 for testing by @gbirman in #4848
- chore(style): add focus helper to style guide by @synoet in #4849
- chg(command): tweak behavior of change theme command by @sedson in #4850
- feat(soup/gql): connect email thread edge by @synoet in #4734
- Seanaye/feat/persist optimitic records by @seanaye in #4826
- style(tags): move tags to own side panel section, improve styles by @sedson in #4835
- fix(teams): allow team admin to remove members on frontend by @whutchinson98 in #4855
- Document generated GraphQL schema by @seanaye in #4837
- seanaye/chore/tweak edge trait by @seanaye in #4856
- feat(markdown): add document outline by @ehayes2000 in #4834
- feat(crm): show no-team and CRM-disabled empty states on the board view by @evanhutnik in #4858
- fix(calls): audio and mic change issues by @whutchinson98 in #4861
- feat(teams): domain auto join by @whutchinson98 in #4860
- fix: mobile channel message sending bug by @peterchinman in #4865
- feat(crm): add Signal/All email filter to company and contact pages by @evanhutnik in #4862
- fix(calls): call video recording view by @whutchinson98 in #4869
- fix(themes): when theme mention is clicked, apply it correctly by @aidanhb in #4864
- fix(calls): use cloudfront for calls by @whutchinson98 in #4871
- feat(documents): use macro authorization documents by @whutchinson98 in #4852
- Revert "fix(calls): call video recording view" by @whutchinson98 in #4874
- feat: fullstack preview by @synoet in #4547
- fix(mobile): improve mobile split activation gate by @peterchinman in #4868
- Seanaye/feat/grouped gql soup by @seanaye in #4872
- perf(soup): reduce mail view request limit from 100 to 30 by @evanhutnik in #4875
- fix: history not loading by @404Wolf in #4877
- fix(search): interleave channel message hits by their own recency in unified search by @gbirman in #4873
- fix: video recording playback by @whutchinson98 in #4876
- perf(search): index-only per-type accessible-items queries by @gbirman in #4863
- fix(ai): hide duplicate chat attachments by @ehayes2000 in #4857
- feat(ai): make Sonnet 5 the paid default by @ehayes2000 in #4844
- feat(contacts): use macro authorization contacts by @whutchinson98 in #4879
- fix(email): recipient reply card styling by @synoet in #4878
- fix(soup): unable to select text in preview panel by @dev-rb in #4883
- fix(crm): allow all team members to use CRM entity context menu actions by @evanhutnik in #4886
- fix(crm): center no-team and CRM-disabled empty states by @evanhutnik in #4888
- docs: document channel creation shortcut and CRM board/list views by @git-julia in #4890
- opt(soup): idToDisplayName, capture split state by @synoet in #4892
- fix(crm): show empty states on the Customers board view by @evanhutnik in #4893
- feat(crm): restore saved-views menu, add default views, fix option value size limit by @evanhutnik in #4885
- chore(ci): migrate the deploy pipeline family to cargo x workflows by @synoet in #4529
- feat(search): index millisecond timestamps in OpenSearch indices by @gbirman in #4891
- fix(notifications): stop stale fetches clobbering channel mark-read by @gbirman in #4867
- fix(search): do not block search view render on initial all-soup call by @gbirman in #4894
- fix(email): show "me" in soup email rows when all participants are the current user by @evanhutnik in #4896
- fix(mcp): honor paid subscription roles by @ehayes2000 in #4880
- feat(soup): graphql email content backfill by @dev-rb in #4882
- seanaye/feat/fe group soup query by @seanaye in #4889
- style(calls): use active call layout logic for incoming calls by @sedson in #4900
- feat(md): tag-mentions, tag ui improvements by @sedson in #4901
- opts(auth): name and email retrieval by @synoet in #4897
Full Changelog: v2026.7.14.1...v2026.7.15.0