github abhinavxd/libredesk v0.9.1-beta

7 hours ago

What's New

  • Encryption: All database secrets (IMAP/SMTP passwords, webhook secrets, etc.) are now encrypted
  • Translations: Added Danish, German, Persian, French, Italian, and Japanese
  • OAuth for inboxes: Microsoft and Google email accounts are now supported via OAuth
  • Shared views: Create views shared with all agents or specific teams, with new admin pages to manage them
  • Draft auto-save: Drafts now auto-save while composing replies, including attachments and macro actions
  • New permission: conversations:read_team_all allows agents to see all conversations assigned to their team, even if unassigned
  • Resizable conversation panels: Conversation view panels are now resizable
  • Sortable table headers: Data tables now support column sorting
  • Email threading improvements: Improved matching of incoming emails using subject references and plus-addressing (e.g. inbox+conv-uuid@domain.com)
  • UI tweaks: Improvements to dark/light mode colors and layout
  • New activity logs: Libredesk now logs permission changes for agents in the activity log, along with password updates from admin panel.

What's Fixed

  • Agent permissions not updating when roles were modified or deleted and required an app restart.

⚠️ Important: Upgrade notes

This version adds encryption to Libredesk. You must add an encryption key under app in your config.toml.

Example:

[app]
# Generate using `openssl rand -hex 16`. Must be 32 characters long.
encryption_key = "your-32-char-random-string-here!"
  • Always take a database backup before upgrading.
  • Follow the steps here.

Changelog

  • 914bcc1 simplify stale draft deletion sql
  • 1a5756a adjust font sizes for metrics in OverviewCard and OverviewView
  • 7bbd1bf update dialog title and view for reconnect flow
  • 539a31a update capitalizations for en translations
  • a6ec2b7 fix inbox form submissions
  • 98ac195 check for empty array values in view form
  • 8ed5c71 feat: enable sortable headers in data table
  • 957f945 update sort order for shared view list.
  • 79f1a23 sort user views by name
  • 09cd9a6 remove sidebar rails entirely hide secondary side fully once collapsed
  • a47fa01 style: reduce icon sizes and adjust padding in SLA badge
  • 9c17f98 show subject instead of contacts name in previous conversation list allow previous conversation timestamps to wrap
  • 340b47d update help text for inbox
  • ddddf04 feat: Shared views for agents and specific teams and admin pages to manage shared views. - Log activity for password set and role permission changes. - Fix agent permissions not changing when a role is modified / deleted.
  • 064a73b feat: add conversations:read_team_all permission to allow agents to see conversations assigned to their team, regardless of whether an agent is assigned or not.
  • 608b90e style: color changes for dark and lite mode - add rounded borders around component boundaries
  • 29d93d7 Update color variables for dark mode reduce text editor place holder text size
  • 44344b4 keep scrollbars consistent across browsers remove version from package.json
  • e669224 Merge pull request #204 from abhinavxd/patch-2
  • 15de0a3 Merge pull request #185 from abhinavxd/oauth-inbox-and-encryption
  • c62294a feat: Make convo panels resizable - add new report/overview metrics
  • 2468b91 translate oauth changes in email inbox form - log warnings when sample encryption key is used for libredesk and when encrytion key is not 32 chars
  • 7847364 set automation queue size to 10k
  • f165f0e remove appending ref number to agent reply mail subjects
  • 7ac483d handle converastion not found errors while fetching conversations fetched using uuids from the to plus address
  • 27d929c refactor add util funcs to extract conversation uuid from to address
  • 5fd6bbd remove unused struct field
  • 7a17f44 update email inbox configuration help text and add link to documentation - update google and msft logo
  • b95a158 fix loader for oauth connect
  • 1c0518b fix tests
  • cfdb82c fix tests
  • 70a5996 fix tests
  • a63c073 fix strip conversation uuid from receipient address as it could be the inbox email with plus variant - adds test cases for util functions that strip inbox email. - update make file to include frontend unit tests
  • 096bc87 Feat: add plus-addressing for conversation matching on incoming emails
  • f6d8e40 validate reconncted inbox email addr with the inbox being updated
  • 895a74b encrypt ai provider keys - add flow types to oauth inboxes to prevent accidental updates
  • f473870 fix: delay toast notifications for OAuth callback messages remove unncessary route redirect
  • 22af66c Feat: match incoming messages to conversations using reference number in the subject.
  • e4f260e fixes for msft email provider
  • b7103b2 show oauth callback error / success messages as toast. Add logs for errors and minor refactor
  • 2540b7e add Tenant ID input for Microsoft OAuth provider
  • c7f1f23 fix deadlock on token refresh
  • 4455411 fix do dot encrypt client id remove superfluous arg set default imap scan interval to 5 mins
  • 5c1d0af fix: handle error when marshalling decrypted app settings
  • 94202e2 refactor: update OAuth flow to use Redis for state management instead of storing it in session - Replace Google logo with SVG
  • 0a70204 refactor and clean up remove uncessary token refresh on init of email inbox
  • 2a238a7 -fix email notifications not working. - reload app settings when notification settings are changed to trigger admin banner prompting user to restart app - remove unncessary dummy password check before retaining passwords as an empty password check is enough.
  • 4de936d remove omitempty from tags remove unused fn
  • 5c364fb fix oauth credentials not being saved correctly , refactor use exisitng oauth pkg for oauth functionalities
  • d213ce9 remvoe unnecessary define emits import
  • f3ddc26 wip inbox oauth and encryption
  • 34888ce refactor: update draft handling to retrieve all drafts for a user instead of fetching drafts per convo on click.
  • 1423c18 fix highlighted / hovered macro preview not changing - make macro text size bigger
  • 9969ae6 fix race in setting draft content
  • 029d5cf add newly translated languages to general settings
  • 36a716e Merge pull request #171 from csr4422/fix/reply-draft-persistence
  • 5f61785 remove unncessary ref
  • b0c5003 Delete drafts when there's no meaningful content in them. - show pencil icon in conversations if they have draft. - auto-delete drafts if draft has empty content
  • 364b551 fix: add meta size validation in draft handling
  • aed1b90 fix: reorder migration list to ensure correct upgrade path
  • 36e03c1 Merge branch 'main' into fix/reply-draft-persistence
  • 07457ac fix: skip attachments already associated with another model in message sending
  • b1e0295 allow setting same macro content again
  • 67ade61 store content in local storage first and sync with backend on certain events
  • cfec05c refactor reply drafts
  • decbdaf Merge pull request #201 from jleroy/i18n/update-2025-12-21
  • c160210 fix: ensure draft cleaner runs only with a positive retention period
  • 0f67df9 fix: update draft retention duration to default to 720 hours if not set
  • 6bcc16e feat: along with editor content also save attachments and macro actions in drafts
  • 162ba34 Update translations
  • 5bd053a Update roadmap with WIP status for features
  • cf67b96 add missing migrations check if drafts are dirty before saving draft
  • 159e8ae fix errors while fetching draft on conversation without any saved drafts
  • bb6b56e Merge pull request #196 from trabulium/fix/null-password-handling
  • fe4b0ac clean up
  • 4a70b94 clean up draft store
  • 2707231 add draft retention policy with automatic cleanup of stale drafts
  • d804740 remove unncessary enforceconversation access in delete and get convo draft
  • bb89728 Update README.md
  • 546fc16 Update README.md
  • 4cbc55f add roadmap.md
  • 0a245e0 Revise developer section in README
  • 1d4394e Update contribution guidelines for clarity
  • 7a153d7 Create CONTRIBUTING.md with guidelines and process
  • bf63fd6 fix border in convo list
  • 9a43bce add bottom border to conversation list when there's only 1 conversation in list
  • 0a5e5de fix: Handle NULL password field for imported contacts
  • c740de7 refactor: remove localStorage, use database-only draft storage
  • eddaf4a refactor: make draft manager async for backend integration
  • 2cf8de6 feat: integrate backend API with draftStore
  • 5667039 feat: add draft API service methods
  • 459bcae feat: register draft API endpoints
  • 2db50b7 feat: add HTTP handlers for draft endpoints
  • e6bafb2 feat: implement draft manager methods
  • cd8c5ab add ConversationDraft model
  • 0825417 Add database queries for draft CRUD operations
  • cabd7af Add conversation_drafts table for draft reply storage
  • 8b07ab7 Revert unnecessary aliasing of htmlContent and textContent
  • e22dbdf fix: call fetchAiPrompts on component mount and fix formatting
  • f98e59f fix: prevent macro watcher from clearing draft content unintentionally
  • d867611 fix: improve draft persistence and prevent content loss on conversation switching
  • d2f0287 refactor: optimize editor content sync to prevent unnecessary updates
  • bd092c5 fix: prevent saving empty drafts to localStorage
  • f452e02 feat: add draft persistence with eviction policy
  • 41344b8 Merge branch 'main' into fix/reply-draft-persistence
  • 077c7ad Use useStorage to sync draftStore state with localStorage
  • 563d3ab fix: block global Ctrl+B shortcut when typing in text editor
  • 284d421 fix: ReplyBox draft handling by integrating Pinia draft store

New Contributors

Full Changelog: v0.8.6-beta...v0.9.1-beta

Don't miss a new libredesk release

NewReleases is sending notifications on new releases.