Upgrading from Ubuntu 14.04 LTS or 15.10

Set the "Notify me of a new Ubuntu version" dropdown menu to "For any new version" if you are using 15.10, set it to "long-term support versions" if you are using 14.04 LTS.

Press Alt+F2 and type in "update-manager" (without the quotes) into the command box.

Software Updater should open up and tell you: New distribution release '16.04 LTS' is available.

Click Upgrade and follow the on-screen instructions.

To upgrade on a server system:

Install the update-manager-core package if it is not already installed.

Make sure the /etc/update-manager/release-upgrades is set to normal if you are using 15.10, lts if you are using 14.04 LTS.

Launch the upgrade tool with the command sudo do-release-upgrade.

Follow the on-screen instructions.

Note that the server upgrade will use GNU screen and automatically re-attach in case of dropped connection problems.

There are no offline upgrade options for Ubuntu Desktop and Ubuntu Server. Please ensure you have network connectivity to one of the official mirrors or to a locally accessible mirror and follow the instructions above.

New features in 16.04 LTS

Updated Packages

As with every new release, packages--applications and software of all kinds--are being updated at a rapid pace. Many of these packages came from an automatic sync from Debian's unstable branch; others have been explicitly pulled in for Ubuntu 16.04.

For a list of all packages being accepted for Ubuntu 16.04, please subscribe to xenial-changes.

Linux kernel 4.4

Ubuntu 16.04 LTS is based on the long-term supported Linux release series 4.4.

Python 3.5

Python has been upgraded to the 3.5 series.

If you have your own programs based on Python 2, fear not! Python 2 will continue to be available (as the python package) for the foreseeable future. However, to best support future versions of Ubuntu you should consider porting your code to Python 3. Python/3 has some advice and resources on this.

VIM defaults to python3

The default VIM package has been built against python3 instead of python2. This means plugins that require a python2 interpreter support from VIM will not work anymore. For this case alternative VIM packages are available that still use python2, for example vim-gnome-py2. They can be made the default via the alternatives mechanism:

sudo update-alternatives --set vim /usr/bin/vim.gnome-py2

Golang 1.6

golang toolchain was upgraded to the 1.6 series, and gccgo was upgraded to the GCC 6.1 release candidate 1. Thus the same level of standard library and compiler features are provided by both compilers on all fully supported architectures.

OpenSSH 7.2p2

Recent OpenSSH releases disable several pieces of weak, legacy, and/or unsafe cryptography. If you are upgrading a system remotely over SSH, you should check that you are not relying on these to ensure that you will retain access after the upgrade.

Support for the legacy SSH version 1 protocol is disabled by default at compile time. Note that this also means that the Cipher keyword in ssh_config(5) is effectively no longer usable; use Ciphers instead for protocol 2. The openssh-client-ssh1 package includes "ssh1", "scp1", and "ssh-keygen1" binaries which you can use if you have no alternative way to connect to an outdated SSH1-only server; please contact the server administrator or system vendor in such cases and ask them to upgrade.

Support for the 1024-bit diffie-hellman-group1-sha1 key exchange is disabled by default at run-time. It may be re-enabled using the upstream instructions.

Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time. These may be re-enabled using the upstream instructions.

Support for the legacy v00 cert format has been removed.

Several ciphers are disabled by default in ssh: blowfish-cbc, cast128-cbc, all arcfour variants and the rijndael-cbc aliases for AES.

MD5-based and truncated HMAC algorithms are disabled by default in ssh.

lxd 2.0

Ubuntu 16.04 LTS includes LXD, a new, lightweight, network-aware, container manager offering a VM-like experience built on top of Linux containers. All the LXC components, lxc, lxcfs and lxd in Ubuntu 16.04 are at version 2.0

docker 1.10

docker was upgraded to the version 1.10. Note that this requires migration of existing images to a new format which will be performed on the first start of the service. This migration can take a long time and put a high load on the system, see https://docs.docker.com/engine/migration/ for more information.

Most PHP-dependent packages were either rebuilt or upgraded for PHP7.0 support. Where that was not possible, packages may have been removed from the archive. There was one exception, Drupal7.

Drupal7 does not pass upstream testing with PHP7.0 as of the 16.04 release (https://www.drupal.org/node/2656548). An SRU will be provided once upstream PHP7.0 support is available and verified. Until that time, the drupal7 package will not be installable in 16.04.

MySQL 5.7

MySQL has been updated to 5.7. Some configuration directives have been changed or deprecated, so if you are upgrading from a previously customised configuration then you will need to update your customisation appropriately.

Password behaviour when the MySQL root password is empty has changed. Packaging now enables socket authentication when the MySQL root password is empty. This means that a non-root user can't log in as the MySQL root user with an empty password. For details, see the NEWS file.

Juju 2.0

Juju and Juju UI have been updated to 2.0. The package name is juju-2.0. Juju 1.25.5 is available in the juju package for existing production environments. Please read the upgrade documentation before moving to 2.0

The Juju Charm Store now has over 300 charms ready to deploy. Most of these workloads will deploy Trusty instances, but we expect 16.04 charms to start landing and being announced independent of Juju's release.

GNU toolchain

glibc was updated to the 2.23 release, binutils to the 2.26 release, and GCC to a recent snapshot from the GCC 5 branch (post GCC 5.3.0).

Apt 1.2

Apt 1.2 includes the new privilege separation features introduced in Apt 1.1. Importantly, the unprivileged "_apt" user is now used when making outgoing network connections and parsing the results for the various apt transport methods (HTTP, HTTPS, FTP).

Ubuntu for IBM LinuxONE

Ubuntu 16.04 LTS includes a new port to 64-bit z/Architecture for IBM mainframe computers. This is a practically complete port of Ubuntu Server and Cloud with circa 95% binary package availability. We are excited to enable OpenStack software, Juju, MAAS, LXD, and much more on this platform.

Ubuntu Desktop

The general theme for 16.04 on the desktop is one of bug fixes and incremental quality improvements ...

General

GNOME is mostly upgraded to 3.18. GLib upgraded to to 2.48 (corresponding to GNOME 3.20)

GNOME Software replaces Ubuntu Software Center. This brings a faster store experience and moves our archive metadata in line with Debian. It has been renamed "Ubuntu Software" to improve recognition for Ubuntu Software Center users.

LibreOffice

LibreOffice 5.1 brings a lot of improvements to the entire package. For more information on these improvements please see the LibreOffice release notes available here. You can see a video highlighting some of the new features here.

Calc spreadsheets

Impress presentations

Slide transitions use OpenGL 2.1+ and new transitions added

Keyboard shortcuts for navigation and sorting

Screensaver inhibiting for KDE, XFCE, Mate

Ubuntu Server

General

New in 16.04, the kernel crash dump mechanism now supports remote kernel crash dumps. It is now possible to send kernel crash dumps to a remote server using the SSH or NFS protocols. Details of the new functionality are available in the Ubuntu Server Guide.

OpenStack Mitaka

Ubuntu 16.04 includes the latest OpenStack release, Mitaka, including the following components:

libvirt 1.3.1

qemu 2.5

Open vSwitch 2.5.0

Ubuntu 16.04 includes the latest release of Open vSwitch, 2.5.0. This is also an LTS release of Open vSwitch.

Ubuntu 16.04 also includes support for Open vSwitch integrated with DPDK (Data Plane Development Kit) enabling fast packet processing through userspace usage of compatible networking cards - see the openvswitch-switch-dpdk package for more details.

Ceph Jewel

Ubuntu 16.04 includes the latest release candidate (10.1.2) of the Ceph Jewel stable release; An update to the final release version will be delivered as an SRU to Ubuntu 16.04.

Nginx

Ubuntu 16.04 includes version 1.9.15 of the Nginx web server, with an expectation to provide the next stable release of Nginx, 1.10.0, as an SRU after release (which will be virtually identical to 1.9.15). This version of Nginx also includes HTTP/2 support, which supersedes SPDY support previously provided in the Nginx packages.

Known issues

As is to be expected, with any release, there are some significant known bugs that users may run into with this release of Ubuntu 16.04. The ones we know about at this point (and some of the workarounds), are documented here so you don't need to spend time reporting these bugs again:

Boot, installation and post-install

Errors about swap partition at install

There is a known issue regarding the creation of swap space during the install. In some cases the install will display the error message "Creation of swap space in Partition #n .... failed.". Please see this bug for more information. You may work around the issue by manually partitioning the disk and removing any existing swap partitions before then creating a new one.

Installing Xen host in UEFI mode

It is currently impossible to boot a Xen hypervisor from grub in UEFI mode. However the package does not detect this and will set the default boot to Xen mode. So for any machine in UEFI mode, do not install the Xen hypervisor (or enable legacy mode first). Please see this bug report for more information.

== IBM z Systems and LinuxONE specific known issues

=== Fully automated preseed install Fully automated preseed installation is currently not possible with only DASD drives at the moment. For zfcp installation s390-zfcp/zfcp preseed key can be used. For more information please see bug and bug.

=== zfcpdump not available yet zfcpdump kernel is not available yet, and will be made available as an SRU at a later date. Please see this bug for more information.

=== Install-time parameters are not propagated to the installed system If installation is performed with special kernel paramateres, e.g. cio_ignore, these are not propagated to the installed system. Please edit /etc/zipl.conf to apply these and re-run sudo zipl to update the IPL. Please see this bug for more information.

=== PCI support Linux kernel needs an upgrade to the first SRU kernel post-release for a complete PCI support. For more information please see this bug for more information.

Upgrades from previous versions can result in two Software Center icons in the launcher. One for the old Ubuntu Software Center and one for the new Ubuntu Software application. The Ubuntu Software Center icon can be removed if required.

Graphics and Display

fglrx

The fglrx driver is now deprecated in 16.04, and we recommend its open source alternatives (radeon and amdgpu). AMD put a lot of work into the drivers, and we backported kernel code from Linux 4.5 to provide a better experience.

When upgrading to Ubuntu 16.04 from a previous release, both the fglrx driver and the xorg.conf will be removed, so that the system is set to use either the amdgpu driver or the radeon driver (depending on the available hardware).