Discourse 2.4.0.beta11 Release Notes

New features in 2.4.0.beta11

Email was forwarded indicator

When an email is forwarded to Discourse, we now display a small post to indicate as much, helping to avoid confusion.

Trust Level Growth Report

We’ve added a new built-in report to let staff see how users are progressing through the trust levels on their site.

Single Option Polls

Polls can now be created with a single option - vote or don’t vote. Note that once you vote there is no way to remove the vote.

Do you like single-option polls?

  • Yes!

0 voters

Poll group restriction

Polls can now be restricted to a specific group, like the poll below which is TL3 users only.

Which fruit do you prefer?

  • Apple
  • Orange

0 voters

Suspect users sent to review queue

Suspect users - those who have viewed less than one post and one topic but have customized their bio - are now sent to the review queue. Such users have a high likelihood of being spammers, as most users browse the site before taking time to fill out their bio.

Enable the approve suspect users setting to try it out!

Invite users from your contact list

Users can now be invited from the contact list when using Android.

Search both public and personal messages

Using the in:all flag, you can search both in both public topics as well as PMs.


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

WP Discourse

  • Fix connection status notice displaying a success message when no API credentials have been entered


  • Update to current authentication plugin system

Canned Replies

  • Bug fixes

Login with Amazon

  • Bug fix


  • Bug fix


  • Bug fixes


  • Display group members by timezone
  • Bug fixes

Spoiler Alert

  • Bug fixes

Steam Login

  • Bug fixes


  • Ensure credentials are present

Discourse Hub (mobile app)

  • Add dark mode support


  • Support exported key pair
  • Encrypt messages by default
  • Bug fixes

Code Review

  • Auto-approve PRs approved on GitHub
  • Bug fixes

Ad Plugin

  • Add note regarding ad networks and CSP
  • Bug fixes


  • Bug fixes


  • Bug fixes


  • Bug fixes

Data Explorer

  • Bug fixes


  • Bug fixes


  • Add new badges

Additional Features and Fixes

Click to expand

New Features

  • Improving bookmarks part 2 – Topic Bookmarking
  • Export defaultRenderTag function
  • Pending queued posts are included even if they don’t pass the minimum priority threshold
  • Add logging when claiming and unclaiming reviewable flagged posts
  • Support video caption tags/attributes
  • Add site setting for specific hosts using custom user agent when oneboxing
  • Ensure we always fill the short_name in the web manifest
  • Add logout functionality to SSO Provider protocol
  • Add Tactile feedback on likes
  • Users can feature any public topic on his/her profile
  • Add message to log when admins are automatically deactivated
  • Replace existing badge owners when using the bulk award feature
  • Update upload security status on post move, topic conversion, category change
  • Use upload:// short URL for videos and audio in composer

Bug Fixes

  • Don’t remove the topic image if posts don’t have them
  • Ensures shortcuts work correctly with topic-notifications-button
  • Ensures select-kit can select a row with 0 as value
  • Handle SSO Provider Parse exception
  • Linking to a category via hashtag had a broken URL.
  • Correctly compile theme template overrides
  • Use plain text if available instead of image upload.
  • Regression with wizard canvas elements
  • Don’t count ignored, missing uploads in migration to S3
  • Remove pie draw animation
  • Avoid highlight mention to groups that are not public.
  • Make inline oneboxes work with secured topics in secured contexts
  • Subfolder sites rewriting URLs to root domain on initial load
  • Date was not mutated when changing it in change-timestamp modal
  • Avoid highlight mention to groups that are not public
  • Don’t use theme colors for digest unsubscribe footer links
  • Correctly excludes current user in user-chooser
  • Makes user-selector use real booleans
  • Render HTML for pie chart options
  • Polyfill String.startsWith function for IE11
  • Make category slug validation less strict
  • Disable preloading audio + video when secure media enabled
  • Ignore group mentions inside quotes
  • Removes limit for trust level growth report
  • Makes tag-{info,list} more specific to avoid styling other elements
  • Flair icon being removed when updating other profile info
  • Skip absolutizing URLs when source URI is invalid
  • Properly convert quotes to Markdown
  • Properly convert quotes to Markdown
  • Ensure s2 is working with wizard
  • Reset edit_reason in posts when creating a new version.
  • Strip audio/video content from excerpt
  • Prevents ac wrap to overflow on group-add-member modal
  • Remove post/topic image_url on post edits
  • Spoiler logic should live inside of spoiler plugin
  • Ensures we have a proper component name
  • Recovered posts with no user will be taken over by system user
  • Replaces fake null value by clearable option
  • Show detailed error messages for category pages.
  • Tag info misleading message saying it’s not restricted
  • Opening new topic draft never creates post
  • Corrects min/max logic for mini-tag-chooser
  • Simplify maximum/minimum logic in sk2 to avoid chicken/egg
  • Allow submitting various forms via keyboard
  • Don’t leak event listeners (bug introduced in 999e2ff)
  • Add support for sub-sub-categories in base_importer
  • Allow both meta_data and custom_fields when creating a topic
  • Topic progress bar shouldn’t show up on desktop
  • Edit title respects min trust to edit post
  • Prevents firefox to generate a click event on space
  • Ensures tags-admin-dropdown is working correctly with sk2
  • Links in category box descriptions should be clickable
  • Labels were switched in the wizard for privacy options
  • Warn users of overwriting new topic draft
  • Featured topic title on profile HTML parsed
  • Prevents exception on /admin/badges page when model is not set
  • Email attachments with a size of 0 bytes caused error
  • Sort out the route navigation in admin/email-style
  • Better error messages when name is too long
  • Restore up/down icons in period-chooser
  • Never return the same reply more than once via reply_ids
  • Make dropdown custom user fields compatible with select-kit 2
  • Don’t return post replies from other topics
  • Off-by-one error setting the distributed mutex key to expire
  • Check parameter types
  • Admin user list not showing 2FA icon for only security keys enabled
  • Suppress notification flood when post is edited
  • We don’t want to update the post read count and user stats if the post timing wasn’t created due to a conflict.
  • Use updated_at in the S3 inventory job
  • Serve .ico files without nginx 404 for secure media uploads
  • Stop encoding presigned URLs with UrlHelper
  • Import sub-sub-categories
  • Ensure ‘unless’ helper resolves variable name once
  • Disallow featuring hidden topics
  • Stop secure media URLs being censored too liberally in emails
  • Customized email subjects was ignored for some notifications
  • Set showFooter to true on group topic list
  • Wrap markdown videos with video-container class to stop post height jumping
  • Blank cooked markdown could raise an exception in logs
  • Mitigate issue where legacy pre-secure hotlinked media would not be redownloaded
  • Correct notification when tag or category is added
  • Award “User of the month” badge at the beginning of month
  • Uploads:s3_migration_status rake task was broken
  • Export all category names in user archives
  • Apply like based badge based off grant date
  • Undefined method ‘title’ for nil:NilClass in PostAlerter#create_notification
  • GetURL on a subfolder site should ignore prefix in middle of URL
  • Post reviser picking up edits for hidden posts
  • Improve downsize_uploads
  • Adjust the broken image placeholder border
  • Failed to notify user after restoring backup
  • Add ‘noindex’ header to rss feed responses.
  • Resolve pull hotlinked image and broken link issues for secure media URLs
  • Topics sorting in tag pages is broken.
  • Ensure sourcemap’s source is correct. Uses the full assets path this time.
  • Redis fallback handler refactoring
  • A separate FallbackHandler should be used for each redis pair
  • Create frozen copies of passed in config where possible
  • Extract start_reset method and remove method used by tests
  • Use presigned URL to avoid 403 when pulling hotlinked images for secure media
  • Re-apply sourceURL in development mode
  • Featuring topic on other users profile shows their topics
  • Notify staged users about private categories
  • Show category list on subcategory page if it has subcategories too
  • Ensure sourcemap’s source is correct
  • Show all parent categories on topic page
  • Quoting a quote preserves the original post information
  • Ensure only edited badge titles update a users title

UX Changes

  • Prevent category-drop topic count from wrapping to new line
  • Use border-box sizing on SK2 dropdowns
  • Show all parent categories for destination topic
  • Composer autocomplete will suggest all visible group names
  • Do not enlarge emojis in polls
  • Show destination topic status when moving post(s) to an existing topic
  • Update mobile site setting slide-out nav for RTL
  • Mobile layout fix for claimable reviewables
  • Prevent new badge from being orphaned on mobile
  • Always disable create account button when user fields are invalid
  • Ignore name parameter from IDP when it is equal to email
  • Improved composer.saved_draft copy
  • Caches icon picker full icon’s list
  • Remove subtle render delay with timeline notification button
  • Adjust algorithm for picking notification count
  • Topic progress bar should not flash on desktop
  • Introduces icon-picker component for badges
  • Prevents mini tag chooser header to wrap
  • Adds arrow navigation support to mini-tag-chooser
  • Center titles in docked header when there aren’t two rows
  • Do not display pinned option description on mobile
  • Ensures pinned options icon is not on a new line
  • Include muted categories on the category page by default
  • Add icon for Google Map onebox.
  • Hide the allow_embedding_site_in_an_iframe setting
  • Show vertical topic timeline while composing
  • Introduce automatic ‘categories topics’ setting
  • Admins should only see their own PMs when searching in:all
  • Invalid CSV error message now includes information about the malformed line
  • Use ‘-’ as default category slug
  • Add confirmation when adding tag synonyms


  • Memoize PostRevisor#diff_size
  • Optimize post editing
  • Load users in batches when generating notifications
  • Speed up moving posts on large databases
  • Use a separate route for user cards, and split user serializer