Discourse 2.8 Released!

Discourse 2.8 Released!

Today we release Discourse 2.8, building on Discourse 2.7 from May 2021. For post 2.0 releases we’ve chosen a new set of codenames based on the history of human communication; this release is Audion and represents the invention of radio 📻.

Different Visual Style for Personal Messages

In Discourse, a personal message and a public topic looked identical, because in the end, they’re both... topics? Maybe not our finest design decision, in retrospect. In order to reduce confusion about when a topic is public for everyone to see and respond to, compared to a personal message that’s intended only for a select, curated list of people, we’ve added a visually distinct "bubble" style to personal messages so it is immediately clear when you are in a personal topic, not a public one. 🤫

Discourse Release 2.8 Personal Message Restyle

Note that your replies will be highlighted in the PM topic, which mirrors behavior in other person-to-person communication software. That’s another visual cue you can learn to rely on.

Clearer Indication of Last Read Position in Topics

Because we believe Reading is Fundamental™️ at Discourse, we try very, very hard to keep track of exactly what you’ve read and how long you spent reading it. When you enter a topic that you’ve already read, we plop you down right where you left off reading in that topic the last time you were there. We thought it’d be better if we used the same technique within a topic that we already use in topic lists and present a clear, thin red line that obviously indicates "hey, you’ve read all the stuff above this line, but all the stuff below it is 🆕 to you!"

Discourse Release 2.8 Last Visit Line in Topic

(If you intentionally want to enter a topic that you’ve previously read at the top or bottom, you need to click or tap on specific areas of the topic list – try it yourself! It’s fun, I swear!)

Easier Access to Reply Drafts and Topic Draft

Now that we’ve expanded access to draft replies and the single draft topic in your user profile, we also show a count in your user drop down of how many drafts you currently have in flight. Simply look for the number next to the draft.

Discourse Release 2.8 Draft Count Indicator on User Drop-Down

This is particularly convenient if you want to start a reply on your mobile device, and then finish it later on your desktop or laptop where you have access to a real keyboard ⌨️. When you close the composer, you’ll now get a more explicit prompt to save your reply as a draft to remind you that you can always come back to it later.

Discourse Release 2.8 Editor Prompt to Save Draft

By all means, slow down... take your time! Let’s create thoughtful replies that move the discussion in meaningful directions. 🤗

Clearer Indication of Post Approvals

In some situations, you may want staff to approve posts before they go public, either in a specific category, site-wide, or for new users only. This was possible in earlier versions of Discourse, but the user experience wasn’t ideal. We’ve significantly improved the post approval flow so it is much clearer to users what’s happening when they author a post or topic and it doesn’t immediately appear. Now, posts which require approval will appear with an "Awaiting Approval" indicator, like so:

Discourse Release 2.8 Post Requiring Approval in Topic

You’ll also see a little pop up dialog notifying you that your post was received, but is in a holding queue until staff approve it:

Discourse Release 2.8 Post Needs Approval Notification

Furthermore, you can get to all your pending posts (and topics) via the Pending tab on your user profile:

Discourse Release 2.8 Post Needs Approval User Profile Pending

We hope this makes it easier to have a strongly moderated community where all posts are vetted before they are shared with the rest of the community. We believe in providing the best possible moderation tools, both for staff, and for trusted community members, and we always invest accordingly. 🙇

Tagging is now on by default

Have you read our blog entry about the difference between categories and tags? Well, if you haven’t, tags are a much more flexible and lightweight method of organizing topics, but without security. In order to encourage more use of tags, we’ve turned tagging on by default in new installs of Discourse, and added brief tag descriptions, alongside existing tag synonyms and tag groups.

Discourse Release 2.8 Tag Descriptions

And So Much More!

We live in Discourse just as much as you do, and we take every possible opportunity to improve Discourse. There’s nothing we love more than creating a great, inclusive home for everyone! 🏡 As usual, there’s so much great stuff in this release, so many enhancements, so many improvements, that we can’t cover them all in a single blog post. So here are a few highlights:

  • You might have noticed the approval screenshots above were taken with a dark background. That’s because Discourse now automatically supports switching to Dark Mode if you have enabled Dark Mode in your operating system and/or browser! That’s right, if you love the darkness 🧛‍♂️, we got your back. If you visit a new Discourse site with dark mode enabled on your device, you should automatically get a dark layout because we fully support the browser hints that communicate your preference to us... no more entering your preferences on every (fully up-to-date) Discourse site you use and manually switching, it’s completely automagic! 🌕🌑
  • Isn’t it amazing how great the cameras are on modern smartphones? 📷 With that in mind, Discourse now automatically compresses large images on the client side, directly in the web browser, so you no longer need to worry about upload size limits when sharing large images from nice cameras and newer smartphones. It’s all automatic! In related news, we’ve fully integrated file uploads with S3 compatible APIs, opening the door to storing very large files in Discourse if you really need to. Also, we now go straight to the native file picker when you select the upload button.
  • We’ve made the quick search UI a bit more intuitive, so you can visually see which search scopes (search just in this topic? search in all topics? search your messages? search only within topic titles?) are available, and discover what search options are available via autocomplete. We also retain a history of your most recent searches so you can easily refer to them. Try it out! Just click or tap the 🔎 magnifying glass to play with it. We’re no Google, but we do try our best to make search work as well as we can. Experiment! Have fun!
  • One question we got a lot.. like a lot.. is "Why doesn’t my default browser search work on long Discourse topics?" Well, it’s a long story (literally and figuratively) but in any large topic Discourse only loads what is necessary to display at any given time. So when you are searching the "whole page", you really aren’t – you’re only searching that particular fragment of the topic that’s currently loaded in your browser. That’s why we defaulted to Discourse search on any topic longer than 20 posts. It’s still possible to invoke the native browser search by pressing the ctrl+f search key again, but this was not easy to discover on your own. Now that crucial tip is automatically displayed when you press the search key, so hopefully more people get the behavior they want, without needing to ask someone how to do it. 🙌
  • For staff members, when issuing a suspension or silence, we now show the moderation history of that user so any staff member will have a more complete context on the moderation history. We also offer some common reasons and messages to send for the most frequently encountered moderation scenarios based on feedback from thousands of Discourse instances. Civilized Discourse doesn’t just happen without some effort, but we want to make that effort as straightforward as possible, and handle as much of it as we can in just a few clicks.

Those are the "greatest hits" of this release, but there’s so much more! Browse through the release-notes tag for a detailed summary of the changes in each beta leading up to this release – or see the full release notes for a quick overview.

Easy One Click Upgrade

If you are on our hosting, you’re already upgraded. Otherwise, upgrading is as easy as clicking the Update button linked from your Discourse dashboard:

Discourse Upgrade Notice

We have a public exploit bounty program at Hacker One as a part of our security policy. We strive to keep every single Discourse site secure by default, whether we host it or not. We prioritize and thoroughly investigate every single security issue reported to us. As usual, there are a few important security fixes in this release, so we encourage everyone to upgrade ASAP.

If you don’t have a Discourse to upgrade, why not? Install it yourself in under 30 minutes, or start an absolutely free, no strings attached 14-day hosting trial today!

Thank You

First and foremost, a huge thanks to our customers. Your direct financial support makes Discourse possible and freely available to everyone. Thank you for joining us on this grand adventure to raise the level of Discourse on the internet. It’s an honor and a privilege to be on your team.

As an open source project, Discourse actively encourages outside contributors to stay healthy. In this release, we’d like to thank the following folks for their code contributions:

merefield, Ahmedgagan, Gavin-X, hnb-ku, riking, angusmcleod, zapacni, Joe, rngus2344, olleolleolle, pfaffman, yahonda, lionel-rowe, jeremyevans, gwwar, mrsimo, jbalsas, haroldus-, melhosseiny, VaperinaDEV, md-misko, codez, jferris, actions-user, communiteq, benzoid, uckelman, jsoref, fzngagan, eltociear, mintsaxon, graydenshand, masad-frost, the-spectator, peterzhu2118, kemitchell, ConnorParrish, kimardenmiller, davidcdupuis, thess, michaellindman, herron9, lleadbet, mbauman, ermolaev, nathan-nz, corny, snikch, keerthivaasan-kanagaraj, thinca, anujbiyani, Shimokuni, vin01, ujihisa, ramongtx, g5pw, aionate0812, AlexP11223, ybiquitous, gogainda, ateuber, BLeQuerrec, cedk, denihs, runlevel5, fuerst, Zenexer, akshay-birajdar, timothyshrugged, rickychilcott, yemartin, ndarilek, thelecter, bgastelo, talyz, ruoxin, wbhouston, 1resu, spk, dmkl, jacobmischka, Kreyren, agiovacchini, remram44, tdiam, Qursch, itsbhanusharma, jaffadog, ryanlerch, Firedrake, rr-it

Many thanks to the translators who generously contributed their time and effort translating Discourse into dozens of languages for this release. We’re also doing our part by adding professional translation services in the last few releases, and this release, to ensure we have high quality, complete translations, so everyone can benefit from Discourse in their own preferred language.

It’s hard to believe version 1.0 was way back in 2014, and we’ve been at this for almost 8 years. Discourse has come a long way, but even after all these years, we’re still thrilled to go to work every day and make Discourse just a little bit better, through your help and feedback! To see what’s coming in future versions of Discourse, visit the releases category. Better yet, tell us what you think could be improved! We’re always listening, and open to a discourse about Discourse all day, every day! 🎉