blog

archives

Discourse 1.8 released!

Jeff Atwood May 31, 2017

We’re thrilled to release Discourse 1.8 today, building on Discourse 1.7 from January.

Narrative Welcome Bot

Perhaps the biggest new feature in this release is our narrative welcome bot, which greets new users with a personal message and offers to interactively “play” the Discourse game with them.

It’s a natural extension of our original, static welcome PM. It took us two releases and a lot of effort to build this. Turns out, even simple chatbots are far more challenging to write than you’d think!

If you’d like to customize @discobot user for your site, please do! You can edit the bot’s username, full name, avatar, about me and other fields in the same manner you’d edit it for any user. Although you can’t (yet) build your own interactive narratives, every single bit of text can be customized as you’d expect from Admin, Customize, Text, too.

User Themes

One of the most persistent requests we heard was for user specific themes — the ability to select an individual color theme just for you, on your specific device, exactly how you like it. And with this release, now you can:

I’d estimate about 10 to 15 percent of people just plain prefer dark backgrounds. Discourse now ships with both dark and light user themes built in (and the site admins can add as many additional themes as they like); just visit your user preferences and select what you want. Oh yeah, and we restructured the user preferences with sub-tabs so they’re simpler to navigate, too.

Stay tuned as we plan to offer a theme design contest in the next few months with prizes!

Topic Timers

We’ve had auto-closing topics forever, but sometimes a little “time out” to get back on track was all a topic needed, not a permanent close. We also kept hearing sensible requests for other time based actions to take in topics, so we’ve grouped them all into the new Set Topic Timer… action for staff:

Set a timer to close, open, delete, publish, or just remind yourself about a topic.

New Box Subcategory Style

In order to better support common FAQ and Knowledge Base scenarios in specific categories, we added new subcategory styles of “Boxes” and “Boxes with Featured Topics”.

Discourse new user of the month

The big boxes may be a little easier to navigate for new users.

New User of the Month Badge

Healthy communities are always growing, and one way to keep growing is to encourage your best new users. In the past we’ve advised staff to keep an eye on the stats in the users page and remember to periodically send out personal thanks and/or swag to the most avid users. But we felt this was too important to leave as advice, so we’ve added the New User of the Month badge and email.

Discourse new user of the month

Every month, the new users with the most likes on their posts, weighted by trust level, will be selected for this award. Note that the users must have joined in the current month and have at least two posts in two topics to be eligible.

Better Invite UI

Invitations now have a proper, and prettier, landing page where people you’ve invited to Discourse can set up their username, full name (when required), and password to taste.

Discourse new user of the month

This also highlights who invited you to the party, so to speak, and lets your invitees confirm their arrival.

New Signup Email Actions

We want to make signing up for your Discourse as easy as possible. So after a new user creates an account, we offer easy ways to resend their confirmation mail — or change that email address if it was incorrect, had a typo in it, or the email didn’t arrive after multiple resend attempts.

Change mail or resend email at sign-up time

Private Email Mode

If you run a secure and private Discourse, you may not want any content leaking out. To support this, we’ve added a new site setting to remove all post and topic content from email. When enabled, you’ll still get email notifications as you would expect, but absolutely no content from the topics on your site will be sent out via email. In order to see the content, the user will need to authenticate and log into the website.

Discourse new user of the month

And More!

You may recall we launched a public exploit bounty program at Hacker One as a part of our security policy in January. We’re continuing to follow up on any concerns and issues raised, to ensure Discourse is as safe and secure as possible. There was a big chunk of work in 1.8 to completely revamp cookie handling and support per-device cookies, so even if your Discourse database somehow falls into the wrong hands, nothing bad will happen to your community.

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

Easy One Click Upgrade

In addition to all these these fabulous new features, this is also a major security release — 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

As always, let us 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, and we’re lucky enough to have 87 contributors in this release — 5 more than last time! Thanks for the pull request contributions in this release from:

SidVal
davidtaylorhq
cpradio
jomaxro
gdpelican
gsambrotta
rimian
rizka10
glebm
LeoMcA
nbianca
vinothkannans
gschlager
aliibrahim
ryantm
joebuhlig
vvanpo
mcwumbly
fantasticfears
OsamaSayegh
Dax74
lalehmb
featheredtoast
gauthier592
TomekGnomek
pfaffman
cfstras
tarzan
matthewdias
nihgwu
lex111
krainboltgreene
olach
miromichalicka
gotens1211
jsilvanus
claygriffiths
ziptofaf
vietqhoang
rriemann
ndossougbete
ento
dmacjam
fushnisoft
kennym
bekicot
discoursehosting
ElTipejoLoco
rcgordon
ckeboss
jloh
chrisbeach
yjukaku
erlend-sh
aputtu
patdavid
punit2502
JaredReisinger
mcmcclur
chrisgavin
fefrei
lead4good
thorbenegberts
piotrowski
caugner
gherry
rchanley
angusmcleod
Apecengo
mrosack
oldbonsai
rohitkumbhar
phaldan
Angristan
YesThatAllen
ibnesayeed
Fryguy
seanmakesgames
bryant1410
warhammerkid
fearlessfrog
mhinz
iamntz
scossar
piamancini
tnorthcutt
no2pixel

Also, thanks to the greater Discourse community for their numerous contributions toward this release, including translations in Transifex, and posting support / bug request / feedback topics on meta.discourse. All your suggestions make Discourse better for yourself, and everyone else, too.

As far as we’ve come with Discourse, there are so many great things left to do. Keep an eye on the releases category at meta discourse to check out our roadmap … we’ll see you in Discourse 1.9!

3 comments

A brand new discourse.org

Erlend Sogge Heggen April 12, 2017

This week we unveiled a completely revamped discourse.org!

When our original website was first launched in 2013, Discourse’s features were quite novel. Concepts like “infinite scrolling”, “dynamic notifications” and “mobile-friendly” were state of the art for open source community platforms, especially stuck-in-90s era forum software. Now these features are taken for granted, as they should be.

That doesn’t mean we’ve stopped innovating; just look at our latest v1.7 release. But we no longer have to convince people that Discourse is modern, hip – dare I say radical – and keeping with the times. That’s a given. What we need to do now is explain …

What problem can Discourse solve for YOU?

It all started with a new topic

We use Discourse for our own internal team discussions — naturally! Almost a year ago I created a new topic titled “Proposal for a redesigned discourse.org front page”. It included this mockup:

We all agreed that this needed to happen, just not right away. During the months that followed we sporadically followed up with examples of websites we liked or good sources of inspiration, like this one:

2017 came around and we decided it was time to get the wheels rolling. We went back and forth on the copywriting, which in hindsight is something I should have put much more emphasis on in the first place! My original mockup was all about revising our current copy. We ultimately settled on three “pillars”:

  1. Emails don’t scale.
  2. Problem solving is best done in public.
  3. Communities ought to be owned by their creators.

At this point we brought in web developer extraordinaire Kris Aubuchon to push this project to the finish line. Before long, a shiny new discourse.org was just waiting for us to flip the switch, which we’ve now done!

If you like our new pitch, consider trusting us with the stewardship of your community: Check out our hosting plans, and then pop on over to meta.discourse.org and join us in celebrating this shiny new place we call home.

29 comments

Discourse API Documentation Released!

Blake Erickson March 6, 2017

Today we would like to announce our much anticipated Official API Docs!

You can find them at: http://docs.discourse.org

Today, more than ever, an application needs to be able to integrate with other applications and the Discourse API allows you to easily integrate your Discourse forum with any other application. We do have a Ruby based API client, but your company or server might not support Ruby, so our documentation can easily be used to write an integration in any programming language through simple HTTP REST calls.

To aid in integrating with the Discourse API there are Postman files that you can import into your Postman app so that you can easily make API calls. Postman is a great tool that allows you to make API requests and see the HTTP status codes and responses. It can be a lot friendlier to use instead of a command line tool like cURL. Here is a demo:

What can you do with the API?

Anything you want! Because Discourse is a JavaScript application (with a Rails backend), we consume our own API, so anything the web application does your API integration can do as well.

You can use the API to manage all aspects of users like creating new user accounts, suspending a user, logging off a user, and assign roles to a user.

You can also create and respond to topics, gather stats about users, send private messages, upload files, and pretty much anything else you can think of.

Discourse also has support for webhooks! This means that Discourse will send a POST request to an endpoint you specify every time an event triggers such as a new topic, new post, or a new user is created. This means that if you wanted to be notified every time someone mentions a specific keyword you wouldn’t have to poll Discourse every X minutes, but instead could just listen for the webhook event. Your app could then parse the topic and then use the API to send you a personal message in Discourse notifying you that keyword was used.

Contributors Welcome

The Discourse API Docs are of course open source and so contributions are more than welcome. If you find a bug, an un-documented endpoint, or anything else please feel free open a pull request following the contributing instructions.

2 comments