3.5.0.beta1: Dark/light mode selector, better flagging info, and encouraging more valuable conversations

New features in 3.5.0.beta1

Easy switching between light and dark mode

If you’re using a theme that has both dark and light modes, you now have the option of displaying a selector to your users for them to choose which mode they prefer. The selector can appear in the footer or the header, and allows users to select dark, light or auto, which will select the appropriate mode based on their system settings. This core feature replaces the now-deprecated theme component that provided this selector. Read the announcement here.

More useful information when flagging content

To help site admins remain compliant with evolving legislation, the flag modal now includes text providing a brief explanation of what happens when content is flagged and how it is reviewed. This text can be customised to include any necessary information, like the expected timeframe for reviews. Learn more about this in our documentation.

By default, this text reads:

All flags are received by moderators and will be reviewed as soon as possible.

Check out the feature documentation for how to edit that and add your own details to it.

Encouraging better conversations

In order to foster more interesting and valuable conversations, we now have a setting for not counting uploads when calculating the minimum length of a post. With the new prevent uploads only posts setting enabled, posts that contain only images or other uploads, will be blocked from publishing, encouraging users to offer more substantial and valuable input when engaging in conversations.

4 Likes

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-activity-pub

New Features

  • Add ActivityPub topic map, topic actions, post actions and topic info, and update ActivityPub post info (169)
  • Add ActivityPub topic map, topic actions, post actions and topic info, and update ActivityPub post info. (161)

Bug Fixes

  • Update site actors when actor is created or edited (173)
  • Anon users should be included in ‘everyone’ for post status visibility groups (175)
  • Handling of AP attributes in topic info modal of first_post topics (174)
  • Incorrect i18n string change (172)
  • Routing to followers/follows regression (170)

discourse-ai

New Features

  • Experimental search results from an AI Persona. (1139)
  • New sentiment analysis visualization report (1109)
  • Native PDF support (1127)
  • PDF support for rag pipeline (1118)
  • Tool name validation (842)
  • Changes to summaries’ outdated logic. (1108)

Bug Fixes

  • Discovery search would break normal search for anons (1143)
  • Hardcoded require for evals (1137)
  • Add workaround to pgvector HNSW search limitations (1133)
  • Use max_completion_tokens for open ai models (1134)
  • Correctly handle provider edit (1125)
  • Update draft key for new PM with AI bot (1123)
  • Embeddings backfill job compat when transitioning models (1122)
  • Check post action creator result when flagging spam (1119)
  • Need to be able to search replace within lines (1110)

UX Changes

  • Minor adjustments to search bot (1146)
  • Custom icon for Discobot discoveries (1144)
  • Display a tooltip signalling this is an AI powered feature (1141)
  • Better tooltips for embeddings task instructions prefixes (1121)
  • Clarify embeddings description (1113)
  • Include none false for provider params (1111)

discourse-assign

Bug Fixes

  • Skip notifications when topic is not found (634)

UX Changes

  • Fix group assigns layout after core change (631)

discourse-calendar

New Features

  • Add value transformer for showing participants in the event more menu (687)

Bug Fixes

  • Do not show ‘send pm’ button to the user who created the event (690)
  • Allow events belonging to deleted users to be destroyed (688)

discourse-client-performance

Bug Fixes

  • Do not rotate session cookies during perf reports (58)

discourse-data-explorer

Bug Fixes

  • Query downloads were being passed an incorrect query object. (359)
  • Boolean field default state mismatch (353)

discourse-doc-categories

New Features

  • Added Czech translations (29)

discourse-gamification

Bug Fixes

  • N1 on group flair_url (185)

discourse-jira

Bug Fixes

  • Import i18n helper correctly (95)

discourse-livestream

Bug Fixes

  • Chat scrolling issues for desktop version (46)

discourse-preset-topic-composer

Bug Fixes

  • Issue with deprecated icon names (43)

discourse-reactions

Bug Fixes

  • Prevents panel to close on mobile (347)
  • Improves desktop with touch support (345)
  • Add TopicViewPostsSerializerExtension to fix N1s (340)

UX Changes

  • Fix reaction alignment in user stream items (343)

discourse-solved

Bug Fixes

  • Don’t allow or count solutions in PMs (334)

discourse-subscriptions

New Features

  • Add support for CZK currency (265)

Bug Fixes

  • FontAwesome 6 compatibility icon upgrade (264)

discourse-topic-voting

New Features

  • Add “Votes” option to category topic list settings (232)

discourse-translator

New Features

  • Translates every post to automatic_translation_target_languages (207)
  • Show full topic translations (205)

Bug Fixes

  • Entry in .discourse-compatibility was wrong (218)
  • Ensure old feature works with new and show translate button in correct scenarios (215)
  • Add back i18n strings that were removed (214)
  • Do not translate bot posts (213)
  • Set a stripped post’s locale to site default locale (212)
  • Skip deleted or empty content (211)

UX Changes

  • Update copy indicating page is machine-translated (219)
  • Show an obvious timeout error instead of a generic one (216)

All Features and Fixes

New Features

  • Revert/re-add import quote toolbar button (31449)
  • Allow a gjs initializer to be authored in local themes (31423)
  • Type reactions in chat (31439)
  • Initial version of experimental admin search (31299)
  • Allow admins to remove users from chat DMs (31366)
  • Allow showing only experiments on “What’s new?” (31347)
  • Display process information on flag modal (31300)
  • Add first_post_id to TopicListItemSerializer (31254)
  • Allow admins to opt-in to seamless redirects on /auth/* (31235)
  • Dark/light mode selector (31086)
  • Add first post likes data serializer (31216)
  • Allow excluding uploads from min post length requirement (31194)
  • Show flag description along with additional reason (31210)
  • Gracefully handle unhandled reviewables (31118)
  • Introduce a ProseMirror editor (30815)

Bug Fixes

  • Prevents sidebar to scroll when opening channel (31454)
  • Prevent sidebar scroll on chat composer focus (31446)
  • Drafts should not have an expand button (31424)
  • Recover from failing automations (31413)
  • Lightbox chat uploads immediately after optimize (31414)
  • Correct errors in uploads:sync_s3_acls rake task (31411)
  • Improve group name validation (31315)
  • Wikipedia onebox images and sections (31384)
  • Language parser matches with dashes or underscores (31381)
  • Ensure revoke_ungranted_titles! works with user_ids (31371)
  • Adds further support for ‘prioritize_full_name_in_ux’ setting (31346)
  • Make permalink search work even when there’re 100+ permalinks (31354)
  • Don’t show   in date to button (31352)
  • Missing link to deleted post in /my/deleted-posts (31342)
  • Image uploads in site-settings and profile (31350)
  • Prevents double set in the same computation (31348)
  • Relative date format consistency (31349)
  • Post revision respects ‘prioritize_full_name_in_ux’ setting (31293)
  • Minimum username length should be validated (31332)
  • Keep user in same context after login (31314)
  • Ensures fields are correctly unregistered (31329)
  • Calculate reaction_users_count in the bulk import script (30964)
  • Automatically redirect logged in users to topic when… (31301)
  • Do not show confirmation modal (31304)
  • Limit displayed groups in <GroupChooser /> to 100 groups (31288)
  • User profile not loading with an empty export (31290)
  • Correctly display label (31282)
  • Don’t load all groups when rendering <GroupChooser /> (31271)
  • JS error when .header-cloak isn’t present (31281)
  • Invalid CSP directive sources should allow site to boot with valid CSP directives (31256)
  • Improvements for uploads:disable_secure_uploads task (31231)
  • Incorrect topic per-minute invitation rate limit (31252)
  • Automatic auth flow with full page login/signup V3 (31072)
  • Do not notify admins about PMs when suppress is on (31232)
  • Correct typo in property name for save button component (31221)
  • Set the correct state of the dark mode checkbox user preference (31214)
  • Adjust badge selector for proper nesting in plugin list (31218)
  • Only include custom plugin config routes in tabs for old show page (31213)
  • Clean up not secure uploads with access_control_post_id (31189)
  • Correctly check for hasData in admin-report (31197)
  • Propagate pointerdown events on DMenu trigger when the menu isn’t expanded (31104)
  • Correct mobile height of badge and ownership modals (31187)

UX Changes

  • Replace solid face-smile emoji picker icon with a regular one (31421)
  • Close thread panel with a single escape (31426)
  • Triggers upload dialog on doubleclick (31425)
  • Increase limit in chat channel fetcher (31406)
  • Remove old menu border hack (31344)
  • Prevent long category names from overflowing on mobile topic list (31335)
  • Hide powered-by on admin invite page (31303)
  • Add enter key hints for search (31298)
  • Remove main-outlet-wrapper margin reset for mobile (31286)
  • Add confirmation to crawler settings (31269)
  • Update banner image field to use help text (30666)
  • Fix horizontal group nav on mobile (31259)
  • Switch group pages to horizontal nav (31243)
  • Use icon for create topic btn on mobile (31237)
  • Omit date in user stream for small action posts (31236)
  • User stream alignment fix for likes (31234)
  • Do not use generic username suggestions for invites (31175)
  • Conditionally refresh page on wizard styling step (31193)
  • Remove enable_quote_copy site setting (31191)
  • Fix HTML showing in delete user button (31201)
  • Fix layout of invite modal errors (31199)
  • Left-align dropdown menu button text (31198)
  • Fix wrapping of topic map links with counter (31184)
  • Update bot-indicator styling (31108)
  • Multiple drafts menu improvements (31195)
  • Show parent category name for category hashtags (31188)
  • Ensure all children of .with-topic-progress are clickable (31176)

Performance

  • Cache all extra-locale bundles and use CDN (31445)
  • Defer consolePrefix() calculation for transformers (31367)
  • Admin plugin preload settings routes (31215)

Accessibility

  • Fix post control button contrast issue for WCAG colors (31177)
5 Likes

A post was split to a new topic: Question about release note for experimental search results