It’s been exactly one year since the release of the second version of elementary OS. On this, the day of our Lunaversary, we’re proud to make the first beta of elementary OS Freya publicly available for developers and testers.
Beta is a stage in software development where we expose our progress to a group of brave testers. Allow us to quote Wikipedia here:
“Software in the beta phase will generally have many more bugs in it than completed software, as well as speed/performance issues and may still cause crashes or data loss. The focus of beta testing is reducing impacts to users […] this is typically the first time that the software is available outside of the organization that developed it.”
As tempting as it might be, we strongly recommend against using this beta in a production environment. A few more stages remain in the development process wherein we’ll be addressing serious bugs before the final release. That said, this post is going to be more technical and focus on things that are important to developers. We’ll save announcing all the cool new user-facing features for our final release.
Freya inherits core components from Ubuntu 14.04.1 LTS such as the Linux kernel (version 3.13), hardware drivers, and graphics stack. This includes support for EFI stub-loading, which is a kernel feature that enables booting directly from (U)EFI, without the need for an additional bootloader such as GRUB. Ubiquity does not yet have support for this configuration, but one of our developers has created a guide for a GRUB-free install of Freya on modern Mac computers using rEFInd.
Additionally, we’re shipping the latest stable GTK+ release, 3.12, rather than Ubuntu 14.04’s outdated 3.10. This beta release brings a number of new features including new widgets and an improved GtkCSSProvider. Vala has been updated to version 0.24 bringing an incredible number of new bindings to elementary OS including Gstreamer 1.0, GeoCode, and more.
We’re debuting a GSignon-based online accounts system called Pantheon Online Accounts. Unlike Ubuntu online accounts, it’s GLib based, and unlike GNOME online accounts, it’s fully extensible. With Pantheon Online Accounts you get the best of both worlds. Out of the box, we’re aiming to support Facebook, Fastmail, Google+, Microsoft, and Yahoo accounts. Some integration work needs to happen to get apps actually using the service, but the foundation is set! At the moment, adding (for example) your google account will not sync your accounts with Calendar or Maya. Though the work on making that possible is underway.
Slingshot search is now powered by Synapse plugins. So far, we’ve only introduced one new plugin in addition to app search (calculator), but work has begun on a unit conversion plugin. We’re excited to see some handy functionality added for keyboard-driven users. You can now search for Switchboard plugs in Slingshot as well.
One of the great new features of GTK+ 3.12 is the ability to use client-side window decorations and we make extensive use of the feature. Every GTK+ 3 window in Freya is decorated on the client side with no extra work needed from app developers. This means consistent iconography, shadows, and sharply rendered borders over dark backgrounds. The most notable use of CSD is of course with the new Gtk.Headerbar, but you’ll also see Terminal and Photos using the new “.titlebar” GtkCSS class and Gtk.Dialog getting its own style as well.
Gone are the days of Unico engine and mysterious pink widget bugs. The theme is now completely handled by GtkCSSProvider. We’ve added better support for .linked widgets, :backdrop states, “destructive-action” and “suggested-action” classes for buttons, better looking tabs, symbolic icon coloring in headerbars, and many more improvements based on feedback from users and third party developers. A brand new dark theme is also now available for app developers.
GTK+ has improved tremendously since we released Luna (we <3 you, GTK+ hackers!), and many components of Granite have become deprecated as a result. Among those superseded by new widgets in GTK+ are:
We’ve closed literally hundreds of bug reports this cycle ranging from new features to better translations and support for right-to-left languages, fixes for annoying issues, and more. Here are a few of the “little big things”:
It wouldn’t be a true beta without a few bugs. We have a good number assigned to the freya-beta2 milestone on Launchpad, but here are some highlights. Remember, these are all bugs we need to fix before we can release Freya:
If you encounter bugs while testing Freya Beta, make sure to report them in Launchpad. We have a guide about reporting good bugs here.
Over $5,000 worth of bounties remain unclaimed on Bountysource. Anyone can contribute fixes to earn these bounties. It’s simple: just assign yourself to the bug you want to tackle, create a merge request with the fix, and once a team member reviews and merges your code, you’ll get paid via Bountysource! If you’re not a developer, you can create a new bounty or add to an existing one to back someone who can fix it.
Many apps are already translated in over 50 languages, but there are still gaps in some of the translations. If you are multi-lingual, consider giving us a hand with bringing elementary OS to speakers of your native language. You can view all elementary-related translations here in Launchpad.
Please remember that this is a beta and is not indicative of the final version. We respectfully ask any press to make this clear if they decide to write about this beta. We’re pushing this beta out to get wider testing and feedback before our final release and as such, it is not intended for typical end users. Happy testing!