Upgrade notes
- Always take a database backup before upgrading.
- Follow the steps here.
Changelog
- 1b6ecc0 Merge pull request #784 from abhinavxd/db-perf
- c8ff63a resolve conflicts with main
- 474372e Merge pull request #705 from abhinavxd/block-assign-away-reassigning
- 7760022 add a description to the away reassigning block setting
- d0ca9a0 show the two workspace switches in one row and drop the away label from the agent picker
- 8591a54 enforce the away reassigning block in the shared assignee check and guard the unassign on disable
- abd2d9d merge main and move the away reassigning setting into the v2.10.0-rc.3 migration
- 1d27ce0 clear the assignee in new conversation forms when the current agent is away and reassigning
- 9678c91 Merge pull request #820 from abhinavxd/ai-tool-handoff-note-display-name
- e388cd9 cover tool renaming, the display name limit and the assistant form in cypress
- 92ab2b2 remove the unused v2.10.0-rc.4 migration file
- cb55507 move the tool display name migration into v2.10.0-rc.3
- 0eb884e track called tools by key so tools sharing a display name both show in the note
- 140c868 update the AI tool form spec for the name and key fields
- 2d0617d Merge pull request #825 from abhinavxd/block-disabled-agents
- a9175c5 hide disabled agents from automation notify recipients
- 9421679 keep help center suggestions open when the search button is clicked
- 88d2a1b broadcast conversations unassigned from a disabled agent and list enabled agents first
- f007baf Merge pull request #819 from abhinavxd/clear-search-filters
- 766af07 keep disabled agents out of agent picker search and pinned rows
- 04ccb00 keep a hand-edited tool key and name called tools when the confirmation reply fails
- b05e8d7 show the picked date in date filters for users west of UTC
- bbb7aa8 make outline buttons transparent to match inputs on cards and popovers
- 94f0c48 keep the date range filter until both dates are picked and add a clear button
- b9875f9 stop assigning conversations and sending alerts to disabled agents
- e2e7d73 Merge pull request #814 from abhinavxd/help-center-ux
- 0c6fae8 Merge pull request #823 from abhinavxd/upgrade-vue-letter
- 6b674bd upgrade vue-letter to 0.2.3
- 88ec89a Merge pull request #822 from jleroy/i18n/update-2026-11-12
- 294871e Update translations [2026-11-12] This pull request imports the latest Libredesk translations from Crowdin.
- d42923d name called tools in the AI hand-off note and add tool display names
- e860b6d fix search filters that could not be cleared
- d26b24d keep focus in the search input when a suggestion is pressed
- bf8a757 merge main into help center ux branch
- ad06566 add help center search previews and nested breadcrumbs
- a987842 Merge pull request #812 from abhinavxd/help-center-collection-preview
- f3a842d Merge pull request #792 from abhinavxd/isolate-helpcenter-origin
- 56e7c60 fix help center policy and session isolation
- 82c6f21 preserve help center preview scroll without flashing
- 93dbc38 add a collection page to the help center preview
- d26a156 rename the app domain custom code key with a dangerously_ prefix
- 5590da4 Merge pull request #796 from abhinavxd/improve-ai-context
- 8bb86fb show the custom code hint as an alert and fix alert text alignment
- 946fb8c remove the app domain custom code flag from the sample config
- 83e21b9 limit timestamp marker instructions to conversation context
- adf3a21 clarify timestamp markers in AI context
- 5731699 show custom CSS in help center previews
- 091910c use workspace timezone throughout AI context
- 8b2f56c block agent pages and sessions on help center custom domains
- 735c974 clear the help center cache before workers start
- 721d6a4 stop startup when the help center cache can't be cleared
- cf9c79e allow help center custom code on the app domain with a config flag
- 5ac4030 add workspace local time to AI time context
- 1e6e370 Merge pull request #760 from migalsp/feat/webhook-delivery-retries
- 41a123f fix webhook declaration order and clarify retry delays
- 2f34b9e count webhook retries separately from the initial delivery
- bacfd7f Merge pull request #766 from malpou/inbox-imap-optional
- db94756 Merge pull request #769 from abhinavxd/fix-complete-timezones
- 1343f58 refresh the inbox form directly from the save response
- fbd77ef refresh inbox settings after saving to clear deleted credentials
- d2a3d5b merge current main and keep searchable team timezones
- f2fcbe7 merge main into timezone picker branch
- 7635e54 Allow skipping of offline agents during auto assignment
- b0e6452 keep timezone tests compatible with older runtime data
- 2ea8ca0 remove the comment on the set agent offline query
- b17d284 simplify IMAP-off handling and reuse existing i18n keys
- c1adbbf fix timezone city searches and blur forwarding
- 7ad2c81 shorten the skip offline agents description
- ea4d795 mark agents offline 30s after their last tab closes
- f4b31e7 Merge remote-tracking branch 'origin/main' into allow-skipping-offline-agents-during-auto-assignment
- f7dfdfd group team assignment fields and put the skip offline switch on its own row
- 5f2c7b8 Merge pull request #810 from abhinavxd/configure-client-ip
- 3949314 document direct access restriction for client IP headers
- 67d5134 add configurable client IP header with Railway default
- 38c72e6 Merge pull request #809 from abhinavxd/system-theme
- 52c8061 hide only the saved theme in the command palette
- aa532f4 add system theme option to user menu and command palette
- 858766e Update CONTRIBUTING.md
- 4116d99 Merge pull request #801 from abhinavxd/fix-helpcenter-announcement-close-spacing
- a7d62cb reduce mobile announcement close button spacing across themes
- bfa0ef0 Merge pull request #800 from abhinavxd/fix-helpcenter-mobile-announcement
- de1ade9 fix help center announcement height on mobile screens
- 10b5dd3 remove rc1 migration tests
- 5985007 merge main into db-perf
- 2dd42f8 fix filtered conversation pagination across inboxes and saved views
- 0015ef4 Merge pull request #575 from pmslava/widget-subject
- d1d3e45 truncate long chat subjects with shared rune helper
- 09187da merge latest main into widget subject branch
- 1ebdd0b Merge pull request #681 from pujitha24/auto/issue-664
- 7fc2b75 fix missing names and literal matching in searches
- 15539db include contacts without email in contact searches
- 32fbe3d extend contact list search to names and phone numbers
- 390c1b4 quote AI metadata and filter surveys before loading history
- ca645e6 add timestamps and conversation details to AI context
- 5212e08 search: add trigram index for contact name matching as v2.9.0-rc.11 migration
- 2e27854 search: match contacts by name as well as email and phone
- eaf60c5 isolate help center custom code from agent sessions
- efa2dc3 merge main into db-perf
- 1eb5cb4 Merge pull request #791 from abhinavxd/auth-entry-motion
- a5ba998 Merge pull request #789 from abhinavxd/fix/oidc-email-verification
- e2e9f97 simplify the description for the email verification setting
- 5080bc1 refresh assignment and mention counts with a short throttle
- f497d6a include the reduced motion fade in generated styles
- c747a02 add shared auth animation and prevent dark mode flash
- be12bc2 enforce email verification even when a provider reload fails
- c42fb45 move OIDC migration to v2.10.0-rc.1
- e5e6bde move performance indexes to the 2.10 release candidate
- 56c3b51 Merge pull request #790 from abhinavxd/fix/pdf-template-assets
- 275d1ee tidy OIDC verification copy and comments
- dec15ff resolve PDF template assets from the static directory
- 472711f add configurable OIDC email verification
- ec9f561 Merge pull request #781 from abhinavxd/add-pdf-transcripts
- fa45bd0 reduce sidebar count refreshes and speed up interaction sorting
- 75690b6 keep PDF export working when the template is missing
- 1f3e56a add an overridable print template for PDF transcripts
- d62a9b7 use the browser to render multilingual PDF transcripts
- 1665779 use regular index builds for the performance migration
- 9196584 share pagination query assembly between conversations and contacts
- c17e945 Merge pull request #786 from abhinavxd/dependabot/npm_and_yarn/frontend/follow-redirects-1.16.2
- 4b9322a Merge pull request #785 from abhinavxd/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.6
- 7e659f3 Bump follow-redirects from 1.16.1 to 1.16.2 in /frontend
- f23cbb0 Bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.6
- 02d7fb0 reduce queue polling and tag filter work
- 007c1a9 allow PDF transcripts with unsupported characters
- 0e1165b speed up conversation and contact lists
- b1dc440 reuse existing transcript error translations
- f5d8777 add PDF transcript downloads
- b41507f Merge main into widget subject branch
- 3c77c0d Move subject tests into existing chat test file
- 2060481 show combobox placeholders before a value is selected
- 51ab30f update timezone form tests for searchable pickers
- 1634e83 keep timezone settings available on older browsers
- 31f9341 add complete timezone selection with virtualized search
- 1a546fc keep IMAP for OAuth inboxes and verified aliases when IMAP is off
- 48e568c allow an email inbox without IMAP
- 1deb36f drop webhook retries when the webhook was edited after the first attempt
- d51edb0 retry failed webhook deliveries and send a delivery id
- c489916 Allow skipping of offline agents during auto assignment
- c5cff2e add setting to block assigning conversations to away and reassigning agents
- 8bffa49 Remove ai comments
- f04a6a9 widget: count the subject limit in characters, not bytes
- e92c34c widget: accept an optional subject on conversation init and return it on the widget conversation list and thread
What's Changed
- Bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.6 by @dependabot[bot] in #785
- Bump follow-redirects from 1.16.1 to 1.16.2 in /frontend by @dependabot[bot] in #786
- Add PDF transcript downloads by @abhinavxd in #781
- Fix relative assets in PDF templates by @abhinavxd in #790
- add configurable OIDC email verification by @abhinavxd in #789
- Add shared auth animation and prevent dark mode flash by @abhinavxd in #791
- search: match contacts by name as well as email and phone by @pujitha24 in #681
- Widget: accept an optional subject on conversation init and return it on the widget list and thread by @pmslava in #575
- fix help center announcement height on mobile screens by @abhinavxd in #800
- reduce mobile announcement close button spacing across themes by @abhinavxd in #801
- add system theme option to user menu and command palette by @abhinavxd in #809
- Add configurable client IP header with Railway default by @abhinavxd in #810
- Allow skipping of offline agents during auto assignment by @johnfriedrich in #755
- Add complete timezone selection with virtualized search by @abhinavxd in #769
- allow an email inbox without IMAP by @malpou in #766
- webhook: retry failed deliveries and send a delivery ID by @migalsp in #760
- Add timestamps and conversation details to AI context by @abhinavxd in #796
- isolate help center custom code from agent sessions by @abhinavxd in #792
- Add collection previews and preserve preview scroll by @abhinavxd in #812
- Update translations [2026-11-12] by @jleroy in #822
- upgrade vue-letter to 0.2.3 by @abhinavxd in #823
- add help center search previews and nested breadcrumbs by @abhinavxd in #814
- Fix search filters that could not be cleared by @abhinavxd in #819
- Stop assigning conversations and sending alerts to disabled agents by @abhinavxd in #825
- name called tools in the AI hand-off note and add tool display names by @abhinavxd in #820
- add setting to block assigning conversations to away and reassigning by @abhinavxd in #705
- reduce database work across inboxes, search, and message delivery by @abhinavxd in #784
New Contributors
- @pujitha24 made their first contribution in #681
- @johnfriedrich made their first contribution in #755
- @migalsp made their first contribution in #760
Full Changelog: v2.9.2...v2.10.0-rc.3