blog

archives

Discourse 2.2 released!

Jeff Atwood February 1, 2019

Today we release Discourse 2.2, building on Discourse 2.1 from September 2018.

For post 2.0 releases we’ve chosen a new set of codenames based on the history of human communication; this release is La Pasiega.

UI refinements

For consistency with mobile and to free up horizontal space for multi-column layouts, we’ve moved the category badge under the post title in topics, increased the default font size from 14px to 15px, and made the drop-downs for category (and tags, if enabled) look a bit less like grey buttons.

We’ve also improved our inline search layout to better show user, tag, and category matches alongside the expected topic and post matches.

improved search layout in Discourse 2.2

On mobile, we’ve added full-size slide out panels for notifications and the menus. Also, the topic title, category, and tags will now appear while you’re scrolling down and reading a topic. Simply scroll upward to get back to the traditional top bar. We’ve embiggened all the mobile tap targets in the topic list to make things a bit easier for fingers, as well.

We’ve also fully converted to SVG icons instead of relying on a font icon. This is more efficient than shipping a giant and mostly unused icon font. Plus, it’s now much easier to switch any visible icon in Discourse with something else, even a completely custom one-off glyph that you created.

using SVG glyphs to replace icons in Discourse 2.2

Prefer to use your custom logo instead of the default like heart? Make it so!

Lazy Image Loading

We’ve significantly enhanced our image support in this release!

Your images will now look better than ever before, especially on high resolution devices, because we take advantage of the new HTML5 srcset attribute to offer multiple resolutions of image thumbnails appropriate to the viewing device. Even better, those pretty thumbnails will now only be loaded when they actually scroll into view. We’ll initially show a very low resolution image placeholder until they’ve had time to load. This can save huge amounts of bandwidth on image heavy topics, so we’re not burning through anyone’s mobile plan data limits.

Recent Devices and Locations

You may recall in the last release we added two factor authentication, and printed backup codes, both of which are fundamental to user privacy and security. In this release, we’re proud to continue enhancing security for everyone using Discourse — by showing recently active locations and devices on your account.

If you ever see any devices or locations that don’t look familiar to you on your user profile, it’s time to change your password!

Furthermore, for staff only, we will alert you via email if we detect logins from two very distant locations in a brief time interval. We may expand support for this in the future, but right now we want to make sure it’s working well and alert only the highest privilege accounts for any unusual login scenarios.

Discourse warning, staff login location far away

Full CSP support

Discourse is now fully CSP compliant! This means a huge increase in default security for you, since the most common type of webapp exploit, cross-site scripting (XSS), is no longer possible under CSP. Use Discourse with total confidence, knowing that no bad actors have inserted malicious scripts on the page to intercept your data.

Discourse 2.2 CSP diagram

Please note that in this version CSP is only on by default if you are on our hosting, or if you’ve installed Discourse after 2.2 was released today. We’ll work with other Discourse hosting companies to make sure they’ve turned on CSP for their clients. CSP will probably be forced on by default for all existing Discourse installations in future releases.

Move Posts to a Message

We’ve cleaned up the post moving interface so you can move posts to a new personal message in addition to the existing options of splitting posts to a new topic, or combining posts with an existing topic.

Move posts to a new topic, existing topic, or a new personal message in Discourse 2.2

Totally Revamped Theming

Our theming support takes a giant leap forward in Discourse 2.2! Visit Admin, Customize, Themes and check out our much easier to use and cleaner looking theming interface.

Theming UI improvements in Discourse 2.0

We continue to expand the scope of what’s possible in theme customizations; what previously required a full blown plugin is often possible in a simpler theme customization now. We’ll be working with several designers to build full demonstration themes in the coming months. Expect many improvements in theming over the next few releases.

And More!

These are just the highlights of 2.2 — we didn’t even mention our upgrade to Ember 3.0, text size options per device, auto-closing polls, ambient notifications when you’re editing a post at the same time as someone else, or the new wiki editor badge. 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 for complete details.

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 Admin Dashboard, version upgrade notice

We have a public exploit bounty program at Hacker One as a part of our security policy. Being secure by default is a core value at Discourse, and we always follow up on any security concerns brought to us. There are several important security fixes in 2.2, so we urge everyone to upgrade to it as soon as possible.

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!

Thank You

As always, we must first thank our customers for their direct financial support. We work hard to make Discourse a little bit better for you every day.

The true strength of any open source project can be measured in outside code contributions. Thanks for the pull request contributions in this release from:

mrfinch
angusmcleod
notstephen
doredesign
danielhollas
caugner
sau226
jstern
ignisf
dinomite
pfaffman
drewish
hakusaro
prssanna
mwcampbell
dtheodor
notriddle
Aqualon
ahmader
fantasticfears
Doc1337
bf4
hlcfan
khannurien
eduardopoleo
harveyico
danielvlopes
ko1
Arkshine
cebe
CheshireVillageSoftware
rizka10
ptrippett
greysteil
k4rtik
penguinstampede
crispygoth
pdavide
gutofoletto
tekamoment
dkess
brianhelba
LeoMcA
kemitchell
cfitz
jwflory
zjwhitehead
fheidenreich
danielbachhuber
itsbhanusharma
mrded
mbowen
terlar
onemanstartup
rickenharp
oestrich
bpaquet
smasry
mbugowski
tgr
timcraft
ohbarye
DevAndArtist
SidVal
messense
Nottt
g5pw
coderberry
hopsoft
bschlagel
fuzzykiller
muhlisbc

We had a remarkable number of translators who contributed their time and effort translating Discourse into dozens of languages for this release. It’s because of you that so many people around the world can benefit from great free, open source discussion software, and we appreciate your hard work.

In this and all future releases, we will be making a special effort to ensure the top 10 most used translations of Discourse get financial support to ensure excellent and timely translation of any updated copy or new features.

Thanks to the greater Discourse community for posting support / bug request / feedback topics on meta.discourse — we’re listening! Your feedback makes Discourse better, not only for your community, but all of us together.

As our team grows we can do more and more in each release, and this is a huge release with lots of foundational improvements in Discourse … but there’s so much more we want to do! Check out the releases category to see what’s coming up on our roadmap for Discourse 2.3 and beyond.

4 comments

Discourse 2.1 released!

Jeff Atwood September 10, 2018

Today we release Discourse 2.1, building on Discourse 2.0 from May.

We’ve chosen a new set of codenames for releases starting with 2.1 that are based on the history of human communication. This release is Bhimbetka, and the next two will be La Pasiega and Vinca.

Access to Drafts

Once you’ve written a bit of text in a post, Discourse begins to periodically save automatic drafts as you continue to type. That way you never lose anything you’ve written if the power suddenly goes out, or you get dodgy WiFi in the middle of writing a long reply. But it was an automatic and sort of hidden feature — though a magical lifesaver when you needed it! We’ve finally added a drafts tab on your profile to see all your in progress reply drafts, satisfying a very long running power user request.

Linked account control

You can now easily see, add, and revoke any available social logins directly from your account page. This is a combination convenience and security feature. Bear in mind that you can always log in as “you” with any social login, provided the site owner has configured it, and those credentials map to the same exact verified email address.

Automatic Trust Level Promotion PM

Communities need a regular influx of new users not just for fresh perspectives but also for long term sustainability. Users that sign up and stick around to read deserve a bit of extra encouragement! So we’ve added a friendly little automatic PM just-in-time nudge that goes out to those new users who’ve already started down the path toward becoming engaged community members.

Discourse Automatic Trust Level Promotion PM

Printed Backup Two Factor Authentication Codes

We added two factor authentication in Discourse 2.0, but if you lost your phone you were in a bit of a pickle as you’d need to contact an admin to turn off 2FA for your account. In this release we’ve added the ability to print backup codes, so you can smoothly recover from any 2FA issues all on your own — provided you saved those backup codes, of course!

Discourse Two Factor Auth Backup Codes

Improved PM Participants UI

We’ve cleaned up the PM interface to more clearly show which people are on the PM, and how to add or remove PM participants. Remember, you can always remove yourself from any PM you don’t wish to be on, of course!

Discourse PM participants UI

Reply Without Bumping and Category Auto-Bumping

One request that historically came up a lot is the ability to post to a topic without bumping it — that is, add a new reply that does not cause the topic to show up in the list of topics that have recent replies, as it normally would. Now you can! Just select the “toggle topic bump” option when replying.

Discourse reply without bumping the topic

Speaking of bumps, we added a category preference to automatically bump a certain number of open topics every so often in a category. This is great for to-do or support style categories, where open topics mean something isn’t yet handled, and needs a bit more attention.

Multiple color schemes

We’ve offered the default “dark” and “light” themes for quite some time. In conjunction with our color scheme contest, we’ve added a variety of different color schemes to choose from. Launch the setup wizard any time and pick from 6 delightful new color schemes, in addition to our classic dark and light options.

And More!

These are just the highlights of 2.1 — we didn’t even mention Emoji 11 support, auto-expiring API keys for enhanced security, a big increase in performance for rare megatopics, or a significant reduction in the size of a key email log table. See the full release notes for complete details.

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 Admin Dashboard, version upgrade notice

We have a public exploit bounty program at Hacker One as a part of our security policy. We strive mightily to be secure by default, and we rapidly follow up on any security concerns. There are several important security fixes in 2.1, so we urge everyone to upgrade to it as soon as possible.

If you don’t have a Discourse to upgrade, why not? Install it yourself in under 30 minutes, or get a free 14 day hosting trial!

Thank You

As always, we must first thank our customers for their direct financial support, without which there would be no Discourse project at all.

Open source projects are only truly alive when they receive regular outside code contributions. Thanks for the pull request contributions in this release from:

udan11
fantasticfears
misaka4e21
adamcapriola
pfaffman
c-holtermann
coderberry
erseco
LeoMcA
angusmcleod
discoursehosting
ignisf
gdpelican
pdavide
David Lee
khannurien
typeoneerror
thejchap
kleinfreund
chancancode
Nick Shearer
mtawil
terlar
pmusaraj
asrob
tshenry
pavel
cpradio
tambry
deepfryed
danielhollas
yosiat
4xposed
GeertZondervan
jasquat
halkeye
ianks
lloeki
barryvan
yanokwa
kgardnr
mscherer
camilleroux
shoshber
TannerFilip
jtlindsey
carrodher
foosel
hellekin
kasiabulat
paroga
Canapin
jose-hms
kdwink
Rishabh
Toxu-ru
mmayoNR
rafbm

We had a remarkable number of translators who contributed their time and effort translating Discourse into dozens of languages for this release. It’s because of you that so many people around the world can benefit from great free, open source discussion software, and we appreciate your hard work.

Thanks to the greater Discourse community for posting support / bug request / feedback topics on meta.discourse — your feedback makes Discourse better, not only for your community, but all of us together.

Check out the releases category to see what’s coming up on our roadmap for Discourse 2.2, 2.3, and beyond!

4 comments

Discourse 2.0 released!

Jeff Atwood May 31, 2018

We released Discourse 2.0 on May 31st, building on Discourse 1.9 from January.

New Admin Dashboard

We’ve completely redesigned the admin dashboard to show off your most relevant and essential community health metrics right at the top, as well as trending searches.

Shared Drafts

Staff can designate a category for shared drafts, and pre-compose topics that only other staff can see for review prior to posting. After posting, all logged edits are removed so the history is clean, and the timestamp is reset, too.

Reply mode toggle

While composing a reply, you can now click or tap the reply arrow to quickly toggle between replying as a new topic, replying to the overall topic, replying to an individual post, replying as a personal message, or even replying as a staff whisper.

Two Factor Authentication

We’re proud to now offer fully integrated Two Factor Authentication as a standard Discourse feature! Enable it in your user preferences, and take advantage of the free Android or iOS authenticator apps on your smartphone for enhanced account security.

Login via Email Link

To make logging in a little more convenient for your community, you can enable logging in via an emailed link in your site settings.

Local Dates

Coordinating meetings or events in Discourse is now easier — insert a local date that will automatically appear localized to the reader’s correct time zone, so nobody gets confused about when to show up.

Tag PMs and Required Tags

Tags are a great lightweight complement to categories, and now to make them even more useful they can be mandatory on topics, per category.

Discourse 2.0 required tags

In order to better organize incoming messages, staff can now tag PMs to group them, too.

Discourse 2.0 tag PMs

Categories and Top Layout

There’s a new homepage layout style that combines the best of both worlds — a list of categories, as well as a list of top posts in the selected time interval, side by side. You can select this layout as your site default via your setup wizard.

Discourse 2.0 categories and top layout

Theme settings

Discourse themes can now have settings of their own.

Discourse 2.0 theme settings

Merging Users and Granting Badges

Looking to give your community members a little extra encouragement? Staff can now grant arbitrary badges to users via the admin wrench action on any post.

Discourse 2.0 grant badge

And, via the command line, merge duplicate users, too.

Improved Full Page Search

We’ve improved the wide search page layout for tablets, laptops, and desktop to make better use of larger screens. We’ve also dramatically improved search relevancy for direct title matches, and added a highly requested “search only in topic titles” option.

Discourse 2.0 improved full page search

GDPR Enhancements

Discourse has offered download of all user content and a user anonymization facility since version 1.0. In this release, we’ve improved these features to make them even more reliable and easy to use, as well as removed a number of places where we were storing IP addresses internally that we didn’t need to be.

Discourse 2.0 GDPR improvements

Discourse has always prioritized empowering communities, and we’ll continue to improve in this area to give your users the control they deserve over their online footprint.

And More!

These are just highlights of 2.0 — there are literally hundreds of other tiny improvements, refinements, and bugfixes in the full release notes.

Easy One Click Upgrade

We launched a public exploit bounty program at Hacker One as a part of our security policy one year ago. We strive to be secure by default, even in the case of sophisticated social engineering attacks, and we always follow up on any security concerns. There are several important security fixes in 2.0, so we urge everyone to upgrade to it as soon as possible.

If you are on our hosting, you’re already upgraded. Otherwise, upgrading is as easy as clicking the Update button in our built in one click updater linked right from your dashboard:

In some upgrade scenarios, you may need to SSH in to update your server. It’s just 3 commands:

cd /var/discourse
git pull
./launcher rebuild app

If you don’t have a Discourse to upgrade, why not? Install it yourself in under 30 minutes, or get a free 14 day hosting trial!

Thank You

Let’s first thank our customers for their direct financial support, without which there would be no Discourse project at all.

Any open source project is only as good as its code contributions. Thanks for the pull request contributions in this release from:

davidtaylorhq
majakomel
notriddle
aviat
pfaffman
peterbourgon
TheBestPessimist
mbobin
ezkl
Toxu-ru
SidVal
xrav3nz
AhmadFCheema
cataphract
davidmh
timdiggins
sudaraka94
nbianca
rohitsden
mikechristopher
DrOpossum
michieriffic
lmpablo
jsuchal
ckeboss
LeoMcA
angusmcleod
yanokwa
misaka4e21
duranmla
jongallion
304
mrnugget
siebertm
yosiat
mcmcclur

rewphus
ibnesayeed
Swarnava Sengupta
Mark Walkom
attritionorg
dmitry-fedyuk
fefrei
vikaskedia
Tiagojdferreira
mtawil
pacharanero
bperel
OriPekelman
muhlisbc
fantasticfears
zjwhitehead
gchallen
fwolfst
wjordan
BadAllOff
tshenry
neerajmalve
dbnicholson
VarunDevPro
kevinelliott
mdoyle13
miromichalicka
Apecengo
jose-hms
caugner
dependabot-bot
rizka10
joebuhlig
barryvan
orlando
ryantm

We had a remarkable number of translators in 2018 who contributed their time and effort translating Discourse into dozens of languages. It’s because of you that so many people around the world can benefit from great free, open source discussion software, and we appreciate your hard work.

Thanks to the greater Discourse community for posting support / bug request / feedback topics on meta.discourse. All your suggestions make Discourse better, not only for your community, but all of us.

It’s hard to believe that version 1.0 was released less than four years ago, and we’ve delivered ten major releases since then! We don’t plan to slow down, either. Check out the releases category to see what’s next in Discourse 2.1 — and beyond.

0 comments

For more blog posts, visit the archives