Welcome to GNOME 3.12
3.12 is the latest GNOME release, and the result of six months' work by the GNOME project. It includes new features and a large number of smaller improvements and enhancements. The release contains 34236 changes by approximately 1140 contributors. New features and improvements being introduced in GNOME 3.12 include:
Software Has Grown Up
GNOME's new Software application was first introduced six months ago, in version 3.10. Since then it has grown up in a serious way. Performance has been improved across the board, so that common operations like browsing, searching and installing are fast and responsive. The new version also includes a long list of new features, including:
- Screenshots of applications, to make it easier to decide if you want to install them. Most applications now have screenshots, and new screenshots are being added every day.
- Automatic rating of applications indicate their quality and help you select the best ones.
- The ability to install individual software packages, such as those that you have downloaded.
- Packages containing software repositories can be installed, and you can now review and remove third party repositories that are in use.
Checking for and installing software updates has also been improved for 3.12. It is now possible to choose to have your computer power off after updates have been installed, and you can also install updates from the system power off button. Software also indicates when the last update check was performed, and allows you to manually check for updates.
All New Videos
GNOME 3.12 includes a reimagined Videos application. Modern in style, the new version allows you to browse videos that are on your computer, as well as online video channels. Channels in this release include Rai.tv, The Guardian Videos channel, Blip.tv and Apple Movie Trailers. Developers can easily add their own video channels, and we expect the list of channels to grow in the future. Additionally, integration with the popular Pocket service provides an easy way to watch videos that you have saved for later.
Videos also includes a redesigned playback view. This provides a more streamlined experience than the previous version: floating playback controls hide when you don't need them, so that nothing gets in the way of your viewing, and the fullscreen playback view also has a new more refined look.
A New Look for gedit
The gedit text editor has had a major update for this release. The new design incorporates all of gedit's previous features into a more compact interface, which gives more space for your work. Use of popovers for selecting the document format and tab width is more efficient than the previous use of dialogs and menus, and consolidated sidebar controls also give more space for content while retaining the original functionality.
Other notable improvements include new shortcuts for opening the last closed tab with Ctrl+Shift+T and for changing case.
Rounding Things Out
For 3.12 we have worked with our users to round out the GNOME 3 experience. An emphasis on filling in requested functionality has resulted in a number of changes, including the addition of wired networking to the system status area and the creation of user-configurable application folders. Many of the improvements to the software updates experience have also come about through dialog with users.
This release also includes many smaller changes that result in a much more polished, high-quality experience. Dialogs are now displayed in the Activities Overview. The visual theme and icons have had many small updates, animations have been refined so they are more subtle and informative, and tabs and many dialogs have been restyled to give them a consistent and more beautiful appearance. 3.12 also contains a number of performance improvements, including faster startup times and lower memory usage.
Improved High Resolution Display Support
High-resolution display support was first introduced in 3.10. This provided high-resolution display support for much of GNOME 3. Since then, this feature has been extended to include all the key aspects of the core GNOME 3 experience, including the Activities Overview, top bar, lock screen and system dialogs.
Create Your Own Application Folders
Application folders are a new way to organize your applications in GNOME 3. They make it possible for you to personalize your setup and make it easier to find the applications that you are interested in. GNOME 3 has included several automatic application folders in the past, which contain Utilities and Sundry items. With 3.12, it is now possible to create your own folders in the Activities Overview. Controls for this can be found in the Software application: simply go to the Installed view, select some applications, and choose which folder you want them to belong to.
And that's not all
There's much more to GNOME 3.12. Read on to find out...
Getting GNOME 3.12
GNOME's software is Free Software: all our code is available for download and can be freely modified and redistributed. To install it, we recommend that you wait for the official packages provided by your vendor or distribution. Popular distributions will make GNOME 3.12 available very soon, and some already have development versions that include the new GNOME release.
About GNOME
The GNOME Project is an international community supported by a non-profit Foundation. We focus on user experience excellence and first-class internationalization and accessibility. GNOME is a free and open project: if you want to join us, you can.
Developer Information
GNOME 3.12 introduces a number of new features and enhancements for those working with GNOME technologies.
New GTK+ Widgets
The GTK+ toolkit has three new interface widgets for 3.12:
GtkActionBar: a new container, which has a centered child likeGtkHeaderBar. This is intended for use at the bottom of widgets for presenting actions for selected content.GtkPopover: a new widget that can be used for transient views, as an alternative to menus or dialogs.GtkFlowBox: a container that displays its children as a reflowing grid, which can be oriented horizontally or vertically.
Integrated Notifications API
GNOME 3.12 includes a new notifications API. Included in GIO and called GNotification, the new API replaces libnotify, so that developers no longer need to link against it. (GNotification can fall back to the org.freedesktop.Notifications D-Bus interface.)
The new API neatly integrates with GTK+, and works in conjunction with GApplication and GAction. It provides many of libnotify's capabilities plus some new ones, such as the ability for notifications to persist after an application exits. It also makes it possible to restart an application when a notification is activated by the user.
More details on how to use the GNotification API can be found on the How Do I page.
Powerful New Process Launching API
A new, powerful process launching API is included in 3.12, called GSubprocess. The new API allows the gapplication command line utility to be used for launching applications. Applications can be instructed to open files or trigger actions when launched. It is also possible to list the available applications and actions, and the command line utility comes complete with bash completion.
GApplication now also supports command line handling, including the convenient --gapplication-service option.
Improved Developer Documentation
3.12 includes a raft of improvements to GTK+'s API reference documentation. The documentation has been restructured to have a more logical order. Synopsis sections have been uncluttered for easier reading, and widget screenshots have all been updated.
Documentation markup has also been improved across a number of libraries. GTK+, GLib, GDK-Pixbuf and Clutter have all been converted to use Markdown. This results in a less cluttered appearance and easier maintenance at source.
Finally, formatting improvements have been made for all documentation, which make it more attractive and easier to read.
Wayland Available for Testing
A huge amount of progress has been made towards full Wayland integration for 3.12. This includes the creation of a new libinput library and new functionality for login and session management. Developers who are interested in Wayland, or who want to test their software in a Wayland environment, can try the latest development work.
To run gnome-shell under Wayland, execute the following command in a terminal:
gnome-session --session=gnome-wayland
It is also possible to run individual applications on Wayland by specifying the GDK_BACKEND. Run the following command, substituting application-name for the name of the application's executable:
GDK_BACKEND=wayland application-name
If an application fails to run on Wayland, it will try to fall back to X11.
Further details about GNOME on Wayland can be found on the GNOME Wayland wiki page.
Tracker Updates
Tracker the search engine, search tool and metadata storage system, comes with a long list of improvements for 3.12:
- A new library called
libmediaarthas been created from Tracker code to handle art associated with multimedia files.libmediaartallows art stored in media files to be cached, and provides a consistent way to look up art and reduce cache sizes for artists, albums and media items. (libmediaartis not intended to generate thumbnails.) - Another new library, called
libtracker-control, has been added for managing search miners. - New passive extraction features allow specified metadata extraction (e.g. image orientation) by listening to signals on resource changes. Previously, inserting information about a resource was done in one step. This feature means that file data (e.g. file name, size, etc) is inserted even if specific metadata isn't.
- It is now possible to prioritize RDF types when indexing: this enables indexing to be tuned for specific situations.
- The
tracker:normalize()andtracker:unaccent()SPARQL functions are now supported. - A new command called
tracker-sparql --treewill display the database ontology. This will help developers to get a clear picture of the class hierarchy. - Encoding detection is now supported for metadata with ICU.
- Tracker store's
GraphUpdatedsignal delay is now configurable. This signal is used to provide notifications of resource changes in the database (e.g. new file added). Previously, the delay was always one second.
Grilo Extensions with Lua
The Grilo media discovery framework now allows online media sources to be added using Lua's powerful yet simple pattern matching abilities. More details, including examples, can be found in Bastien Nocera's blog post on the subject.
Mature Client-Side Decorations
Client-side decorations allow application windows to take over functions from the window manager. These were first introduced last cycle, with the new GtkHeaderBar widget. Since then, GtkHeaderBar has matured greatly. The widget now has a consistent height, and windows can be moved by dragging the header bar on touch devices. Header bars can also include application menus as well as a variety of window controls in addition to the standard close button.
Improved Python Bindings
GNOME's Python bindings have been improved for 3.12:
- Python doc strings for functions now show accurate call signatures including argument and return type information.
- There is now an implicit
Nonedefault for tail-end function arguments. - All callback connection functions now accept a variable number of user-data arguments.
- New demos show how to use CSS in GTK+ from Python.
- Calling
GObject.threads_initis no longer required for multi-threaded programming.
Additionally, there have been many memory and performance improvements.
Enhanced Portability
Portability across different UNIX operating systems has been greatly improved for 3.12. Over 150 FreeBSD issues have been reported and fixed, and test builds are also running regularly. Work for other operating systems is ongoing. A new supported platforms policy has also been introduced for GLib.
More details about these efforts can be found in Ryan Lortie's blog post on the subject.
Other Improvements
Other improvements for developers and sysadmins in 3.12 include:
- Most GTK+ containers now draw backgrounds.
- Model-based menus can now hide items based on specified conditions.
- GtkBox now supports a centered child, in the same way as GtkHeaderBar.
- High DPI density displays are now supported in Clutter, using the same setting shared by GTK+ and the GNOME Settings Daemon.
Internationalization
Thanks to members of the worldwide GNOME Translation Project, GNOME 3.12 offers support for more than 40 languages with at least 80 percent of strings translated. User documentation is also available in many languages.
- Assamese
- Basque
- Brazilian Portuguese
- British English
- Bulgarian
- Catalan
- Catalan (Valencian)
- Chinese (China)
- Chinese (Hong Kong)
- Chinese (Taiwan)
- Czech
- Danish
- Dutch
- Finnish
- French
- Galician
- German
- Greek
- Hebrew
- Hindi
- Hungarian
- Indonesian
- Italian
- Japanese
- Korean
- Latvian
- Lithuanian
- Norwegian Bokmål
- Polish
- Portuguese
- Punjabi
- Russian
- Serbian
- Serbian Latin
- Slovak
- Slovenian
- Spanish
- Tamil
- Telugu
- Turkish
- Uighur
- Ukrainian
Numerous other languages are partially supported, with more than half of their strings translated.
Detailed statistics and more information are all available on GNOME's translation status site. You can also find out how to help translate GNOME.