v2.8.0
BasedHardware/omiv2.8.0Aug 22, 2026by github-actions[bot]
Upgrading?
AI Summary
Released a major update featuring a new public help center with AI answers, mobile-friendly agent dashboard improvements, and GDPR data export capabilities.
Key Highlights
- New public help center with search, multiple locales, and AI answers
- Mobile-friendly agent dashboard with touch targets optimized for phones
- Contact deletion and data export features for GDPR compliance
- New Geist font for the application
New Features
- Public help center with AI answers
- Mobile friendly agent dashboard
- Contact deletion and data export
- New font (Geist)
Full Release Notes
## What's new ### Help center (knowledge base) Demo - https://support.libredesk.io - **Public articles** - write collections of articles and libredesk publishes them as a public site. - **Two layouts** - a documentation sidebar layout or a classic cards layout, with your own theme, logo, CSS and JS. - **Search** - visitors get full-text search with suggestions as they type. - **Multiple locales** - publish articles per locale, and visitors pick their language from the navbar. - **Custom domain** - serve a help center on your own custom domain. - **AI answers from articles** - the AI agent can answer from your published articles, and you pick which ones it is allowed to use. ### Others - **Mobile friendly agent dashboard** - the layout and touch targets now fit a phone screen, so you can manage conversations from your phone. - **Contact deletion and data export** - delete a contact, or export everything you hold on them for GDPR. - **New font** - the app now uses Geist. ## What's fixed - Performance improvements - the app uses less memory and CPU overall. - Incoming emails with accented or non-English characters no longer arrive as garbled text. - Livechat messages no longer vanish when an attachment takes a long time to upload on a slow connection. - The phone number field in the livechat pre-chat form now detects the visitor's country code correctly. - The overview report no longer counts private notes or unsent drafts in message volume. - Many other quality of life fixes and improvements. ## Upgrade notes - Always take a database backup before upgrading. - Follow the steps [here](https://docs.libredesk.io/getting-started/upgrade). ## Changelog * 086b0820 Merge pull request #529 from abhinavxd/deflake-general-settings-form-spec * 66158673 deflake the general settings form validation tests * 2138c6e1 Merge pull request #528 from abhinavxd/fix-livechat-preview-start-button * ce669f0d read the per user type config in the livechat widget preview * b2f28214 Merge pull request #527 from abhinavxd/raise-response-body-pool-limit * c0c21bc5 raise the response body pool limit to 1mb * cd34ceb9 Merge pull request #526 from abhinavxd/fix-widget-slow-upload-message * 6e9d23a4 raise the default read timeout to 60s * f6ba2912 fix widget messages vanishing when upload takes over 10 seconds * 26cfa235 Merge pull request #525 from abhinavxd/downscale-avatars-on-upload * 5e168eae raise the avatar upload limit to 10mb * b8ddd7e3 resize avatars once on the server at 512px * fe243aa9 downscale avatars to 256px on upload * 253efbab Merge pull request #524 from abhinavxd/fix-overview-outgoing-count-private-notes * 85a404c8 count only sent outgoing messages in the overview volume * cccd2dec exclude private notes from the overview message volume counts * 8d63f68a Merge pull request #523 from abhinavxd/close-ws-on-shutdown * 6ee25df7 show the visitor label on the widget messages tab * 19146541 use the country code label and gate the conversations list button too * beb8aeaf update agents offline count to include 'away' status * a6e7812c name the field in pre-chat length errors and hide the start button when blocked * 5813ac3e remove comment * 40b86c2d check the widget client's closed flag after refreshing the read deadline * 8a881909 actually close agent websockets on kick and shutdown * 4ddec80f ignore frames from a replaced widget socket * e324e136 drop widget sockets when a livechat inbox reloads * 35ea94a4 set the shutdown budget to 8s * 2c52e69b reword the shutdown timeout log * 1028e688 set the shutdown budget to 10s * 3393b6e1 close websockets and bound the http server shutdown * 2b5b73ae Merge pull request #521 from abhinavxd/fix-font-gaps * 849ebbcc set the chart font on body instead of overriding root * 102e9fc6 apply Geist to toasts, charts and form controls * 9c219c38 Merge pull request #520 from abhinavxd/fix-participant-insert-log-spam * 364d11aa stop duplicate key errors when adding conversation participants * 9475e6dd Merge pull request #516 from abhinavxd/geist-and-hc-page-cache * 7b1ca527 Merge pull request #519 from abhinavxd/fix-report-overview-queries * 9626d512 count only away_manual agents as away * f4cff729 keep days 0 as today in report clamp * a9867dce move public help center api under /api/v1 and add security headers * 3218f791 fix away agent count, index resolved_at and clamp report days * 01c27715 shorten help center cache helper names * 4d7c6860 Merge remote-tracking branch 'origin/main' into fix-report-overview-queries * 51bb8be6 Merge pull request #510 from abhinavxd/reduce-memory-and-cpu-hotpaths * 51f7bace fix and speed up the report overview queries * 6c024317 evaluate SLA synchronously on first reply, resolve and reopen * 51621254 broadcast the remaining sla fields when a policy is applied * ec629ba0 use slices.Delete to remove a websocket client from the hub * 02906ef5 clear sla deadlines on policy delete and stop double counting next response * 6fa5d66b recompute conversation SLA deadline when next response is settled * 1aaf021b add id tiebreaker so article reads and view counts pick the same row * 6208b291 fix cache misses, wrong view counts, and silent cache errors in the help center * 3da864b5 remove comments that narrate rejected designs * ae8c6ba6 fix stale and broken pages in the help center cache * c865748c switch to Geist and cache help center pages * 6a6a0a81 simplify websocket client and fix handshake error response * 3979958f Merge remote-tracking branch 'origin/main' into reduce-memory-and-cpu-hotpaths * a0d9929e Merge pull request #513 from abhinavxd/fix/qp-charset-mojibake * 1d9c20f3 guard websocket client sends against the channel close * a1cae0b8 close and release websocket connections promptly on failure paths * 4fce040d reduce websocket per-connection memory and hot-path allocations * 44688cb9 remove nil envelope loop and tidy imap comments * a3d29011 fix mojibake in incoming quoted-printable emails * de3d5f76 guard against empty pending notifications in resolved-conversation test * 16e3a7db recompute conversation next sla deadline on status change * 3a9e66d0 batch the settled sweep deadline recompute and abort re-apply when judging the old sla fails * d0daeb86 Merge remote-tracking branch 'origin/main' into reduce-memory-and-cpu-hotpaths * 5dbcebe3 judge outcomes that already happened before superseding an sla * d73151a0 fix sla status labels, notification cleanup, and the deadline overwrite race * 81f1deb1 skip the first-response deadline once the agent has replied * fa865825 compute next sla deadline as the earliest open obligation including live next-response countdowns * 49459a19 log pending sla counts only when non zero * 097585a1 keep events with a stamped outcome that the tick has not statused yet * 05c6e590 add comment explaining the closed cte gate * ee82b772 use != instead of <> in sla queries * ced045f7 keep applied slas whose next-response events scored instead of cascading the history away * 7816bd1d filter applied slas by date range inside the latest-row cte * 976307d9 count only each conversation's latest applied sla in overview report * e0127ce3 add short comments above each cte in the changed sla queries * 5822c09c add starvation, quiet tick and cross-conversation isolation tests * 005e6a3f add concurrency, business hours, warning schedule and deadline repair tests * 06b949a4 cover all sla policy metric combinations and clean orphaned events on re-apply * c2b8dd7f add resolution-only sla policy test * 1a27f23d add postgres-backed tests covering the full sla lifecycle * db8cb519 exclude next-response-only slas from the settled sweep so their live deadline is not wiped * 52be8821 chain apply-sla ctes so the insert runs after the old pending row is closed or deleted * 91f897a7 Merge pull request #509 from abhinavxd/test-coverage * b10a854d make settled sla sweep self healing and repair conversation deadline in the same statement * c5661664 Merge pull request #511 from abhinavxd/fix-private-note-delete-authz * 3568aa18 restrict private note deletion to the note author or an admin * db60ac04 close settled slas only for rows whose evaluation fully succeeded * 8d0aa76d clean up test fixtures and fix the tag name validation wording * 4277ff50 fix sla apply atomicity and superseded sla cleanup, read static file bytes once * b50f1177 tighten test fixtures and assertions from review * 3bbbb2c7 fix ci e2e failures and unreachable zod defaults * 71e46490 only upgrade the api secret hash that was just verified * 9708f78c reduce memory and cpu use in sla, static asset and api key paths * 76d0ef4f cut restating comments from the test suite * 87255758 stop webhook form spec depending on a clipped validation message * 7cce27db stop livechat inbox form discarding edits when a home app is changed * d9588068 stop role and business hours forms discarding edits, add inbox and template specs * 7a104bff add browser specs for agent, role, status and tag forms * f5ce7461 add create conversation, incoming message and settings browser specs * 44c592d3 add browser specs for automation, help center and ai forms * d206db2f document how to run the e2e suite locally * 4eb9297e reword delete skips to note the ambiguity rather than assert a bug * d91a724e add conversation lifecycle browser spec * 357a259c verify every claimed bug against the live api and rewrite the findings * 3ca102bd add conversation, contact and view api specs and merge headers in cy.api * 8412c90a add browser specs for team, sla, macro, webhook and custom attribute forms * cf14aa60 add remaining form schema tests and document findings * f4763dfc add api contract specs, form schema tests and validator unit tests * fb4ad5f0 add cypress api and page sweep tests, fix agent and context link bugs they found * eb4a8c49 Merge pull request #507 from abhinavxd/fix-reply-box-block * f3efea76 add reindex debug logs and quiet two noisy log lines Fix reply box editor blocking dialogs * 92461196 Merge pull request #504 from abhinavxd/fix/team-assignee-hooks-and-helpcenter-theme * 5433187e dedup the recipient email loop and apply review fixes * 7fd9604c reject whitespace-only article content * 758e2034 Merge pull request #505 from abhinavxd/feat/pprof-toggle * 92ee4401 log pprof startup after the listener binds * 43f09385 enable block and mutex profile rates via config * b1baa6f8 drop pprof block from sample config * f8f0ce2f add optional pprof server behind app.pprof config * 6a74d505 send an error response from inbox and settings handlers * d7fdc5c9 log a failed assignee removal on team change * a3515c5c drop the unchanged claim from the invalid theme error * 997a9427 count code points in help center length checks * e19a428d harden help center validation and fix automation previous_* values * 94b7f8eb Merge pull request #501 from abhinavxd/chore/i18n-label-cleanup * d0f236a5 reuse a global link term for editor and help center labels * a5dcfa1f Merge pull request #502 from chiliec/fix/update-checker-timeout-body-leak * 7163050b simplify update checker fetch and tests * 9586a638 fix(updates): add HTTP timeout and always close body in update checker * f2746438 Update README.md * ae4c4905 Update README.md * d0ff0c6f trim redundant editor and help center labels, reuse global i18n keys * 7f5a7e09 Merge pull request #500 from abhinavxd/fix/welcome-email-logo * 0c99b015 fix missing logo in emails on a fresh install * dd7fc1c5 Merge pull request #499 from abhinavxd/fix/sidebar-view-kebab-mobile-align * 93ed86df fix sidebar view kebab alignment on mobile * 78c52bf1 Merge pull request #473 from pat-s/pr/mobile-dashboard * 9106ea1f fix composer closing on a blocked send, note keyboard focus, and sheet close target * 2fd104f4 remove keyboard focus and desktop splitter changes unrelated to mobile * daeab85e reveal hover-hidden attachment and attribute controls on keyboard focus * dd21f5d8 fix mobile inbox nav, touch-hidden create view button, and send during inline upload * 7c1e681d add a context menu entry to start bulk selection on touch * 0e8760af Merge branch 'main' into pr/mobile-dashboard * f9fcba88 polish mobile layout and touch targets * 8ff3e4bd Merge pull request #498 from abhinavxd/fix/phone-country-detection * 5c6f4437 fix timezone country mappings, phone error overlap and welcome workflow * 911fbe5b detect phone country from browser timezone in the pre-chat form * 8aa70676 Update README.md * 474c2752 Add Railway deployment section to README * 7d1530ac Merge pull request #497 from abhinavxd/pr-welcome-workflow * e2305736 pin first-interaction action to a commit sha and move to v3 * e1ed3989 add workflow to welcome first time contributors on their first pr * 3620ae03 fix(ui): make dialogs fit a narrow viewport * ff5e68d7 fix: keep the selection checkbox visible on keyboard focus * d747afa3 fix: reveal hover-gated controls on touch devices * 62505105 Merge pull request #494 from abhinavxd/fix-oidc-login-errors * 71f3ba53 simplify oidc login error messages and merge provider error into login failed * d4d36994 Merge pull request #426 from abhinavxd/worktree-gdpr * 0a38fb7c log the model and file details of each media the sweeper deletes * f7a1f96a wait 24 hours before sweeping attachments whose message is gone * 12fa3831 show blocked badge on contact page and use alert dialogs for block and delete * 08d8febc make the widget dev server port configurable * ee6bc6ec add csat responses to contact export and fix download revoke * 5735214d Merge remote-tracking branch 'origin/main' into worktree-gdpr * 449e2ee2 surface specific oidc login errors on the login page * 91778135 Merge pull request #440 from abhinavxd/help-center * 1ac0c77b harden help center public routes and render a themed 500 page * 0d6c1691 focus article editor at the end of content when opening an article * 09892669 fix locking and depth handling in help center article move and tree * 5ad6b4ac document rate limit settings in config.sample.toml * 2183e814 move help center branding columns into theme and ship Instrument Sans * 6e020dd6 improve help center tree and docs template hierarchy UX * 9c1b183e use root url for help center preview links and fix locale hints * 7ea3042d remove archived article status and fix help center tree loading * b6a35773 add icons and destructive styling to admin dropdown menus * b972e144 fix article save scan error, store relative media URLs and delay startup cleaners * 2e5ec787 stop logging anonymous no-session requests as errors and add auth method consts * 6cc06ed8 render help center theme text as markdown instead of raw HTML * 6aa887f7 add a locale picker and weighted full-text search to the help center * 1feb3743 dedupe help center template partials and reuse the markdown link helper * 2476ee26 center the article editor toolbar and stop the feedback box resizing * cc6193c5 harden media serving and fix a few help center review findings * 11611de2 fix the second round of help center review findings * 5027fe23 fix a batch of help center review findings * 7ebec4df move the help center migration to v2.8.0 and drop two unused endpoints * c494904e use a lucide chevron for the collapsible marker * 57af9bc2 add syntax highlighting and a copy button to article code blocks * 95346c75 Merge branch 'main' into help-center * 6083d2f0 serve help centers at the root of a custom domain * b138b225 Merge pull request #487 from abhinavxd/cache-go-build-release * 2f8637cb warm the go build cache from main so release runs can restore it * c6114680 use a dedicated always-saving go build cache in the release workflow * 8ca05b24 share collection cards between help center templates * fbbef49b fix help center feedback counts, empty state, mobile logo and a11y * 048eb1ac add page template setting for help center with docs and classic layouts * 68bb8538 fix help center code review findings across public pages and admin * aa54bfa4 fix slug, locale, theme and embedding bugs in help center * 1e88b124 Merge remote-tracking branch 'origin/main' into help-center * 6f2f0469 Merge remote-tracking branch 'origin/main' into help-center * ec6a9cd9 Merge remote-tracking branch 'origin/main' into help-center * 04822912 Merge remote-tracking branch 'origin/main' into help-center * ee1acc68 fix: mount the contact sidebar collapsed when it is persisted closed * ebce66a9 feat: mobile support for the agent dashboard * 0eecef97 scope robots.txt and sitemap index to the requesting host * 26f688fb Merge branch 'main' into help-center * 353558ce add a public URL per help center and fix code review issues * b4b4251e Merge remote-tracking branch 'origin/main' into help-center * 90139287 fix editor, preview and public page issues from code review * d9ede860 hide the announcement banner when its text sanitizes to nothing * f7a662e1 allow basic html in help center tagline and announcement text * 5e320b8e add article preview, announcement banner, and author selection to help center * 341d5b0c show the help center permission on the role form * 9cac787f fix preview sources and reindex articles when a collection changes * e5bfe793 keep tables and link urls in embedded article text * 3b921857 tighten help center permissions and fix editor and public page issues * 60891069 add live search suggestions and card icon layouts to help center * f8614853 add help center preview and fix locale and URL handling * 1fc606b8 fix help center issues and reuse global i18n keys * 6aa221a4 merge origin/main into help-center * 7b696903 add SEO, localization, and drag reordering to the help center * 38983f17 Merge remote-tracking branch 'origin/main' into help-center * 76db5aa8 fix help center bugs and share the embedding and article-content code * baff30fc add help center with public pages, admin management and AI article indexing * ab2a1471 log avatar delete failures and export more contact fields * 889e219a move contact actions into a dropdown and share blob download helper * bfbcd0a8 add contact deletion and data export for GDPR compliance ## What's Changed (Auto generated) * use a dedicated always-saving go build cache in the release workflow by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/487 * Help center by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/440 * add contact deletion and data export for GDPR compliance by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/426 * surface specific oidc login errors on the login page by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/494 * add workflow to welcome first time contributors on their first pr by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/497 * detect phone country from browser timezone in the pre-chat form by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/498 * feat: mobile support for the agent dashboard by @pat-s in https://github.com/abhinavxd/libredesk/pull/473 * fix sidebar view kebab alignment on mobile by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/499 * fix missing logo in emails on a fresh install by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/500 * fix(updates): add HTTP timeout and always close body in update checker (#445) by @chiliec in https://github.com/abhinavxd/libredesk/pull/502 * trim redundant editor and help center labels, reuse global i18n keys by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/501 * Feat/pprof toggle by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/505 * harden help center validation and fix automation previous_* values by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/504 * add reindex debug logs and quiet two noisy log lines by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/507 * restrict private note deletion to the note author or an admin by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/511 * Increase Test coverage by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/509 * fix mojibake in incoming quoted-printable emails by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/513 * reduce memory and cpu use in sla, static asset and api key paths by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/510 * fix and speed up the report overview queries by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/519 * switch to Geist and cache help center pages by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/516 * stop duplicate key errors when adding conversation participants by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/520 * apply Geist to toasts, charts and form controls by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/521 * close websockets and bound the http server shutdown by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/523 * exclude private notes from the overview message volume counts by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/524 * downscale avatars to 256px on upload by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/525 * fix widget messages vanishing when upload takes over 10 seconds by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/526 * raise the response body pool limit to 1mb by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/527 * read the per user type config in the livechat widget preview by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/528 * deflake the general settings form validation tests by @abhinavxd in https://github.com/abhinavxd/libredesk/pull/529 ## New Contributors * @pat-s made their first contribution in https://github.com/abhinavxd/libredesk/pull/473 * @chiliec made their first contribution in https://github.com/abhinavxd/libredesk/pull/502 **Full Changelog**: https://github.com/abhinavxd/libredesk/compare/v2.7.1...v2.8.0
Related Repositories
public-apis/public-apis★ 491,124
A collective list of free APIs
NousResearch/hermes-agent★ 255,888
The agent that grows with you
yt-dlp/yt-dlp★ 199,987
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,478
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.