Discourse 2.3.0.beta4 Release Notes

New features in 2.3.0.beta4

Account for ignored_users when merging two users

This is part of the Ability to ignore a user feature.
When we merge two users, we need to account for merging their list of ignored_users too.

Header based auth for API requests

Now you can also make authenticated API requests by passing the
api_key and api_username in the HTTP header instead of query params.

The new header values are: Api-key and Api-Username.

Here is an example in cURL:

curl -i -sS -X POST "" \
  -H "Content-Type: multipart/form-data;" \
  -H "Api-Key: $API_KEY" \
  -H "Api-Username: system" \
  -F "name=7c1c0ed93583cba7124b745d1bd56b32" \
  -F "color=49d9e9" \
  -F "text_color=f0fcfd"

Allow users to easily track/watch/mute topics via email

If you reply to an email with the word “mute” a topic will be muted
If you reply to an email with the word “track” a topic will be tracked
If you reply to an email with the word “watch” a topic will be watched

These ninja command can help advanced mailing list ex-users, saves a trip
to the website

There is also support for Api-User-Id and Api-User-External-Id
instead of specifying the username along with the key.

Special call-out for new / returning posters.

A banner message appears when a new or a user who hasn’t posted in 2 months posts to encourage those users to continue to post.


2.3.0.beta4 and UX fixes

This release also includes a number of small bug and UX fixes from our 2.3.0.beta3 release. Sites on the beta and tests-passed branches are encouraged to update to resolve these issues, including:

  • Missing translations when “en” set as fallbackLocale
  • Do not display add/remove participants if you can’t actually do it
  • Sanitize theme settings properly before injecting into stylesheets
  • Bugs in safari where select-kit is not expanding on iOS
  • Fix post notice on mobile
  • Text content search warning if more than 50 results

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.


  • Remove final N+1 from theme admin page

Plugin improvements

Ad plugin

  • Update translations
  • resizing of ad units when they’re rendered
  • refactor google-dfp-ad component to reduce repetition


  • Update translations
  • Bug fix: Do not transfer votes unless the entire topic is merged


  • Update translations
  • Add a default query for a list of topics user is watching/tracking/muted


  • Trap exception when failed to move blob to tombstone.

Canned Replies

  • Get original poster username from TopicDetails.
  • Update translations


  • Add KaTeX rendering support


  • Bug Fix: Do not open the composer if encryption is disabled.
  • Lookup upload URLs.
  • Do not retry to decrypt if it failed once.
  • Do not run initializers if the plugin is not enabled.
  • Ignore composer hooks if not a private message.


  • prevents checkbox from slightly moving

Prometheus Alert Receiver

  • Add firing count to topic titles, and bump when count changes


  • Bug Fixes
  • Faster holiday & event expiration
  • Save event details in right order

Additional Features and Fixes

Click to expand

New Features

  • Skip small actions when counting replies in PMs.
  • Add missing S3 regions
  • Allow discourse script to skip disabling of emails after restore
  • Remove all expired invitations by default
  • Create a new message via URL without specifying user or group
  • Add about-after-description plugin outlet
  • Save ignored usernames in user preferences
  • Hide ignored user’s Original Post content
  • Defer flags when deleting child replies
  • Add plugin html hook to insert html before any other scripts
  • Add ignored user list to the User’s preference page
  • Optional detailed performance logging for Sidekiq jobs
  • Displays groups in menu search

Bug Fixes

  • Changed warning css class
  • Added test for has_more
  • Fixed vanishing select boxes on full search as new content loads
  • Ensures tag-groups are used to allow category edit on topics (#7141)
  • Make post notices invisible to poster.
  • Various improvements to post notices.
  • uploads:migrate_to_s3 broken for GlobalSetting using file provider.
  • Lightbox wrapper within open details should show.
  • GET request didn’t use headers
  • Job exception: undefined method `email’ for nil:NilClass
  • Add translation to ignore_user_enabled SiteSetting
  • Retranspile theme JS when settings YAML changes
  • Experimental fix to Ember.ENV.EXTEND_PROTOTYPES rare exception
  • Date format and styling for post notices
  • Only call ‘unlink’ for tempfiles
  • Remove padding from onebox site icon in composer preview
  • Add additional rescue for assets:precompile
  • Nav-pills not highlighted on user preferences page
  • Respect code indentation
  • Changed poll age message to upcase
  • Loading draft also replaces the recipients
  • Return actual errors if PostCreator fails
  • NodeBB import details
  • Post & topic destroyed hooks not triggering with tag filter
  • Failed to save email template with pluralized subject
  • Fixed custom emoji circumventing “max emojis in topic title” set…
  • WebhookPostSerializer spec failure
  • Allow moderators to create categories setting broken
  • Fixed editing whispers bumps topic
  • Remove ignore user feature from user-card-contents component
  • Anonymous user filtering bug in PostView
  • Select-kit perf and positioning improvements (#7093)
  • Pending counts were not shown on invites tab
  • Remove duplicate definition of create_categories.
  • Any subcategory permissions are valid if everyone has access to parent category
  • /signup and /password-reset direct links were broken
  • Error when filtering site settings

UX Changes

  • Add a paragraph description on the tags tab of the category settings
  • Style adjustments for post notice feature
  • Better handling of width and overflow for login/signup
  • Post-notice max width on desktop
  • Fix post notice on mobile
  • Various tweaks to search-menu (#7114)
  • Poll style fix, button classes
  • More consistent structure for active nav-pill
  • Localize date format in “new user of the month” message
  • Display error message if no time frame selected in topic status update
  • Fix redeemed invite table layout
  • Previous positioning was better for the image resizer
  • Add slash to mobile category page totals
  • Improve layout of invite table
  • Limit onebox thumbnail image size in emails
  • Make Uncategorized category less confusing
  • Don’t concatenate title on “Edit Category” dialog
  • Image preview resizer style