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-ai
New Features
- Include tag and category context in search (217)
- Add tags and categories to read context (215)
- Add cancel button to loading context menu (213)
- Add semantic search with hyde bot (210)
- Use stop_sequences for faster HyDE searches with Claude (203)
- Tweak HyDE prompts for better grounding in forum subject and limit response size (200)
- HyDE-powered semantic search. (136)
- Return only applicable suggestions in AiHelper category/tags suggestions (184)
- Better link in Claude summaries (183)
- Add researcher persona (181)
- Additional AI suggestion options (176)
- New site setting explorer persona (178)
- Add initial support for personas (172)
- Show suggested title prompt in new location (171)
- Add setting_context experimental command (160)
- StableBeluga2 support for AiHelper (162)
- AI Helper Context Menu (148)
- Implement command framework for non Open AI (147)
- Try to generate OpenAI Summaries in current language (146)
- Support 16k and 32k variants for Azure GPT (140)
- Optional warning attached to all AI bot conversations (137)
- Tweaks to Anthropic Summarization (138)
- Basic progress for image generation (133)
- Streaming mode for the FoldContent strategy. (134)
- Experimental read command for bot (129)
- Add support for StableBeluga and Upstage Llama2 instruct (126)
- Compatibility with protected Hugging Face Endpoints (123)
- Add support for final stable diffusion xl model (122)
Bug Fixes
- Trigger initial semantic search. (219)
- Perform semantic search only when searchTerm is valid (216)
- Generate embeddings job was broken (211)
- Flaky spec in AI Helper modal (208)
- Flaky Spec (207)
- Filter allowed categories from semantic search results (206)
- Invalidate semantic search cache entries when hyde or embedding model changes (202)
- Update migrations with latest vector rep changes (199)
- Tag/category suggestion broke in 2c0f535 (198)
- Flaky spec (197)
- Cut completion short after function call is found (182)
- Ai_bot_allowed_groups now works with restricted visibility (180)
- Setting explorer was exceeding token budget
- Show warning when trying to generate suggestions without content (175)
- Trim first space when getting a reply from anthropic (164)
- Renumber StableBeluga2 AiHelper prompts to fix conflict (163)
- Context menu not appearing in Firefox (154)
- Automatic bot titles missing sometime (151)
- Pages with small composers breaking (155)
- Add check for PMs before showing AI helper context menu (153)
- Show AI helper only if in allowed groups (152)
- Display related topics when scrolling to the bottom of a topic. (150)
- Improve token counting (145)
- Fix embeddings truncation strategy (139)
- Refine image and read command (131)
- Remove muted from Similar list (127)
- Google command was including full payload (128)
UX Changes
- Prevent input text from covering suggestion button (212)
- Show suggestion buttons only if sufficient content is present (204)
- Change AI Helper toggle icon to sparkles (201)
- Clicking outside editor should close context menu (170)
- Prevent context menu overflow outside of container (168)
- Improve styling and make button full width of context menu (167)
- Pill design is the default on both mobile and desktop (142)
- Adjust bot warning so it looks better (141)
discourse-antivirus
Bug Fixes
- Use hostname and port passed to the proc. There are no instance variables (45)
- Scan files when a single server is online (42)
- Use named arguments and angle bracket syntax for CookText component (43)
discourse-assign
Bug Fixes
- Move comment out of the translation value (503)
- Fix reminder frequency not getting sent daily when early by a few seconds/minutes (496)
discourse-automation
New Features
- Additional options for pm_created and post_created_edited triggers (210)
- Option to force title and flair updates for badge-group syncs (208)
- Add script to modify user group memberships through badges (206)
Bug Fixes
- Do not output non existing descriptions (215)
- I18n lookup locale (211)
- Post created event issue when group specified (212)
UX Changes
- Show complete title on category notification level (213)
discourse-calendar
New Features
- Display calendar events adjusted for timezones (432)
- Add a new site setting that shows upcoming events in the sidebar (434)
discourse-category-experts
Bug Fixes
discourse-code-review
Bug Fixes
- Skip empty events for PR timelines (179)
discourse-encrypt
Bug Fixes
- Don’t error when rotating identities of protocol-v0 (277)
discourse-follow
Bug Fixes
- Use new plugin API to render notification (97)
discourse-global-filter
Bug Fixes
- /login loop when categories is default homepage (117)
UX Changes
- Remove the none options from the categories dropdown (116)
discourse-math
Bug Fixes
- Correctly enables features of discourse-math (73)
discourse-openid-connect
Bug Fixes
- Openid_connect_client_secret should be marked secret (63)
discourse-post-voting
Bug Fixes
- Unset width for sorting methods on mobile (165)
- Show small action posts when sorted by activity (161)
- Disallow voting on posts and comments for archived or closed topics (160)
- Comment serialization for deleted users (154)
UX Changes
- Align the sort by buttons to the right of the post (164)
discourse-prometheus
New Features
- Instrument reason for the trigger of last major GC (74)
Bug Fixes
- Gc_major_by process metric not working (75)
- Exclude gc duration from application duration metric (73)
discourse-reactions
Bug Fixes
- Adding DATE casts to the Reaction dashboard report (235)
- Support older versions of core in JS intializer (231)
- Display correct title text for unauthenticated users (230)
UX Changes
- Fix locale for multiple reactions (239)
discourse-salesforce
UX Changes
- Show a user readable error when credentials are incorrect (60)
discourse-shared-edits
Bug Fixes
discourse-templates
Bug Fixes
- Make the keyboard shortcuts compatible with modals using the new API (48)
UX Changes
- Center the templates modal correctly on the screen (41)
discourse-theme-creator
Bug Fixes
discourse-user-notes
Bug Fixes
- Note info not appearing (82)
discourse-video
New Features
- Adds a max duration site setting (46)
discourse-voting
New Features
discourse-zoom
New Features
- Implement oAuth authorization for use with SDK zoom app (47)
All Features and Fixes
New Features
- Allow consumers to parse a search string (23528)
- AddBeforeAuthCompleteCallback plugin API method (23441)
- Add silence reason dropdown to admin penalty reason
- Secure uploads in PMs only (23398)
- Add a shortcut to archive PM
- Add group filter for admin reports (23381)
- Support to initial values for form templates through /new-topic (23313)
- Display count of topics being dismissed in dialog (23288)
- Onebox and Download for WEBP and AVIF (23235)
- Chat global mention warnings (pre-send & post-send) (22764)
- Digest suppression by tags (23089)
- Implements user based sidebar mode (23078)
- New topics vs replies toggle for the new new view (22920)
- Do not bump topics when retroactively closing (23115)
- Stream topic summaries. (23065)
- Add topic voting webhook event type (23072)
- Add a param to exclude users by groups on the users directory page (23067)
- Add audio.com onebox provider (22936)
- Bundle discourse-checklist plugin into core (22927)
- Count only approved flagged posts in user pages (22799)
- Remove restrictions from the chat messages export (22854)
Bug Fixes
- tooltips can be over the header (23548)
- cancel post toolbar on click outside (23546)
- Chat layout shift when loading videos (23537)
- Send email to normalized email owner when hiding emails (23524)
- Empty query param in group-index url (23520)
- Prevent chat message actions to disappear on mouseleave (23063)
- Ensure declarative DModals do not interfere with service (23510)
- Ensures swipe works with scroll (23508)
- Double footer in install-theme modal (23503)
- Render ‘In topic context’ search results at the correct time (23481)
- Ensures automation can send chat message (23478)
- Focus state color on
.btn
[href]`` (23469) - Do not consider code-blocks when parsing mentions (23280)
- Add missing translation key
- Everyone should be aware a cached summary is outdated. (23438)
- Don’t mix up action labels between different reviewables (23365)
- Tests
- Admins not able to convert topics if they aren’t in personal_message_enabled_groups (23399)
- An incorrect import (23414)
- Respect default category sort when
filter=default
(23411) - Update asset precompile list following c7dce90f (23393)
- Replying to OP is a reply to the topic, not the post (23380)
- Update DIRECT_UPLOAD CORS ruleset to include new Amazon signing headers (23379)
- Attribute pending post to author in
PendingPostSerialier
(23369) - Allow pending posts to have empty titles (23366)
- Closes chat emoji picker on body scroll (23362)
- Pop up dialog correctly when fail to delete a user (20645)
- Chat message button radius (23358)
- Form template cooked heading from label (23359)
- Wrap tag description in a span tag (23357)
- Add missing props to move-to-topic (23349)
- Confusing vague upload error (23347)
- Add mobile specific stylesheet for onebox (23329)
- Hide core plugins from the admin Plugins list (23328)
- Remove chat “enable chat plugin text” (23327)
- Add hashtag placeholder when chat message sent (23287)
- No form template logic when editing posts (23317)
- Remove border radius on more topics container buttons: (23314)
- Correct link to meta.discourse.org
- Include ‘notify staff’ separator in chat message flag modal (23301)
- Typo in summary URL (23298)
- Display summaries for anonymous users. (23294)
- Update search-menu.scss (23292)
- Avoid scroll jumping for topics on slow connections (23290)
- Improve admin plugin list and modernize code (23256)
- Adjust border-radius in multiple locations (23278)
- Ensures we update cached model last message bus id (23271)
- Respect default category sort order when navigating within app (23270)
- Badge preview not displaying grant count (23269)
- Incorrect chat message reaction text (23260)
- Create a reviewable when flagging a chat message for ‘something else’ (23264)
- Compile js-processor before db:migrate (23229)
- Prevents setPanel to also set separated mode (23227)
- Add site name to sitelinks structured data (23151)
assets:precompile:js_processor
task issue (23219)- Correctly resets editing state when done (23209)
- Video thumbnail uploads interfering with subsequent uploads (23216)
- Infinite loading broken on group members list (23214)
- Sidebar URL full reload when anchor (23121)
- Topic timeline/progress switching edge-cases (23202)
- Ensure service-worker cache is cleaned correctly (23204)
- Hide tooltips when scrolling on mobile (23098)
- Correctly check chat tab is present (23200)
- Correctly closes panel when exiting chat (23201)
next
vsreturn
in maxmind task (23196)- Keep track of suggestion updates during scrolling and navigation. (23190)
- Revert previously removed mentions transformation on the client (23084)
- Displays popup error for any error (23184)
- Do not delete empty message with uploads (23177)
- Correctly display max users message error (23178)
- Correctly recognizes URL with subfolder (23173)
- Resize-modifier event listener cleanup (23166)
- Delete fast typer reviewable when deleting user (23162)
- Correctly handles mobile and default (23152)
- Sets sidebar state on load (23150)
- Correct bulk invite expire time for DST (23073)
- Pending post deletion by creator (23130)
- Correctly makes
this
accessible in the scope (23146) - Don’t fail when exporting chat messages from deleted channels (23131)
- Allow mouse to resize chat drawer on touch devices (23061)
- Don’t run post validations when hiding post (23139)
- Inject currentUser service for related-messages (23128)
- Ensure javascript caches are unique per theme/theme_field (23126)
- Do not mutate
this.attrs
andthis.actions
(23125) - Increase sidebar URL limit to 1000 (23120)
/filter
route input field not updating on route change (23119)- Reference to non-existent
groups#remove_members
in API key scope (23042) - Use the latest version of
puppeteer-core
package to fixpage.click
issue (22989) - Avoid double-counting pageviews when navigating with loading spinner (23107)
- Display ‘shown on X’ user field flags (23109)
- TopicSummarization workaround for Postgres’ discrete range types (23105)
- Correctly deletes webhook_events with webhook (23097)
- Correct select-kit positioning strategy in modals (23096)
- Adjust badge overflow ellipsis (23086)
- Topic summary UI fixes. (23085)
- Prevents user-tips to interfere with widget (23066)
- Chat styleguide modal import (23062)
- Ensures generic onebox has width/height for thumbnail (23040)
- Correctly applies aria-expanded/aria-controls (23029)
- Removes useless model reload (23016)
- Search by tag context was broken (23006)
- Avoid eager rewrite of /my* routes (23011)
- Don’t create a reviewable when sending PM to user in chat (22914)
- Cook hashtags in small action posts (23008)
- Disable switch sidebar panel button after click (23007)
- Allow lightbox cleanup on navigation changes (22954)
- Don’t cut browse more message on the mobile app. (22998)
- Prevents readonly mode to crash channel_messages#index (22987)
- Attempt to connect with navigator.onLine is initially false (22981)
- Use only first character when looking up emoji (22977)
- Account for empty string setting values when migrating category settings (22979)
- Quoting text selection across elements (22974)
- Keep first post edit history when moving/merging (22966)
- Display browse more message as long as there are suggested topics (22967)
- A select-kit+modal regression (22961)
- Poll breakdown regressions (22955)
- Make poll breakdown modal closable again (22952)
- Display customised community section button when no secondary links (22948)
created:@
search keyword for uppercase usernames (22878)- Compact tag picker input not focused in iOS (22922)
- Add ‘Ignored’ flags to Moderator Activity report (22041)
- Poll builder UI issues (22931)
- Prevent event bubbling when closing modals with escape key (22928)
- Prevent event propagation when pressing escape key on lightbox (22924)
- Intercept escape in lightbox and prevent default (22923)
- Default to the first list if the preferred one is empty (22915)
- Display similar topics for anons on mobile. (22907)
- Use category hashtag instead of link in
discourse_welcome_topic.body
(22875) - Ensure PresenceChannel does not raise error during readonly (22899)
- Validate page/limit params for directory, user-badges and groups (22877)
- Ensure presence channels ‘leave’ correctly when the tab is backgrounded
- Can’t dismiss unread posts in topics of a sub-subcategory (22870)
- Chat translation minor issues (22869)
- When using arrow to bottom fetch from newest (22860)
- Breaking typo, missing closing parenthesis in topic-post.scss (22852)
- Missing pending queued posts from topic view (22838)
- Hydration of embedded records (22809)
- Internal oneboxes with github links (22829)
- Tweak right arrow position; set other arrow placements to default (22848)
- Member Highlights on Group Cards (22828)
UX Changes
- Remove unsupported filterable attr from form template sample (23535)
- Wider code lines so background takes the whole width (23536)
- Implements swipe on row channel (23436)
- Remove unsupported features from form template help text (23482)
- Fix mobile timeline footer button positioning (23470)
- Popping animation for adding users (23459)
- Fix tag chooser width when there are multiple tags (23432)
- Show only one username on multiple likes notification (23385)
- Fix checkbox slider (23412)
- Lower z-index (23386)
- Hides header’s unread indicator on full page (23370)
- Thread list design changes (23348)
- Hides original message user in thread participants (23350)
- Display warning message when uploads are not included in backup. (23253)
- Remove Plugin Settings tab (23345)
- Composer fixes (23334)
- Settings are misaligned when translations are too long (23308)
- Fix github onebox on mobile (23306)
- Prevent initial jump when dragging topic timeline scroller (23291)
- Chat composer (23267)
- Minor tweaks to thread list item (23259)
- Update styling for related/suggested (23242)
- Update styling for related/suggested (23231)
- Refines thread list item (23207)
- Fix form template error label position (23208)
- Update styling for related/suggested (23217)
- Update styling for related/suggested (23213)
- Update outdated description of chat messages export (23191)
- Do not show user tab preference when disabled (23188)
- Fix positioning of mobile show-more following 71ff3417 (23189)
- Update
/new
toggle styles, class names (23154) - Update admin popular theme list (23134)
- Improved animation (23145)
- Remove border radius on tippy (23133)
- Remove boostrap mode rounded corners (23132)
- Use pill design on both mobile and desktop (23124)
- Support links in tag descriptions (22994)
- Add show more button to long post queued reviewables (23075)
- Ensures user-status-picker’s input is autofocused (23083)
- Add transition (23034)
- Align tags to top in modal (23055)
- Prevent overscroll behaviour in composer (23056)
- Micro animations chat input (23030)
- Add bookmark-delete icon (23025)
- Differentiate focus state from hover state (22985)
- Add disabled styling to
<DToggleSwitch/>
(22988) - Temporarily add twitter-x Font Awesome icon (22946)
- Simplify and redesign summary skeleton (22965)
- Fix hover color for header icons in WCAG (22959)
- Introduce toggle-switch UI for plugins (22910)
- Add tooltip about multiple emails to admin.groups.incoming_email field (22926)
- Do not scroll-top for aborted transitions (22744)
- Fixes for new related topic styles (22906)
- Use full width when displaying a single recommendations list. (22896)
- Fix long image titles in experimental lightbox (22883)
- Topic recommendations tweaks. (22880)
- Move Admin Guide link to URL (22789)
- Clarify ‘disable tag/category edit notifications’ site settings (22874)
- Fix alignment extra buttons in post controls (22872)
- Increase experimental lightbox z-index (22865)
- Refactor AI summarizing animation (22839)
- Allow composer title to shrink when needed (22863)
- More tweaks to compact tag picker (22859)
Performance
- Cache each theme field value once (23192)
- Improve rendering performance of empty PluginOutlets (23165)
- Avoid calling the same translation twice when rendering lists view (22976)
- Improve performance of queries when loading a topic list (22949)
- Optimise
TopicTrackingState.report
query to speed up query (22871) - Add exponential backoff for
/presence/update
errors (22864)