Differentiate Between PMs and Topics in Search Results
Users can use the in:all search filter, introduced in Discourse 2.4, to search both public and personal topics at the same time. Results in search now show the PM envelope when the result is a PM to visually differentiate topics from PMs
The Discourse theme system is incredibly powerful and flexible. We’ve seen amazing themes and components developed by our community. Check them out yourself at theme.
Theme developers can now specify “child theme components” in the about.json file of a top level theme. Child theme components will be automatically installed and added to the installed theme, at time of install. Note that child theme components are not installed during theme updates.
Safe Mode allows users to view a site without theme, official, and/or unofficial plugins running. This is useful if a theme or plugin causes UI issues, and needs to be disabled, or for testing if a bug is caused by a theme, a plugin, or core Discourse.
Previously, the safe mode page, used to activate safe mode, could be impacted by themes, thus preventing users from enabling it. Now site customizations are always disabled on the safe mode page, ensuring it can be turned on without issue.
Auto-archive Group Message on Close
Group messages are a great way to enable discussion between a user and a group, or amongst a group itself. Group inboxes are shared, so it can be helpful to to archive messages once they are handled. Now, when group messages are closed, they’ll automatically be archived.
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.
Security Updates
This beta includes 2 security fixes for issues reported by our community and HackerOne.
Add more restrictions on invite emails
Ensure the invite JSON API matches the UX
Plugin improvements
Code Review
Refactor and other internal improvements
Group Tracker
Bug fix
Cakeday
Test fixes for Leap Year
Discourse Docker
Bug fix
Graphviz
Default to SVG mode
Policy
Bug fixes
Calendar
Bug fixes
Remove timezone user custom field - use UserOption.timezone
Assign
Remove backward-compatibility code now that 2.4 is released on the stable branch
Additional Features and Fixes
Click to expand
New Features
Experimental: Treat /go/ as a server-side route
Alows to add a description link to a report
Enable service worker on iOS PWA
Unconditionally skip indexing on search controller
Bug Fixes
Don’t allow people to clear the upload bucket while it’s enabled
Use destroy_all instead of delete_all for shared drafts
Do not raise an error when in:all search is performed by anon
Clobbering plugin files on startup is problematic
Don’t optimize icons during db:migrate when restoring backup
Allows to select the action when agreeing with penalty
Migrating uploads to S3 could miss files
Under concurrent usage booting rails could cause plugin corruption
Use full URL for secure attachments when secure media enabled
Stop infinite lookup-urls issue for video/audio on page
We need to skip users with associated reviewables when auto-approving them
Allow users to create polls in PMs with non human users
Add aria-labels to topic list items
Topics should honor auto-close when published to category
Prevents click on sk header to bubble
Restoring with disable_emails: false didn’t work anymore
Google Groups scraper failed to login
Make FooterNav work with PWAs on iPadOS
Ensures category url of category drop is built using slug and id
Sync preload key format for category topic lists
Ignore secure-media-uploads for miniprofiler
Prettier on iframed-html component
When appending tags to restricted category posts, we need to pass the category id, or it won’t work.
Prevnets loading to show during debouncing
Bulk badge awards should work even if the CSV has nil values
Skip poll tutorial if user cannot create polls
Prevents row click event to be caught by filter input event
Skip ‘invited’ small action if user is in an invited group
Polyfill Promise for IE11
Downloaded image URLs incorrectly replaced in post raw.
UX Changes
Input adjustments for category setting modal (tags tab)
Attempts to increate popup menu hitzone on mobile
Allow correct pluralization for “too few topics and posts” notices
Prevents jumpyness when displaying poll voters
Performance
Allow preloading ‘recent time read’ for a user
Allow user serializer to make use of preloaded custom fields
Allow passing an existing list of user field ids when loading