v2.2.1

abhinavxd/libredeskv2.2.1Apr 25, 2026by github-actions[bot]

AI Summary

Introduces conversation status categories, admin table search/virtualization, and configurable session lifetime.

Key Highlights

  • Conversation status categories (open/waiting/resolved)
  • Search and virtualized admin tables
  • Reply-To on email inboxes
  • Configurable agent session lifetime

New Features

  • Status categories
  • Admin search
  • Virtualized tables
  • Created_at filter
  • Reply-To support
  • Prompt to tag
  • Configurable session lifetime

Full Release Notes

## What's new

- **Conversation status categories** - every status (built-in or custom) now belongs to one of three categories: `open`, `waiting`, or `resolved`. Categories tell the system how a status should behave: `open` statuses count toward an agent's active conversation total and respect team max-assignment limits. Previously this behavior was hard-coded to the built-in `Resolved` / `Closed`  names, 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_at` filter for views** - with range support.
- **Reply-To on email inboxes** - set a `Reply-To` address 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.toml` instead 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_manual` or `away_and_reassigning` state.
- 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](https://docs.libredesk.io/getting-started/upgrade).

## Changelog
* feb23fae fix new inbox create dropping enabled/csat_enabled/secret/linked_email_inbox_id
* bf69b56e fix prompt_tags_on_reply not persisting on email inbox creation