Discourse 2.0.0.beta6 Release Notes

New features in 2.0.0.beta6

Enforce tagging on categories

Admins can now configure a minimum number of tags required when creating a topic. This can be set per category using the Minimum number of tags required in a topic category setting. Should a user not have permissions to use tags the setting will not be enforced.

Require category selection before writing topic

When allow uncategorized topics is disabled, users will now be required to select a category prior to writing their post. This ensures that if topic templates are configured users will see it. The composer field will be disabled until a category is selected.

Updated full-page-search UI

The full-page-search UI has been updated to take better advantage of wide-screen displays. On desktop the Advanced Search options will now be displayed alongside the search instead of above it.

Flagging Improvements

Flags allow your community to help you ensure community guidelines are being followed. In this beta we’ve added a number of small improvements to flagging requested by the community.

  • Notify flaggers if post is edited by author
  • Send a different PM when a post has been hidden more than once
  • Show the current reply count of the flagged post

Staged user moderation

Previously staged users bypassed topic and post approval controls as they did not have a “trust level”. Sites can now force staged users to go through approval by enabling the approve unless staged site setting.

Suppressing the word “likes”

Per Suppressing the word "likes" on posts the word “likes” has been removed from the post controls. Additionally the likes count was moved closer to the like icon, and clicking the . . . will now display the list of users who liked the post.

image

New Webhooks

  • Webhook for flag events
  • Webhook for tag events
  • Webhook for group and category events

Hidden tags

When creating a tag group admins can now configure all tags within the group to only be visible to staff. Tags hidden will not be displayed on the topic list, tag filters, the tag page, etc.

Group Improvements

In Discourse 2.0.0.beta5 we added a number of improvements to the groups. We’ve continued this work in beta6.

Group Improvements
  • Group pages should work when group name contains periods.
  • Disable save button when new group form is empty.
  • Group can’t be deleted if certain users are demoted.
  • Staff users are not affected by enable_group_directory site setting
  • Prevent group owners from editing admin only settings
  • Add server side uniqueness validations for Group#name and User#username
  • Link to automatic group page on user admin page
  • Better ‘saved’ indication on group manage form
  • Align group members button/dropdown to the right
  • Use a wrench for group-member-dropdown
  • Move group delete button to details container
  • Replace route when users try to access invalid group management page
  • Split up group form into smaller sections
  • Allow admins to manage automatic groups on group page
  • Add a “add members” button on group page
  • Consolidate group management into a single tab
  • Add groups/custom/new route for admins to create a new group

Improved web crawler controls

We know how important it is for users to find your content. We’ve added some minor improvements to make it easier for crawlers to find content without crawling more than necessary. We also now allow admins to whitelist or blacklist crawlers, ensuring that only the crawlers they want view the site, or blocking a negative crawler. Important note: additional manual steps are required for sites installed via subfolder instead of subdomain.

  • Web crawler whitelist & blacklist
  • Disallow tags and categories rss feeds
  • Remove topic rss from robots
  • Provide extra signal about content age to crawlers
  • Allow for setting crawl delay per user agent

Bingbot heavilly throttled

We recently discovered that Bingbot was crawling Meta (and other Discourse sites) at rates much higher (10x higher here on Meta) than any other crawler. We are actively working with the Bing team at Microsoft to fix the crawler issues. While this is happening we have added a crawl delay of 60 seconds for Bing to ensure sites are not hit as hard.

PostgreSQL Upgrade

On your next rebuild, you will be updated to PostgreSQL version 10. This brings some performance improvements, specially in some background jobs that handle a lot of data.

Be sure to have enough free disk space for the upgrade, which will use around twice your database size.

Security Updates

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

  • Don’t expose development route in production.

Even more!

You thought that was it? We’ve got even more new features, UX & performance improvements, and a whole slew of bug fixes coming to you as well. Be sure to review the Additional Features and Fixes listed below for all the details.

Plugin improvements

Push Notifications

  • Add banner prompt for user consent
  • Add badge iconography
  • Multiple bug fixes

Chronos

Initial Release: Chronos adds relative time support to Discourse. Insert a date and time in a post that is displayed in the current timezone for each user. Check out a sample post with Chronos

WordPress Discourse Plugin

  • Add option for publishing posts as unlisted Discourse topics
  • Add option for publishing posts as pinned topics
  • Update API static methods
  • Add an optional stylesheet for fixing oneboxes and quotes in comments
  • Provide proper webhook URL for all permalink styles
  • Make options that need to be copied to Discourse easier to select
  • If a custom excerpt has been set, check if it’s empty before using it as the Discourse post content
  • Multiple bug fixes

Assign

  • Remove 'archive" tab for assigned topics
  • Bug fix: assigned topics could not be deleted

Staff Notes

  • Correctly show the username of the person who silenced/suspended the user

Additional Features and Fixes

Click to expand

New Features

  • Provide extra signal about content age to crawlers
  • Bingbot heavily throttled till it plays nice
  • Webhook for flag events
  • Disallow tags and categories rss feeds
  • Enforce tagging on categories
  • Remove topic rss from robots
  • When uncategorized topics are not allowed, disable the post input until a category is chosen
  • Adds support for loading existing core asset in pretty text
  • Add option to have sso synchronize group membership
  • Revamp full-page-search UI (#5703)
  • Notify flaggers when flagged post is edited by author
  • Theme settings in handlerbars templates
  • Staged user moderation (#5721)
  • Allow for setting crawl delay per user agent
  • Implements minimum selection for select-kit
  • Send a different PM when a post has been hidden more than once
  • Show the current reply count of the flagged post
  • Use Message-ID for detecting email replies to group
  • Block bing from crawling all discourse sites
  • Webhook for tag events
  • Add unseen-topic and new-posts classnames to topic list items
  • Webhook for group and category events
  • Allow users to collapse profile after expanding it
  • Bump rack-mini-profiler version
  • Show sub navigation for selected PM tag
  • Control web crawlers access with white/blacklist
  • Option for tags in a tag group to be visible only to staff
  • Control which web crawlers can access using a whitelist or blacklist

Bug Fixes

  • Make get_hostname more lenient to user input
  • Users shouldn’t get notifications about mentions from system users
  • Adds ellipsis on name of dropdown-select-box row
  • Group pages should work when group name contains periods.
  • Apply fa-fw on class instead of icon name
  • Disable save button when new group form is empty.
  • Non-oneboxed links on separate lines should stay on separate lines
  • Allow lists in summary email post excerpts
  • Adds incorrectly removed context checkbox
  • An option in aliasLevelOptions was accidentally removed.
  • Use root path for service_worker_asset and handle subfolder installs for the ‘/c’ route
  • Remove duplicates in available titles
  • Prevents keyboard from appearing on android when expanding
  • Bulk append/replace tags was not working
  • Group can’t be deleted if certain users are demoted.
  • Staff users are not affected by enable_group_directory site setting.
  • Rake task should rebake posts in descending ID order
  • Preference page error when badges are disabled
  • J/K keyboard shortcut misbehaving
  • Differentiate one/other select-kit maximumLabel/minimumLabel
  • Use safe navigation operator when checking for totp_enabled
  • Date range was inconsistent for admin dashboard reports
  • Unable to save groups with mixed case names
  • Binding style attributes need to be escaped.
  • Broken PM title line wrapping
  • Prevent group owners from editing admin only settings.
  • Can’t upload backup.
  • Restorer wasn’t rolling back if restore fails.
  • Don’t give two errors about not being able to post links
  • Scrolling was off sometimes
  • If a message is partially archived consider it not archived
  • When uploading image newuser restrictions should not apply to staff
  • Update categories topic_count when converting topic to a PM and vice versa
  • Regression where tag could not be deleted with click
  • New/unread tabs should re-appear dynamically
  • Update Google Tag Manager javascript
  • The order of import globbing is not deterministic
  • More conservative refactoring to avoid regressions in customisations
  • Unable to import private themes due to key checking
  • More resilient focus filter or header
  • Regression preventing backspace to work on mini-tag-chooser
  • Broken specs too. Quotes are fragile!
  • Broken JS tests
  • Manually adds tag if existing but not in returned matches
  • Username uniqueness check should not happen to current user_id
  • Calling incorrect method
  • Regression preventing addition of multiple tags in a group
  • Add server side uniqueness validations for Group#name and User#username.
  • CDN_URL hostname should be in GlobalSetting.hostnames
  • Discourse-solved plugin controls (buttons) should be in first place
  • Properly hide nav items
  • Silenced user wasn’t being linked properly
  • Tag notification preferences were being cleared when other preferences were changed
  • Show error if dashboard can’t load
  • Remove unneeded and uninformative title on user notifications list
  • Do not lighten color when no selection for cat and tag drops
  • Reverts combobox placeholder and introduces noneLabel
  • Correctly shows education text for categories
  • Shared draft performance fix + missing avatars
  • Ensure theme variables are unique when adding an upload
  • Don’t allow links with no href
  • Remove uneeded and uninformative title on user notifications list
  • ‘uploads:recover_from_tombstone’ rake task wasn’t restoring attachments
  • Missing translation key
  • Correctly localizes period chooser row title
  • Adds spacing between category name and text in topic timers
  • Tests could get stucked in infinite loop if it fails to resolve IP of a hostname.
  • Add reserved usernames for ‘/u/’ static routes
  • Watched word counts always show as 0
  • Lint error
  • Make sure a post has replies before accessing the reply_id
  • Application request count keys not expiring in redis
  • Try fixing unparsable email addresses
  • Discobot fails when max_emojis_in_title=0 (#5710)
  • Discobot certificate description wasn’t escaped
  • AuthComplete query param should carry-forward to login page
  • Show private message topic count on admin dashboard reports
  • Makes sure category desc is displayed as row title when possible
  • Update last_version_at when publishing
  • Publishing should update the public_version too

UX Changes

  • Link to automatic group page on user admin page.
  • Better ‘saved’ indication on group manage form.
  • Align group members button/dropdown to the right.
  • Use a wrench for group-member-dropdown.
  • Replace route when users try to access invalid group management page.
  • Move group delete button to details container.
  • Ensure the topic progress indicator is never overlapping with post controls
  • Split up group form into smaller sections.
  • User preferences allows users to choose which title to use from their badges and groups
  • Add an icon to indicate if a plugin is official.
  • Allow admins to manage automatic groups on group page.
  • New dropdowns work well on mobile for category notifications
  • Add a “add members” button on group page.
  • Show users who liked the post when expanding post actions
  • Add a class we can use to target quotes without groups
  • Add classes for extensibility
  • Consistent spacing for like button on mobile
  • Hide empty ‘new’ and ‘unread’ tabs for tl1 and above
  • Alignment was off on likes for your own post
  • Better like button
  • When there is nothing new or unread to show, remove those options from the top nav.
  • Make own post heart glyph grey
  • Own post likes glyph margin was off
  • Show heart glyph on your own likes count
  • Better likes count margin
  • Remove word “likes” from first post
  • Remove the word ‘likes’ from the like counters on posts within topic
  • Updated ‘new dot’ styling
  • Tweaks to group pages.
  • Don’t default title to label text for buttons.
  • Editing a shared draft was confusing in the composer
  • Add groups/custom/new route for admins to create a new group.
  • Consolidation group manangement into a single tab.

Performance

  • Don’t join on shared drafts unless you have to
  • Add missing index for akismet
30 Likes