Discourse 1.9.0.beta16 Release Notes

New features in 1.9.0.beta16

Disable Mentions

We’ve heard feedback from different communities that want to limit the notifications that are generated. Previously, there was no way to disable mentions on your community, which is a common source of notifications. We added a new site setting to allow site owners to globally disable mentions if they want.

Live Reply Indicators

A few months ago we added “someone is replying” indicators to the composer thanks to @david. Now we’ve expanded the indicator to display at the bottom of the topic, before you even open the composer.

New Translation Languages

We added Catalan as a new language option in Discourse. To help translate Discourse to your language, visit https://www.transifex.com/discourse. If your language is not yet supported, see How to add a new language.

Moderation History

Discourse tracks staff actions in the staff actions log. We now allow you to quickly see actions taken on a specific user or post via the moderation history button in the admin menu.

Paste plain text table as Markdown table

Ever tried to copy a spreadsheet into Discourse to find that you just get plain text? No longer! We now support pasting tables from common spreadsheet programs like Excel, Numbers, and Libre Office and generating a Markdown table.


Admin API Rate Limits

Nearly every action that can be taken via Discourse is rate limited. One exception was the admin API. The user API (used by the Discourse Mobile app) was limited, but the admin API (generated via the admin page) was not. We now limit the Admin API to 60 request per minute per key to ensure sites don’t DoS themselves via the API.

Plugin improvements

All Official Plugins

  • Transifex Integration. Plugins can now be translated in Transifex, so you can work on plugin translations alongside core translations.

Saved Searches

  • Search result limit increased from 5-20

Canned Replies

  • Minor layout adjustments for new composer style



  • Archive tab added for assigned PMs

Data Explorer

  • Bug fix

Push Notifications

  • Support old routes for browsers that have not unregister the old service worker

Additional Features and Fixes

Click to expand

New Features

  • Optional default off global per ip rate limiter
  • Add global rate limiter for admin api 60 per minute
  • New site setting show_inactive_accounts
  • Convert plain text emails to markdown
  • Replace SimpleRSS with Ruby RSS module
  • Convert HTML to Markdown while pasting in composer - default disabled.
  • Adds poll_allow_staff_to_create
  • Introduces minimum trust level for polls
  • Link to meta release notes tag in version release email text
  • Log clicks on full page search
  • Support search click through tracking for user, category and tags

Bug Fixes

  • Save registration_ip_address for staged users logging in via social auth
  • Wasn’t able to use the same username when taking over a staged account
  • View was getting rendered twice for rate limiting error
  • Translation for site setting enable_rich_text_paste
  • Prevent ‘rack.input’ missing error.
  • Replace curly quotes to regular quotes in search terms
  • Topic#featured_link may contain more than a URL.
  • Strip webhook payload_url
  • ‘redirect_to :back’ is deprecated
  • Remove other whitespaces except the line intents
  • Keep all the indenting in the text
  • Pasted text removing if server unable to parse HTML to Markdown
  • Rendering %lt;/div noscript in header
  • Remove mentions filters from user and groups
  • Choices input layout bug in IE11
  • Rescue if default_current_user_provider raised an error
  • Don’t show the email from the suspension on the user profile
  • Only show the full suspension reason on the admin side
  • Current_user should be called only if controller have that method
  • Image pasted twice when it copied from browser
  • Topic timer offset applied two times
  • Spam posts get blocked, not silenced
  • Load balanced servers do not share monotonic clock
  • Handle CORS in hijacked requests
  • Composer preview-area plugin layout
  • Logging in after an anon :heart: does not count the :heart:
  • Don’t show trust level if the API didn’t return it
  • Desktop notifications weren’t formatting the username
  • Adjusted the composer preview to avoid odd scroll issue
  • Script for pulling translations ignored exit code
  • Update translations job was aborting at discourse-presence
  • Correctly print html entity when used in a locale for none
  • IE compatability issue in clipboard data types array
  • Makes sure we have polls before validating
  • Global event variable is not compatible with all browsers
  • Drive spreadsheet table not converting to Markdown table
  • Broken variable
  • Staff should always be allowed to create polls if they are enabled
  • Don’t create featured link if title includes more than a url
  • Removing horizontal scrollbar in category modal
  • Disappearing tag input border on hi-res devices/when scaling
  • Mobile composer layout for PMs
  • Resolve from URL when using /new-topic route
  • Regression around rate limiter
  • Correct use of invitee vs inviter in email templates
  • Topic#featured_link_root_domain extracts URL before parsing.
  • Don’t include null class when rendering the pinned dropdown
  • Reply to tab was not using the username formatter
  • Skip pasting files if plain text available in clipboard
  • Export admin reports to csv would have 0 rows in the csv file
  • Allows select-kit to search by null value
  • Composer not properly centered in IE11
  • Flexbox composer issue in IE11, bad flex-shrink default
  • Translation for “destroy_reasons.same_ip_address”
  • Positining of search spinner in tablet-sized viewports
  • Do not give any element focus when creating topic
  • Password required flag should be cleared whenever clearing the raw password
  • Extraneous mobile CSS, flagged badge color in dropdown

UX Changes

  • Mobile user profile button adjustment
  • Cleaning up staff counters on user profiles
  • Making button on advanced search page match input height
  • Cleaning up user profiles on mobile
  • Clearer ‘user left PM’ system message
  • Replacing some PX font definitions with EM based units
  • Add link to “Moderation History” to flagging interface
  • Removing staff highlight from .name so it only applies to .user-title
  • Add a class name to target the embedded post controls
  • Eliminating a “sweet spot” at 870px viewport where the topic-body exceeds 690px wide
  • Iconize compose reply title
  • New style for staff highlight
  • Use the same 404 page for the unknown route and exception handler
  • Mobile post control button color was too specific, overriding solved plugin
  • Add onebox favicon styling in email
  • Updating the edit post title layout
  • Fixing code highlighting color issue in dark themes
  • Add new classes to make user creation more targetable
  • Adjustments to composer uploading message
  • Hiding composer preview reduces width of composer overlay
  • Removing an old font declaration


  • Improve speed of rate limiter

One addendum to the notes:

Admin API Rate Limits

Nearly every action that can be taken via Discourse is rate limited. One exception was the admin API. The user API (used by the Discourse Mobile app) was limited, but the admin API (generated via the admin page) was not. We now limit the Admin API to 60 request per minute per key to ensure sites don’t DoS themselves via the API.