Discourse 2.2.0.beta3 Release Notes

New features in 2.2.0.beta3

Trust Level 4 Improvement: Stronger flags

Discourse Trust Levels grant experienced users additional rights over time, so they can better help maintain your community. Trust Level 4, obtainable only by manual promotion, now has significantly stronger flags to help with moderation. A single TL4 spam, off-topic, or inappropriate flag will now immediately hide the flagged post pending moderator review.

New Desktop Category Page Style: Boxes

The boxes style category layout has long been supported for individual categories, we’ve now added support for the boxes layout on the /categories page itself. Choose from “Boxes with Subcategories” or “Boxes with Featured Topics” (pictured below).

Improved Account Security: Show recently used devices

Discourse takes security very seriously. In our goal to help keep users safe, we’ve added a new recently used devices list to account preferences. Users can now see all their recently used devices, as well as older, but still active, sessions


Users can log out of all sessions, or disconnect individual devices.


Should an unrecognized device appear, Discourse provides some helpful guidance to the user to further secure their account

Extra Privacy: Disable user presence and profile

Don’t like other users knowing you’re up at 4AM writing a reply? Prefer not to let other users know who you like the most? Users can now enable the “Hide my public profile and presence features” user preference to prevent other users from accessing your profile, or seeing that you are typing.

Tagging: Support MiXeD case

Tags can now support mixed case, allowing you to capitalize proper nouns, create all caps tags, or even add a capital in the middle of a tag. Tags are stored case-insensitive, however, so you cannot create multiple tags with the same spelling but different capitalization.

CSS Updates: Improve Discourse Layout

Our designers have been working hard to improve layout of the UI throughout Discourse. This includes spacing and alignment, better responsiveness to screen size changes, fixes for specific browser issues, and more. Additional improvements to our overall styling of inputs, buttons, and select elements should make it easier for theme designers to customize Discourse with less CSS than before.

API Improvement: Bulk remove users from group

Need to remove more than lots of users from a group? You no longer need to remove them one at a time, but can specify multiple users with a single API call. Simply supply multiple usernames in a comma separated list to remove them all at once.


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 3 security fixes for issues reported by our community and [HackerOne]

  • Only allow picking of avatars created by self
  • Correct XSS on long topic titles
  • Remove admin memory diagnostics routes

Plugin improvements

Discourse Graphviz

Discourse Calendar

Discourse Sitemap

  • Bug Fix
  • update URL of news sitemap

Docker Manager

  • Improve Post Deploy Migrations
  • Reduce Unicorn workers in upgrade process
  • Bug fixes

Data Explorer

  • Style improvements in query edit & result view
  • Show the number of results after running a query (limit 1,000)
  • Ship default queries with Data Explorer

Discourse GitHub Linkback

Discourse GitHub Badges

Discourse GitHub

  • Initial release: Combine GitHub Linkback and GitHub Badges into a single plugin
  • Add support for replacing GitHub non-permalinks with permalinks.

Discourse Perspective API

  • Make Official: The plugin is now an supported and maintained by the Discourse team.

Discourse Assign

  • Bug Fixes

Discourse Staff Notes

  • Bug fixes

Discourse Voting

  • Bug fix
  • Improve layout

Additional Features and Fixes

Click to expand

New Features

  • Log long running jobs in the defer queue
  • XenForo importer can import categories from the xf_node table and convert sub-categories beyond second level to tags
  • Support backup uploads/downloads directly to/from S3.
  • Support category slug when creating new topic via URL
  • Added MaxMindDb to resolve IP information.
  • Added browser detection based on user agent.
  • Add branch option to remote theme import
  • Adds header text/background color to site
  • Post deployment migrations
  • Only export settings that changed via rake task
  • Add indication if incoming email attachment was rejected and inform sender about it
  • Enable the notification prompt by default
  • Add support for responsive images in posts
  • Change default to enable login by email out-of-the-box
  • Notify admins when scheduling of backup fails
  • Add Lithuanian locale
  • Display trust level descriptions in site settings
  • Auto grant an available title when removing old title
  • Do not allow moderators to export user list
  • Add external details to user fields
  • Log entity export in staff logs
  • New ‘search_ignore_accents’ site setting
  • Match user title when primary group changes
  • Unconditionally omit no-follow for staff
  • Updated CORS config to explicitly specify http methods
  • Add SiteSetting for s3_configure_tombstone_policy
  • Don’t blow up when can’t reach theme’s repo, show problem themes on dashboard

Bug Fixes

  • Make time attribute as optional for local-dates bbcode
  • Do not allow revoking the token of current session.
  • Email preview content not updated in second local date
  • Error looking at users in admin when tl3_promotion_min_duration is set to a very high value
  • Typo, should be authentication
  • Do not use force timezone value in display timezone
  • Don’t reply to Unsubscribe email sent to mailing list mirror
  • Groups list does not refresh when query changes.
  • Allow theme edit route name to be overridden
  • Fix open quote links in new window.
  • Properly escape name of custom emoji
  • Strip null bytes in mail subjects.
  • Multiple loadScript to the same url may resolve prematurely
  • Do not add lightbox to onebox images
  • ‘none’ tag page would not load
  • Generate Onebox for posts of type moderator_action.
  • upload:migrate_to_s3 rake task not remapping properly.
  • When associating Github account disassociate others
  • Maxmind download task does not need environment
  • Make error in Discourse Hub more descriptive.
  • Add missing variable in params
  • Add missing param for import_theme method
  • Add missing space to scss style
  • Add missing div start tag
  • Allow_uppercase_posts didn’t work for topic titles
  • Adds a title attribute on value list input
  • Raise if staged user creation failed
  • Convert tag string to array when filtering topic list by tags
  • Safari issue with some emojis
  • Display large/broken image placeholders for image oneboxes
  • Topic admin menu was clipped on short posts due to overflow hidden
  • Redirect users to top when latest is the homepage
  • Generate webhook payloads before destroy events
  • Stop logging every time invalid params are sent
  • Redirect users to SSO client URL after social login
  • Retry sending email in case of temporary issue.
  • Correctly censor strings starting or ending with non-word characters
  • Avoid redirection when not leaving forum.
  • No longer educate users who are editing
  • Edit checks for editing posts with no topic
  • Display errors in single theme pages
  • Move overflow from cooked to parent element to allow for slight overflow of blur/italic/shadow
  • Limit concurrent assets:precompile to number of available cores.
  • unicorn_launcher should shut down unicorn gracefully.
  • Keep files in order when adding multiple uploads
  • Recover public actions (likes) when recovering a post
  • Corrects typo and adds a spec for likes report
  • s3BaseUrl with small s
  • Sync client & server rules regarding tag names.
  • Force enable user PM emails option when user posts to a group by email.
  • Don’t send multiple requests when changing category notification
  • Async reload of locales could result in missing translations
  • Hide Delete Category button while creating a new category
  • Onceoff job to fix missing user profile backgrounds.
  • Close data-preloaded div tag
  • Don’t update user_profile URLs unless upload is persisted.
  • Dashboard test depended on the last month has 31 days
  • Advanced search ordering broken when using tags
  • Correct compilation issues on clang 10
  • Corrected copy on post_edit_time_limit site setting
  • Validate auto_close_hours category setting
  • Make theme import’s public key field readonly
  • Links in TL1 promotion system message for subfolder installs
  • Links in narrative bot messages for subfolder installs
  • Do not revise post if post revision is not present
  • Improved category merging in discourse_merger. Use full paths to look for uniqueness instead of category names.
  • Don’t try to recover an invalid sha1.
  • Correct readonly timeout
  • Avoid race condition when enqueuing job.
  • Do not send tl1 welcome message when a user has the basic user badge
  • Always unpause Sidekiq after backup and restore
  • Backup logs were usually missing the first few lines
  • Use a tmp file in UploadRecovery for local store.
  • In redis readonly raise an exception from DistributedMutex
  • User correct steam placeholder image url
  • UploadRecovery should look at links too.
  • Ensures onSelect/onDeselect are called
  • Do not treat ignore_redirects domains as blacklisted
  • Moving upload to tombstone should update modification time.
  • Tag groups page should only be visible to staff
  • Error because last_id is nil in discourse_merger script
  • Improves themes/components UI on mobile
  • Allowes forcing timezone displayed in local-dates
  • Permit unpinning an unlisted topic.
  • Error in response body to blocked crawlers, showing 500 Internal Server Error with status of 403
  • Don’t block api requests when whitelisted_crawler_user_agents is set
  • Poll modal date selector width

UX Changes

  • Add link to Groups in admin dashboard.
  • Site settings have immediate effect.
  • Make time attribute optional and set default timezones
  • Use dashed underline for local dates
  • Move Recently Used Devices to the bottom.
  • Use local timezone for insert date modal result
  • Do not show ‘Show more’ button if there aren’t more tokens.
  • Changes CSS class added to local dates
  • Prompt for custom invite message was hard to translate
  • Change staff actions logs user label
  • Use ‘trash’ icon instead of ‘times’ for deleting small actions
  • Disable button hover effects on touch devices
  • Category colorpicker restyle
  • Improve custom field layout on signup
  • Make responsive_post_image_sizes a visible site setting
  • When admin is deleted, make it clear in staff action logs when records belong to a deleted user and show their username in the details
  • Label of checkbox site setting needs a span for nested HTML
  • Slightly taller progress bar for mobile
  • Makes reports fade in when loading is done
  • Improve error messages for minimum and maximum username lengths.
  • Confirmation before changing group membership in admin
  • Remove flex basis from first item
  • Correct ordering of username / fullname in UX
  • Updating style of mobile navigation dropdown
  • Improve spacing & alignment for Category edit modal
  • Improve shared_drafts_category description
  • Improve owner_groups text to fit combo-box in a single line
  • Improves topic-title flexbox alignment
  • Remove double scrollbars from backup logs
  • Removes bottom margins from inputs in admin controls
  • Ensure ac-wrap input height matches other inputs
  • Better padding for multi-select items
  • Label alignment for Firefox / IE
  • Select-kit filter input size fix
  • Radio / checkbox inputs margin fix
  • Last-seen input alignment fix
  • Multi-select items alignment fixes
  • General cleanup of inputs, buttons and select elements - part 1
  • Lighter style for category and tag dropdown nav
  • Improvements to admin theme UI


  • Quit out of the email job quickly if disabled