3.20 Release Notes Items

Changes in GNOME 3.20, to be potentially mentioned in the release notes.

Please note that this page does not need to be pretty or well-written. It's just a list that will be used to make the actual release notes.

See also the advice about the schedule and translation.

Attention Press/Reviewers This is a work in progress. Items aren't checked for correctness. Statements may be completely wrong. Very large changes could be forgotten. Please wait until the final release notes are done. This page will not contain everything that will be in the final release notes.


List any changes that:

  • Affect users, administrators or developers.
  • Are something people have been hoping for or discussing widely.
  • Feature, usability, performance, internationalization or accessibility improvements.

Even small changes are interesting, and can sometimes be combined into wider themes.

Provide this information:

  • What the module (application) is.
  • What the change is.
  • How it will look and work from a user perspective.
  • Why it is better than what we had before.

Be as descriptive as you like. It is better too long than too short. Links and screenshots are very welcome!

GNOME 3.20

What's new for users

Font improvements

  • The Cantarell font has received some major improvements, both in hinting and in coverage.
    • Language coverage has been brought up to almost Adobe Latin 4 and almost Adobe Cyrillic 2, e.g. Vietnamese is supported now, as well as some miscellaneous glyphs from the character sets. Superscripts, some fractions, monetary and a few miscellaneous glyphs are missing for complete Adobe Latin 4 support. Only two monetary signs are missing for Adobe Cyrillic 2 support. A handful more glyphs are still missing for Adobe Cyrillic 3 support.

    • Pooja Saxena worked on her own Cantarell-derived Cambay design for Devanagari support, many glyphs she redrew were imported back into Cantarell. Note however that compatibility with Cambay is still out.
    • Icelandic special glyphs and ligatures were redrawn and better spaced.
    • Cyrillic glyphs are finally ready and render consistently. Some base shapes were redrawn in the regular face, the work has been completed and ported to the bold face.
    • Added German capital sharp s :)

    • Hinting has been tweaked (native hinter only), small letters now display slightly larger at default UI sizes, similar to Source Sans Pro. Note how the @ aligns better now. Note that this doesn't apply when using FreeType's autohinter (hintslight on FreeType < 2.6.2 or with hintslight and autohint = true in your fonts.conf)

Shortcuts windows

  • Tell you about keyboard shortcuts and multitouch gestures in applications. Hit Control-F1 or Control-? to experience open them.
  • See the GNOME Goal for a list of applications that have them.

  • More details on AllanDay's blog post.

Custom compose sequences

GTK+ now reads ~/.XCompose and uses the compose sequences found in there

New Mouse and Touchpad Settings

Much nicer design! See https://blogs.gnome.org/felipeborges/new-mouse-panel/

New Printer Jobs Dialog

Better design for managing printing jobs on control-center. See https://blogs.gnome.org/felipeborges/pp-jobs-dialog/

Privacy features

Wi-Fi MAC randomisation in NetworkManager. BlueZ (bluetoothd) already supports this feature for Bluetooth Low-Energy.


Dconf Editor

Big redesign, many internal changes, and relicensed to GPL 3+.

  • Easy bookmarking for your most used paths; and opens on last view used
  • More usable from keyboard; notably, useful shortcuts, and help overlay
  • Easily copy selected key descriptor (<ctrl>C) or path (<ctrl><shift>C)

  • Demo of dconf & gsettings possibilities (/ca/desrt/dconf-editor/demo/)

  • Use of GSettingsSchema APIs, so correct handling of advanced use cases


  • Add full log text as tooltip for each row
  • Show seconds in details view and exported logs
  • Shortcut help overlay added
  • Use a different export icon in tool bar
  • Add support for outputing filtered log messages
  • Add scroll support to detail view
  • Improve startup time


Blog about release notes here

Example uses of layers like KML/GPX/GeoJSON


  • New search filters UI - much simpler and easier to use than the previous version.
  • Multiple improvements on search to allow fast and reliable results.
  • Updated preferences dialog, now with a few more options.
  • New smaller zoom level in icon view and a bigger level in list view.
  • Improved thumbnail sizing in icon view
  • Shortcut help overlay added
  • Show free space in Other Places
  • See https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/


  • Redesigned
  • This game is fun. Play this game.


  • Photo editing: crop, colors (brightness, contrast), enhancement (sharpening, denoise), filters.
  • Export: simple export, including a reduced size mode.
  • Ability to delete while previewing.
  • Ability to walk through search results in the preview.
  • Improved favourites functionality - the UI updates immediately, better visuals for the button.
  • Fullscreen fixes (725508, 756131)


  • Updated UI for server properties - allows direct access from the sidebar. Simpler and easier to use.
  • Support for inline pasting - so you can paste text and images and write text around the url's
  • Support for pasting images to public Imgur paste service
  • Create connections easily from a list of public servers.
  • Improved visual look (overhauled entry area) and feel (animated text).
  • Support for the /msg IRC command (especially useful for authenticating with NickServ).

  • Support for server passwords (especially useful for authenticating with bouncers like ZNC).
  • Status messages are compressed and filtered intelligently to minimize noise in chatrooms.
  • Tab-completion support for IRC commands
  • Switch to channels with unread messages using Ctrl+Shift+PgUp/PgDown

  • Support for opening IRC links


  • Responsive UI: the content of the home page now scales depending on the window size, and the lists have a fixed width. Responsive scaling for categories is also planned.

  • OS upgrades: allows upgrading your OS as well as updating.
  • XDG app support: allows installing apps that have been built with XDG app. Support for next generation technology. Useful for installing nightly versions of apps.
  • User reviews of apps - post reviews, view reviews, mark reviews as useful or not. Reviews have a star rating, summary, and body.

Sound Recorder

  • Play when button is pressed even if row is not selected.
  • Recording in mono is now supported
  • Create lookup table for files so retrieval for renaming is n(1) operation.


  • Smooth (pixelwise) scrolling


  • Sexy animated check boxes and radio buttons!


  • Native LibreOffice documents support through LibreOfficeKit widget - improved rendering of spreadsheets. Lays the foundation for future improvements.

  • Better empty states.
  • Ability sort the view with different criteria.
  • Full-text search.


  • Shortcuts help view.
  • Automatic creation of snapshot after a VM installation so you can always reset your VMs.
  • Improved accessibility.

To Do


Fedora will still default to the Xorg session in F24 (due to some remaining feature parity gaps)

  • Pointer motion, locks and confinement has been implemented in mutter (744104): this means It's possible to play native wayland games now!

  • Primary selection has been implemented (as a private protocol between mutter and gtk until we get official Wayland protocol)
  • Startup notification has been implemented (again, as a private protocol)


  • Non-HTTPS sites now display with affirmatively-insecure broken lock icon
  • WebGL now enabled by default - means that websites with fancy graphics will now work. Are there any websites that use this? -- AllanDay

  • Web Audio now enabled by default. What does this mean in practice? --Allanday

  • New downloads popover: more streamlined, doesn't take up as much room, allows viewing previous downloads.
  • Greatly improved session restore using WebKit, pick up right where you left off with full history, scroll position, etc. in each tab

  • Back/forward history now again inherited when opening links in new tabs
  • New preferences dialog option to disable session restore, for users who always want a fresh start
  • New welcome screen when there's no browser history
  • Now possible to search in cookies dialog
  • Snazzy redesigned text encodings dialog (but nobody will ever use it)
  • Web apps moved from Other to Internet menu (GNOME Classic)
  • Seamless support for websites using GSS-Negotiate using new libsoup feature (see below)


  • Music controls have been added to the calendar drop down, above the calendar list. Uses MPRIS so lots of media players are supported.
  • For systems that cannot detect whether a headset, headphones or a microphone is getting plugged in, we now have a dialog in gnome-shell which will configure the jack properly. To test it (including for translations and release notes), run:

    gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/AudioDeviceSelection --method org.gnome.Shell.AudioDeviceSelection.Open "['headphones','headset','microphone']"

    The full list of supported laptops and desktops is available in http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/canonical

  • Add hidden setting to show the battery percentage in gnome-shell, replacing 4 existing extensions
  • Keyboard keys to disable Wi-Fi or Bluetooth are now supported out of the box


xdg-app is the new cross-platform application installation framework. Advantages over traditional packages: allows third parties to easily distribute applications on Linux, application updates can be done live, and are decoupled from OS updates. Multiple versions of the same app. Will allow more secure apps in the future.

With 3.20, it is possible to install XDG-Apps using Software. You can use this to install multiple versions of the same app, particularly nightly versions of some applications that are being produced as a technology preview. Popular nightly apps that are available includes Inkscape and GIMP.

Insert instructions here.

What's new in accessibility

(In conversation with developers)

What's new for administrators


  • If a Wayland session is installed on the system with the same name as an Xorg session, the login screen will now give preference to the Wayland session. Previously, Xorg sessions would win. Note, the default GNOME session still uses Xorg.
  • The login screen will no longer show Wayland sessions as available unless the login screen is running as a Wayland session itself.
  • The login screen now supports being built in a different prefix from the rest of GNOME.

What's new for developers


  • gtk-query-settings: New commandline utility to query GTK+ settings that your application would see
  • gtk-builder-tool has a new preview command to test .ui files
  • Shortcut windows now allow you to present a handy overview of keyboard shortcuts and multitouch gestures in your application.
  • CSS and themeing:
    • The widget CSS interface (element names and style classes) has been documented. Existing custom CSS and themes will need updates, but going forward, things will remain stable
    • The CSS box model (margins, padding, min-width, min-height) is much more consistently supported by CSS nodes
    • New CSS features that are now supported: radial-gradient(), rem, calc
    • Style properties have been deprecated in favor of CSS equivalents
  • GTK+ Inspector:
    • Some UI improvements (dropped sidebar, cleaned up some lists and trees visually)
    • Shows input device information (in the general tab)
    • Shows CSS nodes and associated style information
    • Can highlight widgets that are causing resizes
  • Foreign drawing demo: If you are developing an application that uses GTK+ for themed drawing without using widgets, gtk3-demo has a 'foreign drawing' demo that shows how to do this with the CSS machinery in GTK+ 3.20
  • GtkWindow sizing behavior has been fixed up with CSD; gtk_window_set_default_size() must now be combined with gtk_window_get_size(). See https://wiki.gnome.org/HowDoI/SaveWindowState for up-to-date best-practice for saving window size


  • supported has been added for DTLS (Datagram TLS) to enable encrypted streaming media
  • new helpers for overflow-checked integer operations help make it easier to write safe code


  • Supports GSS-Negotiate (eg., Kerberos) if the SOUP_TYPE_AUTH_NEGOTIATE features is added to a session. See 587145.


  • New support for GTK+ 3.16 overlay scrollbars
  • New API for serializing and restoring a session
  • New support and API for onbeforeunload
  • New console message API for apps that want access to console messages
  • WebKitNetworkProcess now enabled by default and mandatory

Other libraries

  • gspell, a new spell-checking library for GTK+ applications. Used by gedit.




  • Much improved SPARQL 1.1 syntax support (Update and Query) (Better developer docs to be written before release)

    • DELETE {...} INSERT {...} WHERE {...} syntax is now supported. This allows for performing complex updates along entire resultsets in an atomic way. The closest syntax that was previously available is tracker's unofficial "INSERT OR REPLACE {...}", which is fairly more limited.
    • BIND is now supported, making it possible to bind complex evaluations to variables within the triple pattern.
    • Support for many sparql1.1 builtin functions: NOW, RAND, CONCAT, CONTAINS, LCASE, UCASE, STRLEN, SUBSTR, STRSTARTS, STRENDS, ABS, ROUND, ENCODE_FOR_URI, STRBEFORE, STRAFTER, CEIL, FLOOR, YEAR, MONTH, DAY, HOUR, MINUTES, SECONDS, MD5, SHA1, SHA256, SHA512. Some of those were previously available as XPath functions (eg. fn:contains).


  • Improved GError support
  • Performance improvements for function calls and closures
  • Functions returning multiple values now return named tuples
  • Python API Reference:
    • Includes links to C implementations
    • Many improvements regarding overrides documentation (Gtk.ListStore, Gtk.TreeModelRow, ...)

    • Improved search and new search settings


In general xdg-app is more stable an feature complete for basic app running and management.

  • The xdg-app commandline interface has been streamlined and cleaned up.
  • There is a new build-tool called xdg-app-builder that makes it easy to build apps. Examples of how to bundle gnome apps can be found in the nighly app builds git repo. (Previously app building was done manually with a script.)

  • The gnome runtimes have been redone using xdg-app-builder, which makes them simpler to maintain and contribute too.
  • The gnome runtimes have been rebased to the latest stable version of yocto, and the modules in them have been updated to the latest releases. A full list of available runtimes can be found on the runtimes page.

  • xdg-app now support single file bundles which makes it easier to distribute apps on e.g. usb sticks.
  • xdg-app now has a generic permissions store dbus service that can be used to store information about what applications are allowed to do what.
  • xdg-app has added support for AppData/AppStream which is the primary way to export detailed information about an application to graphical installers.

  • There is a libxdg-app which can be used by graphical application installers. Gnome-software uses this to allow browsing, installing and running xdg-app applications.

There aren't any stable apps to try right now, so the best way to try installing an app is to try an unstable one. Instructions here: https://blogs.gnome.org/alexl/2016/02/11/testing-unstable-gnome-using-xdg-app/

Alex has written a five part series of blog posts on how to build xdg-apps:

Plans for next cycle:

  • Sandboxing and portals

ThreePointNineteen/ReleaseNotes (last edited 2016-03-19 18:18:21 by BastianIlsø)