Even more!
But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.
Plugin improvements
discourse-adplugin
Bug Fixes
- Show non-restricted ads instead of not showing ads at all (213)
discourse-ai
New Features
- Custom user defined tools (677)
- Store provider-specific parameters. (686)
- Allow select claude-3-5 for native tools (682)
- LLM presets for model creation (681)
- Support for Claude 3.5 Sonnet via AWS Bedrock (680)
- Allow access to private topics if tool permits (673)
- Optional tool detail blocks (662)
- Anthropic function calling (654)
- Add native Cohere tool support (655)
- Improved tooling (651)
- Restrict public sharing on login required sites (649)
- Add support for all vision models (646)
- Add aspect ratio support to DallE 3 (647)
- Allow deleting custom LLMs. (643)
- Auto image captions (637)
- Improve logging by including llm name (640)
- Use DBreadcrumbsItem in admin UI (631)
- Test LLM configuration (634)
- Add support for contextualizing a DM to a bot (627)
- JavaScript evaluation tool (630)
- Set endpoint credentials directly from LlmModel. (625)
- Safeguard to avoid over triage (626)
Bug Fixes
- Disabled chat breaks
ai-chat-summarization
(697) - Info not working, not suppressing hidden tags from report (696)
- Use base64 encoded images in AI Image Caption via LLaVa (693)
- Never provide tools with invalid UTF-8 strings (692)
- Move the bot user toggling to the controller. (688)
- When creating an llm we were not creating user (685)
- Make sure LlmEnumerator always return value hashes using symbols (684)
- SRV warning should not trigger on brand new LLM (679)
- Typo when excluding personas from enabled bot list (671)
- Display search correctly, bug when stripping XML (668)
- Dall E / Artist broken when tool_details is disabled (667)
- Do not mark column read only so certain deployments work (663)
- Summarize is not working remove for now (661)
- Use new report color keys defined in discourse/discourse#27240 (660)
- Switch off native tools on Anthropic Claude Opus (659)
- AI Bot Shared Conversation didn’t respect CDN / Subfolder (657)
- Remove doubled up breadcrumb in persona UI (650)
- Include_usage is not available in the Azure API. (648)
- Move image caption group check logic to server side (645)
- Reply broken when auto caption is enabled (642)
- Amend incorrect translation keys (639)
- Correct gemini streaming implementation (632)
- Unresponsive post buttons due to Ask AI highlight (635)
UX Changes
- Improve composer suggestion button layout (678)
- Show image caption button on image hover (670)
- QoL impromevements to the admin LLM models page. (674)
- Improve appearance of attributed quote when sharing (665)
- Hide AI preferences page completely if no settings for user (644)
- Suppress “this is a warning” (636)
- Follow plugin user interface UI guidelines. (628)
discourse-antivirus
Bug Fixes
- Avoid deprecated replace_flag API (57)
discourse-assign
UX Changes
- Smaller avatar size in button to prevent height change (576)
discourse-authentication-validations
New Features
- Add value validation regex (13)
discourse-bbcode
Bug Fixes
discourse-calendar
Bug Fixes
- BBCode parsing specs (575)
- Move misplaced error translation (574)
- Delete future holidays on region change (571)
UX Changes
- Update mobile event styling (581)
- Fix extra space and wrapping in topic lists (578)
- Always wrap new dot and date onto same line (577)
discourse-category-experts
UX Changes
- Add Space between ‘Close’ and checkbox for ‘Ask a category expert to respond’ (145)
discourse-chat-integration
Bug Fixes
- Move chat integration problem check message to correct locale key (201)
- Move GroupMe error message to server side translations (196)
- Add missing dummy translations for tests (195)
discourse-code-review
UX Changes
- Truncate long notification labels (213)
discourse-custom-topic-lists
New Features
Bug Fixes
- Add htmlSafe rendering to custom topic lists banner description (14)
- Typo from merge (13)
- Add check to ensure anon users still can enter site (6)
UX Changes
- Refactor css classes to be easier to overwrite (16)
- Make sure dropdown is always last (11)
- Append description to query field (9)
- Rename
bannerLabel
property todescription
(8) - Rename path property to slug (7)
- Move custom-topic-lists-banner to above-main-container (4)
- Add body class to list template (3)
Accessibility
- Update labels for dropdown and sidebar (12)
discourse-data-explorer
Bug Fixes
discourse-encrypt
Bug Fixes
discourse-gamification
New Features
Bug Fixes
- Update post_created scoring (114)
UX Changes
- Fixed the missing translation issue of “Rank” (146)
discourse-group-tracker
Bug Fixes
- Track_posts_with_priority group setting shows when track_posts setting not selected (60)
- Jump targets inside a topic list when using priority groups (55)
discourse-kolide
Bug Fixes
discourse-lazy-videos
UX Changes
- Avoid onebox CSS overriding youtube video height (15)
discourse-livestream
UX Changes
- Fix margin and padding on desktop (23)
- Update mobile styling and header icons (22)
- Remove iframe styling overrides (20)
discourse-math
New Features
- Add support for multilingual mathjax (84)
discourse-policy
Bug Fixes
discourse-post-voting
Bug Fixes
- Add missing flag auto-silence reason translation (200)
discourse-preset-topic-composer
New Features
Bug Fixes
- Tag synonyms should work (15)
- Tag groups with
/
are now being fetched correctly (10) - Adjust schema to options editor not loose inputs (9)
- Fetching url for tags required a first
/
(7) - Composer keeps values re entering composer (6)
- Label changing when select category (5)
UX Changes
- Change booleans to use checkboxes (12)
- Add selection indicator to composer preset (11)
- Add tagGroups to defaults (8)
- Move error message to the bottom of the composer (4)
Security Changes
- Bring list of presets to backend (14)
discourse-prometheus-alert-receiver
New Features
- Update
topic_assignee
andtopic_group_assignee
annotations (84)
discourse-reactions
Bug Fixes
- Couldn’t select text after dismissing a reaction (296)
- N1 in post action extension (292)
- Reactions doubled up as like if no longer enabled (289)
discourse-salesforce
Bug Fixes
- Add Rails 7+ compatibility
- Move Salesforce API calls to background job. (79)
discourse-solved
Bug Fixes
discourse-subscriptions
Bug Fixes
- Add missing transaction error translation (214)
- Campaign banner should link to pricing table when enabled (212)
discourse-theme-creator
Bug Fixes
- Ensures stop sharing is working (82)
discourse-topic-noindex
Bug Fixes
- Add a check for when getting topics with only slugs (15)
discourse-topic-voting
UX Changes
- Improved alignment for title voting (189)
discourse-translator
Bug Fixes
- Don’t error out on deleted users (149)
All Features and Fixes
New Features
- Only count topic views for explicit/deferred tracked views (27533)
- Created edit and delete flags (27484)
- Add WebHookEventsDailyAggregate report page (27573)
- New ‘should_add_email_attachments’ plugin modifier
- Add WebHookEventsDailyAggregate (27542)
- User fields required for existing users - Part 2 (27172)
- Add Untranslated filter to admin text customization (27555)
- Add JavaScript mode to ace (27586)
- Smarter list editing in DEditor (27563)
- Enable list keyboard shortcuts on filter route (27551)
- Support Spotify Onebox (27540)
- Introduce site settings which require confirmation (27315)
- Add hidden site setting to list ‘unsafe-none’ COOP referrers (27510)
- Optional 2FA enforcement (27506)
- Capture 28 day interval request stats (27471)
- Add tag_group option in
/filter
(27427) - Show my threads from muted chat channels (27468)
- Chat drawer navigation improvement (27419)
- Align with /filter and allow multiple category search (27440)
- Use basic HTML table if it can’t be converted to Markdown
- Add Filter for Webhook Events by Status (27332)
- Use new topic bulk actions dropdown on search page (27303)
- Load chat channel settings within drawer (27346)
- The ability to change the order of flags (27269)
- Allow site admin to mark a user’s password as expired (27314)
- Expand the admin sidebar when filtering (27312)
- Allow “move to inbox” and “move to archive” for private messages using new bulk topic dropdown (27236)
- Add “s3_uploads” option to “discourse backup” script
- Show video thumbnail in composer (27233)
- Admin can disable flags (27171)
- Add Uyghur language (27183)
- Topic_view_stats table with daily fidelity (27197)
- Add agree and edit (27088)
- Implement new required options in admin user fields UI (27079)
- Add bulk action to bookmark (26856)
- Allow to bulk delete chat messages (26586)
- Use the new plugin show route from the plugin list (27097)
- Introduce DBreadcrumbs components (27049)
- Extend PM recipient bulk imports (27063)
- Extend embeddable hosts with Individual tags and author assignments (26868)
- Filter with CategoryDrop on category page (26689)
- Redirect /faq, /rules, /conduct to /guidelines (27592)
- Show chat and message buttons on your own profile (27600)
- Use ‘moderators’ instead of ‘staff’ (27572)
- Improve alignment of extra PM info in header (27594)
- Revert chat footer changes partially (27591)
- Remove default use of quaternary color, update nav pill styles (27502)
- Remove the link from the title; add external icon; style adjustment (27571)
- Increase spacing mobile menus (27554)
- Remove tertiary color from non-link elements (27565)
- Fix chat drawer z-index (27568)
- Remove or replace button transitions with variable (27527)
- Hide the error tooltip when focusing the topic title (27531)
- Add new preview links to Popular Themes (27518)
- Add min-height to preview image wrapper to give controls space (27523)
- Vertical alignment for lighbox-wrapper (27520)
- Fix user bookmark list keyboard focus state (27515)
- Move user-cards above composer (27491)
- Always show image preview controls, improve spacing (27489)
- Remove padding to fix mobile thread date pinning (27470)
- Highlight “no subcategories” as active dropdown option (27478)
- Replace “all subcategories” with “remove filter”, reorder tag dropdown (27473)
- Make tag filter color consistent with category filters (27474)
- Rename FAQ to Guidelines (27451)
- Update “all tags” to “remove filter” for tag breadcrumb dropdown (27424)
- Add active highlight for breadcrumb navigation (27422)
- Restrict mobile tooltip width to prevent horizontal overflow (27420)
- Improve login modal on very narrow screens in desktop mode (27405)
- Allow cooked local-dates to wrap (27404)
- Show message and chat buttons on hidden profiles (27326)
- Make chat drawer settingspage full height (27385)
- Create space for new topics banner on new, unread (27374)
- Improve topic timeline date titles (27351)
- Streamline reset password page (27341)
- Move users link to the top of the admin sidebar (27339)
- Prevent twitter like/retweet counts from wrapping (27333)
- Fix only-emoji size in user-stream excerpts (27330)
- Add space between revision avatar and username (27329)
- Fix mobile read state alignment (27323)
- Use regular reset-password flow for expired passwords (27316)
- Improve search result consistency (27289)
- Constrain width of chat transcripts in posts (27288)
- Keep recent search items on same line as icon (27280)
- Keep recent search items on same line as icon (27264)
- Contain background for deleted small actions (27263)
- Adjust category badge size for new default font-size (27262)
- Show shortcut for admin sidbar filter (27258)
- Minor categories reorder fixes (27249)
- Chat footer unread indicator (27244)
- Change consolidated pageview experimental report colors (27240)
- Implement new top-level nav on admin plugin pages (27126)
- Hide ‘same site cookies’ site setting (27230)
- Add illustrations for empty chat list + split into tabs on drawer (26910)
- Make sticky avatars behavior consistent (27223)
- Add text-overflow for channel members list (27208)
- Also plays notification sounds in group channels (27176)
- Reduces idle time to 0 on chat (27158)
- Add space to following list (27154)
- Add ellipsis to usernames in topic post map (PMs) (27137)
- Disable plugin list settings button for some plugins (27124)
- Reset idle on tab focus (27139)
- Clean up email preference layout (27136)
- Group membership PMs thread (26974)
- Removes blinking indicator while streaming message (27131)
- Change admin sidebar expand/collapse all icon (27120)
- Update px spacing to em for proportionality (27108)
- Switch post action buttons to inline-flex to avoid extra whitespace (27110)
- Search context box too dark (27109)
- Shorten duration of bookmark toasties (27085)
- Increase base font-size to 16px (27087)
Security Changes
- Don’t allow suspending staff users via other_user_ids param
- Avoid the use of
Object#send
inOnebox::Engine::StandardEmbed
- Fix Stored-dom XSS via Facebook Oneboxes
- Update reviewable user serializer payload
- Add FastImage SSRF safe freedom patch
Performance
- Eager load field causing N+1 issue (27626)
- Cache
hostname
inDiscourseLogstashLogger
(27442) - Avoid excessive object creations in watched words (27354)
- Fix performance of chat email notifications
PostTiming.pretend_read
to not updateTopicUser
cache columns (27201)
Accessibility
- Add aria-label to menu tabs (27071)