Discourse 2.2.0.beta9 Release Notes

New features in 2.2.0.beta9

New Consolidated Pageview Chart

Ever wonder how many of your pageviews came from crawlers? What about anonymous users versus logged in? Replacing the old table based data from the old dashboard is a brand new stacked column graph for quick at a glance data. Need specifics, hover over a specific date to see the exact pageview count from each source.

Content Security Policy (CSP) is now default on for new sites

CSP, a security policy which helps mitigate Cross Site Scripting (XSS) attacks was first added to Discourse back in beta6. As of this beta, CSP will be enabled by default for all new sites. For all the details, including how to configure your policy if you use ads or other external scripts, see

Consolidate like notifications

Does your site have that one user that likes every single post? The one who causes your notifications to overflow when you wake up in the morning? Good news! Discourse now merges sequential likes from the same user, helping keep your notification history happy. By default, sequential likes will be merged if there are 5 or more, and they happen within 2 hours of each other. This can be configured via the likes_notification_consolidation_threshold and likes_notification_consolidation_window_mins site settings.

image image

User Deletion Improvements

Deleting a user is generally a “last resort” action taken on a site. Not only is it completely irreversible, it also can break topics where the user participated, as their posts are all removed as well. For that reason alone, we strongly recommend anonymizing users to remove all their personal info, while keeping their posts (no longer associated with them) in tact. When a long-time user does need to be deleted, it can fail as there is so much data associated with the user. We’ve made a number of changes to improve the performance of long-time user deletion. If you have issues deleting a long-time user even after deleting all their posts, please let us know in #support.

Support for localized themes

Themes are a powerful way to customize the look and feel of your Discourse site. Some themes go beyond layout and color changes, and add new buttons, or other elements that include text. Discourse now supports localized themes, so you can create your theme once and have it work in all the languages you translate it to. For more details, check out FEATURE: Support for localized themes (#6848) · discourse/discourse@880311d · GitHub, and keep and eye open for a topic here on Meta with more details soon.


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.

Security Updates

This beta includes 1 security fix for issues reported by our community and HackerOne.

  • Fix possible XSS with badges

Plugin improvements


Initial release. See Advanced Discourse Intercom for details

Yearly Review

  • Allow the review topic to be published up until the end of Jan 2019
  • Bug fix

WP Discourse

  • Support overriding publishing username
  • Support publishing topic as unlisted
  • Bug fixes

Additional Features and Fixes

Click to expand

New Features

  • Introduce ultra_low priority queue
  • Allow calling user destroyer without a transaction

Bug Fixes

  • IE11 layout glitches
  • Don’t override user flair styles in topic map
  • Better legend labels for stacked-charts
  • Incorrect subscription in PostgreSQLFallbackHandler.
  • ForumsController doesn’t need to inherit from ApplicationController.
  • Don’t update User#last_seen_at when PG is readonly take 2.
  • Don’t update User#last_seen_at when PG is in readonly.
  • Avoid throwing an error when processing PG down message.
  • Don’t log request when Discourse is in readonly due to PG.
  • Use ENV values instead of ‘S3Helper.s3_options’ in migrate_to_s3
  • Changing owner of small action post failed
  • Update about/license URLs when updating theme from remote source
  • Ensures visits reports are correcttly differencing mobile/all
  • PostLabel was not working for totals
  • Remove full quotes only from new posts.
  • Correct deprecated theme settings in handlebars templates
  • Correctly import theme assets with spaces in filename
  • Mods weren’t able to see emails in admin user list
  • Keep original subject in emails to staged users
  • Since Ember 3 interceptClick was not working on buffered links
  • Remove old reference and use MiniScheduler::Stat.
  • Text logo does not show up on non ember pages.
  • Refresh “/categories” on logo click
  • Refresh discovery categories on logo click
  • Use ordered_posts for last post check, not the posts relation
  • Do not hide posts automatically when flagged by staff user
  • Navigate to full page search when enter key used in topic
  • Wrap theme javascript inside IIFE to prevent using global namespace
  • Theme settings are referenced in JS by settings, not themeSetting
  • Regression lead to a 404 when trying to filter user posts
  • Avoid rescuing error in login hint initializer.
  • Liked notification consolidation has to account for user like frequency setting.
  • Improve rake emails:test task
  • Rake emails:test to bypass the “STARTTLS required” message
  • Too much j
  • Properly clean out post and user actions on destroy user
  • Sort topics/posts/links in descending order in user summaries
  • Heisentest
  • Ember.warn needs an id
  • Makes click-interceptor working with touchstart
  • Makes whisper state more resilient
  • Only add the trust level name for numeric trust levels
  • Add watching_first_post to NOTIFIABLE_TYPES
  • Tweaking topic footer dropdowns
  • Use GlobalSetting values instead of ENV variables in migrate_to_s3
  • Don’t show liked consolidated notification when frequency is never.
  • Allow liked notifications consolidation to be disabled.
  • Consolidated like notifications links to wrong user on user page.
  • Liked notifications should not be consolidated across multiple users.
  • Profile picture not showing up on user admin page
  • Refresh topic list on logo click
  • Prevent layout changes while images are lazy-loading
  • Tooltip for unlisted topics wasn’t shown in topic list
  • Prefix should precede folder path (follow-up on 10fbb07e)
  • Call method only if it exists
  • Include folder name in prefix for listing files on S3 (follow-up on 3ec38f5a)

UX Changes

  • Invert pikaday png for dark themes
  • We don’t have bulk select on mobile, so we should hide the button
  • Improve button alignment, fix invite header
  • Improve alignment of new post badge on mobile
  • Correct innacurate descriptions for short_title, pwa_config_title_warning
  • Remove unused translations
  • Improving user stream alignment and spacing
  • Badge alignment adjustments
  • Bump up base font size 1px, add smaller text size option
  • Improve short_title SiteSetting description
  • Improve logo setting texts to hint that dimensions are a requirement
  • Normalize all SiteSetting text dimensions to use the ‘512 × 512’ format
  • Larger/Largest font-sizes should be 1px larger on mobile
  • Soften dashboard warning PM
  • Soften the “problems” alert on dashboard
  • Improves dates display in emails
  • Sort admins and moderators by last seen date on /about page
  • Only show active admins and moderators on /about page


  • Delete potentially large associated tables before user_destroyer.destroy transaction
  • Bulk feature topic users & reset topic counters after an import
  • Delete user and post actions vs destroy on user destroy