Discourse 2.5.0.beta7 Release Notes

New features in 2.5.0.beta7

Improved UX support for multiple email addresses

Discourse has supported secondary email addresses for quite some time. However, the feature was hidden, and required console access to add, remove, or otherwise configure secondary emails. We’ve now added support for working with multiple email addresses to user preferences. Users can see all their emails, change which email is primary, as well as add/remove emails.

The primary email will be used for all outgoing email from Discourse, including notifications, password reset, login via email, etc. Secondary emails (in addition to primary) are used for incoming email, like replying to a topic, or starting a topic via email.

An example. Say my email here on Meta is jomaxro@example.com. That is my primary. Now I also have a super-secret email of not-jomaxro@example.com, that I sometimes send email from. I can add that as a secondary email. Now, if I send an email to Meta from not-jomaxro@example.com, it will successfully link with my account, and show up as a topic by @jomaxro. Further, when logging in, I can now enter jomaxro (my username), jomaxro@example.com (primary), or not-jomaxro@example.com (secondary), all of which will be accepted.

Multiple use invite links

By popular request, we now support invite links that are not user-specific, and can be used more than once. Site staff can create a link that can be shared with their users without needing to know their email. For full details, see the feature announcement.

Discourse Version 2.5 release coming soon!

Discourse 2.5 is planned for release later this month on June 24. Another reminder that support for IE11 was turned off in beta6, and will be fully removed in 2.6. Discourse 2.5 will be the last release to support IE11. For full details, see Discourse is ending support for Internet Explorer 11 (IE11) on June 1, 2020

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


  • Bug fix


  • UX improvement

Invite Tokens

  • Bug fix


  • UX fix - display solved label color correctly


  • Bug fixes


  • Linkback only regular posts


  • Add settings for signing logout requests and responses

Data Explorer

  • Share report popup improvements
  • Bug fix


  • Ensure patreon creator discourse username is set before enabling Patreon login

WP Discourse

  • If the Add Featured Links option is enabled, update the Discourse topic’s featured link when post updates are pushed from WordPress to Discourse


  • Bug fix

Additional Features and Fixes

Click to expand

New Features

  • Support append when bulk tagging via rake
  • New rake task to update first_post_created_at column
  • Add uploads:batch_migrate_from_s3 task to limit total posts migrated at once
  • Category setting for default list filter.
  • Whitelist theme repo mode (experimental)

Bug Fixes

  • Use include-subcategories filter in report export
  • MigrateInviteRedeemedDataToInvitedUsers should be normal migration
  • Return 400 when invalid topic_id is provided when creating invite.
  • Flaky post_alerter_spec.rb because of missing order
  • Prevent re-flagging when we have reviewed flags before
  • Don’t call cooked decorators in composer if cooked is unchanged
  • Add attributes of params to topic findOpts.
  • Allow merging users when email domains are restricted
  • Don’t show create topic suggestion to users who can’t
  • Emoji autocomplete triggering incorrectly
  • Change bookmark name “name” attr to disable autocomplete
  • Enforce maximum of 100 years on all site settings counted in days
  • Update minimum required tag when switching categories in composer
  • Don’t override category text color in dropdown
  • Restore stream position in safari
  • Reply notifications should not appear as edited
  • Ensures edit-category-setting is correctly casting boolean
  • Redirects containing Unicode usernames didn’t work
  • (getURL "") was not working with the i18n helper
  • Use short_path of flair upload to get signed url for secure media.
  • Service Worker URL was broken
  • Client side /my/ redirects were appending extra slash
  • Base import script was not updating first_post_created_at column
  • Rescue from readonly errors when looking up auth tokens.
  • Inline error when converting html to markdown
  • get-url is required for server side code
  • Prevents false boolean param to be filtered as non existant
  • Hide rss feed & json if a user profile is hidden.
  • EmailValidator needs to validate format of email.
  • Broken MessageFormat string
  • If creating a flag for a watched word, include the reason
  • Prevent clipping user mentions
  • Do not destroy $.fileupload element
  • Staff users can bypass tag validation rule
  • Catch NoMethodError during precompile_css too
  • Digest frequency issue on user creation
  • Only render group card if user title is from group

UX Changes

  • Improve layout of topic pin admin modal
  • Add bottom padding to user lists on mobile
  • Change collapsed draft z-index on mobile
  • Add simple-list setting type
  • Ensure that select-kit is hidden consistently.
  • Prevent devices from miscalculating fullscreen composer height


  • Enable bootsnap globally
  • Cache PrettyText instance for rendering composer preview
  • Pass element to resolveAllShortUrl function, not text selector
  • Correctly memoize baseUri value in javascript app
  • Rate limit search, and add anon cache for search results
  • Add FORCE_BOOTSNAP env var
  • Reduce number of queries from 3 ->` 1 when fetching web manifest.