Our 2017 in Review

Looking back on a year of active development

Every month this year, we’ve published a blog post outlining all of the updates that we’ve released during that month. We’ve made a strong effort to support Loki with regular bug fixes, new features, and other improvements. We’ve also made some big policy and infrastructure changes. It was a busy year at elementary! Let’s dive in to some of the things we did:

Web Updates

Our website saw a number of changes starting in January with big changes to our Get Involved page, new items in our Store, as well as changes to our site’s navigation.

A snapshot of the redesigned Get Involved page

A snapshot of the redesigned Get Involved page

Another round of updates hit our Developer page after we announced the release of AppCenter Dashboard, the publishing platform for AppCenter.

The new Developer page with AppCenter Dashboard

The new Developer page with AppCenter Dashboard

elementary OS

In May, we released a major update: Loki 0.4.1. This release brought a new hardware enablement stack, the big AppCenter update, and all of the monthly updates we’d released since Loki 0.4 came out.


In February, we kicked off the biggest thing to happen to elementary OS since we started: a fast, easy way for developers to get their apps to elementary OS users at their own schedule. Since then, developers have published more than 60 native apps and earned over $1,200.

In order to build this system, we planned a sprint in Denver, Colorado and launched a crowdfunding campaign where you helped us raise just over $10,000. This paid for members of our Desktop, Design, and Web teams to meet up and work non-stop for 5 days at the System76 offices and after hours at an AirBnB.

(From left to right) Daniel Foré, Cody Garver, Nathan Dyer, and Cassidy James Blaede

(From left to right) Daniel Foré, Cody Garver, Nathan Dyer, and Cassidy James Blaede

Cultivating a healthy 3rd party app ecosystem has been quite the experience! As we learn more about the things developers are struggling with, we’ve been working to provide help, documentation, and make changes to our platform. Check out a few of these articles we’ve written about publishing great apps:

Throughout the year we’ve released a number of additional updates to make AppCenter better, including the Trending carousel, better error messaging, a new Share menu, a refined payments dialog, support for appstream:// urls, a refined app info page footer, release descriptions, an easy way to find other apps by an author, and more.

The updated App Info page with release descriptions, the share menu, and other apps by an author.

The updated App Info page with release descriptions, the share menu, and other apps by an author.

AppCenter Spotlight

As a part of our efforts around AppCenter, Cassidy kicked off the AppCenter Spotlight series in April. Each month he’s looked at some of the best apps, interviewed their developers, and shared their stories. He’s also written a pretty extensive year-end wrap up; give it a read!


A new version of Calendar was released that closed 28 reported issues! This includes a long standing issue that caused events synced from some online calendars to appear on the wrong day. It also includes fixes for importing and exporting, repeated events, stability improvements, and a decent amount of UI polish in the events dialog.


Files saw many improvements to networking including SFTP and SMB shares. It also received several improvements to state saving, keyboard shortcuts, input method compatibility, and more.


Photos got a new metadata sidebar, improvements to shortcut handling, Gif image support, cleaned up context menus, and a new CSS-styled main view.

Panel & Indicators

In April, we released an update that added support for media controls for paired bluetooth devices. We also added a feature to show the microphone icon in the panel when an app is using it. The power indicator got a display brightness slider. The notifications indicator got a lot smarter about which notifications should be saved and allowing apps to withdraw notifications that were out of date. The Date & Time indicator got a redesign. The network indicator went Secure-by-default and gained support for VPNs, and got smarter about ignoring virtual interfaces. Several indicators got new middle-click actions.

System Settings

We teased a big redesign coming for Bluetooth settings that made it easier to see a device’s status and came with handy shortcuts for device settings and then released that update in February alongside a redesign for startup apps settings. User Accounts settings gained the ability to “Undo” changes, much improved feedback about potentially weak passwords, and support for extended Latin characters in username generation. The “About” page got a big redesign that shows more hardware information and allows for OEM customization. Printer settings saw a number of fixes to things like cancelling halted jobs, renaming a printer location, and ensuring that jobs remain visible in the queue.

Left: Password creation feedback | Right: The redesigned About page

Left: Password creation feedback | Right: The redesigned About page

Look & Feel

elementary OS got much better looking throughout the year as well. We made quite a number of refinements to our icon set including new battery icons, a refined Terminal icon, new USB icons, new microphone and speaker icons, new multimedia icons, and many new file type icons.

Some of the new file type icons

Some of the new file type icons

Infobars become much flatter. Maximized windows got rounded corners. Contrast was improved in many places. Several style classes were added, including monospace, keycap, flat classes for Headerbars, and more.

But Wait, There’s More!

In additional to the things listed above, we’ve made many performance and stability improvements, greatly improved localization, added more keyboard shortcuts, improved HiDPI support, and cleaned up many lines of old code. Plenty of new features and bug fixes were committed throughout the year that didn’t make it into this highlight post. Make sure to check out our previous blog posts for more info!

Behind The Scenes

In addition to software and web development, we made some big changes to our infrastructure and organizational policies and resources.

In January, we saw the need for our wider community to have a logo they could use in their projects. Our design team went to work, and Katie came up with a beautiful play on our ‘e’ logo.

In April, we made a big change and migrated all of our translations from Transifex and Launchpad’s Rosetta to a self-hosted Weblate. We also took some time to re-enforce our values and clarify our stance on advertising and tracking.

In June, we announced our decision to officially move our nearly 100 code repositories to GitHub. Since the move, we’ve not only seen increased contributions to our repositories, but more productive conversations in our issue tracker. Slack integration keeps us notified of changes and code reviews have never been easier. We’ve also set up Travis CI on the majority of our repos.

In July, we started ReviewsDay Tuesdays, in an effort to make sure code was getting reviewed in a timely manner. We also decided to bid farewell to the About dialog, opting instead to make app info pages in AppCenter much much better.

In August, we made some changes around the way we brand our apps and starting working on resolving some inconsistencies with app code names. The TL;DR is:

  • All new default apps in elementary OS use generic names (like “Files” and “Music)
  • We’re embracing RDNN as the one true way to name project files, DBus interfaces, resource paths, app IDs, etc (as in io.elementary.calendar)
  • When we disambiguate between other apps with generic names (like GNOME Photos), we’ll refer to our apps as “elementary __” (as in “elementary Photos”.

In November, we released Granite 0.5, the latest release of our companion library for GLib and Gtk+.

Coming Soon: A New Year & A New Major Release

This month, we’ve been focusing a bit more on planning for the new year. Stay tuned for more specific information, but we can say two big things right now:

Loki is going into maintenance mode

After a team meeting this last Friday we’ve decided that in order to focus on getting the next major version of elementary OS released in a timely manner, Loki will be going into a sort of “maintenance mode”. This means that new major features will be built for the next release and Loki will mostly only receive stability and security updates from here on out.

Juno is already under active development

If you haven’t heard, the code name for our next major release is “Juno”. We’ve already begun work on the major headlining features and we have either completed or have working prototypes of several of them! We even have our first internal alpha quality builds of Juno using the Ubuntu 18.04 LTS repositories. We’ll have a blog post soon with more info and we’ll keep you updated on our progress up until Juno’s release!

That’s all for now! See you in the new year!

Thank You

Thanks to all of our supporters, backers, and customers! Your contributions make elementary possible. If you’d like to help build and improve elementary OS, don’t hesitate to Get Involved.

Some rights reserved

Join the Discussion on Social Media

Up Next

The System Settings Redesign Has Landed

OS 8 progress during March

Scratch is now elementary Code

More than a name change

AppCenter & the Future of the Universe

How elementary OS can “cross the chasm”