What's new
- Conversation status categories - every status (built-in or custom) now belongs to one of three categories:
open,waiting, orresolved. Categories tell the system how a status should behave:openstatuses count toward an agent's active conversation total and respect team max-assignment limits. Previously this behavior was hard-coded to the built-inResolved/Closednames, so custom statuses you created did not participate. Now any custom status you add behaves correctly based on the category you pick. - Search on admin tables - admin datatables now have a search box.
- Virtualized admin tables - admin datatables only render visible rows, so they stay responsive on large lists.
- New conversation
created_atfilter for views - with range support. - Reply-To on email inboxes - set a
Reply-Toaddress to route customer replies to a different mailbox than the SMTP From address. - Prompt to tag on reply - new inbox setting that nudges agents to add tags when replying, so categorization happens at the moment of context.
- Configurable session lifetime - agent session duration can now be configured from
config.tomlinstead of being fixed.
What's fixed
- Resolved or closed conversations no longer reopen due to a stale
snoozed_until. - SMTP pool wait timeout set on the inbox form was not persisting and silently fell back to the default; it now saves correctly.
- Fixed a rare race where idle detection could overwrite an agent's
away_manualoraway_and_reassigningstate. - Auto-assigner no longer stalls when the first picked agent is capped, and now handles teams with no agents.
- Fixed incorrect avatar URL being saved for agents when using the S3 store.
Upgrade notes
- Always take a database backup before upgrading.
- Follow the steps here.