Discourse 2.1.0.beta5 Release Notes


(Daniela) #1

New features in 2.1.0.beta5

Discourse-checklist is now official

We’ve finally adopted the Checklist plugin by @cpradio! Make your lists much more interactive with this plugin.

Automatically expire unused API keys

For enhanced security, Discourse will automatically expire API keys that have not been used for long periods of time. Search for expire_user_api_keys_days in your admin console.

Links are searchable

Thanks to @nbianca links inserted in posts are now indexed for searching. See how it works with this example search.

Emoji 11.0 added

We’ve added support for the new Unicode 11.0 emojis.

Import script for Telligent

@gerhard wrote a new importer to migrate Telligent sites to Discourse. See our list of importers to discover more.

Add “Reset Bump Date” action

In the previous beta we added an auto bump by category feature.

Now staff can choose to reply to a topic without bumping it:


Staff can also change the topic’s last bump date to the last visible post in the topic.

More information available here:

Bump Reset plugin - Annotated to help new devs
(Daniela) #2

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]

  • Prevent use of X-Forwarded-Host to perform XSS

Plugin improvements

Data Explorer Plugin

  • List all previous queries on Data Explorer homepage
  • Added clickable rows, default query sorting by id and clickable usernames
  • Added User.find() & fixed scroll history bug
  • Do not save username since we are already saving user_id
  • Added button to go back to query list after visiting a query
  • FIX: Ensure that back button always redirects to index page
  • FIX: Remove bad default query description and add placeholder instead
  • Hide controls on query page
  • FIX: Use predefined SCSS colors instead of hardcoded colors
  • UX: Improve text when no query selected

Checklist plugin

  • fix spec

Invite Tokens

  • Add translation for accept_invite

Oauth2 Basic

  • FIX: callback url on subfolder installs

Chat Integration Plugin

  • FEATURE: Improve channel error visibility in the admin panel, stop adding chat integration errors to logs


  • Raise 404 for incorrect route

Staff Notes

  • FIX: uses user type for reports

WordPress Plugin

  • Bump Tested up to version
  • Hide pin-until date input unless pin-topic is selected
  • Add hidden class to pin-until input
  • Stype publish-info text
  • Left align all inputs
  • Bump version to 1.7.0
  • Changes for WordPress coding standards
  • Fix typo in CSS selector name
  • Only add hidden class to new-topic div if ‘link’ is explicity selected
  • Bump version to 1.7.1
  • Added avatar template size filter
  • Avatar template size filter
  • Update html-templates.php
  • Escape HTML
  • Move discourse_topic_link into a separate function
  • Bump version to 1.7.2
  • Remove unnecessary unary operator
  • Check for error before returning the force-publish message
  • Bump version to 1.7.3

Spoiler Alert

  • Make it compatible with stable branch

Maths Plugin

  • SECURITY: do not allow tags in math wrapper

Discourse Voting

  • FIX: only count votes when we have an array of votes
  • FIX: release/reclaim votes on moving topics to different category

Discourse Assign

  • Slight margin reduction
  • FIX: properly unassign topics if there are no more flags to handle

Discourse Translator

  • Fix incorrect variable scope


  • Fix typo

Push Notification

  • Fix the link to discourse. The topic url/id seems to have changed


  • Adding type scale, more colors, prettier

Additional Features and Fixes

Click to expand

New Features

  • Improve API error reporting for invalid records
  • Automatically correct extension for bad uploads
  • More context for error reporting on jobs fails
  • Use display: browser in webmanifest for iOS devices
  • Silenced users should not be allowed to edit posts
  • Do encodeURI on share links
  • Group error message regarding image optimization failures
  • Group warnings about IP level rate limiting
  • Ability for plugins to whitelist custom fields for flags
  • Backend support for user-selectable components
  • Include excerpt in HTML view for pinned topics

Bug Fixes

  • Doesn’t translate group permission keys
  • Disable_2fa fix method selection
  • Do not hide YouTube embeds inside details tag
  • If user is logged off return 404 instead of 500
  • Handle concurrently creating post reply keys
  • User profiles didn’t work when API keys exist
  • Do not show an empty modal when an IP address is allowed or blocked. (#6265)
  • Subfolder support for S3 CDN
  • SpamRulesEnforcer should use default locale
  • HTML lang attribute expects hyphen instead of underscore
  • Load more on groups page does not account for params.
  • Search does not retrigger when context has changed. Take 2.
  • Incorrect title on new user narrative cert.
  • Make Discobot certificate route require login.
  • If we have not target available do not redirect
  • Avoid lograge error when controller doesn’t respond to current_user.
  • User can’t save gravatar as profile picture after refresh.
  • Always test and coerce to image on upload
  • Smiling face with three hearts emoji typo (#6286)
  • Allow silenced users to like / bookmark, just not flag.
  • Quality/bugfix dashboard/reports pass (#6283)
  • FileHelper#download should return nil if max size is exceeded.
  • Guardian#post_can_act? shouldn’t raise an error if user of post has been deleted.
  • Converting PNG to JPEG does not set the correct extension.
  • Raise an exception when 'downsize’git st fails
  • Don’t trigger ‘flag_reviewed’ when no flags were reviewed
  • Simplify so we ban all auth paths
  • Validation of min_posts and max_posts didn’t work
  • Automatically correct bad avatars on access
  • Z-index fix for tag input on mobile
  • Don’t throw exception if welcome topic cannot be found
  • Refreshing auto groups when min_username_length is long
  • Add gif to list of allowed decoders
  • Update application_controller_spec.rb.
  • Going from /categories to /latest on mobile might break infinite scrolling
  • Validation of topic params broke discourse-assign
  • Silenced users shouldn’t be able to act on posts
  • Bulk deleting topics should ignore already deleted topics
  • Bulk updating category failed when topic title was too short
  • Uses touchstart/mousedown for selected tags (#6268)
  • Store the topic links using the cooked upload url
  • Add a basic validator for topic params
  • Use BasicUserSerializer for user_badge.granted_by (#6266)
  • Missing extensions for non-image uploads due to FIX: Upload's content is the only source of truth for the file type. · tgxworld/discourse@2b57239 · GitHub.
  • Importers failed to import avatars
  • Parsing non-existent feed should not fail
  • Allow selecting site’s default theme from preference
  • Ember click event not reliably working on fx (#6256)
  • User-deleted posts with deferred flags can be destroyed
  • Permalink redirects with subfolder
  • Simplifies mini tag chooser events handling (#6252)
  • Prevents focus of input on mobile (#6251)
  • Checks on parent visibility instead of filter itself (#6250)
  • Check permalinks for deleted topics
  • Ensure URLs include subfolder in admin emails UI
  • Subfolder redirects to wrong URL if the subfolder appears in the slug
  • Search does not retrigger when context has changed.
  • Don’t require device capabilities when calculating login methods
  • Include parameters in function call
  • Wrong order for S3Helper#copy_file.
  • Support Arrays with Marshal dump in distributed cache
  • Create tmp if it doesn’t exist when creating tmp/pids
  • Subfolder digest emails have incorrect URLs

UX Changes

  • Allow admin to copy IP address details of a user. (#6270)
  • Stop putting usernames in edit reason when changing post owner
  • Show static page title. (#6273)
  • Improving tag topic list navigation consistency
  • Replace Google search with Discourse search on not found page
  • Replace Google search with Discourse search on not found page.
  • Topic-timer modal style fixes
  • Show anchor icon instead of text when topic bump is disabled
  • Improve category filtering and include subcategories
  • Prevent text from wrapping below notification icons
  • Admin permalink form can fit on one line


  • Memoize EmailReceiver#sent_to_mailinglist_mirror?.
  • Restrict number of skipped email log for Jobs::UserEmail.
  • Memoize SkippedEmailLog.reason_types.
  • Only log the first skipped email when user exceeds daily limit.