blog

archives

Discourse 1.6 Released!

Jeff Atwood August 5, 2016

We’re thrilled to announce that today marks the release of Discourse 1.6!

Enhanced Security

Like any responsible open source project, we take security very seriously at Discourse. We try to roll out fixes for security issues within a day of being reported and reproduced. However, this particular release had two major customer contributions to security in the form of formal security penetration testing efforts from

This is the first time Discourse has ever enjoyed formal penetration testing. These were intense, multi-week initiatives involving major effort from security professionals. We fixed one serious exploit, and shored up a half dozen other areas that could have had better protection. Huge thanks to Vertex Technologies and Nest for these major contributions to an open source project, far above and beyond being a hosting customer. Every Discourse instance in the world benefited greatly from these structured testing efforts! Thank you so much.

Vertical Timeline

Perhaps the most obvious change in 1.6 is the new vertical timeline in the right gutter.

The right gutter design dates back to the original 2013 Discourse release, and we were growing increasingly uncomfortable with that aspect of our design over time. In 2014 we started brainstorming better ways to visualize the “timeline” of a topic. In 2015 we began planning to build a custom scrollbar. All that planning has finally landed in 1.6. When the browser is wide enough to allow it, you get a nice visualization of the timeline of a topic on the right hand side, adjacent to the topic.

begin-at-the-beginning

  • We think of topics as storytelling, and every story has a beginning and end. Quickly jump to the beginning or end by clicking or tapping on the dates at the top and bottom of the timeline. Or you can use the home and End keys on your keyboard, of course.

  • Discourse topics can be thousands of replies long, much larger than a simple scroll bar can properly represent. With the vertical timeline, we always show you your current position, with date and reply count, so you know exactly how far you’ve come in the topic, and how far you have left to go. (Something we haven’t done, but perhaps should in the future, is show significant time gaps in the timeline, or bookmarks.)

  • When you’re reading a topic for the first time and jumping back in time to refer to something that happened earlier, we’ll highlight your farthest read position and offer you a handy Back button to quickly jump back to it any time. Never lose track of where you were.

  • Certain topic level actions used to be only possible if you were at the bottom of the topic. But now the topic reply and notification level buttons are always visible in the right gutter, under the vertical timeline. If you want to reply immediately, go right ahead. It’s not like we could stop you even if we wanted to. If you are super interested (or super not interested) in this topic, change your notification level right now, from wherever you happen to be reading in the topic.

Clearer, Easier Polls

We’ve revamped the Poll UI to be clearer and less button-y, as well as offering public polls, automatic sorting of poll results when viewing the poll, and more!

There’s no need to remember special poll syntax any more: you can visually build a poll using the little gear button in the editor now. (Spoiler alert: this also applies to spoilers.)

Convert Topics to PMs

Discourse is designed around the idea that it’s healthier and more useful for stuff that happens in email to happen in public, whenever possible. But we’ve always supported a rich set of private category permissions, in addition to easily accessible personal and group messaging.

When people asked for the flexibility to turn a public topic into a personal message, we weren’t sure this made sense. But now that we greatly enhanced group messaging in 1.5, it does. So you can freely move topics from public to private as needed via the admin wrench menu on a topic.

This is a two-way street — if someone sends a personal message and they agree it would work better as a public topic, you can also convert that message to a public topic as needed!

Merge Multiple Posts

Discourse works best when people post complete thoughts — constructed with paragraphs and multiple sentences. But sometimes people write several very small responses in rapid succession that would be easier to read as a single, slightly larger post. (We do, in fact, warn the user when they’re creating more than 3 posts in sequence, but even 3 is a lot!) It’s now a bit easier to address this situation when it comes up, as staff can now combine multiple posts by the same user into a single post.

This is something we’ve wanted to do since forever, and was generously contributed to the project by Andre Pereira.

Duplicate Link Warning

Another core idea behind Discourse is that a conversation should avoid repeating itself. To the extent that a conversation has devolved into people saying the same things over and over, we have failed you. With that in mind, we’ve instituted a just-in-time warning that you’re about to post a link that was already posted earlier in the topic.

We find that a link which appears multiple times in a conversation is a strong signal that the conversation is repeating itself — again. Hopefully this will encourage people to take the conversation in new, interesting directions!

Easy, Contextual Unsubscribes

Discourse relies heavily on email. Your email address is:

  • your primary form of identity
  • how you log in
  • how we notify you when someone’s talking directly to you and you aren’t around.

We also automatically send weekly summary emails with the most interesting content if you haven’t visited the site in a week or more.

With that in mind, we want to make it as easy as possible for people to opt out of email if they find they are getting too much of it, or lose interest in the site. In 1.5 we added an easy unsubscribe option specific to digest / summary mails that didn’t require the user to log in, but we’ve now extended that — and then some — to all emails we send.

d16-improved-unsubscribes-alt

Now you can easily go from “Hey, no more on this particular category / topic” to turning all email off with a few simple clicks, for any Discourse you participate on.

And so much more

d16-anchor-links

Finally satisfying a long running request, you can now deep link to headings in a post to better support long, structured wiki or documentation topics.

d16-custominvite

To make your invitations a bit more personal, you can optionally add a little introductory message before you send it out.

d16-new-badges

We like to add a few badges in each release to encourage experimenting with Discourse features and engaging in positive, community building behavior. For this release we added the bronze First Emoji, First Mention, First Onebox, and First Reply By Email badges.

d16-watch-new-topic

Another request that kept coming up time and time again is wanting to be notified of new topics only. We thought this made a lot of sense, so we’ve added it as a fifth state to category notification levels: Watching First Post. Now you can get pinged every time a new topic is created in any category.

d16-windows-emoji

Discourse allows the site owner to specify one of four default Emoji sets: Apple, Android, Twitter, and Emoji One. We’ve updated our default Emoji One set to the latest spring 2016 update. We’ve also added a whole new Emoji set in 1.6 — the official Windows 10 Anniversary Emojis, just released a day ago. We were able to do this with special permission from Microsoft, courtesy of Shelley Bjornstad and Jonathan Sampson. Thank you!

These are just the major highlights in 1.6 — there are literally hundreds of other tiny improvements, refinements, and bugfixes in 1.6 that we aren’t covering here, but are in the full release notes.

Easy One Click Upgrade

There’s great new functionality in 1.6 that makes it completely irresistible, we know, but this is also a major security release — we urge everyone to upgrade to it as soon as possible. Fortunately, upgrading is as easy as clicking the Update button in our super easy one click admin updater. It’s linked right from your dashboard:

You may need to SSH in to update your server for this release due to the Postgres upgrade it includes. To do that, simply SSH in, and issue these 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 us first thank our customers for their direct financial support, without which there would be no Discourse project at all.

This release marks the end of our email improvement sprint, graciously supported by our Mozilla Open Source Support program grant in December. We will of course continue working on email features, but we’ve successfully completed all the big ticket items on our MOSS roadmap.

No open source project survives without a vibrant community, and we are so fortunate to have one! Thanks for the pull request contributions in this release from:

gschlager
cpradio
fantasticfears
gdpelican
mcwumbly
xfalcox
frictionel
DeanMarkTaylor
NickIvanter
scossar
shaktikatare1989
dachary
stevenpslade
NuckChorris
Mittineague
zachGlasgow
rimian
acshi
oskarrough
oppegard
thorbenegberts
aedensixty
davidgnavas
tobiaseigen
johndbritton
karies
damiencaselli
williamherry
xfix
skx
DavidKeller
danielhers
tareko
HarlemSquirrel
jamescook
discoursehosting
pthomas551
linc01n
sijad
rcanand
steinwaywhw
markwingerd
fefrei
tnorthcutt
ming-relax
vinothkannans
eriko
ryantm
asdofindia
ladydanger
voiprodrigo
probus
Raddah
henrikbg
glynhudson
Draivin
th0br0
prosanelli
adamcapriola
retlehspjv
kuon
pfaffman
dandv
fbender
samnazarko
mjtko
YesThatAllen
palant
bitsapien
ignisf
wk8
seanmakesgames
andrew
glaucocustodio
calasyr
devchakraborty
tkriplean
thelostt

Also, thanks to the greater Discourse community for their numerous contributions toward this release — posting support and bug requests on meta.discourse, or our personal favorite, providing feedback based on extensive participation in multiple Discourse communities. The more the merrier!

For insight into what’s coming up in future releases of Discourse, keep an eye on the releases category at meta discourse.

2 Replies

Reply-by-email enabled for all Discourse customers

Erlend Sogge Heggen July 8, 2016

After a few weeks of testing, we are now introducing reply-by-email to all our hosted customers. Every email notification your users receive from now on will include the notice “reply to this email to respond” in the footer.

reply to this email to respond footer

Replying by email is great for people who are on the move or just happen to prefer email for whatever reason — accessibility, habit, or offline access.

How does it work?

We’re running our own email server so that we are fully responsible end to end and we can guarantee a good experience for our hosted customers. To learn more about the specifics, stay tuned for our technical “how we do email at Discourse” post due next week. Here’s a summary:

  1. It saves customers from having to set up SPF/DKIM records on their own domain to maximise deliverability.
  2. It allows us to receive and handle bounces for all our customers, which means that no-longer-valid e-mail addresses don’t get bombarded with e-mails they’ll never receive — another win for deliverability.
  3. We can now provide reply-by-email and create-topic-by-email support for all our customers, automatically and without any configuration required on their part.

It’s worth noting that your users will now receive mail from
{yourbrand}@discoursemail.com, like so:

from discoursemail.com

Incoming Emails – Creating new topics and PMs by email

Alongside this major infrastructure upgrade, we’ve also improved the way Discourse handles incoming emails, especially from unregistered users. Not only can you accept new topics by email to categories and groups, you can even set a custom incoming email address like mailinglist@example.com or support@example.com, letting unregistered users interact seamlessly with your community from the comfort of their email client, no registration necessary.

In fact, we’ve used this for several months ourselves now and it’s working great! team@discourse.org is just a custom incoming email address for our @team group of Discourse employees. All new emails sent to that address are read and replied to strictly via Meta. We do our community & customer management all from the same platform.

discourse team inbox

To set up incoming email for a group or category in your community, go read our in-depth tutorial. Note that hosted customers can skip past Step A and go straight to Step B.

FAQ

Hasn’t Discourse supported reply-by-email for a long time already?

Replying by email has indeed been a long-standing feature in Discourse, but until now it required some mildly complicated setup which in turn relied on a third party email provider like GMail. While GMail’s free service is a great fallback, it is a black box which we can’t peer into when things don’t work as they should, which makes our job as a full service hosting company a lot harder.

What about self-hosted Discourse communities?

Self-hosters have two options:

  1. Continue using a free service like GMail. This still works reasonably well. It’s just not recommended for high-traffic sites that receive a lot of incoming emails, since free services do not have unlimited bandwidth, and unfortunately their exact limits are usually not well documented. Going with a paid service like Fastmail might prove more reliable.
  2. Run your own email server. More on this next week!

Can I use my own domain?

Not at this time, no. We don’t have any plans to support custom domain names at this time, but if we see that it’s widely requested we will look into it.

1 Reply

Discourse 1.5 Released!

Jeff Atwood April 1, 2016

We’re proud to announce that today marks the release of Discourse 1.5! This was a huge release that took us almost 7 months to build:

5× Faster Topic Page

Perhaps the most significant improvement in this release is a dramatic overhaul of our topic page for a 5× speed improvement. That’s right, the topic page – the page where most people will spend most of their time in Discourse – is a whopping five times faster!

Some before and after benchmark timings from Robin’s detailed blog post:

Large topic, initial visit

Desktop Nexus 7 Nexus 6p
633ms 4078ms 1248ms
120ms 636ms 248ms

Large topic, repeat visit

Desktop Nexus 7 Nexus 6p
429ms 2757ms 710ms
69ms 350ms 152ms

For those of you keeping score at home, that is indeed 5× faster on all devices on average, and an incredible 6-8× faster on older Android devices.

Improved Badges

Discourse’s badge system is a fun way to teach community members not only how the site works, but also what positive community behaviors we encourage. In this release our Badge system got greater prominence with a much needed visual overhaul, as well as improved long descriptions that better explain what each badge is for.

discourse-badges-v15

We also introduced a number of new badges to encourage regular use of likes, and liking in return:

  • Out of Love — Used 50 likes in a day
  • Appreciated — Received 1 like on 20 posts
  • Gives Back — has 100 liked posts and gave 100 likes
  • Higher Love — Used 50 likes in a day 5 times
  • Respected — Received 2 likes on 100 posts
  • Crazy in Love — Used 50 likes in a day 20 times
  • Admired — Received 5 likes on 300 posts
  • Empathetic — Has 500 liked posts and gave 1000 likes

Share the love!

User Summary Page

While Discourse has top users and top topics, one thing that’s been missing is a way to see an individual user’s top contributions to the community. But now you can! Just visit the Summary tab on any user page to check out their “greatest hits”:

discourse-user-summary-v15

We’ll continue to refine and improve these summaries to make them more interesting, and better show off your most interesting contributions to the discussions.

Customize ALL Text and Email Content

This one has been requested forever, and was a ton of work. Did I mention this was a long release cycle? But it was all worth it because you can finally edit any – literally any – text or email content in Discourse and customize it exactly how you want.

Want topics to be “threads”? Users to be “funkatrons”? Like to be “brofist”? Well, Discourse is your huckleberry. Go forth and customize any text you see on the screen, anywhere, in Admin / Customize / Text Content.

Group and Category Mentions

You know how you can type @username to mention someone, and have them get notified, in Discourse? Pretty cool right? Now you can do that very same thing with @groups too, if the group settings allow. Similarly, you can mention #categories to get a handy list of categories and a quick link to any category. (Category mentions don’t ever generate any notifications, though, because that would be a little nuts.)

Better Incoming Email Support and Group Private Messaging

One of the primary targets of Discourse is mailing lists. Whenever information is getting stuck in those mailing list private email silos, we think you’re better off sharing that information with others.

But there are a few cases where you might not want these emails to be public. One of those use cases is a shared support email inbox. Such as … the one we run at team@discourse.org. We belatedly realized we should be feeding our own incoming support, feedback and sales emails into our Discourse as group private messages that are visible to our entire team.

While we dogfooded this feature over a period of months, we vastly improved our incoming email handling and group private messaging. We also now show additions and removals to private messages directly in the stream, so you can better tell who you’re talking to in a private message:

discourse-invite-stream-notify-v15

Please see the detailed incoming mail howto Régis put together for more details!

Mobile Editor Toolbar and Preview

Our mobile editor was enhanced to include a toolbar (if your device is large enough to display it, sorry iPhone 4) and a preview button. To show or hide the toolbar, tap the hamburger icon at upper right.

discourse-mobile-editor-v15

Now while on mobile you can more easily do things like add emoji, turn your post into a private whisper, or see a preview of your post formatting before you reply.

And so much more

These are just the major highlights in 1.5 — there are literally hundreds of other tiny improvements, refinements, and bugfixes in 1.5 that we aren’t covering here, but are in the full release notes.

Easy One Click Upgrade

It’s safe to say that 1.5 is the best release of Discourse ever. Upgrade your Discourse instance today to get all these great new features via our super easy one click admin updater. It’s linked right from your dashboard:

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 usual, we’d like to first thank our customers for your support, and the overall Discourse community for their many contributions toward this release — whether it was in pull requests, feedback on meta.discourse, or our personal favorite, feedback based on participation in your very own Discourse community.

In particular, we’d like to highlight significant pull request contributions in this release from:

For insight into what’s coming up in future releases of Discourse, keep an eye on the releases category at meta discourse.

5 Replies