2.8.0.beta2: User Directory Custom Fields, Tagging Enabled by Default, User-Selectable Badge Display, and more

New features in 2.8.0.beta2

User Directory can now show user custom fields

Discourse has long allowed admins to configure user custom fields to allow users to share additional information on the site. Fields could be configured to show on a user’s profile page, as well as the user card. Now, admins can configure user fields to display in the User Directory. Admins can use the wrench to configure what columns appear in the directory, including custom fields.

Tagging enabled by default

Moving forward, tagging will be enabled by default on all new Discourse installations. This change will not impact existing sites that upgrade.

User-selectable badge display on user card

Out of the box, the user card will display the user’s trust level badge, followed by the two “highest” level badges - gold first, if no gold then silver, if no silver then bronze. Users can now select the 2 badges they wish to display by marking the badge as favorite.


Automatically delete stub topics after the entire topic is merged into another topic

When an entire topic is merged to another, a “stub” is left, with just the first post and a message that the topic was moved. These stub topics will now be automatically deleted, 7 days after merged. Admins can modify this via the delete merged stub topics after days site setting.

Increase daily edit limits proportionally to trust level

As users increase in their trust level, their limits increase and they gain additional abilities on the site. For example, a TL3 user can like 2x the posts per day as a TL1 user. Edits are similarly limited, and now also increase as a user’s trust level goes up. For full details on trust levels, see Understanding Discourse Trust Levels

Onebox content passed through censor watched words list

Previously, onebox content was not passed by the censor regex, meaning you could sneak in censored words via onebox. This has been fixed, so words set to be censored will be censored even in oneboxes.

Accessibility improvements

  • Improve topic details toggle button label
  • Add aria-label to modal close button
  • Include aria-label for avatar images in widgets
  • Add heading role for post titles.
  • Fix post control and user-menu focus styles

Additional Features

This beta has so many new features we can’t detail them all. Below are some additional features of note. You can find the full list of new features in the following post.

  • Stage post edits immediately
  • Show all categories in composer
  • Improve group email settings UI
  • Enable pausing images from Giphy and Tenor
  • Show an error message if regex is invalid
  • Silence watched word
  • Navigate to an approved queued topic from the review queue.
  • Correctly convert topic title to uppercase and lowercase for Turkish default locale
  • Add tasks to export and import site structure
  • Support tag and replace in watched words in test modal
  • Allow for notification of up to 20 group owners

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 2 security fixes for issues reported by our community and HackerOne.

  • XSS in bookmarks list
  • Do not allow unauthorized access to category edit UI

Plugin improvements

Many plugins

  • Bug fix
    • We’ve patched numerous bugs in many of our plugins
  • Translations
    • We’ve updated the translations in many of our plugins


  • Add rake task to check old posts

WP Discourse

  • Tag Publishing


  • Performance improvements
  • Improved reactions picker UI

Shared Edits

  • Performance improvement


  • Add Campaigns
    One of the main goals of this plugin is to make it easy for Discourse site owners to crowdsource funding of their communities. This feature builds on top of that goal by making it extremely simple to run a support campaign for a site using Discourse Subscriptions.

Additional Features and Fixes

Click to expand

New Features

  • Don’t show the draft checkmark when drafts are saved
  • Add global admin api key rate limiter
  • Use group SMTP settings for sending user notification emails (initial)
  • Extend widget-dropdown to accept disabled option
  • Use path from existing URL of uploads and optimized images
  • Flarum import script
  • Show stale reviewable to other clients
  • Allow selective dismissal of new and unread topics
  • Normalize the service worker route
  • Change “Preformatted text” shortcut
  • Add on_preload for TopicView
  • Add support for “skip_validations” option in UploadCreator
  • Constrain post_excerpt_maxlength

Bug Fixes

  • Hide image resize controls in staged edit content
  • Search menu regression
  • Handle timeout errors when sending push notifications
  • Quoting Oneboxed content should exclude formatting
  • Allow invites if must_approve_users is true
  • IMDb links were being oneboxed as posters
  • Do not enqueue :group_smtp_email job if IMAP disabled for the group
  • Size of emoji in poll options
  • Use newly created PushSubscription object for push test message
  • Allow any other tag to be a synonym
  • Composer doesn’t show an error message in case of a network issue and stops updating draft after
  • Misspelling in associate_accounts_controller_spec.rb
  • Ensure images in polls don’t cause abrupt scrolling
  • Clear post action types application serializer fragment cache.
  • Return naturalWidth and naturalHeight for Composer image sizes
  • Redirect non-staff user to homepage when deleting own topic
  • Escape periods in current user’s username before generating RegExp
  • Change order of topic_tracking_state SELECT SQL
  • Dismiss topics keyboard shortcut not working
  • Ignore allowlistgeneric Onebox image sizes
  • Add check for if element doesnt exist on ensureDropClosed
  • Show required tags to staff by default and override limit
  • Active record annotation of topic model
  • Do not require trust level to invite to group
  • PG::StringDataRightTruncation when linking posts
  • Moderator actions and small actions shouldn’t prevent fully merged topics from closing
  • Split link watched words from replace
  • Return an empty result if response from Amazon is missing expected attributes
  • Don’t store translated trust level names in anonymous cache
  • Delete internal links when moderator deletes a post
  • Translation issue on the bookmark modal
  • Update non-Ember CLI ember-buffered-proxy
  • MessageBus would stall after 20 minutes of inactivity
  • TL4 users cannot unhide posts.
  • Errors that’re triggering by too long excerpts
  • Maintain notification order by priority
  • TL2 promotion message from discobot didn’t use user locale
  • Giphy oneboxing when the response is an image
  • Support pausing GIFs for giphy/tenor oneboxes
  • One-by-off error in topic show action
  • Do not mark badge image uploads as secure
  • Don’t update allow_title column of existing badges in seed.
  • No error when double save post with poll
  • We can’t use ?. yet
  • Automatically expire bad push channels
  • Close hyperlink modal on ESC key
  • Make poll options tabbable
  • Add body class and remove jQuery usage in footer-nav component
  • Use a better default for the low_priority_threshold setting.
  • Use max_category_nesting when importing categories
  • Make UI match server behavior for external-auth invites
  • Hide a post’s pending flag count from TL4 users.
  • Show inviter name in email’s from field
  • Better focus support for modals
  • Properly break overflowing long links in topic map
  • Sort user bookmarks by reminder date
  • Simplify post and topic deletion language
  • Ignore max excerpt length for div excerpts too
  • Do not call :post_edited webhook twice when editing OP
  • Slow mode dialog doesn’t remember Enabled Until value
  • Allow add email to group if user can invite
  • Update upload secure status when revising posts
  • Disable lightboxing of animated images
  • Review Queue Query parameters were not refreshing in Ember CLI builds
  • Correctly publish messages unconditionally to admins
  • Specificity and other fixes for WCAG colors
  • Do not validate uploads when running uploads:fix_missing_s3 task
  • Backtracking re-render" assertion in future-date-input
  • Do not include contact url & email in client site settings payload

UX Changes

  • Fix search topic titles wrapping
  • Fix bulk-select icon and button alignment
  • Group dropdown filter height should match
  • More consistent mobile spacing
  • Improve tag truncation in scrolled header
  • Copy edit
  • Revert some search dropdown styles
  • More consistent setting/edit buttons
  • Adjustments to tag groups layout
  • Update search panel styles, consistency
  • Use icons as bulleted list in invite modal
  • Fix “last visit” line overlap in Chrome
  • Fix PM header title alignment
  • Fix the PM title icon alignment
  • Align the bulk-select icon
  • Improve style of GitHub PR body in emails
  • Don’t show reply prompt if current topic is closed
  • Change color of focus & hover on user menu tabs
  • Show grandparent category badge in sticky header on desktop
  • Alert screen readers when there is an issue saving a post
  • Twitter onebox layout adjustments
  • Unconditionally focus modals
  • Make search result styles more consistent
  • Add auto focus to hamburger and user menu dropdowns
  • Align list-controls & topic-title top margins
  • Consistent padding on mobile/desktop .wrap
  • Adjust list and onebox margins
  • Change categories page dropdown to a wrench
  • Improve navigation on topic lists for screen readers
  • Provide a region for various topic actions
  • Users can postpone discobot’s tutorial.
  • Search result link title color change
  • Make discobot flag tutorial copy clearer
  • Add ARIA region role to posts
  • Show Update button instead of Enable button when slow mode is already enabled
  • Improve positioning of controls in lightboxes
  • Fix theme upload width, remove class clash, prettier


  • Preload client settings json while booting app.
  • Switch ActiveRecord PG connection active check to use empty query.
  • Preload Post#image_upload in TopicView.
  • Defer setting of distributed cache in category.
  • Defer setting of distributed cache in more spots.
  • Preload settings, groups and badge icons in SvgSprite.
  • Defer setting of distributed cache in performance critical paths.
  • Remove N+1 query in SiteSerializer#user_color_schemes.
  • Warm up caches in SiteSerializer while preloading app.
  • Cache categories query in Stylesheet::Manager.color_scheme_digest.
  • Memoize core svgs in memory to avoid expensive XML parsing.
  • Precompile child theme stylesheets.