This release brings tons of fixes and new features for both users and developers. Over 20 blueprints were implemented and over 800 issues closed. Time to break it all down and reveal what the future holds for the next version of elementary OS!
Beta Means Beta
If you’ve never tried beta software before, there’s something very important you should know: beta quality software is not finished and contains known issues.
The purpose of releasing a beta is to give developers time to update their apps prior to stable release, give our translation teams time to translate, and give our documentation teams time to update documentation. Beta represents a more-or-less feature-complete release, but it does not represent a stable release. So if you decide to install Loki Beta, hold onto your butts because things are going to be a bit bumpy.
Not a Complete Set of Release Notes
This beta announcement isn’t a complete set of release notes; Loki is still very much under active development. While we’re saving all the really juicy user-facing bits for the final stable release of elementary OS 0.4 Loki, we’ll be detailing major changes for developers in this post. It’s going to be largely technical, covering the things that are important for developers to know and focus on leading up to the release.
New Toys for Developers
Loki is being built with the Ubuntu 16.04 LTS repository, which means it comes with Gtk 3.18, Vala 0.32, and Linux 4.4 as well as a multitude of other updated libraries. This most notably brings new toolkit features, like GtkPopoverMenu, and you’ll notice that apps now benefit from native overlay scrollbars. The latest Granite comes with two new widgets: AlertView and Avatar. Last but not least, we’re introducing a simple “elementary-sdk” metapackage to quickly grab the essential set of development tools and libraries.
We want to encourage developers to update their app’s .desktop files to use “X-GNOME-UsesNotifications=true” if it uses notifications and to identify itself correctly to the notification server. This is what enables your app’s notifications to be controlled from System Settings and be recognized by the new notifications indicator. We also encourage you to upgrade to Glib.Notification from LibNotify. To help with this, we’ve introduced a new section to our documentation all about properly implementing notifications. The wheels are in motion such that eventually your app will not be able to show notifications unless it registers itself properly. This is to ensure that users always have control over which apps are allowed to send notifications.
No More Ayatana
The brand new set of wingpanel indicators has landed and Ayatana is no more. If your app is making use of the Ayatana AppIndicator API, now is the time to stop. The FreeDesktop Actions spec is the proper way to have quick application actions. These appear in the dock, when right-clicking apps in the applications menu, and also in the applications menu search. If users want your app to be quickly accessible, they can pin it to the dock where you can use the LauncherEntry API to show badges and progressbars. Notifications from your app will now persist in the notifications indicator, and as always music players making use of MPRIS will show in the sound indicator. The focus here is on empowering users to choose which apps are allowed to be omnipresent on their desktops and keeping the indicator area useful and clutter-free. There is a Wingpanel API, but this API should be used only by permanently-running, system-level utilities (ie redshift); not applications (ie skype).
No Unsafe Software Sources
In the interest of promoting secure software installation methods, as of this release there is no default app for handling .deb packages and the command line tool add-apt-repository is not available by default. These tools are available to install from the default repos, but the stance going forward is that software should come from vetted, secure sources or in sandboxed package formats. If you’re worried about how users will be able to get and install your apps, don’t panic! We’ll have a follow up announcement soon.
Icon Name Changes
Many new icons have been added and old ones refreshed. You can browse the complete set of available system icons with the utility “gtk3-icon-browser” (available from the previously mentioned sdk metapackage). Please be aware that some old icon names have been removed or moved to better adhere to the FreeDesktop icon naming conventions. If you notice that an expected system icon is missing or appears blurry or otherwise has a problem, you can always report an issue on our Icons GitHub Page.
New Stylesheet Features
We’ve added a few new style classes to make life easier and less full of pango and weird property hacks and extra embedded stylesheets:
- “circular” for use with image buttons. When combined with the flat class you’ll get an inverted icon where the circle is the text color and the icon itself is the background color.
- “compact” for use with Gtk.Headerbars to make them occupy less space as seen in apps like Terminal and CapNet.
- “primary” for use with primary labels in dialogs. This makes the text bold and larger, circumventing the need for Pango markup.
Major Known Issues
It wouldn’t be a beta without some of these! For a full list of Loki-targeted issues, see the RC1 Milestone. Here’re some of the big ones:
- Applications menu search is ignoring keywords
- Media keys do not show responsive confirmation notifications
- Region around notifications can become unclickable
- Not all online accounts services present are integrated
- Packagekitd sometimes takes 100% CPU
- Some regressions in the displays plug for multi-display users
We Need Your Help!
Beta is a great time to Get Involved with elementary OS development. Several of the issues on our RC1 Milestone are bountied and we could always use more hands. If you’re a translator, now is the perfect time to help us make sure this release is available in as many languages as possible. Our web team is busy working on the big changes that need to land on release day. We could always use help putting on the finishing touches 🙂
Brought to You by Viewers Like You
As always, we want to extend our sincerest gratitude to those who have supported us financially. We wouldn’t have the resources to build an amazing open source operating system like elementary OS without your contributions. Because of you, we’ve been able to pay out thousands of dollars in bounties to solve some really big problems and bring some big new features to this release. We’re very proud to be able to support more developers building high quality open source software. Thank you very much for enabling us to do it!
Okay Okay, Give It to Me Now!
If you skipped all the way down to this section, please at least go back up and read the part about this being a Beta. This is not a stable release. You will encounter known issues. Tread carefully. Dead men tell no tales. You get the idea. Happy Hacking and enjoy the beta release!
Note to press: feel free to use the beta to get a feel for some of the changes in Loki, but keep in mind this is not a final stable release. We will make a press kit available to you if you wish to write about the stable Loki release; please email email@example.com to get in touch.