v2.7.1

t8y2/dbxv2.7.1Aug 12, 2026by github-actions[bot]

AI Summary

A maintenance release focused on bug fixes, specifically resolving issues with contact resolution using external IDs and ensuring attachment filenames preserve Unicode characters correctly.

Key Highlights

  • Fixes for `external_user_id` handling in the create conversation API
  • Preserves Unicode characters in attachment filenames
  • Improved MIME header escaping

Full Release Notes

## What's fixed

- The create conversation API no longer ignores `external_user_id` for existing contacts and instead resolves the conversation to the matched contact.
- Attachment filenames keep their unicode characters, and MIME headers are escaped correctly.

## Upgrade notes

- Always take a database backup before upgrading.
- Follow the steps [here](https://docs.libredesk.io/getting-started/upgrade).

## Changelog
* 04c4dbab Merge pull request #479 from abhinavxd/speed-up-goreleaser
* 73f00c33 Merge pull request #486 from abhinavxd/hide-ai-reply-btn-create-conversation
* 2a6bc3f8 hide the ai generate reply button in the create conversation form
* 69a6dbca Merge pull request #485 from abhinavxd/fix-attachment-filename-sanitization
* e853cd39 preserve unicode in attachment filenames and escape MIME headers properly
* 0cd9f972 Merge pull request #484 from abhinavxd/dependabot/npm_and_yarn/frontend/postcss-8.5.23
* 4a7d6f50 build(deps-dev): bump postcss from 8.5.18 to 8.5.23 in /frontend
* 9b607968 Merge pull request #481 from abhinavxd/fix-create-conversation-external-user-id
* fad79726 add edge case tests for contact resolution
* e4f628cd bump CI Go toolchain to 1.25.0 to match go.mod
* adf6aa42 fall back to email lookup on unknown external ID and let the form opt out of contact sync
* b622fc36 extract shared Postgres test harness into internal/testutil with a make test-db target
* 1ffcee31 unify contact resolution into ResolveContact with an explicit policy and add integration tests
* 246dd5ba scope external ID contact lookup to contacts only
* f2b3bcd9 log enforce errors and skip password generation for existing contacts in create conversation
* 00ec7ff9 send first message to the matched contact's stored email and pass external_user_id from the new conversation form
* f986981b make no-permission contact resolution race-safe in create conversation API
* 1112d5d0 tighten comment in create conversation contact handling
* bb4fecca allow contact updates in create conversation API for callers with contacts:write
* a097ca85 fix create conversation API ignoring external_user_id for existing contacts
* 4f9fbb9e speed up releases with parallel goreleaser builds and fix windows .exe.exe binary name