Discourse 3.1 is here!

Discourse – The online home for your community
Discourse – The online home for your community

Today, we are pleased to announce Discourse 3.1! Filled with features for members and admins alike, this version includes chat threads, a more customizable sidebar, improved search and numerous other improvements. This release is accompanied by the launch of our Discourse AI plugin, embracing the power of emerging large language models (LLMs) to make your community easier to use and moderate.

You can now enable threads in your chat channels, allowing community members to participate in conversations that flow in parallel to the main channel. The sidebar menu is now more powerful too, empowering site admins to add defaults and global sections, while allowing community members to customize according to their individual needs and liking.

The Discourse AI plugin includes a ton of features that can be enabled independently to help community managers, members and moderators. Members can use AI-generated topic summaries to get up to speed quickly. Moderators get a helping hand to keep things civilized with sentiment analysis, automatic detection, text proofreading and flagging of toxic and inappropriate content.

If you don’t have your own Discourse already, why not? We don't require payment details for a trial, but you can also follow these instructions to install Discourse yourself in 30 minutes.

We’ve been busy. Read more to find out why!

🧵 Keep the conversation going with chat threads

Chat threads are like having mini-chat parties within the main chat party! If you've ever found it difficult to maintain 4 simultaneous conversations in a buzzing chat channel and just wished there was a way to choose where to participate, you’ll love chat threads.

You can jump into different threads like a trampoline park, bouncing from one conversation to another. And threads can be easily quoted in forum topics to allow it to continue at a slower speed after the initial excitement has calmed down.

Our goal is to bring you:

  • 🔬 Organization - Have break-out conversations about a dedicated topic, keeping the discussion focused and contained
  • 🚄 Contextualisation - Get up to speed immediately, without having to puzzle all the related messages together in the main channel
  • Decluttering - Declutter your channel as much as you like
  • 🧘 Calm - Quote threads in topics for ongoing discussion at a slower pace

In channels where threads are enabled, replying to a message will automatically start a new thread, where conversations flow in parallel to the main channel.

Threads can be tracked and untracked so you’ll see an indication on the channel when there are new messages to read, and are tracked automatically when you reply. You can also see a list of all threads you’re tracking in a given channel to more easily pick up where you left off.

If a discussion picks up and needs a place to continue longer term, chat threads can easily be quoted in forum topics to allow it to continue more asynchronously.

To try it out, turn on threads in the channels where you want to use them. Smaller, less active channels can keep the setting disabled to keep everything in the main channel. Read more at Introducing chat threads!

In addition to threads, we made more improvements to chat. We added preferences to further limit distractions, made the chat drawer resizable, added an inline audio player, improved how user status is displayed everywhere, and made the date clickable to easily jump to the beginning of a day.

For site administrators, we added the ability to export chat messages for compliance, the ability to change a channel’s slug, and site settings to configure emoji to restrict and to disable public channels where chat is intended to be used only for direct messages.

🎨 Customize your navigation menu to find your way quickly

New options to configure and personalize the navigation menu enable users to more easily access the parts of your community they care about most.

The main section can be customized with internal or external links, admins can add and configure global sections available to all users, and users can add custom sections for themselves as well.

And it’s now even easier to find categories and tags to add to the built in sections with a modal interface that includes more contextual information than before.

For details, see Custom sidebar sections.

🤖 Enlist the help of AI for (even more) civilized Discourse 🤝

To make your Discourse easier to use and moderate, we embraced the power of LLMs and announced Discourse AI, a new plugin for integrating Artificial Intelligence and Discourse, enabling both new features and enhancing existing ones. We opted to keep its features in a single plugin, but separated by modules that you can enable independently and allow you to customize them for your community needs:

Our priority was also to not lock you to a single company API or vendor, so every community can pick the provider that makes sense for them, balancing data privacy, performance, feature sets, and cost.

Have an ongoing conversation with your favorite chat bots

Speak to our Discourse AI bot in PMs, as it allows direct integration with generative AI powered by either OpenAI ChatGPT, Anthropic Claude, and Stable Diffusion:

Catch up on everything you need to know, with a single click

Have you ever wanted a recap on a very long topic without having to take time out to digest it fully and understand it? Discourse AI can summarize a long topic for you into a concise summary:

Discourse AI can automatically suggest related topics:

Once configured, the Embeddings module will add a “Related Topics” section to the bottom of all topic pages, where topics to the current page will be linked, helping users find related discussions to what they are currently reading on – see it in action on Meta here!

A helping hand to complete your masterpiece

Tired of proofreading? The Composer AI Helper module adds a magic ✨ button to the composer toolbar, that lets you choose from a list of AI-powered tasks that will enhance your post. It can suggest a suitable title, proofread your writing, translate to English and even help you format your posts.

Help your staff with assisted moderation

Moderation teams will love to hear that the plugin can also flag potentially toxic content for review and detect the use of NSFW images in posts and chat messages across your community and create safer spaces.

We also offer a Sentiment module that can automatically classify the sentiment and emotion score of every new post in your Discourse. Results from it are accessible via Data Explorer queries today, but there are plans to present this information visually in the future.

And so much more!

In this release, we also bring smaller improvements to improve your experience across interfaces and elements of Discourse:

🤝Making life easier for community members

New jump to channel menu

To jump to your favorite chats and channels, a new menu was added, which is accessible with the Cmd/Ctrl+K shortcut and also when you start a new Personal chat.

Show off your stories with Image Grid

As much as we encourage using the Power of the Paragraph and writing well for civilized Discourse, a picture can sometimes still be worth a thousand words. Our new Image grid can arrange your  images (or other media) into a grid in posts. Users can add the [grid] tag around images or uploads manually, or use the grid icon next to the first image in a block of images in the composer preview to toggle the grid on/off.

A new Discourse Lightbox using Glimmer

Discourse “lightboxes” uploaded images into a nice overlay that contains the full-size image and in this version, we transition from the old Magnific popup library to a more modern and faster implementation based on Glimmer that will present all images to your members in a more visually appealing manner.

To try it out, use the `enable experimental lightbox` setting.

Updated hashtag styles for categories, tags, and chat channels

To make hashtags in Discourse consistent and useful, we unified styles across categories, tags, chat channels and the autocomplete system. After positive feedback from you, we enabled it across all Discourse sites by default.

We also integrated this into chat, so you can reference other channels easily, as well as cross-reference categories and tags within chat channels.

Individual tracking options for new topics

A new user preference gives members control over the appearance and behavior of links in the sidebar:

🧙 For admins and moderators

Giving new sites and members the support they need

On newly created sites, a convenient link is provided at the top to an improved admin guide. The guide contains checklists and guidance for setting up the site, inviting founding members, and getting conversations started.

User tips are now enabled by default on all sites. Through a short series of popups, members are informed about key Discourse features including notifications, the post menu and the topic timeline.

The site welcome topic is now more welcoming by default – it includes the site name and description but it still needs an edit to make it your own! Also more welcoming is the landing page on private sites which now displays the site logo, name and description.

In addition, we offer various improvements for admins and your most trusted members:

  • Admins are notified with a simple notification when their attention is needed on the admin dashboard. This replaces the old Personal Message that was sent.
  • Giving administrators the ability to encourage civilized discourse, we’ve also added a new site setting that prevents specific emojis from showing up in titles, PMs, chat, and other places.
  • To find the site setting you’re looking for quickly, we improved search performance and raised the limit to allow up to 100 results.
  • Helping site staff merge topics/PMs and support various use cases for their sites, Discourse now offers the option to preserve chronological order in the resulting topic/PM before a merge.
  • A new setting to disable account impersonation by administrators is included.
  • Finally, you can do more with Trust Level 4! TL4 users can see unlisted topics and using a new setting, they can also see deleted posts.

New JSON Editor for theme and theme-component settings

To help admins and developers import / export / edit settings easily, we now offer a native JSON editor. For themes and theme-components that allow further configuration, click the "Settings Editor" button on their Customize page to try this out.

After a round of optimizations in 3.1, search works better across Discourse. On the full search page, you can now sort by `Oldest` topics and use an `in:polls` filter. User search was improved and we added two API scopes for the search endpoint.

To protect your sites better, we added a rate limit for anonymous searches per second. The new rate limit allows for 8 global anon searches per second, and a single anon user can perform up to 2 searches per second.

Platform Improvements

In this release, we upgraded the underlying platform of Discourse, and added new APIs for plugin outlets and modals to support developers. We also added a new horizontal loading slider for smoother page transitions within Discourse.

We also have great news for AV1 Image File Format (AVIF) fans! Discourse now supports ‘.avif’ uploads, including both still and animated images.

📝 Full Changelog

Every Discourse release is loaded with fun and useful enhancements; and 3.1 brings so much more than what we shared above. Grab some 🍿 and head over to view the release-notes tag to get a detailed account of changes in every beta leading up to this release – or see the full release notes.

Upgrade (in one click as usual 😉)

If you're on our hosting, you’re already on 3.1! Otherwise, upgrading is as easy as clicking the Update button linked from your Discourse dashboard or by following the reminder email we send about it.

As part of our security policy, we run a public exploit bounty program at Hacker One to support our target to make every Discourse site secure by default. If any security issues are reported through the program, we prioritize addressing them and investigate thoroughly. That's why there are important security fixes in this release, and we encourage admins to upgrade as soon as they can.

If you’ve made it this far and don’t have a Discourse to upgrade, why not?

Start a free trial, or install it yourself in under 30 minutes.

Thank you 🫶

To celebrate Discourse 3.1, we’ll start by thanking our customers. It’s because of your direct monetary support that this project exists and is available to everyone; and we’re honored to partner with you on this open source project that hopefully can sometimes make days for your community brighter.

Discourse relies on incredible outside contributors to be a healthy, functioning open source project! Our sincerest thanks for code contributions in this release from:

angusmcleod, rngus2344, jdmartinez1062, chancancode, sosedoff, carsick, emmanuel-ferdman, Jailyard90Grad, tyb-talks, rr-it, mpalmer, jstern, geckolinux, ermolaev, dandv, communiteq,  balval, attalbialami, VonLion, Mubramaj, Lhcfl, Arkshine, AndersGM, zcraber, zachhuff386, wisetc, udan11, tytekkit, rvanasa, profcaju, pierreozoux, pfaffman, nylen, not-a-ethan, natiz, mnalis, michaeljb, meltingmettle, mbauman, martinramirez7, liushuyu, kuahyeow, jonaharagon, jbrw, iovecoldpizza, hnb-ku, henrik, harry-wood, gregmolnar, ghassanmas, ftc2, dsims, drt24, djlambert, codente, bquast, bennofs, Regalijan, Kyle-Ye, JamieDunstan, Intrepidd, Honeyxilia, H4M5TER, Genyus, Firefishy, DoomDesign, AlessioC31

Huge thanks to our translators who generously contributed their time, effort and love to translate Discourse for 3.1. For this release and future ones, we’ve added professional translation on top of volunteer efforts to make sure all our translations are of the highest quality and that Discourse grows to be more accessible over time.

We’ve come so far since version 1.0 in 2014, and yet there are still so many ideas, features and improvements we’re excited to get to! To see what’s coming for future versions of Discourse, visit the releases category — we’ll get there with your love, support and feedback 🥂

For post 2.0 releases we’ve chosen a set of codenames based on the history of human communication; this release represents the invention of a series of experimental communication satellites, named Telstar.