CINXE.COM
FocalFossa/ReleaseNotes - Ubuntu Wiki
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta name="robots" content="index,nofollow"> <title>FocalFossa/ReleaseNotes - Ubuntu Wiki</title> <script type="text/javascript" src="/moin_static198/common/js/common.js"></script> <script type="text/javascript"> <!-- var search_hint = "Search"; //--> </script> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static198/light/css/common.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/moin_static198/light/css/screen.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/moin_static198/light/css/print.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/moin_static198/light/css/projection.css"> <!-- css only for MS IE6/IE7 browsers --> <!--[if lt IE 8]> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static198/light/css/msie.css"> <![endif]--> <link rel="alternate" title="Ubuntu Wiki: FocalFossa/ReleaseNotes" href="/FocalFossa/ReleaseNotes?diffs=1&show_att=1&action=rss_rc&unique=0&page=FocalFossa%2FReleaseNotes&ddiffs=1" type="application/rss+xml"> <link rel="Start" href="/Home"> <link rel="Alternate" title="Wiki Markup" href="/FocalFossa/ReleaseNotes?action=raw"> <link rel="Alternate" media="print" title="Print View" href="/FocalFossa/ReleaseNotes?action=print"> <link rel="Up" href="/FocalFossa"> <link rel="Search" href="/FindPage"> <link rel="Index" href="/TitleIndex"> <link rel="Glossary" href="/WordIndex"> <link rel="Help" href="/HelpOnFormatting"> </head> <body lang="en" dir="ltr"> <!-- BEGIN HEADER --> <div id="wrapper" class="hfeed"> <div id="header"> <ul id="mothership"> <li> <a href="http://www.ubuntu.com/partners">Partners</a> </li> <li> <a href="http://www.ubuntu.com/support">Support</a> </li> <li> <a href="http://www.ubuntu.com/community">Community</a> </li> <li> <a href="http://www.ubuntu.com">Ubuntu.com</a> </li> </ul> <div id="orangeHeader"> <h1> <a href="/" title="Ubuntu Wiki"><span>Ubuntu Wiki</span></a> </h1> <div id="search-box"> <form id="searchform" method="get" action="/FocalFossa/ReleaseNotes"> <div> <input type="hidden" name="action" value="fullsearch"> <input type="hidden" name="context" value="180"> <label for="searchinput">Search:</label> <input id="searchinput" type="text" name="value" value="" size="20" onfocus="searchFocus(this)" onblur="searchBlur(this)" onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search"> <input id="titlesearch" name="titlesearch" type="submit" value="Titles" alt="Search Titles"> <input id="fullsearch" name="fullsearch" type="submit" value="Text" alt="Search Full Text"> </div> </form> <script type="text/javascript"> <!--// Initialize search form var f = document.getElementById('searchform'); f.getElementsByTagName('label')[0].style.display = 'none'; var e = document.getElementById('searchinput'); searchChange(e); searchBlur(e); //--> </script> </div> </div> </div> <div id="wikinav"> <ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a class="nbinfo" href="/FocalFossa/ReleaseNotes?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/FocalFossa/ReleaseNotes?action=AttachFile" rel="nofollow">Attachments</a></li><li> <form class="actionsmenu" method="GET" action="/FocalFossa/ReleaseNotes"> <div> <label>More Actions:</label> <select name="action" onchange="if ((this.selectedIndex != 0) && (this.options[this.selectedIndex].disabled == false)) { this.form.submit(); } this.selectedIndex = 0;"> <option value="raw">Raw Text</option> <option value="print">Print View</option> <option value="RenderAsDocbook">Render as Docbook</option> <option value="refresh">Delete Cache</option> <option value="show" disabled class="disabled">------------------------</option> <option value="SpellCheck">Check Spelling</option> <option value="LikePages">Like Pages</option> <option value="LocalSiteMap">Local Site Map</option> <option value="show" disabled class="disabled">------------------------</option> <option value="RenamePage" disabled class="disabled">Rename Page</option> <option value="CopyPage">Copy Page</option> <option value="DeletePage" disabled class="disabled">Delete Page</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Subscribe User</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Remove Spam</option> <option value="show" disabled class="disabled">Revert to this revision</option> <option value="PackagePages">Package Pages</option> <option value="SyncPages">Sync Pages</option> <option value="show" disabled class="disabled">------------------------</option> <option value="Load">Load</option> <option value="Save">Save</option> <option value="SlideShow">SlideShow</option> </select> <input type="submit" value="Do"> </div> <script type="text/javascript"> <!--// Init menu actionsMenuInit('More Actions:'); //--> </script> </form> </li></ul> <ul id="username"> <li><a href="/Home">Ubuntu Wiki</a></li> <li><a href="?action=login">Login</a></li> <li><a href="/HelpContents">Help</a></li> </ul> <hr class="clearBoth" /> </div> <div id="main"> <div id="container"> <div id="content"> <h2 class="entry-title"> <span><a href="/FocalFossa/ReleaseNotes">ReleaseNotes</a></span> </h2> <div class="hentry post"> <div id="page" lang="en" dir="ltr"> <!-- END HEADER --><div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span> <span class="anchor" id="line-1"></span><span class="anchor" id="line-2"></span><div><table style="&quot; float:right; width:40%; background:#F1F1ED; margin: 0 0 1em 1em; &quot;"><tbody><tr> <td style="&quot; padding:0.5em; &quot;"><p class="line891"><strong>Table of Contents</strong><br> <div class="table-of-contents"><p class="table-of-contents-heading">Contents<ol><li> <a href="#Introduction">Introduction</a><ol><li><ol><li> <a href="#Support_lifespan">Support lifespan</a></li><li> <a href="#Official_flavor_release_notes">Official flavor release notes</a></li></ol></li></ol></li><li> <a href="#Get_Ubuntu_20.04.6_LTS">Get Ubuntu 20.04.6 LTS</a><ol><li> <a href="#Download_Ubuntu_20.04.6_LTS">Download Ubuntu 20.04.6 LTS</a></li><li> <a href="#Upgrading_from_Ubuntu_18.04_LTS_or_19.10">Upgrading from Ubuntu 18.04 LTS or 19.10</a><ol><li> <a href="#Upgrades_on_i386">Upgrades on i386</a></li></ol></li></ol></li><li> <a href="#New_Features_in_20.04_LTS">New Features in 20.04 LTS</a><ol><li> <a href="#RISC-V_image">RISC-V image</a></li><li> <a href="#Updated_Packages">Updated Packages</a><ol><li> <a href="#Linux_Kernel">Linux Kernel</a></li><li> <a href="#Toolchain_Upgrades_.2B2D3e4P4P-">Toolchain Upgrades 🛠️</a></li><li> <a href="#Ubuntu_Desktop">Ubuntu Desktop</a></li></ol></li><li> <a href="#Network_configuration">Network configuration</a></li><li> <a href="#Storage.2FFile_Systems">Storage/File Systems</a><ol><li> <a href="#ZFS_0.8.3">ZFS 0.8.3</a></li></ol></li><li> <a href="#Other_base_system_changes_since_18.04_LTS">Other base system changes since 18.04 LTS</a><ol><li> <a href="#Python3_by_default">Python3 by default</a></li><li> <a href="#Snap_Store">Snap Store</a></li></ol></li><li> <a href="#Ubuntu_Server">Ubuntu Server</a><ol><li> <a href="#Installer">Installer</a></li><li> <a href="#QEMU">QEMU</a></li><li> <a href="#libvirt">libvirt</a></li><li> <a href="#dpdk">dpdk</a></li><li> <a href="#Open_vSwitch">Open vSwitch</a></li><li> <a href="#Chrony">Chrony</a></li><li> <a href="#cloud-init">cloud-init</a></li><li> <a href="#PHP_7.4">PHP 7.4</a></li><li> <a href="#Ruby_2.7">Ruby 2.7</a></li><li> <a href="#Ruby_on_Rails_5.2.3">Ruby on Rails 5.2.3</a></li><li> <a href="#Ubuntu_HA.2FClustering">Ubuntu HA/Clustering</a></li><li> <a href="#isc-kea_1.6_stable_track">isc-kea 1.6 stable track</a></li><li> <a href="#Bind_9.16">Bind 9.16</a></li><li> <a href="#OpenSSH_updates_with_U2F_Support">OpenSSH updates with U2F Support</a></li><li> <a href="#HAProxy_2.0">HAProxy 2.0</a></li><li> <a href="#Apache.2C_TLSv1.3.2C_client_cert_auth">Apache, TLSv1.3, client cert auth</a></li><li> <a href="#Samba_4.11">Samba 4.11</a></li><li> <a href="#PostgreSQL_12">PostgreSQL 12</a></li><li> <a href="#nginx">nginx</a></li><li> <a href="#Squid_4.x">Squid 4.x</a></li><li> <a href="#s390x">s390x</a></li><li> <a href="#OpenStack_Ussuri">OpenStack Ussuri</a></li><li> <a href="#Ceph">Ceph</a></li></ol></li><li> <a href="#Cloud_Images_.2BJgE-">Cloud Images ☁</a><ol><li> <a href="#Amazon_Web_Services_.28AWS.29">Amazon Web Services (AWS)</a></li><li> <a href="#Google_Compute_Engine">Google Compute Engine</a></li><li> <a href="#Microsoft_Azure">Microsoft Azure</a></li><li> <a href="#Vagrant">Vagrant</a></li></ol></li><li> <a href="#Raspberry_Pi">Raspberry Pi</a></li></ol></li><li> <a href="#Known_issues">Known issues</a><ol><li> <a href="#Installer_and_live_session">Installer and live session</a></li><li> <a href="#Distribution_Upgrades">Distribution Upgrades</a></li><li> <a href="#Desktop">Desktop</a></li><li> <a href="#Raspberry_Pi-1">Raspberry Pi</a></li><li> <a href="#RISC-V">RISC-V</a></li><li> <a href="#Server">Server</a></li><li> <a href="#General">General</a></li></ol></li><li> <a href="#Official_flavours">Official flavours</a></li><li> <a href="#More_information">More information</a><ol><li><ol><li> <a href="#Reporting_bugs">Reporting bugs</a></li><li> <a href="#Participate_in_Ubuntu">Participate in Ubuntu</a></li><li> <a href="#More_about_Ubuntu">More about Ubuntu</a></li></ol></li></ol></li></ol></div></td> </tr> </tbody></table></div><span class="anchor" id="line-3"></span><span class="anchor" id="line-4"></span><p class="line867"> <h1 id="Introduction">Introduction</h1> <span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line862">These release notes for <strong>Ubuntu 20.04 LTS</strong> (Focal Fossa) provide an overview of the release and document the known issues with Ubuntu 20.04 LTS and its flavors. For details of the changes applied since 20.04, please see the <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.6">20.04.6 change summary</a>. The release notes for <a href="/FocalFossa/ReleaseNotes/20.04">20.04</a>, <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.1">20.04.1</a>, <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.2">20.04.2</a>, <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.3">20.04.3</a>, <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.4">20.04.4</a> and <a href="/FocalFossa/ReleaseNotes/ChangeSummary/20.04.5">20.04.5 change summary</a> are available as well. <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><p class="line867"> <h3 id="Support_lifespan">Support lifespan</h3> <span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span><p class="line862">Maintenance updates will be provided for 5 years until <a href="/Releases">April 2025</a> for Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud, and Ubuntu Core. All the remaining flavours will be supported for 3 years. Additional security support is available with ESM (Extended Security Maintenance). <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span><span class="anchor" id="line-13"></span><p class="line867"> <h3 id="Official_flavor_release_notes">Official flavor release notes</h3> <span class="anchor" id="line-14"></span><p class="line862">Find the links to release notes for official flavors <a href="/FocalFossa/ReleaseNotes#Official_flavours">here</a>. <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><p class="line867"><br> <span class="anchor" id="line-17"></span> <h1 id="Get_Ubuntu_20.04.6_LTS">Get Ubuntu 20.04.6 LTS</h1> <span class="anchor" id="line-18"></span><p class="line867"> <h2 id="Download_Ubuntu_20.04.6_LTS">Download Ubuntu 20.04.6 LTS</h2> <span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span><p class="line874">Images can be downloaded from a location near you. <span class="anchor" id="line-21"></span><span class="anchor" id="line-22"></span><p class="line874">You can download ISOs and flashable images from: <span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span><p class="line867"><a class="https" href="https://releases.ubuntu.com/20.04/">https://releases.ubuntu.com/20.04/</a> (Ubuntu Desktop and Server for AMD64) <br> <span class="anchor" id="line-25"></span><a class="http" href="http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/">http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/</a> (Less Frequently Downloaded Ubuntu Images) <br> <span class="anchor" id="line-26"></span><a class="http" href="http://cloud-images.ubuntu.com/daily/server/focal/current/">http://cloud-images.ubuntu.com/daily/server/focal/current/</a> (Ubuntu Cloud Images) <br> <span class="anchor" id="line-27"></span><a class="http" href="http://cdimage.ubuntu.com/kubuntu/releases/20.04/release/">http://cdimage.ubuntu.com/kubuntu/releases/20.04/release/</a> (Kubuntu) <br> <span class="anchor" id="line-28"></span><a class="http" href="http://cdimage.ubuntu.com/lubuntu/releases/20.04/release/">http://cdimage.ubuntu.com/lubuntu/releases/20.04/release/</a> (Lubuntu) <br> <span class="anchor" id="line-29"></span><a class="http" href="http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04/release/">http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04/release/</a> (Ubuntu Budgie) <br> <span class="anchor" id="line-30"></span><a class="http" href="http://cdimage.ubuntu.com/ubuntukylin/releases/20.04/release/">http://cdimage.ubuntu.com/ubuntukylin/releases/20.04/release/</a> (Ubuntu Kylin) <br> <span class="anchor" id="line-31"></span><a class="https" href="https://ubuntu-mate.org/download/">https://ubuntu-mate.org/download/</a> (Ubuntu MATE) <br> <span class="anchor" id="line-32"></span><a class="http" href="http://cdimage.ubuntu.com/ubuntustudio/releases/20.04/release/">http://cdimage.ubuntu.com/ubuntustudio/releases/20.04/release/</a> (Ubuntu Studio) <br> <span class="anchor" id="line-33"></span><a class="http" href="http://cdimage.ubuntu.com/xubuntu/releases/20.04/release/">http://cdimage.ubuntu.com/xubuntu/releases/20.04/release/</a> (Xubuntu) <span class="anchor" id="line-34"></span><span class="anchor" id="line-35"></span><p class="line867"> <h2 id="Upgrading_from_Ubuntu_18.04_LTS_or_19.10">Upgrading from Ubuntu 18.04 LTS or 19.10</h2> <span class="anchor" id="line-36"></span><ul><li>You can upgrade to Ubuntu 20.04 LTS from either Ubuntu 18.04 LTS or Ubuntu 19.10. <span class="anchor" id="line-37"></span></li><li>Ensure that you have all updates installed for your current version of Ubuntu before you upgrade. <span class="anchor" id="line-38"></span></li><li>Confirm that you also have a network connectivity to one of the official mirrors or to a locally accessible mirror as there are no offline upgrade options. <span class="anchor" id="line-39"></span><span class="anchor" id="line-40"></span></li></ul><p class="line874">To upgrade on a desktop system: <span class="anchor" id="line-41"></span><ul><li><p class="line862">Open the "Software & Updates" Setting in System Settings. <span class="anchor" id="line-42"></span></li><li>Select the 3rd Tab called "Updates". <span class="anchor" id="line-43"></span></li><li>Set the "Notify me of a new Ubuntu version" drop down menu to "For any new version" if you are using 19.10; set it to "For long-term support versions" if you are using 18.04 LTS. <span class="anchor" id="line-44"></span></li><li><p class="line862">Press Alt+F2 and type <tt class="backtick">update-manager -c</tt> into the command box if you are using 19.10; type <tt class="backtick">update-manager -c -d</tt> if you are using 18.04 LTS. <span class="anchor" id="line-45"></span></li><li>Update Manager should open up and tell you that Ubuntu 20.04 LTS is now available. <span class="anchor" id="line-46"></span></li><li>Click Upgrade and follow the on-screen instructions. <span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></span></li></ul><p class="line874">To upgrade on a server system: <span class="anchor" id="line-49"></span><ul><li><p class="line862">Install <tt class="backtick">update-manager-core</tt> if it is not already installed. <span class="anchor" id="line-50"></span></li><li><p class="line862">Make sure the <tt>Prompt</tt> line in /etc/update-manager/release-upgrades is set to 'normal' if you are using 19.10, or 'lts' if you are using 18.04 LTS. <span class="anchor" id="line-51"></span></li><li><p class="line862">Launch the upgrade tool with the command <tt class="backtick">sudo do-release-upgrade</tt> on 19.10; use <tt class="backtick">sudo do-release-upgrade -d</tt> if you are using 18.04 LTS. <span class="anchor" id="line-52"></span></li><li>Follow the on-screen instructions. <span class="anchor" id="line-53"></span></li></ul><p class="line874">Note that the server upgrade will use GNU screen and automatically re-attach in case of dropped connection problems. <span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><p class="line862">The <tt class="backtick">-d</tt> switch is necessary to upgrade from Ubuntu 18.04 LTS as upgrades have not yet been enabled and will only be enabled after the first point release of 20.04 LTS. <span class="anchor" id="line-56"></span><span class="anchor" id="line-57"></span><p class="line867"> <h3 id="Upgrades_on_i386">Upgrades on i386</h3> <span class="anchor" id="line-58"></span><p class="line874">Users of the i386 architecture will not be presented with an upgrade to Ubuntu 20.04 LTS. Support for i386 as a host architecture was dropped in 19.10. <span class="anchor" id="line-59"></span><span class="anchor" id="line-60"></span><p class="line867"> <h1 id="New_Features_in_20.04_LTS">New Features in 20.04 LTS</h1> <span class="anchor" id="line-61"></span><span class="anchor" id="line-62"></span><p class="line867"> <h2 id="RISC-V_image">RISC-V image</h2> <span class="anchor" id="line-63"></span><span class="anchor" id="line-64"></span><p class="line862">RISC-V images for SiFive HiFive Unleashed and Unmatched boards are now available, which can also be used as a VM with QEMU on any Ubuntu 20.04 machine. For more details see <a href="/RISC-V">RISC-V</a> page. <span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span><p class="line867"> <h2 id="Updated_Packages">Updated Packages</h2> <span class="anchor" id="line-67"></span><span class="anchor" id="line-68"></span><p class="line874">As with every Ubuntu release, Ubuntu 20.04 LTS comes with a selection of the latest and greatest software developed by the free software community. <span class="anchor" id="line-69"></span><span class="anchor" id="line-70"></span><p class="line867"> <h3 id="Linux_Kernel">Linux Kernel</h3> <span class="anchor" id="line-71"></span><span class="anchor" id="line-72"></span><p class="line862">Ubuntu 20.04 LTS is based on the long-term supported Linux release series <strong>5.4</strong>. HWE stack updated to Linux release series <strong>5.8</strong>. <span class="anchor" id="line-73"></span><span class="anchor" id="line-74"></span><p class="line867"><strong>NOTE:</strong> Users who installed from Ubuntu Desktop media should see the note about desktop tracking the rolling hardware enablement kernel series by default <a href="/FocalFossa/ReleaseNotes#Ubuntu_Desktop">here</a>. <span class="anchor" id="line-75"></span><span class="anchor" id="line-76"></span><p class="line874">Notable features and enhancements in 5.4 since 5.3 include: <span class="anchor" id="line-77"></span><span class="anchor" id="line-78"></span><ul><li>Support for new hardware including Intel Comet Lake CPUs and initial Tiger Lake platforms, AMD Navi 12 and 14 GPUs, Arcturus and Renoir APUs along with Navi 12 + Arcturus power features. <span class="anchor" id="line-79"></span></li><li>Support has been added for the exFAT filesystem, virtio-fs for sharing filesystems with virtualized guests and fs-verity for detecting file modifications. <span class="anchor" id="line-80"></span></li><li><p class="line862">Built in support for the <a class="nonexistent" href="/WireGuard">WireGuard</a> VPN. <span class="anchor" id="line-81"></span></li><li>Enablement of lockdown in integrity mode. <span class="anchor" id="line-82"></span><span class="anchor" id="line-83"></span></li></ul><p class="line862">Other notable kernel updates to <strong>5.4</strong> since version 4.15 released in 18.04 LTS include: <span class="anchor" id="line-84"></span><span class="anchor" id="line-85"></span><ul><li>Support for AMD Rome CPUs, Radeon RX Vega M and Navi GPUs, Intel Cannon Lake platforms. <span class="anchor" id="line-86"></span></li><li>Support for raspberry pi (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B) <span class="anchor" id="line-87"></span></li><li>Significant power-saving improvements. <span class="anchor" id="line-88"></span></li><li>Numerous USB 3.2 and Type-C improvements. <span class="anchor" id="line-89"></span></li><li>A new mount API, the io_uring interface, KVM support for AMD Secure Encrypted Virtualization and pidfd support. <span class="anchor" id="line-90"></span></li><li>Boot speed improvements through changing the default kernel compression algorithm to lz4 (in Ubuntu 19.10) on most architectures, and changing the default initramfs compression algorithm to lz4 on all architectures. <span class="anchor" id="line-91"></span><span class="anchor" id="line-92"></span></li></ul><p class="line867"> <h3 id="Toolchain_Upgrades_.2B2D3e4P4P-">Toolchain Upgrades 🛠️</h3> <span class="anchor" id="line-93"></span><span class="anchor" id="line-94"></span><p class="line874">Ubuntu 20.04 LTS comes with refreshed state-of-the-art toolchain including new upstream releases of glibc 2.31, ☕ OpenJDK 11, rustc 1.41, GCC 9.3, 🐍 Python 3.8.2, 💎 ruby 2.7.0, php 7.4, 🐪 perl 5.30, golang 1.13. <span class="anchor" id="line-95"></span><span class="anchor" id="line-96"></span><p class="line867"> <h3 id="Ubuntu_Desktop">Ubuntu Desktop</h3> <span class="anchor" id="line-97"></span><span class="anchor" id="line-98"></span><ul><li><p class="line862">Ubuntu Desktop flavour now always tracks HWE (hardware enablement) kernel. It means that from January 2021 the Ubuntu Desktop will gain new major kernel versions every 6 months through to summer of 2022, even if you installed Ubuntu Desktop earlier than this.<br> Read more about it on the Ubuntu discourse thread <a class="https" href="https://discourse.ubuntu.com/t/improvements-for-hardware-support-in-ubuntu-desktop-installation-media">Improvements for hardware support in Ubuntu Desktop installation media</a>. <span class="anchor" id="line-99"></span><span class="anchor" id="line-100"></span></li><li class="gap">New graphical boot splash (integrates with the system BIOS logo). <span class="anchor" id="line-101"></span><span class="anchor" id="line-102"></span></li><li class="gap"><p class="line862">Refreshed <a class="https" href="https://ubuntu.com/blog/new-ubuntu-theme-in-development-for-20-04">Yaru theme</a> 🎨 <span class="anchor" id="line-103"></span><ul><li><p class="line891"><a class="https" href="https://twitter.com/m_wimpress/status/1232246572479590401">Light/Dark theme switching</a> <span class="anchor" id="line-104"></span><span class="anchor" id="line-105"></span></li></ul></li><li class="gap">GNOME 3.36 <span class="anchor" id="line-106"></span><ul><li>New lock screen design. <span class="anchor" id="line-107"></span></li><li>New system menu design. <span class="anchor" id="line-108"></span></li><li>New app folder design. <span class="anchor" id="line-109"></span></li><li><p class="line862">Smoother performance, lower CPU usage for <a class="https" href="https://bugs.launchpad.net/bugs/1725180">window and overview animations</a>, <a class="https" href="https://gitlab.gnome.org/GNOME/gjs/issues/302">JavaScript execution</a>, <a class="https" href="https://bugs.launchpad.net/bugs/1848951">mouse movement</a> and <a class="https" href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/724">window movement (which also has lower latency now)</a>. <span class="anchor" id="line-110"></span></li><li><p class="line862">10-bit <a class="https" href="https://en.wikipedia.org/wiki/Color_depth#Deep_color_(30/36/48-bit)">deep colour</a> support. <span class="anchor" id="line-111"></span></li><li>X11 fractional scaling. <span class="anchor" id="line-112"></span><span class="anchor" id="line-113"></span></li></ul></li><li class="gap"><p class="line891"><a class="https" href="https://www.mesa3d.org/">Mesa</a> 20.0 OpenGL stack <span class="anchor" id="line-114"></span></li><li><p class="line891"><a class="http" href="http://www.bluez.org/">BlueZ</a> 5.53 <span class="anchor" id="line-115"></span></li><li><p class="line891"><a class="https" href="https://www.freedesktop.org/wiki/Software/PulseAudio/">PulseAudio</a> 14.0 (prerelease) <span class="anchor" id="line-116"></span></li><li><p class="line891"><a class="https" href="https://www.mozilla.org/en-US/firefox/75.0/releasenotes/">Firefox 75.0</a> <span class="anchor" id="line-117"></span></li><li><p class="line891"><a class="https" href="https://www.thunderbird.net/en-US/thunderbird/68.7.0/releasenotes/">Thunderbird 68.7.0</a> <span class="anchor" id="line-118"></span></li><li><p class="line891"><a class="https" href="https://wiki.documentfoundation.org/ReleaseNotes/6.4">LibreOffice 6.4</a> <span class="anchor" id="line-119"></span><span class="anchor" id="line-120"></span></li></ul><p class="line867"><span class="anchor" id="line-121"></span><span class="anchor" id="line-122"></span><p class="line867"> <h2 id="Network_configuration">Network configuration</h2> <span class="anchor" id="line-123"></span><span class="anchor" id="line-124"></span><p class="line862">With this Ubuntu release, <a class="https" href="https://netplan.io/">netplan.io</a> has grown multiple new features, some of which are: <span class="anchor" id="line-125"></span><ul><li>Basic support for configuring SR-IOV network devices. Starting with netplan.io 0.99, users can declare Virtual Functions for every SR-IOV Physical Function, configure those as any other networking device and set hardware VLAN VF filtering on them. <span class="anchor" id="line-126"></span></li><li><p class="line862">Support for GSM modems via the <a href="/NetworkManager">NetworkManager</a> backend via the <tt class="backtick">modems</tt> section. <span class="anchor" id="line-127"></span></li><li><p class="line862">Adding <a href="/WiFi">WiFi</a> flags for <tt class="backtick">bssid</tt>/<tt class="backtick">band</tt>/<tt class="backtick">channel</tt> settings. <span class="anchor" id="line-128"></span></li><li><p class="line862">Adding ability to set <tt class="backtick">ipv6-address-generation</tt> for the <a href="/NetworkManager">NetworkManager</a> backend and <tt class="backtick">emit-lldp</tt> for networkd. <span class="anchor" id="line-129"></span><span class="anchor" id="line-130"></span></li></ul><p class="line867"> <h2 id="Storage.2FFile_Systems">Storage/File Systems</h2> <span class="anchor" id="line-131"></span><p class="line867"> <h3 id="ZFS_0.8.3">ZFS 0.8.3</h3> <span class="anchor" id="line-132"></span><p class="line874">Continuing with what started in the Eoan release, Ubuntu Focal ships zfs 0.8.3. Compared to what was available in the previous LTS release, zfs 0.8 brings many new features. Highlights include: <span class="anchor" id="line-133"></span><ul><li>Native Encryption (with hardware acceleration enabled in Focal) <span class="anchor" id="line-134"></span></li><li>Device removal <span class="anchor" id="line-135"></span></li><li>Pool TRIM <span class="anchor" id="line-136"></span></li><li>Sequential scrub and resilver (performance) <span class="anchor" id="line-137"></span><span class="anchor" id="line-138"></span></li></ul><p class="line862">Upstream 0.8.0 release notes: <a class="https" href="https://github.com/openzfs/zfs/releases/tag/zfs-0.8.0">https://github.com/openzfs/zfs/releases/tag/zfs-0.8.0</a> <span class="anchor" id="line-139"></span><span class="anchor" id="line-140"></span><p class="line862">Also checkout <a class="https" href="https://github.com/openzfs/zfs/releases/tag/zfs-0.8.1">0.8.1</a>, <a class="https" href="https://github.com/openzfs/zfs/releases/tag/zfs-0.8.2">0.8.2</a> and <a class="https" href="https://github.com/openzfs/zfs/releases/tag/zfs-0.8.3">0.8.3</a> for more details. <span class="anchor" id="line-141"></span><span class="anchor" id="line-142"></span><p class="line867"> <h2 id="Other_base_system_changes_since_18.04_LTS">Other base system changes since 18.04 LTS</h2> <span class="anchor" id="line-143"></span><span class="anchor" id="line-144"></span><p class="line867"> <h3 id="Python3_by_default">Python3 by default</h3> <span class="anchor" id="line-145"></span><p class="line874">In 20.04 LTS, the python included in the base system is Python 3.8. Python 2.7 has been moved to universe and is not included by default in any new installs. <span class="anchor" id="line-146"></span><span class="anchor" id="line-147"></span><p class="line862">Remaining packages in Ubuntu which require Python 2.7 have been updated to use /usr/bin/python2 as their interpreter, and <tt class="backtick">/usr/bin/python</tt> is not present by default on any new installs. On systems upgraded from previous releases, <tt class="backtick">/usr/bin/python</tt> will continue to point to <tt class="backtick">python2</tt> for compatibility. Users who require <tt class="backtick">/usr/bin/python</tt> for compatibility on newly-installed systems are encouraged to install the <tt class="backtick">python-is-python3</tt> package, for a <tt class="backtick">/usr/bin/python</tt> pointing to <tt class="backtick">python3</tt> instead. <span class="anchor" id="line-148"></span><span class="anchor" id="line-149"></span><p class="line862">Due to this transition the legacy <tt class="backtick">python</tt> and <tt class="backtick">python-minimal</tt> packages might be removed during an upgrade, being replaced by the <tt class="backtick">python2</tt> and <tt class="backtick">python2-minimal</tt> packages as dependencies of the <tt class="backtick">python-is-python2</tt> package. <span class="anchor" id="line-150"></span><span class="anchor" id="line-151"></span><p class="line867"> <h3 id="Snap_Store">Snap Store</h3> <span class="anchor" id="line-152"></span><span class="anchor" id="line-153"></span><p class="line874">The Snap Store (snap-store) replaces ubuntu-software as the default tool for finding and installing packages and snaps. <span class="anchor" id="line-154"></span><span class="anchor" id="line-155"></span><p class="line867"> <h2 id="Ubuntu_Server">Ubuntu Server</h2> <span class="anchor" id="line-156"></span><span class="anchor" id="line-157"></span><p class="line867"> <h3 id="Installer">Installer</h3> <span class="anchor" id="line-158"></span><span class="anchor" id="line-159"></span><p class="line874">The live server installer is now the preferred media to install Ubuntu <span class="anchor" id="line-160"></span>Server on all architectures. <span class="anchor" id="line-161"></span><span class="anchor" id="line-162"></span><p class="line874">Besides architecture support, the main user visible new features are <span class="anchor" id="line-163"></span><a class="https" href="https://wiki.ubuntu.com/FoundationsTeam/AutomatedServerInstalls">support for automated installs</a> and being able to install the bootloader to <span class="anchor" id="line-164"></span>multiple disks (for a more resilient system). <span class="anchor" id="line-165"></span><span class="anchor" id="line-166"></span><p class="line874">There have been many other fixes under the hood to make using <span class="anchor" id="line-167"></span>encryption easier, better support installing to multipath disks, more <span class="anchor" id="line-168"></span>reliable installation onto disks that have been used in various ways <span class="anchor" id="line-169"></span>and allowing failures to be reported more usefully. <span class="anchor" id="line-170"></span><span class="anchor" id="line-171"></span><p class="line874">Starting from Ubuntu Server 20.04.2 the ISO images can optionally boot the installer using the HWE kernel. In this case the installed system will automatically make use of the HWE stack. <span class="anchor" id="line-172"></span><span class="anchor" id="line-173"></span><p class="line867"> <h3 id="QEMU">QEMU</h3> <span class="anchor" id="line-174"></span><span class="anchor" id="line-175"></span><p class="line874">QEMU was updated to 4.2 release. <span class="anchor" id="line-176"></span>There is so much that it is hard to select individual improvements to highlight, here just a few: <span class="anchor" id="line-177"></span><span class="anchor" id="line-178"></span><ul><li>free page hinting through virtio-balloon to avoid migrating unused pages which can speed up migrations <span class="anchor" id="line-179"></span></li><li>PPC: NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI <span class="anchor" id="line-180"></span></li><li>Many speed improvements for LUKS backend <span class="anchor" id="line-181"></span></li><li>pmem/nvdimm support <span class="anchor" id="line-182"></span></li><li>... <span class="anchor" id="line-183"></span><span class="anchor" id="line-184"></span></li></ul><p class="line862">Therefore please see the full change logs <a class="http" href="http://wiki.qemu.org/ChangeLog/4.2">4.2</a> and <a class="http" href="http://wiki.qemu.org/ChangeLog/4.1">4.1</a> for major changes since Ubuntu 19.10. <span class="anchor" id="line-185"></span><span class="anchor" id="line-186"></span><p class="line862">For Upgraders from Ubuntu 18.04 please also check out <a class="http" href="http://wiki.qemu.org/ChangeLog/4.0">4.0</a>, <a class="http" href="http://wiki.qemu.org/ChangeLog/3.1">3.1</a>, <a class="http" href="http://wiki.qemu.org/ChangeLog/3.0">3.0</a> and <a class="http" href="http://wiki.qemu.org/ChangeLog/2.12">2.12</a>. <span class="anchor" id="line-187"></span><span class="anchor" id="line-188"></span><p class="line862">When upgrading it is always recommended to <a class="https" href="https://wiki.ubuntu.com/QemuKVMMigration#Upgrade_machine_type">upgrade the machine types</a> allowing guests to fully benefit from all the improvements and fixes of the most recent version. <span class="anchor" id="line-189"></span><span class="anchor" id="line-190"></span><p class="line867"> <h4 id="upgrading_from_19.10">upgrading from 19.10</h4> <span class="anchor" id="line-191"></span><span class="anchor" id="line-192"></span><p class="line862">For trimmed down container like isolation use-cases the new qemu has the <a class="https" href="https://github.com/bonzini/qemu/blob/master/docs/microvm.rst">microvm</a> machine type which can be combined with the <a class="https" href="https://github.com/bonzini/qboot">qboot</a> ROM (available as <tt class="backtick">bios-microvm.bin</tt>) to provide a reduced feature set at a much faster startup time. To further emphasize that you can use the package <tt class="backtick">qemu-system-x86-microvm</tt> which provides an alternative QEMU binary stripped of all features not needed these use cases as sugegsted by the <a class="https" href="https://github.com/bonzini/qboot">qboot</a> ROM. <span class="anchor" id="line-193"></span><span class="anchor" id="line-194"></span><p class="line862">The VMX related features can now be controlled individually instead of just vmx on/off. Due to that the VMX-subfeatures of certain CPU types might have slightly changed (matching those of the selected CPU type now instead of almost randomly depending on the underlying hardware). In general it is - and always was - recommended to use a well defined cpu type when defining a guest, this is also what almost all higher level management tools from virt-manager to openstack will do. But if you want the most generic and compatible cpu but also enable VMX please use the type <tt class="backtick">kvm64</tt> instead of <tt class="backtick">qemu64</tt> now. <span class="anchor" id="line-195"></span><span class="anchor" id="line-196"></span><p class="line862">People that like to work or experiment with nvdimms and persistent memory QEMU now has <a class="https" href="https://docs.pmem.io/persistent-memory/getting-started-guide/creating-development-environments/virtualization/qemu">pmem</a> and <a class="https" href="https://github.com/qemu/qemu/blob/master/docs/nvdimm.txt">nvdimm</a> support enabled in Ubuntu Focal Fossa. <span class="anchor" id="line-197"></span><span class="anchor" id="line-198"></span><p class="line867"> <h4 id="upgrading_from_18.04">upgrading from 18.04</h4> <span class="anchor" id="line-199"></span><span class="anchor" id="line-200"></span><p class="line862">QEMU now has <a class="https" href="https://virgil3d.github.io/">virglrenderer</a> enabled which allows to create a virtual 3D GPU inside QEMU virtual machines. That is inferior to GPU passthrough, but can be handy if the platform used lacks the capability for classic <a class="https" href="https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM">PCI passthrough</a> as well as more modern <a class="https" href="https://www.kernel.org/doc/Documentation/vfio-mediated-device.txt">mediated devices</a>. <span class="anchor" id="line-201"></span><span class="anchor" id="line-202"></span><p class="line874">The graphical QEMU back-end is now based on GTK instead of SDL. That provides much better Desktop integration and is often faster. <span class="anchor" id="line-203"></span><span class="anchor" id="line-204"></span><p class="line867"> <h3 id="libvirt">libvirt</h3> <span class="anchor" id="line-205"></span><span class="anchor" id="line-206"></span><p class="line862">libvirt was updated to version 6.0. See the upstream <a class="https" href="https://libvirt.org/news.html">change log</a> for details since version 5.6 that was in Ubuntu 19.04 or further back since verison 4.0 that was in Ubuntu 18.04. <span class="anchor" id="line-207"></span><span class="anchor" id="line-208"></span><p class="line867"> <h4 id="upgrading_from_19.10-1">upgrading from 19.10</h4> <span class="anchor" id="line-209"></span><span class="anchor" id="line-210"></span><p class="line874">Among many improvements worth to mention might be the features: <span class="anchor" id="line-211"></span><ul><li>to access NVMe disks directly now allowing a speed oriented setup that still supports migration. <span class="anchor" id="line-212"></span></li><li>Mediated GPU devices are now supported as boot display. <span class="anchor" id="line-213"></span></li><li>Support kvm-hint-dedicated performance hint allowing the guest to enable optimizations when running on dedicated vCPUs <span class="anchor" id="line-214"></span></li><li>...see the detailed changelog linked above for much more <span class="anchor" id="line-215"></span><span class="anchor" id="line-216"></span></li></ul><p class="line867"> <h4 id="upgrading_from_18.04-1">upgrading from 18.04</h4> <span class="anchor" id="line-217"></span><span class="anchor" id="line-218"></span><p class="line862">Worth mentioning is that libvirt can now enable QEMUs ability to use <a class="http" href="http://manpages.ubuntu.com/manpages/eoan/man1/virsh.1.html">parallel connections for migration</a> which can help to speed up migrations if one doesn't saturate your network yet. <span class="anchor" id="line-219"></span><span class="anchor" id="line-220"></span><p class="line874">Administrators might like the ease of a new local include apparmor to the libvirt-qemu profile that allows local overrides for special devices or paths matching your setup without conffile delta that has to be managed on later upgrades. <span class="anchor" id="line-221"></span><span class="anchor" id="line-222"></span><p class="line874">Added the ability to have GL enabled graphics as well as mediated devices to be configured while still being guarded by custom apparmor profiles generated per guest. This is required for the use of gpu based mediated devices as well as VirGL mentioned above in the qemu section. <span class="anchor" id="line-223"></span><span class="anchor" id="line-224"></span><p class="line867"> <h4 id="Transition_libvirt-bin_-.3E__libvirt-clients_.2F_libvirt-daemon_.2F_libvirt-daemon-system">Transition libvirt-bin -> libvirt-clients / libvirt-daemon / libvirt-daemon-system</h4> <span class="anchor" id="line-225"></span><span class="anchor" id="line-226"></span><p class="line862">Already in Ubuntu 18.04 the package was split from an almost single monolithic package <em>libvirt-bin</em> into three main components: <span class="anchor" id="line-227"></span><span class="anchor" id="line-228"></span><ul><li><p class="line891"><strong>libvirt-daemon-system</strong> - system integration of the daemon with config and systemd service files (this is the most similar single package to the old libvirt-bin) <span class="anchor" id="line-229"></span></li><li><p class="line891"><strong>libvirt-clients</strong> - cli tools to interact with libvirt like <em>virsh</em> <span class="anchor" id="line-230"></span></li><li><p class="line891"><strong>libvirt-daemon</strong> - just the libvirt daemon, without services/configuration <span class="anchor" id="line-231"></span><span class="anchor" id="line-232"></span></li></ul><p class="line862">In a similar fashion rarely used and less supported sub-features like virtualbox and xen control, as well as uncommon storage options are broken out into various <em>libvirt-daemon-driver-*</em> packages. That allows to reduce the install footprint and active code in the majority of installations. <span class="anchor" id="line-233"></span><span class="anchor" id="line-234"></span><p class="line862">Packages and project had plenty of time to transition, so now the empty compatibility package libvirt-bin that was pulling in <em>libvirt-daemon-system</em> + <em>libvirt-clients</em> was finally dropped. If you happen to have scripts or third party components referring to the old name use the list above to select which new package makes most sense to you. <span class="anchor" id="line-235"></span><span class="anchor" id="line-236"></span><p class="line867"> <h3 id="dpdk">dpdk</h3> <span class="anchor" id="line-237"></span><span class="anchor" id="line-238"></span><p class="line874">Ubuntu 20.04 LTS includes the latest stable release 19.11.1 of the latest LTS series 19.11.x. <span class="anchor" id="line-239"></span>The very latest (non-stable) version being 20.02 was not chosen for downstream projects of DPDK (like Open vSwitch) not being compatible yet. <span class="anchor" id="line-240"></span><span class="anchor" id="line-241"></span><p class="line862">See the <a class="https" href="https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html">19.11</a> and <a class="https" href="https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#release-notes">19.11.1</a> release notes for details. <span class="anchor" id="line-242"></span><span class="anchor" id="line-243"></span><p class="line867"> <h4 id="upgrading_from_18.04-2">upgrading from 18.04</h4> <span class="anchor" id="line-244"></span><span class="anchor" id="line-245"></span><p class="line874">DPDK dependencies were reorganized into more or less common/tested components. Due to that most DPDK installations will now have a smaller installation footprint and less potentially active code to care about. <span class="anchor" id="line-246"></span><span class="anchor" id="line-247"></span><p class="line867"> <h3 id="Open_vSwitch">Open vSwitch</h3> <span class="anchor" id="line-248"></span><span class="anchor" id="line-249"></span><p class="line874">Open vSwitch has been updated to 2.13. <span class="anchor" id="line-250"></span><span class="anchor" id="line-251"></span><p class="line862">Please read the <a class="https" href="https://www.openvswitch.org/releases/NEWS-2.13.0.txt">2.13 release notes</a> for more detail. <span class="anchor" id="line-252"></span><span class="anchor" id="line-253"></span><p class="line874">Upgraders from 18.04 might also want to take a look at release notes of: <span class="anchor" id="line-254"></span><ul><li><p class="line891"><a class="https" href="https://www.openvswitch.org/releases/NEWS-2.12.0.txt">2.12 release notes</a> <span class="anchor" id="line-255"></span></li><li><p class="line891"><a class="https" href="https://www.openvswitch.org/releases/NEWS-2.11.0.txt">2.11 release notes</a> <span class="anchor" id="line-256"></span></li><li><p class="line891"><a class="https" href="https://www.openvswitch.org/releases/NEWS-2.10.0.txt">2.10 release notes</a> <span class="anchor" id="line-257"></span><span class="anchor" id="line-258"></span></li></ul><p class="line867"> <h3 id="Chrony">Chrony</h3> <span class="anchor" id="line-259"></span><span class="anchor" id="line-260"></span><p class="line862">Chrony been updated to <a class="https" href="https://chrony.tuxfamily.org/news.html">version 3.5</a> which provides plenty of improvements in accuracy and controls. Furthermore it also adds additional isolation for non-x86 by enabling syscall filters on those architectures as well. <span class="anchor" id="line-261"></span><span class="anchor" id="line-262"></span><p class="line862">To further allow feeding <a class="https" href="https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html">Hardware time into Chrony</a> the package <a class="https" href="https://gpsd.gitlab.io/gpsd/index.html">GPSD</a> is now also fully supported. <span class="anchor" id="line-263"></span><span class="anchor" id="line-264"></span><p class="line874">But still for simple time-sync needs the base system already comes with systemd-timesyncd. Chrony is only needed to act as a time server or if you want the advertised more accurate and efficient syncing. <span class="anchor" id="line-265"></span><span class="anchor" id="line-266"></span><p class="line867"> <h3 id="cloud-init">cloud-init</h3> <span class="anchor" id="line-267"></span><span class="anchor" id="line-268"></span><p class="line874">Cloud-init was updated to version 20.1-10. Notable features include: <span class="anchor" id="line-269"></span><span class="anchor" id="line-270"></span><p class="line867"> <h4 id="Cloud_platform_features">Cloud platform features</h4> <span class="anchor" id="line-271"></span><span class="anchor" id="line-272"></span><ul><li>New datasource detection/support: e24cloud, Exoscale, Zstack <span class="anchor" id="line-273"></span></li><li>Azure dhcp6 support, fix runtime error on cc_disk_setup, add support for byte-swapped instance-id <span class="anchor" id="line-274"></span></li><li>EC2: render IPv4 and IPv6 network on all NICs, IMDSv2 session-based API tokens and add secondary IPs as static <span class="anchor" id="line-275"></span></li><li><p class="line862">Scaleway: Fix <a class="nonexistent" href="/DatasourceScaleway">DatasourceScaleway</a> network rendering when unset <span class="anchor" id="line-276"></span><span class="anchor" id="line-277"></span></li><li class="gap">LRU cache frequently used utils for improved performance <span class="anchor" id="line-278"></span></li><li>Drop python2 support <span class="anchor" id="line-279"></span><span class="anchor" id="line-280"></span></li></ul><p class="line867"> <h4 id="Networking_features">Networking features</h4> <span class="anchor" id="line-281"></span><span class="anchor" id="line-282"></span><ul><li>Prioritize netplan rendering above /etc/network/interfaces even when both <span class="anchor" id="line-283"></span><ul><li style="list-style-type:none">are present <span class="anchor" id="line-284"></span></li></ul></li><li>Read network config from initramfs <span class="anchor" id="line-285"></span></li><li>net: support network-config:disabled on the kernel commandline <span class="anchor" id="line-286"></span></li><li>Add physical network type: cascading to openstack helpers <span class="anchor" id="line-287"></span></li><li>net/cmdline: correctly handle static ip= config <span class="anchor" id="line-288"></span><span class="anchor" id="line-289"></span></li></ul><p class="line867"> <h4 id="Config_module_features">Config module features</h4> <span class="anchor" id="line-290"></span><span class="anchor" id="line-291"></span><ul><li>distros: drop leading/trailing hyphens from mirror URL labels <span class="anchor" id="line-292"></span></li><li>cc_disk_setup: add swap filesystem force flag <span class="anchor" id="line-293"></span></li><li>cloud-init query surfaces merged_cfg and system_info dicts for use in <span class="anchor" id="line-294"></span><ul><li style="list-style-type:none">Jinja templated cloud-config when opinionated based on series, platform <span class="anchor" id="line-295"></span></li></ul></li><li><p class="line862">use <a class="nonexistent" href="/SystemRandom">SystemRandom</a> when generating random password. <span class="anchor" id="line-296"></span><span class="anchor" id="line-297"></span></li></ul><p class="line867"> <h3 id="PHP_7.4">PHP 7.4</h3> <span class="anchor" id="line-298"></span><span class="anchor" id="line-299"></span><p class="line862">PHP 7.4 is a new feature update, bringing typed properties, arrow functions, weak references, and unpacking inside arrays among other things. For more information on the new features and improvements, see the <a class="https" href="https://www.php.net/releases/7_4_0.php">PHP 7.4 Release Announcement</a>. <span class="anchor" id="line-300"></span><span class="anchor" id="line-301"></span><p class="line862">For more details about deprecated functionality, and suggested replacements, see the <a class="https" href="https://www.php.net/manual/en/migration74.deprecated.php">PHP 7.4 Deprecated Features</a> page. <a class="https" href="https://www.php.net/manual/en/migration74.php">Migration guides to 7.4 from 7.3</a> or earlier versions of PHP are also available in the PHP Manual. Users coming from Ubuntu 18.04 will be moving from 7.2 to 7.4, so should also refer to the <a class="https" href="https://www.php.net/manual/en/migration73.php">Migration guides to 7.3 from 7.2</a>. <span class="anchor" id="line-302"></span><span class="anchor" id="line-303"></span><p class="line867"> <h3 id="Ruby_2.7">Ruby 2.7</h3> <span class="anchor" id="line-304"></span><span class="anchor" id="line-305"></span><p class="line862">The default Ruby interpreter was updated to version 2.7. It comes with some nice features and improvements like: Pattern Matching, REPL improvement, Compaction GC, Separation of positional and keyword arguments and much more. To have a broad overview about the cool features and improvements check the <a class="https" href="https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/">Ruby 2.7 Release Announcement</a>. <span class="anchor" id="line-306"></span><span class="anchor" id="line-307"></span><p class="line862">Users coming from previous Ubuntu releases (from 18.04 on) will be moving from Ruby 2.5 to 2.7, in this case the <a class="https" href="https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/">Ruby 2.6 Release Announcement</a> might be useful as well. An important thing to keep in mind is that some libraries are not bundled anymore in Ruby. If you need them please install them separately: <span class="anchor" id="line-308"></span><span class="anchor" id="line-309"></span><ul><li>CMath <span class="anchor" id="line-310"></span></li><li>Scanf <span class="anchor" id="line-311"></span></li><li>Shell <span class="anchor" id="line-312"></span></li><li>Synchronizer (ruby-sync) <span class="anchor" id="line-313"></span></li><li><p class="line891"><a class="nonexistent" href="/ThreadsWait">ThreadsWait</a> (ruby-thwait) <span class="anchor" id="line-314"></span></li><li>E2MM (ruby-e2mmap) <span class="anchor" id="line-315"></span><span class="anchor" id="line-316"></span></li></ul><p class="line862">For more information check out this <a class="https" href="https://discourse.ubuntu.com/t/ruby-2-7-in-focal/15020">blog post</a>. <span class="anchor" id="line-317"></span><span class="anchor" id="line-318"></span><p class="line867"> <h3 id="Ruby_on_Rails_5.2.3">Ruby on Rails 5.2.3</h3> <span class="anchor" id="line-319"></span><span class="anchor" id="line-320"></span><p class="line874">Ruby on Rails was updated to version 5.2.3. From users coming from Ubuntu 18.04 is a major change, moving from version 4.2.10 to 5.2.3. Some highlights are: addition of Action Cable framework, option to create slimmed down API only appli <span class="anchor" id="line-321"></span>cations, Active Record attributes API and so on. Check the Ruby on Rails <a class="https" href="https://guides.rubyonrails.org/5_0_release_notes.html">5</a> and <a class="https" href="https://guides.rubyonrails.org/5_2_release_notes.html">5.2</a> Release Notes for an overview. <span class="anchor" id="line-322"></span><span class="anchor" id="line-323"></span><p class="line874">If you need to upgrade your Ruby on Rails application please take a look at the <span class="anchor" id="line-324"></span><a class="https" href="https://guides.rubyonrails.org/upgrading_ruby_on_rails.html">upstream upgrading guide</a>. <span class="anchor" id="line-325"></span><span class="anchor" id="line-326"></span><span class="anchor" id="line-327"></span><p class="line867"> <h3 id="Ubuntu_HA.2FClustering">Ubuntu HA/Clustering</h3> <span class="anchor" id="line-328"></span><span class="anchor" id="line-329"></span><p class="line867"> <h4 id="Kronosnet">Kronosnet</h4> <span class="anchor" id="line-330"></span><span class="anchor" id="line-331"></span><p class="line874">kronosnet (or knet for short) is the new underlying network protocol for Linux <span class="anchor" id="line-332"></span>HA components (corosync), that features the ability to use multiple links <span class="anchor" id="line-333"></span>between nodes, active/active and active/passive link failover policies, <span class="anchor" id="line-334"></span>automatic link recovery, FIPS compliant encryption (NSS and/or OpenSSL), <span class="anchor" id="line-335"></span>automatic PMTUd and in general better performance compared to the old network <span class="anchor" id="line-336"></span>protocol. <span class="anchor" id="line-337"></span><span class="anchor" id="line-338"></span><p class="line874">Main NEW features: <span class="anchor" id="line-339"></span><span class="anchor" id="line-340"></span><ul><li>Up to 8 links dynamically reconfigured without restart of corosync <span class="anchor" id="line-341"></span></li><li>MTU auto-configuration <span class="anchor" id="line-342"></span></li><li>Support for NSS or OpenSSL encryption of packets <span class="anchor" id="line-343"></span></li><li>Compression <span class="anchor" id="line-344"></span></li><li>Higher throughput and lower latency <span class="anchor" id="line-345"></span></li><li>Support for RDMA and Upstart is gone <span class="anchor" id="line-346"></span><span class="anchor" id="line-347"></span></li></ul><p class="line867"> <h4 id="Corosync">Corosync</h4> <span class="anchor" id="line-348"></span><span class="anchor" id="line-349"></span><p class="line874">From Corosync 3 release notes: <span class="anchor" id="line-350"></span><span class="anchor" id="line-351"></span><p class="line874">Corosync 3.0 contains many interesting features mostly related to usage of <span class="anchor" id="line-352"></span>Kronosnet (<a class="https" href="https://kronosnet.org/">https://kronosnet.org/</a>) as a default (and preferred) network <span class="anchor" id="line-353"></span>transport. <span class="anchor" id="line-354"></span><span class="anchor" id="line-355"></span><p class="line867"> <h4 id="Pacemaker">Pacemaker</h4> <span class="anchor" id="line-356"></span><span class="anchor" id="line-357"></span><p class="line874">From Pacemaker 2.0 release notes: <span class="anchor" id="line-358"></span><span class="anchor" id="line-359"></span><p class="line874">The main goal of the 2.0 release was to remove support for deprecated syntax, <span class="anchor" id="line-360"></span>along with some small changes in default configuration behavior and tool <span class="anchor" id="line-361"></span>behavior. Highlights: Only Corosync version 2 and greater is now supported as <span class="anchor" id="line-362"></span>the underlying cluster layer. Support for Heartbeat and Corosync 1 (including <span class="anchor" id="line-363"></span>CMAN) is removed. <span class="anchor" id="line-364"></span><span class="anchor" id="line-365"></span><p class="line874">Rolling upgrades from Pacemaker versions earlier than 1.1.11 are not possible, <span class="anchor" id="line-366"></span>even if the underlying cluster stack is corosync 2 or greater. Other rolling <span class="anchor" id="line-367"></span>upgrades, from newer versions on top of corosync 2 or greater, should be <span class="anchor" id="line-368"></span>possible with little to no change. <span class="anchor" id="line-369"></span><span class="anchor" id="line-370"></span><ul><li><p class="line891"><a class="https" href="https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Configuration_Changes">https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Configuration_Changes</a> <span class="anchor" id="line-371"></span></li><li><p class="line891"><a class="https" href="https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Daemon_Changes">https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Daemon_Changes</a> <span class="anchor" id="line-372"></span></li><li><p class="line891"><a class="https" href="https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Tool_Changes">https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Tool_Changes</a> <span class="anchor" id="line-373"></span></li><li><p class="line891"><a class="https" href="https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_API_Changes">https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_API_Changes</a> <span class="anchor" id="line-374"></span><span class="anchor" id="line-375"></span></li></ul><p class="line867"> <h4 id="Resource_Agents">Resource Agents</h4> <span class="anchor" id="line-376"></span><span class="anchor" id="line-377"></span><p class="line874">Cluster Resource Agents (RAs), compliant with the Open Cluster Framework (OCF) <span class="anchor" id="line-378"></span>specification, used to interface with various services in a High Availability <span class="anchor" id="line-379"></span>environment managed by the Pacemaker resource manager. <span class="anchor" id="line-380"></span><span class="anchor" id="line-381"></span><p class="line874">Complete Changelog: <span class="anchor" id="line-382"></span><span class="anchor" id="line-383"></span><ul><li><p class="line891"><a class="https" href="https://github.com/ClusterLabs/resource-agents/blob/master/ChangeLog">https://github.com/ClusterLabs/resource-agents/blob/master/ChangeLog</a> <span class="anchor" id="line-384"></span><span class="anchor" id="line-385"></span></li></ul><p class="line867"> <h4 id="Fence_Agents">Fence Agents</h4> <span class="anchor" id="line-386"></span><span class="anchor" id="line-387"></span><p class="line874">Fence Agents is a collection of scripts to handle remote power management for <span class="anchor" id="line-388"></span>several devices. They allow failed or unreachable nodes to be forcibly restarted <span class="anchor" id="line-389"></span>and removed from the cluster. <span class="anchor" id="line-390"></span><span class="anchor" id="line-391"></span><p class="line867"> <h4 id="keepalived">keepalived</h4> <span class="anchor" id="line-392"></span><span class="anchor" id="line-393"></span><p class="line874">Failover and monitoring daemon for LVS clusters, used for monitoring real <span class="anchor" id="line-394"></span>servers within a Linux Virtual Server (LVS) cluster. It can be configured to <span class="anchor" id="line-395"></span>remove real servers from the cluster pool if they stop responding, as well as <span class="anchor" id="line-396"></span>send a notification email to make the admin aware of the service failure. <span class="anchor" id="line-397"></span><span class="anchor" id="line-398"></span><p class="line867"> <h3 id="isc-kea_1.6_stable_track">isc-kea 1.6 stable track</h3> <span class="anchor" id="line-399"></span><span class="anchor" id="line-400"></span><p class="line874">Even though it's a Universe package, isc-kea is a promising new dhcp server from the same upstream that created Bind and isc-dhcp. For Focal, we updated it to the 1.6.x stable series. <span class="anchor" id="line-401"></span><span class="anchor" id="line-402"></span><p class="line862">Upstream 1.6.0 release notes: <a class="https" href="https://downloads.isc.org/isc/kea/1.6.0/Kea160ReleaseNotes.txt">https://downloads.isc.org/isc/kea/1.6.0/Kea160ReleaseNotes.txt</a> <span class="anchor" id="line-403"></span><span class="anchor" id="line-404"></span><p class="line862">Upstream 1.6.2 release notes (version currently in Focal): <a class="https" href="https://downloads.isc.org/isc/kea/1.6.2/Kea162ReleaseNotes.txt">https://downloads.isc.org/isc/kea/1.6.2/Kea162ReleaseNotes.txt</a> <span class="anchor" id="line-405"></span><span class="anchor" id="line-406"></span><p class="line867"> <h3 id="Bind_9.16">Bind 9.16</h3> <span class="anchor" id="line-407"></span><span class="anchor" id="line-408"></span><p class="line874">Bind has been updated to the new stable release series from upstream: 9.16.x. <span class="anchor" id="line-409"></span><span class="anchor" id="line-410"></span><p class="line874">Important packaging changes are: <span class="anchor" id="line-411"></span><ul><li><p class="line862">no <tt class="backtick">-dev</tt> package at the moment, as upstream discourages linking with its libraries. See a bit of a discussion about that here: <a class="https" href="https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/3089#note_111299">https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/3089#note_111299</a>. Debian just added the <tt class="backtick">dev</tt> package back (2020-04-16), we might follow with an SRU: <a class="https" href="https://bugs.debian.org/954906">https://bugs.debian.org/954906</a> <span class="anchor" id="line-412"></span></li><li>bind-libs 9.11.x package: used for software projects that do not yet work with the new 9.16 version, like isc-dhcp. <span class="anchor" id="line-413"></span></li><li>bind-dyndb-ldap has not yet been ported to bind9 9.16.x <span class="anchor" id="line-414"></span></li><li>geoip legacy support was removed and replaced with geoip2 (libmaxminddb) <span class="anchor" id="line-415"></span><span class="anchor" id="line-416"></span></li></ul><p class="line862">Upstream blog post about major changes in bind9 9.16.0: <a class="https" href="https://www.isc.org/blogs/bind9.16.0_released/">https://www.isc.org/blogs/bind9.16.0_released/</a> <span class="anchor" id="line-417"></span><span class="anchor" id="line-418"></span><p class="line862">More detailed release notes: <a class="https" href="https://downloads.isc.org/isc/bind9/9.16.0/RELEASE-NOTES-bind-9.16.0.html">https://downloads.isc.org/isc/bind9/9.16.0/RELEASE-NOTES-bind-9.16.0.html</a> <span class="anchor" id="line-419"></span><span class="anchor" id="line-420"></span><p class="line862">Presentation about the development of bind9 culminating in this new release: <a class="https" href="https://youtu.be/5math9Oy97s?t=46">https://youtu.be/5math9Oy97s?t=46</a> <span class="anchor" id="line-421"></span><span class="anchor" id="line-422"></span><p class="line867"> <h3 id="OpenSSH_updates_with_U2F_Support">OpenSSH updates with U2F Support</h3> <span class="anchor" id="line-423"></span><span class="anchor" id="line-424"></span><span class="anchor" id="line-425"></span><p class="line874">OpenSSH 8.2 added support for U2F/FIDO hardware devices to allow easy hardware-based two factor authentication. It is as simple as: <span class="anchor" id="line-426"></span><span class="anchor" id="line-427"></span><span class="anchor" id="line-428"></span><span class="anchor" id="line-429"></span><span class="anchor" id="line-430"></span><span class="anchor" id="line-431"></span><span class="anchor" id="line-432"></span><span class="anchor" id="line-433"></span><span class="anchor" id="line-434"></span><span class="anchor" id="line-435"></span><span class="anchor" id="line-436"></span><span class="anchor" id="line-437"></span><span class="anchor" id="line-438"></span><pre><span class="anchor" id="line-1"></span># plug device in and: <span class="anchor" id="line-2"></span>$ ssh-keygen -t ecdsa-sk <span class="anchor" id="line-3"></span>Generating public/private ecdsa-sk key pair. <span class="anchor" id="line-4"></span>You may need to touch your authenticator to authorize key generation. <-- touch device <span class="anchor" id="line-5"></span>Enter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk): <span class="anchor" id="line-6"></span>Enter passphrase (empty for no passphrase): <span class="anchor" id="line-7"></span>Enter same passphrase again: <span class="anchor" id="line-8"></span>Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_sk <span class="anchor" id="line-9"></span>Your public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pub <span class="anchor" id="line-10"></span>The key fingerprint is: <span class="anchor" id="line-11"></span>SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal</pre><span class="anchor" id="line-439"></span><p class="line862">Now just transfer the public part to the server to <tt class="backtick">~/.ssh/authorized_keys</tt> and you are ready to go: <span class="anchor" id="line-440"></span><span class="anchor" id="line-441"></span><span class="anchor" id="line-442"></span><span class="anchor" id="line-443"></span><span class="anchor" id="line-444"></span><span class="anchor" id="line-445"></span><span class="anchor" id="line-446"></span><pre><span class="anchor" id="line-1-1"></span>$ ssh -i .ssh/id_ecdsa_sk ubuntu@focal.server <span class="anchor" id="line-2-1"></span>Confirm user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- touch device <span class="anchor" id="line-3-1"></span>Welcome to Ubuntu Focal Fossa (development branch) (GNU/Linux 5.4.0-21-generic x86_64) <span class="anchor" id="line-4-1"></span>(...) <span class="anchor" id="line-5-1"></span>ubuntu@focal.server:~$</pre><span class="anchor" id="line-447"></span><span class="anchor" id="line-448"></span><ul><li style="list-style-type:none"><p class="line891"><img alt="Warning /!\" height="16" src="/moin_static198/light/img/icon_eek.png" title="Warning /!\" width="16" /> If you don't see the prompt asking for the user presence confirmation, then you are affected by <span class="anchor" id="line-449"></span><ul><li style="list-style-type:none">- block-discover supports multipath discovery <span class="anchor" id="line-450"></span>- vmtest add ppc64le/arm64 architectures <span class="anchor" id="line-451"></span><span class="anchor" id="line-452"></span><span class="anchor" id="line-453"></span></li></ul></li></ul><p class="line862">Upstream development of OpenSSH 8.2 in Debian has <a class="https" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=631189">added support for an 'Includes' keyword</a> in configuration files. This allows including additional configuration files via glob(3) patterns. By default the system sshd config (/etc/ssh/sshd_config) now <a class="https" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=952427">includes files under /etc/ssh/sshd_config.d/*.conf</a>. For each keyword encountered in configuration files, the first obtained value will be used. This is used in various <a class="https" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Cloud_Images_.2BJgE-">Cloud Images</a> to apply cloud-specific tuning while avoiding debconf prompts on package upgrade. <span class="anchor" id="line-454"></span><span class="anchor" id="line-455"></span><p class="line874">The effective configuration of sshd can be validated by running 'sudo sshd -T'. This reads and validates the config file(s) and prints the effective configuration before exiting. <span class="anchor" id="line-456"></span><span class="anchor" id="line-457"></span><p class="line862">See the upstream release notes for more details: <a class="https" href="https://www.openssh.com/txt/release-8.2">https://www.openssh.com/txt/release-8.2</a> <span class="anchor" id="line-458"></span><span class="anchor" id="line-459"></span><p class="line867"> <h3 id="HAProxy_2.0">HAProxy 2.0</h3> <span class="anchor" id="line-460"></span><span class="anchor" id="line-461"></span><p class="line862">First introduced in Ubuntu Eoan 19.10, HAProxy in Focal is tracking the upstream LTS 2.0 branch. This series has many new features when compared to the previous 1.8 stable branch, and all are detailed in this blog post: <a class="https" href="https://www.haproxy.com/blog/haproxy-2-0-and-beyond/">https://www.haproxy.com/blog/haproxy-2-0-and-beyond/</a> <span class="anchor" id="line-462"></span><span class="anchor" id="line-463"></span><p class="line867"> <h3 id="Apache.2C_TLSv1.3.2C_client_cert_auth">Apache, TLSv1.3, client cert auth</h3> <span class="anchor" id="line-464"></span><span class="anchor" id="line-465"></span><p class="line874">Apache has been built with TLSv1.3 support, and depending on the server configuration, this might require clients performing certificate authentication to support Post Handshake Authentication (PHA). Not all TLSv1.3 capable clients can perform PHA, and will fail. Telltale signs of this being the error include these messages in the Apache server logs: <span class="anchor" id="line-466"></span><span class="anchor" id="line-467"></span><span class="anchor" id="line-468"></span><span class="anchor" id="line-469"></span><span class="anchor" id="line-470"></span><pre><span class="anchor" id="line-1-2"></span>AH: verify client post handshake <span class="anchor" id="line-2-2"></span>AH10158: cannot perform post-handshake authentication <span class="anchor" id="line-3-2"></span>SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received</pre><span class="anchor" id="line-471"></span><p class="line874">In this case, if there is no updated client version, you should preferably disable TLSv1.3 on the affected client. <span class="anchor" id="line-472"></span><span class="anchor" id="line-473"></span><p class="line862">Chromium bug: <a class="https" href="https://bugs.chromium.org/p/chromium/issues/detail?id=911653">https://bugs.chromium.org/p/chromium/issues/detail?id=911653</a> <span class="anchor" id="line-474"></span><span class="anchor" id="line-475"></span><p class="line862">Firefox bug: <a class="https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1511989">https://bugzilla.mozilla.org/show_bug.cgi?id=1511989</a> (fixed, can be enabled by toggling security.tls.enable_post_handshake_auth) <span class="anchor" id="line-476"></span><span class="anchor" id="line-477"></span><p class="line862">python httplib should enable post-handshake authentication for TLS 1.3: <a class="https" href="https://bugs.python.org/issue37440">https://bugs.python.org/issue37440</a> <span class="anchor" id="line-478"></span><span class="anchor" id="line-479"></span><p class="line867"> <h3 id="Samba_4.11">Samba 4.11</h3> <span class="anchor" id="line-480"></span><span class="anchor" id="line-481"></span><p class="line874">Focal ships with Samba 4.11.x which introduces a number of changes. Of note we have: <span class="anchor" id="line-482"></span><ul><li><p class="line862">SMB1 disabled by default: can still be enabled via a <tt class="backtick">/etc/samba/smb.conf</tt> config change; <span class="anchor" id="line-483"></span></li><li>python2 no longer supported <span class="anchor" id="line-484"></span><span class="anchor" id="line-485"></span></li></ul><p class="line862">Detailed upstream release notes for 4.11.0 can be seen here: <a class="https" href="https://www.samba.org/samba/history/samba-4.11.0.html">https://www.samba.org/samba/history/samba-4.11.0.html</a> <span class="anchor" id="line-486"></span><span class="anchor" id="line-487"></span><p class="line867"> <h3 id="PostgreSQL_12">PostgreSQL 12</h3> <span class="anchor" id="line-488"></span><span class="anchor" id="line-489"></span><p class="line874">Focal is shipping postgresql-12, which has many improvements: <span class="anchor" id="line-490"></span><ul><li>improved query performance, particularly over larger data sets <span class="anchor" id="line-491"></span></li><li>SQL/JSON path expression support <span class="anchor" id="line-492"></span></li><li>generated columns <span class="anchor" id="line-493"></span></li><li>pluggable table storage interface <span class="anchor" id="line-494"></span><span class="anchor" id="line-495"></span></li></ul><p class="line862">Upstream announcement: <a class="https" href="https://www.postgresql.org/about/news/1976/">https://www.postgresql.org/about/news/1976/</a> <span class="anchor" id="line-496"></span><span class="anchor" id="line-497"></span><p class="line862">Upstream release notes: <a class="https" href="https://www.postgresql.org/docs/12/release-12.html">https://www.postgresql.org/docs/12/release-12.html</a> <span class="anchor" id="line-498"></span><span class="anchor" id="line-499"></span><p class="line867"> <h3 id="nginx">nginx</h3> <span class="anchor" id="line-500"></span><span class="anchor" id="line-501"></span><p class="line874">Starting in Focal Fossa, nginx-core no longer ships with the legacy geoip module enabled by default. If you are using the legacy geoip module in nginx, you may run into upgrade issues if you do not deactivate the geoip module in your configuration. This was done as part of the deprecation of GeoIP legacy support. <span class="anchor" id="line-502"></span><span class="anchor" id="line-503"></span><p class="line874">Here are some scenarios you might encounter: <span class="anchor" id="line-504"></span><span class="anchor" id="line-505"></span><ul><li>Since nginx-core dropped the dependency on libnginx-mod-http-geoip, an "apt autoremove" might suggest that libnginx-mod-http-geoip can be removed. If this happens, and there are still geoip configuration directives, nginx will fail to restart. Note that this would also happen had we replaced libnginx-mod-http-geoip with libnginx-mod-http-geoip2, as the configuration directives are different <span class="anchor" id="line-506"></span><span class="anchor" id="line-507"></span></li><li class="gap">If someone has just main enabled, with nginx-code and libnginx-mod-http-geoip installed, and release upgrades to focal, libnginx-mod-http-geoip won't be updated because it's in focal/universe. <span class="anchor" id="line-508"></span><span class="anchor" id="line-509"></span><span class="anchor" id="line-510"></span><span class="anchor" id="line-511"></span></li></ul><p class="line867"> <h3 id="Squid_4.x">Squid 4.x</h3> <span class="anchor" id="line-512"></span><p class="line862">When upgrading from the previous LTS Ubuntu Bionic 18.04, the squid proxy cache will be at version 4. Among other changes, if you used custom logging format, be aware the redefining the build-in formats no longer works (upstream bug: <a class="https" href="https://bugs.squid-cache.org/show_bug.cgi?id=4905">https://bugs.squid-cache.org/show_bug.cgi?id=4905</a>). <span class="anchor" id="line-513"></span><span class="anchor" id="line-514"></span><p class="line862">For example, if you were redefining the <tt class="backtick">squid</tt> log format to change the timestamp, like this: <span class="anchor" id="line-515"></span><span class="anchor" id="line-516"></span><span class="anchor" id="line-517"></span><pre><span class="anchor" id="line-1-3"></span>logformat squid %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt</pre><span class="anchor" id="line-518"></span><span class="anchor" id="line-519"></span><p class="line874">You now have to use another name, and specify that it should be used, like this: <span class="anchor" id="line-520"></span><span class="anchor" id="line-521"></span><span class="anchor" id="line-522"></span><span class="anchor" id="line-523"></span><pre><span class="anchor" id="line-1-4"></span>logformat custom-squid %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt <span class="anchor" id="line-2-3"></span>access_log daemon:/var/log/squid/access.log custom-squid</pre><span class="anchor" id="line-524"></span><span class="anchor" id="line-525"></span><span class="anchor" id="line-526"></span><p class="line867"> <h3 id="s390x">s390x</h3> <span class="anchor" id="line-527"></span><span class="anchor" id="line-528"></span><p class="line874">IBM Z and LinuxONE / s390x-specific enhancements since 19.10 (partly not limited to s390x): <span class="anchor" id="line-529"></span><span class="anchor" id="line-530"></span><ul><li><p class="line862">Starting with Ubuntu Server 20.04 LTS the architectural level set was changed to z13 (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1836907" title="Bug">1836907</a>). This has a significant impact: Ubuntu Server for s390x now benefits from improved and more instructions that got introduced with z13 hardware; at the same time support for zEC12/zBC12 got dropped and the minimum supported hardware is now IBM z13 and LinuxONE Rockhopper (I) and LinuxONE Emperor (I). <span class="anchor" id="line-531"></span><span class="anchor" id="line-532"></span></li><li class="gap"><p class="line862">Secure Execution, a Trusted Execution Environment (TEE) for IBM Z and LinuxONE is now supported. It required adaptations in the kernel (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1835531" title="Bug">1835531</a>), qemu (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1835546" title="Bug">1835546</a>) and s390-tools (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1834534" title="Bug">1834534</a>). It can only be used with IBM z15 and LinuxONE III. With Secure Execution (or the upstream name 'protected virtualization' aka 'protvirt') workloads can run virtualized in full isolation with protection for both internal and external threats, using hardware assisted key based encryption for the guest memory. <span class="anchor" id="line-533"></span><span class="anchor" id="line-534"></span></li><li class="gap"><p class="line862">The toolchain was significantly upgraded to gcc 9.3 - making sure that fixes like (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1862342" title="Bug">1862342</a>) are included, even moved to gdb 9.1 (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1825344" title="Bug">1825344</a>), that includes latest s390x hardware support - similar with LLVM, that was upgraded to v10 (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853145" title="Bug">1853145</a>), again to have the latest s390x hardware enhancements included (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853269" title="Bug">1853269</a>). <span class="anchor" id="line-535"></span><span class="anchor" id="line-536"></span></li><li class="gap"><p class="line862">The KVM virtualization stack got updated to qemu 4,2 and libvirt 6.0, and with that CPU model comparison and baselining got enabled (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853315" title="Bug">1853315</a>), CCW IPL support added to qemu (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853316" title="Bug">1853316</a>) and libvirt (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853317" title="Bug">1853317</a>) and several issue fixed, like (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1861125" title="Bug">1861125</a>), (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1867109" title="Bug">1867109</a>) and (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1866207" title="Bug">1866207</a>). In addition KVM crypto pass-through is now included (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1852737" title="Bug">1852737</a>), (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1852738" title="Bug">1852738</a>) and (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1852744" title="Bug">1852744</a>). <span class="anchor" id="line-537"></span><span class="anchor" id="line-538"></span></li><li class="gap"><p class="line862">Support for new CEX7S crypto express hardware (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853304" title="Bug">1853304</a>) and (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1856831" title="Bug">1856831</a>) was added, as well as CPACF MSA 6 in-kernel crypto support for SHA3 (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853105" title="Bug">1853105</a>) and a lot of CPACF crypto co-processor (largely assembly based) optimizations and fixes in OpenSSL (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853150" title="Bug">1853150</a>) and (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1853312" title="Bug">1853312</a>), incl. but not limited to ECDSA. <span class="anchor" id="line-539"></span><span class="anchor" id="line-540"></span></li><li class="gap"><p class="line862">Performance tests showed (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1868113" title="Bug">1868113</a>) that it is beneficial to use 'Striding RQ' with RoCE Express 2 and 2.1 PCIe cards (ConnectX-4) on IBM z14 and LinuxONE Rockhopper II / Emperor II and newer - but this is not the default. Hence if one has RoCE 2 or 2.1 hardware plugged in to such a system, the enablement of 'Striding RQ' should be considered, like: '<tt>ethtool --set-priv-flags <ifname> rx_striding_rq on</tt>'. For the reason of persistence one may also create a service or udev-rule that sets this at boot time. <span class="anchor" id="line-541"></span><span class="anchor" id="line-542"></span></li></ul><p class="line867"> <h3 id="OpenStack_Ussuri">OpenStack Ussuri</h3> <span class="anchor" id="line-543"></span><span class="anchor" id="line-544"></span><p class="line862">Ubuntu 20.04 LTS includes the latest OpenStack release, Ussuri, as a preview with final release coming in the 20.04.1 LTS, including the following components: <span class="anchor" id="line-545"></span><span class="anchor" id="line-546"></span><ul><li><p class="line891">OpenStack Identity - Keystone <span class="anchor" id="line-547"></span></li><li><p class="line891">OpenStack Imaging - Glance <span class="anchor" id="line-548"></span></li><li><p class="line891">OpenStack Block Storage - Cinder <span class="anchor" id="line-549"></span></li><li><p class="line891">OpenStack Compute - Nova <span class="anchor" id="line-550"></span></li><li><p class="line891">OpenStack Networking - Neutron <span class="anchor" id="line-551"></span></li><li><p class="line891">OpenStack Telemetry - Ceilometer, Aodh, Gnocchi, and Panko <span class="anchor" id="line-552"></span></li><li><p class="line891">OpenStack Orchestration - Heat <span class="anchor" id="line-553"></span></li><li><p class="line891">OpenStack Dashboard - Horizon <span class="anchor" id="line-554"></span></li><li><p class="line891">OpenStack Object Storage - Swift <span class="anchor" id="line-555"></span></li><li><p class="line891">OpenStack DNS - Designate <span class="anchor" id="line-556"></span></li><li><p class="line891">OpenStack Bare-metal - Ironic <span class="anchor" id="line-557"></span></li><li><p class="line891">OpenStack Filesystem - Manila <span class="anchor" id="line-558"></span></li><li><p class="line891">OpenStack Key Manager - Barbican <span class="anchor" id="line-559"></span></li><li><p class="line891">OpenStack Load Balancer - Octavia <span class="anchor" id="line-560"></span></li><li><p class="line891">OpenStack Instance HA - Masakari <span class="anchor" id="line-561"></span><span class="anchor" id="line-562"></span></li></ul><p class="line862">Please refer to the <a class="http" href="http://releases.openstack.org/ussuri/">OpenStack Ussuri release notes</a> for full details of this release of OpenStack. <span class="anchor" id="line-563"></span><span class="anchor" id="line-564"></span><p class="line867">OpenStack Ussuri is also provided via the <a href="/OpenStack/CloudArchive">Ubuntu Cloud Archive</a> for OpenStack Ussuri for Ubuntu 18.04 LTS users. <span class="anchor" id="line-565"></span><span class="anchor" id="line-566"></span><p class="line867"><strong>WARNING</strong>: Upgrading an OpenStack deployment is a non-trivial process and care should be taken to plan and test upgrade procedures which will be specific to each OpenStack deployment. <span class="anchor" id="line-567"></span><span class="anchor" id="line-568"></span><p class="line862">Make sure you read the <a class="https" href="https://docs.openstack.org/charm-guide/latest">OpenStack Charm Release Notes</a> for more information about how to deploy Ubuntu OpenStack using Juju. <span class="anchor" id="line-569"></span><span class="anchor" id="line-570"></span><p class="line867"> <h3 id="Ceph">Ceph</h3> <span class="anchor" id="line-571"></span><span class="anchor" id="line-572"></span><p class="line862">Ceph was updated to the 15.2.1 release, Ceph Octopus. Please refer to the <a class="https" href="https://docs.ceph.com/docs/master/releases/octopus/">Ceph Octopus release notes</a> for full details of this release. <span class="anchor" id="line-573"></span><span class="anchor" id="line-574"></span><p class="line862">This release of Ceph is also provided via the <a href="/OpenStack/CloudArchive">Ubuntu Cloud Archive</a> for use with OpenStack Ussuri for Ubuntu 18.04 LTS users. <span class="anchor" id="line-575"></span><span class="anchor" id="line-576"></span><p class="line867"> <h2 id="Cloud_Images_.2BJgE-">Cloud Images ☁</h2> <span class="anchor" id="line-577"></span><span class="anchor" id="line-578"></span><p class="line867"> <h3 id="Amazon_Web_Services_.28AWS.29">Amazon Web Services (AWS)</h3> <span class="anchor" id="line-579"></span><span class="anchor" id="line-580"></span><ul><li><p class="line862">Amazon Machine Images (AMIs) have the <a class="https" href="https://launchpad.net/ubuntu/+source/ec2-instance-connect">ec2-instance-connect</a> package installed and enabled by default starting in Focal. AWS' <a class="https" href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html">Instance Connect</a> feature uses AWS Identity and Access Management (IAM) policies and principals to control SSH access to your instances. <span class="anchor" id="line-581"></span><span class="anchor" id="line-582"></span></li></ul><p class="line867"> <h3 id="Google_Compute_Engine">Google Compute Engine</h3> <span class="anchor" id="line-583"></span><span class="anchor" id="line-584"></span><ul><li><p class="line862">The existing sshd config overrides that were written to /etc/ssh/sshd_config have been moved to /etc/ssh/sshd_config.d/50-cloudimg-settings.conf, see <a class="https" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#OpenSSH_Includes_Keyword">OpenSSH Includes Keyword</a> above. <span class="anchor" id="line-585"></span><span class="anchor" id="line-586"></span></li></ul><p class="line867"> <h3 id="Microsoft_Azure">Microsoft Azure</h3> <span class="anchor" id="line-587"></span><span class="anchor" id="line-588"></span><ul><li><p class="line862">Azure instances now use chrony to manage time synchronization, and they are configured by default to use highly accurate Stratum 1 devices hosted in the Azure cloud. See more information: <a class="https" href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync">Time sync for Linux VMs in Azure</a> <span class="anchor" id="line-589"></span></li><li><p class="line862">The existing sshd config overrides that were written to /etc/ssh/sshd_config have been moved to /etc/ssh/sshd_config.d/50-cloudimg-settings.conf, see <a class="https" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#OpenSSH_Includes_Keyword">OpenSSH Includes Keyword</a> above. <span class="anchor" id="line-590"></span><span class="anchor" id="line-591"></span></li></ul><p class="line867"> <h3 id="Vagrant">Vagrant</h3> <span class="anchor" id="line-592"></span><span class="anchor" id="line-593"></span><ul><li><p class="line862">Vagrant boxes are 40G by default instead of 10G. <a class="https" href="https://bugs.launchpad.net/cloud-images/+bug/1580596">(LP: #1580596)</a> <span class="anchor" id="line-594"></span><span class="anchor" id="line-595"></span></li></ul><p class="line867"> <h2 id="Raspberry_Pi">Raspberry Pi</h2> <span class="anchor" id="line-596"></span><span class="anchor" id="line-597"></span><p class="line874">Since the release of Ubuntu 19.10 Raspberry Pi 32-bit and 64-bit preinstalled images (renamed to raspi) support the Raspberry Pi 4 platform out-of-the-box. With this, our images now support almost all modern flavors of the Raspberry Pi family of devices (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B). Starting from Ubuntu Server 20.04.2, support for the CM4 (all variants) and the Pi 400 has been added too. <span class="anchor" id="line-598"></span><span class="anchor" id="line-599"></span><p class="line867"> <h1 id="Known_issues">Known issues</h1> <span class="anchor" id="line-600"></span><span class="anchor" id="line-601"></span><p class="line874">As is to be expected, with any release, there are some significant known bugs that users may run into with this release of Ubuntu 20.04 LTS. 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: <span class="anchor" id="line-602"></span><span class="anchor" id="line-603"></span><p class="line867"> <h2 id="Installer_and_live_session">Installer and live session</h2> <span class="anchor" id="line-604"></span><span class="anchor" id="line-605"></span><ul><li><p class="line891"><strong>Systems with an nVidia graphics card</strong>: These systems boot the live session by default with the open source video driver 'nouveau'. On some hardware this driver may crash which results in a freeze of the graphical session of the installer. If it happens, on the boot menu, select a 'Safe graphics mode' entry. Then in the installer, on the 'Preparing to install ...' page, select 'Install third party software ...' and continue. This option will install the nVidia proprietary drivers on the target system. Upon installation the proprietary drivers for your card will be loaded and the graphical session should work properly with optimized drivers. (<a class="interwiki" href="https://bugs.launchpad.net/bugs/1871562" title="Bug">1871562</a>) <span class="anchor" id="line-606"></span><span class="anchor" id="line-607"></span></li><li class="gap"><p class="line862">During the desktop installation process it is possible for the keyboard layout to revert to an English one, to mitigate issues when entering your password there is now an option to view your password when entering it. Investigation into the root cause and fixing the bug is on going. (<a class="https" href="https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1875062">bug 1875062</a>) <span class="anchor" id="line-608"></span></li><li><p class="line862">Ubuntu now defaults to checking the integrity of the medium in use when booting into live sessions. This can be skipped by hitting Ctrl-C, but due to a bug the message that tells you to hit this key is not shown in some flavours. (<a class="https" href="https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1870018">bug 1870018</a>) <span class="anchor" id="line-609"></span></li><li><p class="line862">When selecting to install 3rd party drivers there can be a long pause before the next step is available. (<a class="https" href="https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1824905">bug 1824905</a>) <span class="anchor" id="line-610"></span></li><li><p class="line862">With certain Broadcom wireless cards if you choose to install third party software during the installation process your wifi will disconnect. (<a class="https" href="https://bugs.launchpad.net/bugs/1867465">bug 1867465</a>) <span class="anchor" id="line-611"></span><span class="anchor" id="line-612"></span></li></ul><p class="line867"><span class="anchor" id="line-613"></span><span class="anchor" id="line-614"></span><p class="line867"> <h2 id="Distribution_Upgrades">Distribution Upgrades</h2> <span class="anchor" id="line-615"></span><span class="anchor" id="line-616"></span><ul><li><p class="line862">For Ubuntu 18.04 systems with clang-6.0 and pocl-opencl-icd it is not possible for the release upgrader to calculate the upgrade to Ubuntu 20.04. (<a class="https" href="https://bugs.launchpad.net/bugs/1886748">bug 1886748</a>) It is possible to workaround this by removing clang-6.0 or libomp5 and then upgrading. <span class="anchor" id="line-617"></span><span class="anchor" id="line-618"></span></li></ul><p class="line867"> <h2 id="Desktop">Desktop</h2> <span class="anchor" id="line-619"></span><span class="anchor" id="line-620"></span><ul><li><p class="line862">Fractional scaling does not work with the NVIDIA proprietary driver (<a class="https" href="https://bugs.launchpad.net/bugs/1870736">bug 1870736</a>, <a class="https" href="https://bugs.launchpad.net/bugs/1873403">bug 1873403</a>). <span class="anchor" id="line-621"></span></li><li><p class="line862">Automatic login does not work with the NVIDIA proprietary driver (<a class="https" href="https://bugs.launchpad.net/bugs/1845801">bug 1845801</a>). <span class="anchor" id="line-622"></span></li><li><p class="line862">After upgrading audio device selection in Settings is sometimes ignored (<a class="https" href="https://bugs.launchpad.net/bugs/1866194">bug 1866194</a>). <span class="anchor" id="line-623"></span></li><li><p class="line862">ZFS installation fails to boot if there are existing pools named <tt class="backtick">bpool</tt> or <tt class="backtick">rpool</tt> on a second drive (<a class="https" href="https://bugs.launchpad.net/bugs/1867007">bug 1867007</a>). <span class="anchor" id="line-624"></span></li><li><p class="line862">Due to database format changes fprintd will remove all saved fingerprints, please ensure you have another mechanism for logging in (<a class="http" href="http://launchpad.net/bugs/1865824">http://launchpad.net/bugs/1865824</a>). <span class="anchor" id="line-625"></span><span class="anchor" id="line-626"></span></li></ul><p class="line867"> <h2 id="Raspberry_Pi-1">Raspberry Pi</h2> <span class="anchor" id="line-627"></span><span class="anchor" id="line-628"></span><ul><li><p class="line862">The <a class="https" href="https://pinout.xyz/pinout/fan_shim#">Pimoroni Fan Shim</a> for the Raspberry Pi 4 re-uses the serial console pins on the GPIO header to control its RGB LED. This results in "noise" on the serial line which stops u-boot during startup (as it thinks a key has been pressed). Adding <tt>enable_uart=0</tt> to <tt>/boot/firmware/syscfg.txt</tt> disables the serial console permitting the boot sequence to complete (<a class="https" href="https://launchpad.net/bugs/1873520">bug 1873520</a>) <span class="anchor" id="line-629"></span><span class="anchor" id="line-630"></span></li><li class="gap">For 20.04.1 and later, HDMI is used for audio output by default if it is connected. To force output over the headphone jack, create a file called '.asoundrc' in the user's home directory with the following contents: <span class="anchor" id="line-631"></span><ul><li style="list-style-type:none"><span class="anchor" id="line-632"></span><span class="anchor" id="line-633"></span><span class="anchor" id="line-634"></span><pre><span class="anchor" id="line-1-5"></span> defaults.pcm.card 1 <span class="anchor" id="line-2-4"></span> defaults.ctl.card 1</pre><span class="anchor" id="line-635"></span><span class="anchor" id="line-636"></span></li></ul></li></ul><p class="line867"> <h2 id="RISC-V">RISC-V</h2> <span class="anchor" id="line-637"></span><span class="anchor" id="line-638"></span><ul><li><p class="line862">Reboot and shutdown commands do not currently work on the <a class="nonexistent" href="/HiFive">HiFive</a> Unmatched. Power cycling requires physical access to the board. (<a class="https" href="https://bugs.launchpad.net/ubuntu/+source/opensbi/+bug/1937055">bug 1937055</a>) <span class="anchor" id="line-639"></span><span class="anchor" id="line-640"></span></li></ul><p class="line867"> <h2 id="Server">Server</h2> <span class="anchor" id="line-641"></span><span class="anchor" id="line-642"></span><ul><li><p class="line862">gdisk/sgdisk versions older than 1.0.8 erroneously write partition labels byte-swapped on big endian architectures. This is non critical and on s390x mainly affects virtio and FCP/SCSI disk partition labels (so any non-DASD-ECKD) - in case they were written by gdisk. Since this was always wrong - but written and read the same swapped way - it worked so far. Hence old releases just stay that way, but starting with 1.0.8 in Impish this is solved and even allows to fix/convert old broken labels. Newly created partitions and label with gdisk 1.0.8 will be correct; existing ones that were created with older gdisk version (that maybe re-used after a dist-upgrade etc.) need to be fixed/converted. (<a class="https" href="https://bugs.launchpad.net/bugs/1931243">bug 1931243</a>). <span class="anchor" id="line-643"></span><span class="anchor" id="line-644"></span></li><li class="gap"><p class="line862">With Ubuntu Server 20.04.2 on IBM Z and LinuxONE (s390x) it is currently not possible to boot/IPL from NVMe devices that are represented as multipath devices. In case NVMe devices are used on s390x that are multipath capable, the multipath option needs to be switched off with the help of the kernel parameter 'nvme-core.multipath=0', otherwise 'chreipl' will not work properly and the post-install reboot fails (<a class="https" href="https://bugs.launchpad.net/bugs/1902179">bug 1902179</a>). <span class="anchor" id="line-645"></span><span class="anchor" id="line-646"></span></li></ul><p class="line867"> <h2 id="General">General</h2> <span class="anchor" id="line-647"></span><span class="anchor" id="line-648"></span><ul><li><p class="line862">This is not an issue per-se, but enough visible to be release-note worthy. Starting with 20.04.3 useradd will not allow creating full-numeric usernames (e.g. 123, 1337). Such usernames cause issues with components such as systemd, so it was safer to disallow them altogether (<a class="https" href="https://bugs.launchpad.net/bugs/1927078">bug 1927078</a>). <span class="anchor" id="line-649"></span><span class="anchor" id="line-650"></span></li></ul><p class="line867"> <h1 id="Official_flavours">Official flavours</h1> <span class="anchor" id="line-651"></span><span class="anchor" id="line-652"></span><p class="line874">The release notes for the official flavors can be found at the following links: <span class="anchor" id="line-653"></span><span class="anchor" id="line-654"></span><ul><li><p class="line862">Lubuntu <a class="https" href="https://lubuntu.me/focal-released/">https://lubuntu.me/focal-released/</a> <span class="anchor" id="line-655"></span></li><li><p class="line862">Kubuntu <a class="https" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/Kubuntu">https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/Kubuntu</a> <span class="anchor" id="line-656"></span></li><li><p class="line862">Ubuntu Budgie <a class="https" href="https://ubuntubudgie.org/2020/04/02/ubuntu-budgie-20-04lts-release-notes/">19.10 Upgraders</a> / <a class="https" href="https://ubuntubudgie.org/2020/04/21/ubuntu-budgie-20-04lts-release-notes-for-18-04-upgraders/">18.04 Upgraders</a> <span class="anchor" id="line-657"></span></li><li><p class="line862">Ubuntu MATE <a class="https" href="https://ubuntu-mate.org/blog/ubuntu-mate-focal-fossa-release-notes/">https://ubuntu-mate.org/blog/ubuntu-mate-focal-fossa-release-notes/</a> <span class="anchor" id="line-658"></span></li><li><p class="line862">Ubuntu Studio <a class="https" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/UbuntuStudio">https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/UbuntuStudio</a> <span class="anchor" id="line-659"></span></li><li><p class="line862">Xubuntu <a class="https" href="https://wiki.xubuntu.org/releases/20.04/release-notes">https://wiki.xubuntu.org/releases/20.04/release-notes</a> <span class="anchor" id="line-660"></span></li><li><p class="line862">Ubuntu Kylin <a class="https" href="https://www.ubuntukylin.com/news/2004ReleaseNotes-en.html">https://www.ubuntukylin.com/news/2004ReleaseNotes-en.html</a> <span class="anchor" id="line-661"></span><span class="anchor" id="line-662"></span></li></ul><p class="line867"><br> <span class="anchor" id="line-663"></span> <h1 id="More_information">More information</h1> <span class="anchor" id="line-664"></span><span class="anchor" id="line-665"></span><p class="line867"> <h3 id="Reporting_bugs">Reporting bugs</h3> <span class="anchor" id="line-666"></span><span class="anchor" id="line-667"></span><p class="line862">Your comments, bug reports, patches and suggestions will help fix bugs and improve the quality of future releases. Please <a class="http" href="http://help.ubuntu.com/community/ReportingBugs">report bugs using the tools provided</a>. <span class="anchor" id="line-668"></span><span class="anchor" id="line-669"></span><p class="line862">If you want to help out with bugs, the <a class="http" href="http://wiki.ubuntu.com/BugSquad">Bug Squad</a> is always looking for help. <span class="anchor" id="line-670"></span><span class="anchor" id="line-671"></span><p class="line867"> <h3 id="Participate_in_Ubuntu">Participate in Ubuntu</h3> <span class="anchor" id="line-672"></span><span class="anchor" id="line-673"></span><p class="line867"><span class="anchor" id="line-674"></span><span class="anchor" id="line-675"></span><p class="line874">If you would like to help shape Ubuntu, take a look at the list of ways you can participate at <span class="anchor" id="line-676"></span><span class="anchor" id="line-677"></span><ul><li style="list-style-type:none"><p class="line891"><a class="https" href="https://community.ubuntu.com/contribute">https://community.ubuntu.com/contribute</a> <span class="anchor" id="line-678"></span><span class="anchor" id="line-679"></span></li></ul><p class="line867"> <h3 id="More_about_Ubuntu">More about Ubuntu</h3> <span class="anchor" id="line-680"></span><span class="anchor" id="line-681"></span><p class="line862">You can find out more about Ubuntu on the <a class="https" href="https://www.ubuntu.com">Ubuntu website</a> and <a class="https" href="https://wiki.ubuntu.com">Ubuntu wiki</a>. <span class="anchor" id="line-682"></span><span class="anchor" id="line-683"></span><p class="line874">To sign up for future Ubuntu development announcements, please subscribe to Ubuntu's development announcement list at: <span class="anchor" id="line-684"></span><span class="anchor" id="line-685"></span><ul><li style="list-style-type:none"><p class="line891"><a class="https" href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-announce">https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-announce</a> <span class="anchor" id="line-686"></span></li></ul><span class="anchor" id="bottom"></span></div> <!-- BEGIN FOOTER --> <div id="pagebottom"></div> </div> <div class="entry-utility"> <span class="cat-links"> <p id="pageinfo" class="info" lang="en" dir="ltr">FocalFossa/ReleaseNotes (last edited 2023-03-21 10:40:56 by <span title="sil2100 @ 1.general.lzemczak.uk.vpn[10.172.195.138]"><a class="interwiki" href="https://launchpad.net/~sil2100" title="sil2100 @ 1.general.lzemczak.uk.vpn[10.172.195.138]">sil2100</a></span>)</p> </span> </div> </div><!-- .post --> </div><!-- #content --> </div><!-- #container --> <div class="clearBoth"></div> </div><!-- #main --> </div><!-- #wrapper .hfeed --> <div id="footer"> <div id="siteinfo"> <p> The material on this wiki is available under a free license, see <a href="https://help.ubuntu.com/community/License">Copyright / License</a> for details. </p> </div><!-- #siteinfo --> </div><!-- #footer --> <script> (function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-1018242-7', 'auto'); ga('send', 'pageview'); </script></body> </html>