v2.2.0

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

AI Summary

Adds reply-to address support, status categories, and view filters. (Note: Skip this version and upgrade to v2.2.1 directly).

Key Highlights

  • Reply-To on email inboxes
  • Conversation status categories
  • More view filters
  • Configurable session lifetime

New Features

  • Reply-To support
  • Status categories
  • View filters
  • Configurable session lifetime
  • Prompt to tag

Full Release Notes

## Skip this version and upgrade to [v2.2.1 ](https://github.com/abhinavxd/libredesk/releases/tag/v2.2.1) directly


## Changelog
* be7369d6 Update widget unread count style
* ea4f8d75 cap unread message count badge at 9+ since backend caps at 10
* c3d1dbe5 Merge pull request #300 from abhinavxd/reply-to-addr
* b06a5151 disable plus addressing toggle for microsoft inboxes instead of hiding, preventing accidental disable on re-save
* 971ec49c enable datatable search on all admin tables, restrict global filter to text columns
* ffa5a22f fix s3 avatar_url storing bucket path instead of /uploads/<uuid> Trim spaces around reply to config
* dce33238 exclude inbox reply_to from reply recipients to prevent self-loop
* 3d2da2a1 add reply_to on email inboxes for routing replies off the SMTP From domain
* 38c14808 fix view greater/less than date filter including boundary-day rows
* 85795708 fix inbox form binding wait_timeout to wrong key, never persisting SMTP pool wait timeout
* 467a62b0 fix snoozed_until leak causing resolved/closed conversations to reopen
* bfe7cef6 add global search to datatable with per-table opt-out
* dd6c8f93 add conversation.subject_ref_format config for customizing outgoing email subject marker
* 8ebd7d7e cap macro command palette list at 200 and scope highlight observer
* 3ba8ab0a prevent idle detection from overwriting away_manual/away_and_reassigning
* 627c4a7c Merge pull request #293 from abhinavxd/category-statuses
* ed4bac61 return error on default status update instead of silent no-op
* 10129495 Merge remote-tracking branch 'origin/main' into category-statuses
* 2d3958fe Merge pull request #294 from abhinavxd/more-view-filters
* 38a7fd69 update mig ver
* b658df8d Extract LoadingOverlay component for admin spinner/dim pattern
* bf63a873 use constants from filterConfig for operators.
* db8d099e Prevent Enter key from submitting automation rule form
* 15021bf2 Make session lifetime configurable
* 06b36b74 Add prompt-to-tag-on-reply inbox setting
* bcd93514 Fix caret overflow in ComboBox trigger for long labels
* 66db129b Refetch conversations when the open view is edited
* 68a587bc Remove filter value when operator changes from / to `between`
* c16ad26d Add Range Calendar shadcn component for filters
* 7aa48641 Fix spinner position in admin panels
* 5bbd0f7c Increase default rate limits
* 8090309e Fix autoassigner delaying conversation assignment when first picked agent is capped Handle cases where teams do not have any agents
* 79dc693c Fix large tag names expanding outside tag badge
* aa9e4cda feat: add conversation status categories and update related logic.
* 1562f772 Update README.md
* 8f5d80f6 Update README.md
* 21cb6a25 Update README.md
* 00785c60 WIP: More filters to views Virtualize agent list and tag list.
* 30b596e1 Update ROADMAP.md
* 088a5469 Update ROADMAP.md
* 108d7a7c Merge pull request #285 from abhinavxd/dependabot/npm_and_yarn/frontend/qs-6.15.1
* 0b7cfe2a Merge pull request #284 from abhinavxd/dependabot/npm_and_yarn/frontend/vite-6.4.2
* 50ebcec3 build(deps): bump qs from 6.13.1 to 6.15.1 in /frontend
* b4de085f build(deps-dev): bump vite from 5.4.21 to 6.4.2 in /frontend
* 26bb17a5 Merge pull request #281 from abhinavxd/dependabot/npm_and_yarn/frontend/axios-1.15.0
* f6b2162d build(deps): bump axios from 1.13.5 to 1.15.0 in /frontend