Most Epic forum upgrade — #threadkiller will automatically create a new topic on auto-close (also improved invites)

I upgraded the forum software last night and it doesn’t look like it broke anything. Here’s some of the stuff that’s been added:

Improved Dark Mode support

Prefer seeing white text on a black background? Tired of having to enable a dark color scheme on every Discourse site you visit manually? Discourse now support automatic dark mode. Discourse will detect your system preference, and automatically select a light or dark color scheme as needed.

Admins can enable this feature by selecting the dark mode color scheme with the default_dark_mode_color_scheme_id site setting. Admins may also wish to add separate logos for dark color scheme users via the logo_dark , logo_small_dark , and mobile_logo_dark site settings.

If you have a custom theme, you might need to update the theme to use CSS custom properties for the colors. Without that, the theme might not be compatible with automatic dark mode switching.

New quote sharing widget

Site admins can enable additional options when quoting for users to share the quote externally.

Limit who can send you PMs

Prefer to only receive PMs from a select few users? You can now specify which users can send you PMs via the Only allow specific users to send me personal messages user preference on the Users page. Only users on the list (admins and moderators can always send users PMs) will be able to send PMs to you.


If you prefer not to receive any PMs (staff exempted), disable the Allow other users to send me personal messages user preference on the Notifications page.

API Key scopes (for any of you devs out there that might want to play with this)

API keys now support optional scopes, limiting use of an API key to only certain endpoints. API keys can be further restricted to specific topics or categories as well. Additional scopes are planned in the future, and plugins can also add new scopes too.

Existing API keys will automatically be converted to a global key. As global api keys can do anything on the site an admin can do, we strongly recommend creating new limited scope API keys whenever possible. Have an API key you use that doesn’t work with an existing scope? Be sure to let us know here on Meta in the #feature category.

Differentiate between group and individual mentions

Previously, individual mentions and group mentions did not have a visual distinction. Both used the @ symbol. The mention type could be seen on mouseover, but this doesn’t work on touch devices, and is not readily apparent.

To help visually differentiate the two notifications, we now use a different icon for group notifications.

It now looks like this:


We use the Users icon, the name of the user who created the mention, as well the group that was mentioned.

For comparison, a regular mention looks like this.


User selectable color palettes (this one’s for designers like @Beo and @Saint_Dee)

Following up the improved dark mode support in beta2, sites can now set color palettes to be user selectable, just like themes. This means sites no longer need to configure 2 themes to offer 2 colors - they can instead install 1 theme and add user selectable color palettes.

Comic Sans, here we come! (Easier font control & allow sites to configure base font and heading font independently)

Sites can now customize the base font via the wizard and site settings.

Expanding upon improved font support added in beta3, admins can now set the heading font independently from the base font. This can be done via the wizard, or via site settings.

Styleguide plugin added to Discourse (another one for the designers)

To aid site admins in theming their site, the Discourse Styleguide plugin has been added to core Discourse. For more details, see Styleguide Plugin Now in Discourse Core


WCAG-compliant color palettes

Discourse now ships with two additional color palettes - WCAG Light and WCAG Dark. These color palettes follow the Web Content Accessibility Guidelines for minimum contrast. Admins can create color palettes from these base palettes and set them as user selectable, giving users control over the colors they want. Read more about them in WCAG high-contrast color palettes for low vision


Ctrl+Shift+Enter or Shift+Click do not scroll when posting

By default, Discourse will automatically scroll down in a topic when you post, so you can see your post. In some circumstances, users may not wish to scroll, and instead keep their place in the topic. To skip the scrolling, users can hold the Shift key while clicking the Reply button, or use the keyboard shortcut Ctrl+Shift+Enter.

More helpful AI-editor notices when you try and create a topic called “EEEEEEEEEEEEEEEEEK” — (Improve errors when title is invalid)

Discourse includes validation to help avoid ALL CAPS titles, titleswithreallylongwords, and titles with all the same letter. Previously, the error given was seems unclear, is it a complete sentence? , which doesn’t provide good feedback for the user to correct. Now, specific feedback is given:

"seems unclear, most of the words contain the same letters over and over?"
"seems unclear, one or more words is very long?"
"seems unclear, did you mean to enter it in ALL CAPS?"

Create a linked topic on autoclosing mega topics

When topics exceed 10,000 posts, performance begins to degrade. As such, Discourse closes topics that reach the threshold automatically. Now, when such topics are closed, a new topic is created automatically to continue the discussion. For more details, see Linked topics (splitting and managing megatopics)

Do Not Disturb mode

Do Not Disturb is here! Disable notifications and emails so you can concentrate on what you’re working on. Do Not Disturb can be enabled for a set period of time or until the next day. You can also set your Notification Schedule to automatically enable Do Not Disturb each day. This can be done in User Preferences → Notifications. For more details, see Do not disturb mode .


Use logo small for the system user’s avatar

The system user on a site will now use small logo from site settings instead of the generic gear. This gives a more site specific look and feel when system actions are taken, or automatic PMs sent. Sites that wish to override this can disable the use_site_small_logo_as_system_avatar site setting.

Enable inline Onebox for all domains by default

Discourse has long supported Oneboxing. Paste a link on its own line and Discourse will attempt to pull the site logo, title, and description for the link source, or display a preview of the linked image or inline video player. But did you know Discourse also supports inline Oneboxing? Paste a link within a paragraph and the link will be replaced by the title automatically. For example, paste and it’ll display as Wikipedia, the free encyclopedia.

Improved Invites

We’ve overhauled the invite UX to make it quicker and easier to use. Invites can now be accessed via an improved interface on the user menu. Pending link and email invites are now displayed in a combined interface. Redeemed invites are displayed in chronological order, newest first. Non-staff users are now allowed to invite others by copying a link to share in addition to sending an email invite.

For more details, see Improve invite system.

Auto-tag and auto-replace watched words

Watched words are a powerful tool to automating actions on your site. This includes blocking posts, hiding content in posts, flagging posts, and requiring approval when they contain certain word(s).

Now, you can automatically apply tags to topics when they contain word(s). For example, add a fruit tag to topics that contain apple , orange , or tomato.

You now also automatically replace instances of words with other words, or links. For example, anytime someone says Google you can replace it with or a popular search engine .

Improved spam user detection

We’ve improved the detection of suspicious new users on the site that fill out their bio and never post anything. These users will be added to the review queue for staff approval.

Mailing List Mode default disabled

Mailing list mode can generate significant email volume, especially on sites with a large user base. This can be unexpected for site owners who don’t realize users can turn on mailing list mode themselves. We now disable mailing list mode via site settings by default so sites don’t experience an unexpectedly large cost from outgoing email. Site owners that wish to allow mailing list mode on their site will need to uncheck disable mailing list mode in site setting.

Other features of note

  • Allow disabling self-deletions of posts
  • Replace → with → when the markdown typographer is enabled
  • Include post number in inline Onebox titles
  • Increase maximum watched word length from 50 to 100 chars
  • Non-staff users can use shared drafts

Accessibility improvements

Discourse recently underwent an accessibility audit “Lightning assessment.” This looked at key parts of Discourse to ensure they meet Level AA of the Web Content Accessibility Guidelines. Improvements to Discourse based on this audit have been made, and will continue to be done over the next few beta releases.

  • Hamburger menu aria-{expanded,haspopup} and user title
  • Correctly sets role=dialog and aria-labelledby for d-modals
  • Uses role=button and supports ariaPressed for tapTile
  • Structure user menu as tabs.
  • Makes post-edits-indicator a button instead of a link
  • Improves search-in-options filter accessibility
  • Makes advanced search and html heading
  • Associate search controls with their labels
  • Add aria-label to input clear button
  • Update selected name role to button
  • Add rowheader to topic title TDs
  • Makes select-kit header a listbox
  • Adds support for aria-current through d-navigation-item
  • Makes aria-owns an ID and not a data attribute
  • Sets has-popup as menu for select-kit components
  • Makes quote controls accessible
  • Sets the html lang to user’s locale when possible
  • Correctly sets a name on combo-boxes for single selects
  • Adds support for aria-expanded and aria-controls to btn
  • Makes user notifications list more accessible
  • Switch tabs using the keyboard
  • Improve the header menu “view all” title.
  • Deselect focused choice when using enter in multi-select
  • Gives autocomplete in search a more accessible name
  • Makes other and color, fieldset/legend elements
  • Makes edit username and avatar accessible
  • Ensures avatar image in site header has alt attribute



Looks like the large version of animated avatars are now static images

Also. Hello peoples


Hrm… Thanks for that. If I’m still awake after everyone else has gone to bed tonight, I’ll do a rebase / refresh on the forum database and see if that fixes it.


I love the accessibility features and changes, this is fantastic! Thanks for sharing.

1 Like

Hrm… YouTube embeds appear to be broken…

Sorry, we were unable to generate a preview for this web page, because the following oEmbed / OpenGraph tags could not be found: description, image

1 Like

The current work around is to open the video and click on it for the link - that one works

1 Like

OIC the shortlink works

1 Like

Yar :smiley: At least something works

1 Like