3.5.0.beta8: Bundled plugins, a new theme, better color management, powerful filtering, and advanced image controls

New features in 3.5.0.beta8

:package: Popular plugins now bundled with Discourse core

We’re making Discourse more powerful and easier to use out-of-the-box by bundling a set of our most popular plugins directly with Discourse core. This means widely-used plugins like Assign, Solved, Data Explorer, Reactions, and more will be included by default when you install or update Discourse, with no separate plugin installation required, making it much easier to access these powerful features.

  • No change for managed hosting: Sites on Discourse hosting will not be impacted, while self-hosters will be prompted to remove these plugins from their app.yml on their next rebuild.

  • Disabled by default: All bundled plugins remain disabled by default, so there is no visible change or added functionality unless you enable them.

  • No performance impact: Disabled plugins do not add any extra JavaScript or server load, ensuring your site remains as lean as ever if you do not enable them.

For full details, a complete plugin list, and upgrade instructions for self-hosters, check out the official announcement.

:sunrise: New Horizon theme, available for all

We’re happy to announce Horizon, our newest default theme designed for a beautiful, friendly first impression and streamlined community experience! Highlights include:

  • Simplified, modern topic cards: Less clutter, more focus.

  • Larger reading area text: Improves readability, especially on mobile.

  • Multiple color palettes: Built-in options for better personalization.

  • Optimized for non-technical admins: Out-of-the-box, minimal-setup design that looks great on every device.

Horizon is now included in all Discourse sites - both new and existing. Read more in the announcement.

:artist_palette: A new way to manage color palettes

We’re excited to announce a redesigned way for admins to manage and select color palettes in Discourse! The new color palette list page introduces:

  • Visual palette previews: Instantly see every available palette, each displayed in cards with live previews.

  • Clear status labels: Quickly identify which palette is active and which are selectable by users.

  • Easy palette management: Toggle the active palette or adjust which palettes are user-selectable, all from one page.

The update is mobile-friendly and gives admins a clear, visual overview of all palettes for a streamlined workflow. Read more in the announcement.

:magnifying_glass_tilted_left: Dynamic topic filtering now available

The improved /filter route brings faster, smarter topic search and filtering! This update to the topics filtering UI includes:

  • Keyword search: Effortlessly search for topics by typing any keyword or phrase.

  • Autocomplete: Navigate filtering options with new autocomplete suggestions.

  • Find it in the sidebar: The /filter link is available under “More…” in the sidebar by default.

Read the announcement for more, and dive deeper with the documentation.

:framed_picture: Advanced image controls in the composer

The new composer offers a modern writing experience, including an all-new image handling UI! With this new toolbar, you can:

  • Scale images: Resize your images directly in the visual editor.

  • Set alt text: Add or edit alt text and captions to keep your posts accessible.

  • Delete images: Remove uploaded images with a click.

This user-friendly interface makes working with images in your posts easier than ever.

The new composer is now available in all communities to make writing in Discourse easier for all your members. Read the full announcement about the new composer experience to learn more.

Security Updates

This release includes fixes for these security issues reported by our community and HackerOne.

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-code-review

New Features

  • Don’t create staged users if enable_staged_users is disabled (251)

discourse-group-tracker

UX Changes

  • Make docked container always shown for group tracker (92)

discourse-jira

Bug Fixes

  • Only send required field attributes in payload (107)

discourse-translator

Bug Fixes

  • Remove duplicates before adding index (315)

All Features and Fixes

New Features

  • Configure a default LLM model for all features (33752)
  • Create new topic while viewing restricted category or tag (33495)
  • Enable rich editor for all users (33699)
  • Improvements to ai conversation page (33853)
  • Allow safe HTML display in silence and suspend reasons (33815)
  • Add reusable AdminFilterControls component, apply to plugins and reports (33706)
  • Reset bump date when deleting a post (33747)
  • Add support for aws MediaConvert (33092)
  • Add site setting to allow comments to be disabled in discourse-post-voting plugin (33775)
  • Redesigned admin color palette index layout (33628)
  • Dynamic search when in /filter route (33614)
  • Show legacy pageview report for sites using legacy pageviews (33620)
  • Themeable site settings (32233)
  • Pass email to external auth on signup (33559)
  • Allow users to bulk recategorize silently (33490)
  • Make it easier for staff to see if a profile is silenced (33537)
  • Text heading/paragraph menu in composer toolbar (33461)
  • Show dialog on translated post to choose to edit original or translated (33184)
  • Allow Ctrl/Cmd+Enter to submit a form from a textarea (33527)
  • Image input rule when typing on rich editor (33498)
  • Rich editor image toolbar for scale/alt text/delete (33381)
  • Display locale change in post history modal (33469)
  • Implement RFC 8058 for email unsubscribe (33392)
  • Validate hashtags in composer rich text editor (33272)
  • Add a hidden setting to limit number of content localization locales (33378)
  • Enable system Horizon (33374)
  • New search order for read topics (33353)

Bug Fixes

  • Don’t grow topic footer button (33903)
  • Add pen icon to core icons list (33901)
  • Apply color palette change when preview is unavailable, warn for dark mode (33827)
  • Display alert when casting last remaining vote (33845)
  • Correctly update last message bus id for threads and channels (33846)
  • JS error when silencing and unsilencing the user (33851)
  • Bug when silence user and do nothing to post (33819)
  • Ensures auto grid works in german (33831)
  • Use translatedTitle for moderator icon title (33832)
  • Typo in translated title for audio file types list (33830)
  • Horizon bulk select sometimes not sticky in Safari (33829)
  • Ensures autogrid works with French spacing (33823)
  • Store context for failed uploads (33546)
  • Timeline shouldn’t dock unless all posts are loaded (33801)
  • Suspended and deleted users from showing on Leaderboards (33627)
  • Don’t overwrite translated titles when updating badge (33731)
  • Catch fast edit selections that are too massive to edit. (33777)
  • Catch highlightHTML calls where the needle is too massive to highlight (33776)
  • Default channel name to topic title (33754)
  • Adds missing router service import (explicit) (33756)
  • Ensures we show an error when description is too long (33750)
  • Show bulk removal of expired invites (33716)
  • Don’t delete keys for unsuccessfully hydrated subtypes (33615)
  • Show localization for regionless locale if they exist (33702)
  • Broken admin user profile bounce score link (33726)
  • Ensures event builder correctly sets the description (33700)
  • CSS Variable name typo (33717)
  • Make sure theme site setting cache is set on theme import (33697)
  • Show elapsed time from connect start in error
  • Update wrong link to discourse-migratepassword (33688)
  • External_id param can be an integer (33675)
  • Don’t create empty event dates in calendar
  • Composer educational limit should use post count (33650)
  • Catch syntax errors in raw scripts (33673)
  • Disallow replies to categories when reply by email disabled (33641)
  • Fallback behavior for welcome-banner subheader (33613)
  • Serialize time objects properly in calendar plugin
  • Enforce system themes to be enabled (33643)
  • Error in shadowed global settings for deprecated settings (33642)
  • Error in client site settings JSON (33640)
  • Load saved draft when clicking reply to post (33543)
  • My redirect case insensitive params (33604)
  • Include icon for private messages in non message filtered searches (33611)
  • Broken links to site settings under Content section (33597)
  • Correctly allow to translate my messages (33586)
  • Bug when skipped email logs are filtered (33557)
  • Colour var tags (33561)
  • Z-index issues with new DMenu in composer (33545)
  • Improve “read only” modes (33521)
  • Header horizontal padding on mobile (33555)
  • Missing topic timeline color var (33554)
  • Horizon tag background color (33553)
  • Various optimization step fixes (33523)
  • Removes + from RTE toggle tooltip (33542)
  • Also update topic locale on creation (33544)
  • Use the max_tag_search_results setting as the default limit for tag groups search (33485)
  • Emptying a text field should nullify it (33520)
  • Formkit calendar date setting back one day (33238)
  • Badge grouping for system badges should be editable (33504)
  • Escape URL when inserting/editing links in composer modal (33501)
  • Convert invalid hashtags in composer to text (33441)
  • Convert invalid mentions in composer rich text mode to text (33437)
  • Chat btn order on user profile (33494)
  • Handle restore URLs ending with query params (33384)
  • Sidebar messages link updates (33444)
  • Prevent saving empty string as a locale (33481)
  • Rename the reviewable notes route to match existing reviewable routes (33480)
  • Clear selection on expand popup menu (33467)
  • Resets quote state when reseting text selection (33463)
  • Make hide_new_user_profiles work with manually upgraded users (33458)
  • Run post-adopt decorators correctly in glimmer post-stream (33440)
  • Ensures we have a cooked to work with (33439)
  • Render emojis in cooked hashtag text for composer rich text mode (33395)
  • Ensures small actions don’t trigger post toolbar (33422)
  • Horizon default color scheme must be user selectable (33428)
  • Ensure client-side reviewable claiming data is set correctly (33405)
  • Escapes display:none for subheader in welcome banner for Horizon (33411)
  • Show tip for required selectable field on signup when not selected (33401)
  • UppyUploader issues when authorized_extensions setting is blank but authorized_extensions_for_staff is not (33423)
  • Improve the merge horizons task (33394)
  • Apply diversity preferences to emoji search results. (33393)
  • Unclaim reviewables when an action modal is cancelled. (33377)
  • Add missing last read sort order to full page search (33376)
  • Use libv8-node-24.1.0.0-x86_64-darwin when needed. (33372)
  • Improves post toolbar behavior (33342)
  • Admin search not including plugin pages (33356)
  • Don’t allow submitting bulk topic actions without a notification… (33292)
  • Chat video thumbnails on iOS (33349)
  • Make theme relative selectors save (33344)
  • Ignore recent posts offset in search when before/after filters are used (33323)
  • Add humanized setting names for theme setting serializer (33341)

UX Changes

  • Content border color (33908)
  • Fix translation editor layout issues (33905)
  • Prevent footer reason from squishing buttons (33866)
  • Mention browser console in theme error banner (33890)
  • Remove one-off style for notification buttons (33865)
  • Multiple fixes addressing user menu panel (33842)
  • Include JS in theme UI ‘edited fields’ list (33841)
  • Convert AI admin feature buttons to links (33840)
  • Notification panel update (33795)
  • Allow horizontal scrolling for the editor toolbar on mobile (33703)
  • Fix copy for theme site setting description (33816)
  • Fix bulk select in Horizon theme (33803)
  • Improve quote title alignment, wrapping (33796)
  • Fix hover effect for anon login btns on non-ember page (33787)
  • Remove old about page CSS (33755)
  • Show My messages count in sidebar (33539)
  • Update groups route on admin users page (33738)
  • Show chat in plugin list (33735)
  • Split out unrelated composer css (33701)
  • Horizon composer-chat interaction (33677)
  • Decrease font of discourse tags in composer popup (33679)
  • Add missing subpage title to tracking and users prefs (33621)
  • Show all preinstalled plugins and label them as such (33681)
  • Revert to default spacing in toolbar menu list (33671)
  • Fix z-index composer translation dropdown (33669)
  • Remove bold font for selected autocomplete items (33668)
  • Make the rich_editor setting easier to find (33666)
  • Add welcome banner location site setting to admin interface (33438)
  • Dmenu mobile zindex to modal content (33660)
  • Overrule specific z-index for case of dmenu in conjuction with mobile composer (33622)
  • Topic list header fixes (33653)
  • Hide assets section for remote themes (33649)
  • Banner-search-radius (33624)
  • Show calendar month (33623)
  • DMenu-composer z-index (33618)
  • Use correct name for PMs in user admin stats (33617)
  • Minor fullscreen composer adjustments (33584)
  • Shortcuts for editor heading toolbar (33578)
  • Update composer placeholder for RTE (33594)
  • Make navigation container full-width again (33581)
  • Remove category h3 margin (33573)
  • Avoid small viewport squishing rich editor image (33567)
  • Edit category description layout fix (33565)
  • Followup fix dmenu zindex (33566)
  • Horizon >` fix spacing of topic-header and better position bulk-select (33564)
  • Variable additions (33473)
  • Allow parens on rich editor img input rule (33524)
  • Remove topic status actions from composer more menu (33369)
  • Do not round emoji img borders in RTE (33509)
  • Horizon: adjust emoji size in topic-excerpt (33491)
  • Add info alert for built-in themes (33497)
  • Move rich_editor setting from experimental to posting (33496)
  • Title label adjustments for new new view (33489)
  • Remove unnecessary border (33472)
  • Increase chat avatar & icon sizing in sidebar (33468)
  • Improve invite list (33253)
  • Update badge colors for illegal and offtopic reviewables (33456)
  • Shrink YouTube thumbnail in chat transcript (33433)
  • Fix title status icon size (33442)
  • Remove messages section from sidebar (33358)
  • Improvement for the admin system theme (33406)
  • Avoid suppressing non-click events when dragging the grippie (33415)
  • Add flag_post_allowed_groups site setting to flags area (33402)
  • Adds optional subheader to welcome banner (33361)
  • Minor adjustments to participant group badge (33368)
  • Delete components without full reload to maintain pagination (33364)
  • Move Quote whole post from main toolbar to more menu (33366)
  • Updated gear to plus icon in discobot tutorial (33343)
  • Display active state on rich editor toolbar (33296)

Security Changes

  • Clear webauthn challenge from session after authenticating
  • Only public subcategories in onebox (33705)

Performance

  • Speed up embedding text preparation. (33791)
  • Reduce embedding concurrent generation (33781)
  • Switch redis driver to hiredis (33773)
  • Add indexes to improve user merger performance (33271)
  • Avoid slow preloading in SiteSerializer (33283)

Accessibility

  • Add aria-label to advanced search date input (33580)
  • Onebox avatars/images are decorative, so screenreaders can skip (33572)
  • Add aria-label to quote expansion button, jump to post (33569)
  • Hide anchor links from global site banners (33568)
  • Make in-reply-to keyboard accessible (33447)
  • Autofocus topic map DMenu contents for links, likes, and users - fix links (33419)
3 Likes