<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>bug fixes on Launchpad Blog</title>
    <link>https://blog.launchpad.net/tags/bug-fixes/</link>
    <description>News and updates from the Launchpad team</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 19 Jun 2026 08:00:10 +0000</lastBuildDate>
    <atom:link href="https://blog.launchpad.net/feed/tags/bug-fixes/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Launchpad security advisory: Fix applied for unsafe tar file extraction vulnerability</title>
      <link>https://blog.launchpad.net/general/launchpad-security-advisory-fix-applied-for-unsafe-tar-file-extraction-vulnerability/</link>
      <pubDate>Fri, 19 Jun 2026 08:00:10 +0000</pubDate>
      <dc:creator>Clinton Fung</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4549</guid>
      <description>&lt;p&gt;We received a private report from a security researcher describing a vulnerability affecting Launchpad. The vulnerability involved the unsafe processing of tar files at build upload and custom upload. We investigated promptly and deployed a fix shortly after the report. The reporting party has confirmed the issue is no longer exploitable.&lt;/p&gt;
&lt;p&gt;Following remediation, we completed additional review and monitoring. We found no evidence of malicious exploitation. No user action is required.&lt;/p&gt;
&lt;p&gt;We are sharing this update as part of our ongoing commitment to transparency and security.&lt;/p&gt;
&lt;p&gt;We thank &lt;code&gt;splitline&lt;/code&gt; (@_splitline_) and the DEVCORE Research Team for privately reporting this issue.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, March 2019 - July 2019</title>
      <link>https://blog.launchpad.net/general/launchpad-news-march-2019-july-2019/</link>
      <pubDate>Tue, 06 Aug 2019 18:16:20 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4294</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog of what we&amp;rsquo;ve been up to since our last general update.&lt;/p&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add basic GitLab bug linking (&lt;a href=&#34;https://launchpad.net/bugs/1603679&#34;&gt;#1603679&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Expect the upstream bug ID in the &amp;ldquo;number&amp;rdquo; field of GitHub issue objects, not the &amp;ldquo;id&amp;rdquo; field (&lt;a href=&#34;https://launchpad.net/bugs/1824728&#34;&gt;#1824728&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include metadata-only bug changes in &lt;code&gt;Person:+commentedbugs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Filter ASCII NUL characters out of build logtails (&lt;a href=&#34;https://launchpad.net/bugs/1831500&#34;&gt;#1831500&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Encode non-bytes subprocess arguments on Python 2 to avoid crashing on non-ASCII file names under &lt;code&gt;LC_CTYPE=C&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1832072&#34;&gt;#1832072&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Don&amp;rsquo;t preload recipe data when deleting recipes associated with branches or repositories, and add some more job indexes (&lt;a href=&#34;https://launchpad.net/bugs/1793266&#34;&gt;#1793266&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/bugs/1828062&#34;&gt;#1828062&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix crash if &lt;code&gt;checkRefPermissions&lt;/code&gt; finds that the repository is nonexistent&lt;/li&gt;
&lt;li&gt;Add a rescan button to branch merge proposals for failed branch or repository scans&lt;/li&gt;
&lt;li&gt;Land parts of the work required for Git HTTPS push tokens, though this is not yet complete (&lt;a href=&#34;https://launchpad.net/bugs/1824399&#34;&gt;#1824399&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Refactor code import authorisation to be clearer and safer&lt;/li&gt;
&lt;li&gt;Set line-height on &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; elements in Bazaar file views&lt;/li&gt;
&lt;li&gt;Work in progress to redeploy Launchpad&amp;rsquo;s Git backend on more scalable infrastructure&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade to PostgreSQL 10&lt;/li&gt;
&lt;li&gt;Fix make-lp-user, broken by the fix for &lt;a href=&#34;https://launchpad.net/bugs/1576142&#34;&gt;#1576142&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use our own GPG key retrieval implementation when verifying signatures rather than relying on auto-key-retrieve&lt;/li&gt;
&lt;li&gt;Give urlfetch a default timeout, fixing a regression in process-mail (&lt;a href=&#34;https://launchpad.net/bugs/1820552&#34;&gt;#1820552&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make test suite pass on Ubuntu 18.04&lt;/li&gt;
&lt;li&gt;Retry webhook deliveries that respond with 4xx for an hour rather than a day&lt;/li&gt;
&lt;li&gt;Merge up to a current version of Storm&lt;/li&gt;
&lt;li&gt;Upgrade to Celery 4.1.1&lt;/li&gt;
&lt;li&gt;Move development sites from &lt;code&gt;.dev&lt;/code&gt; to &lt;code&gt;.test&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Upgrade to Twisted 19.2.1&lt;/li&gt;
&lt;li&gt;Upgrade to requests 2.22.0&lt;/li&gt;
&lt;li&gt;Use defusedxml to parse untrusted XML&lt;/li&gt;
&lt;li&gt;Improve caching of several delegated authorization checks (#&lt;a href=&#34;https://launchpad.net/bugs/1834625&#34;&gt;1834625&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix redaction in pillar listings of projects for which the user only has &lt;code&gt;LimitedView&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1650430&#34;&gt;#1650430&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Tighten up the permitted pattern for newly-chosen usernames&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Landed parts of the work required to support private snap builds, though this is not yet complete (&lt;a href=&#34;https://launchpad.net/bugs/1639975&#34;&gt;#1639975&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Generalise snap channel handling slightly, allowing channel selection for core16 and core18&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;build-aux/snap/snapcraft.yaml&lt;/code&gt; to the list of possible &lt;code&gt;snapcraft.yaml&lt;/code&gt; paths (&lt;a href=&#34;https://launchpad.net/bugs/1805219&#34;&gt;#1805219&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;build-request-id&lt;/code&gt; and &lt;code&gt;build-request-timestamp&lt;/code&gt; to &lt;code&gt;SNAPCRAFT_IMAGE_INFO&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Allow selecting source snap channels when requesting manual snap builds (&lt;a href=&#34;https://launchpad.net/bugs/1791265&#34;&gt;#1791265&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Push build start timestamps to the store, and use release intents so that builds are more reliably released to channels in the proper sequence (&lt;a href=&#34;https://launchpad.net/bugs/1684529&#34;&gt;#1684529&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Try to manually resolve symlinks in remote Git repositories when fetching &lt;code&gt;snapcraft.yaml&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1797366&#34;&gt;#1797366&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Consistently commit transactions in &lt;code&gt;SnapStoreUploadJob&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1833424&#34;&gt;#1833424&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use build request jobs for all snap build requests in the web UI&lt;/li&gt;
&lt;li&gt;Honour &amp;ldquo;&lt;code&gt;base: bare&lt;/code&gt;&amp;rdquo; and &amp;ldquo;&lt;code&gt;build-base&lt;/code&gt;&amp;rdquo; when requesting snap builds (&lt;a href=&#34;https://launchpad.net/bugs/1819196&#34;&gt;#1819196&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add command-not-found metadata in the archive to the Release file&lt;/li&gt;
&lt;li&gt;Check the &lt;code&gt;.deb&lt;/code&gt; format using &lt;code&gt;dpkg-deb&lt;/code&gt; rather than &lt;code&gt;ar&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Add s390x Secure Initial Program Load signing support (&lt;a href=&#34;https://launchpad.net/bugs/1829749&#34;&gt;#1829749&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add u-boot Flat Image Tree signing support (&lt;a href=&#34;https://launchpad.net/bugs/1831942&#34;&gt;#1831942&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&#34;https://manpages.ubuntu.com/manpages/xenial/en/man1/timeout.1.html&#34;&gt;timeout(1)&lt;/a&gt; to limit &lt;code&gt;debdiff&lt;/code&gt; rather than using &lt;a href=&#34;https://manpages.ubuntu.com/manpages/xenial/en/man3/alarm.3posix.html&#34;&gt;alarm(3)&lt;/a&gt; ourselves&lt;/li&gt;
&lt;li&gt;Allow configuring the binary file retention period of a &lt;code&gt;LiveFS&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1832477&#34;&gt;#1832477&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Import source packages from Debian bullseye&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, February 2019</title>
      <link>https://blog.launchpad.net/general/launchpad-news-february-2019/</link>
      <pubDate>Thu, 07 Mar 2019 16:32:09 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4290</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog for this month.&lt;/p&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow dispatching builds with base images selected based on the pocket and/or using LXD images instead of chroot tarballs where appropriate (&lt;a href=&#34;https://launchpad.net/bugs/1811677&#34;&gt;#1811677&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Store &lt;code&gt;bzr-svn&lt;/code&gt;&amp;rsquo;s cache in the import data store&lt;/li&gt;
&lt;li&gt;Allow project owners to use the Bazaar branch rescan view&lt;/li&gt;
&lt;li&gt;Canonicalise expected rule ordering in &lt;code&gt;GitRepository.setRules&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1815431&#34;&gt;#1815431&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade to pygit2 0.27.4 (&lt;a href=&#34;https://launchpad.net/bugs/1815517&#34;&gt;#1815517&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use full gpg key fingerprints in rocketfuel-setup (contributed by Andy Brody; &lt;a href=&#34;https://launchpad.net/bugs/1814206&#34;&gt;#1814206&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://forum.snapcraft.io/t/core18-base-in-build-snapcraft-io/7715&#34;&gt;Support snap bases&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1812985&#34;&gt;#1812985&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow source &lt;code&gt;.changes&lt;/code&gt; files to omit the &lt;code&gt;Binary&lt;/code&gt; field (&lt;a href=&#34;https://launchpad.net/bugs/1813037&#34;&gt;#1813037&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, July 2018 - January 2019</title>
      <link>https://blog.launchpad.net/general/launchpad-news-july-2018-january-2019/</link>
      <pubDate>Thu, 21 Feb 2019 23:28:42 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4283</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog of what we&amp;rsquo;ve been up to since our last general update.&lt;/p&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Parse a few more possible Savane URL formats (&lt;a href=&#34;https://launchpad.net/bugs/197250&#34;&gt;#197250&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Compare Bugzilla versions properly when checking whether they support the Bugzilla API (part of &lt;a href=&#34;https://launchpad.net/bugs/1802798&#34;&gt;#1802798&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Configure snap proxy settings for Subversion (&lt;a href=&#34;https://launchpad.net/bugs/1668358&#34;&gt;#1668358&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support passing &lt;code&gt;IMAGE_TARGETS&lt;/code&gt;, &lt;code&gt;REPO_SNAPSHOT_STAMP&lt;/code&gt;, and &lt;code&gt;COHORT_KEY&lt;/code&gt; variables into live filesystem builds&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;SNAPCRAFT_BUILD_ENVIRONMENT=host&lt;/code&gt; when building snaps (&lt;a href=&#34;https://launchpad.net/bugs/1791201&#34;&gt;#1791201&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Prevent gathering results of large builds from blocking responses to XML-RPC requests (&lt;a href=&#34;https://launchpad.net/bugs/1795877&#34;&gt;#1795877&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add missing indexes on &lt;code&gt;LiveFSFile(libraryfile)&lt;/code&gt; and &lt;code&gt;SnapFile(libraryfile)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Direct build failure support to Launchpad Answers rather than to the &lt;code&gt;launchpad-buildd-admins&lt;/code&gt; team (&lt;a href=&#34;https://launchpad.net/bugs/1810001&#34;&gt;#1810001&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow proposing merges between different branches of the same personal Git repository&lt;/li&gt;
&lt;li&gt;Fix OOPS when trying to look up &lt;code&gt;~user/project:branch&lt;/code&gt; as a unique Git repository name (&lt;a href=&#34;https://launchpad.net/bugs/1771118&#34;&gt;#1771118&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimise &lt;code&gt;GitRepository.fetchRefCommits&lt;/code&gt; if there are no commits to fetch&lt;/li&gt;
&lt;li&gt;Handle the case where a Bazaar branch and a Git repository have the same identity URL when creating a recipe (&lt;a href=&#34;https://launchpad.net/bugs/1623924&#34;&gt;#1623924&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Push code imports over &lt;code&gt;bzr+ssh&lt;/code&gt; rather than &lt;code&gt;sftp&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1779572&#34;&gt;#1779572&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix crash when emailing inline comments on a diff with non-ASCII characters in hunk headers (&lt;a href=&#34;https://launchpad.net/bugs/1787587&#34;&gt;#1787587&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Percent-encode reference names in &lt;code&gt;GitRef&lt;/code&gt; URLs (&lt;a href=&#34;https://launchpad.net/bugs/1787965&#34;&gt;#1787965&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add active reviews link to Git-based project pages (&lt;a href=&#34;https://launchpad.net/bugs/1777102&#34;&gt;#1777102&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix handling of non-ASCII ref names&lt;/li&gt;
&lt;li&gt;Include the appropriate username in &lt;code&gt;git+ssh://&lt;/code&gt; URLs in the UI&lt;/li&gt;
&lt;li&gt;Add instructions on creating personal Git repositories to people&amp;rsquo;s &amp;ldquo;View Git repositories&amp;rdquo; pages (&lt;a href=&#34;https://launchpad.net/bugs/1590560&#34;&gt;#1590560&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add available review targets and proposals to the Git repository overview page (&lt;a href=&#34;https://launchpad.net/bugs/1789847&#34;&gt;#1789847&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect visibility check that broke code imports targeted at private Git repositories (&lt;a href=&#34;https://launchpad.net/bugs/1789424&#34;&gt;#1789424&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow anonymous users to view votes for public merge proposals (&lt;a href=&#34;https://launchpad.net/bugs/1786474&#34;&gt;#1786474&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make Git ref scan jobs for repositories with large numbers of refs take much less memory&lt;/li&gt;
&lt;li&gt;Tolerate backend timeouts while fetching commit information for &lt;code&gt;GitRef:+index&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1804395&#34;&gt;#1804395&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.launchpad.net/code/git-per-branch-permissions&#34;&gt;Add Git per-branch permissions&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1517559&#34;&gt;#1517559&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add rescan buttons when various kinds of code scanning jobs fail (&lt;a href=&#34;https://launchpad.net/bugs/1808320&#34;&gt;#1808320&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Convert all remaining code to use explicit proxy configuration settings rather than picking up a proxy from the environment, making the effective production settings easier to understand&lt;/li&gt;
&lt;li&gt;Add support for ECDSA SSH keys (&lt;a href=&#34;https://launchpad.net/bugs/907675&#34;&gt;#907675&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;libraries&#34;&gt;Libraries&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://pypi.org/project/wadllib/&#34;&gt;wadllib&lt;/a&gt; 1.3.3: Reimplement MIME multipart/form-data encoding without binary corruption bugs (&lt;a href=&#34;https://launchpad.net/bugs/1729754&#34;&gt;#1729754&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pypi.org/project/lazr.restfulclient/&#34;&gt;lazr.restfulclient&lt;/a&gt; 0.14.2: Improve compatibility with various httplib2 versions (&lt;a href=&#34;https://launchpad.net/bugs/1803558&#34;&gt;#1803558&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add a &lt;code&gt;suspend-bot-account.py&lt;/code&gt; script to suspend an account by email address&lt;/li&gt;
&lt;li&gt;Weaken type of &lt;code&gt;key_text&lt;/code&gt; in &lt;code&gt;Person.deleteSSHKeysFromSSO&lt;/code&gt; so that more existing keys can be deleted (&lt;a href=&#34;https://launchpad.net/bugs/1780411&#34;&gt;#1780411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;SSHKey.getFullKeyText&lt;/code&gt; to not crash on some corrupt keys (&lt;a href=&#34;https://launchpad.net/bugs/1798046&#34;&gt;#1798046&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Various improvements to the &lt;code&gt;close-account&lt;/code&gt; script&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Extract initial &lt;code&gt;Snap.store_name&lt;/code&gt; from &lt;code&gt;snapcraft.yaml&lt;/code&gt; for Bazaar as well as Git&lt;/li&gt;
&lt;li&gt;Add support for Snapcraft&amp;rsquo;s &lt;a href=&#34;https://forum.snapcraft.io/t/architectures/4972&#34;&gt;architectures&lt;/a&gt; keyword (&lt;a href=&#34;https://launchpad.net/bugs/1770400&#34;&gt;#1770400&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Bump &lt;code&gt;SnapStoreUploadJob.max_retries&lt;/code&gt; to 30 to allow for longer store scan times&lt;/li&gt;
&lt;li&gt;Include the registered store package name for a snap recipe in its builds&amp;rsquo; titles if it exists and differs from the snap recipe name&lt;/li&gt;
&lt;li&gt;Move some metadata from &lt;code&gt;SnapStoreUploadJob&lt;/code&gt; to &lt;code&gt;SnapBuild&lt;/code&gt;, to prevent store upload jobs getting into states that cannot be retried&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;Archive.getSigningKeyData&lt;/code&gt;, currently just proxying through to the keyserver (&lt;a href=&#34;https://launchpad.net/bugs/1667725&#34;&gt;#1667725&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;extendedKeyUsage&lt;/code&gt; information to kmod signing keys so that they can only be used to sign modules, not boot loaders or kernels (&lt;a href=&#34;https://launchpad.net/bugs/1774746&#34;&gt;#1774746&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, June 2018</title>
      <link>https://blog.launchpad.net/general/launchpad-news-june-2018/</link>
      <pubDate>Fri, 06 Jul 2018 00:18:52 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4274</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog for this month.&lt;/p&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Handle &lt;code&gt;Bugzilla.time()&lt;/code&gt; changes in Bugzilla 5.1.1 (&lt;a href=&#34;https://launchpad.net/bugs/1774838&#34;&gt;#1774838&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Cope with the comment &lt;code&gt;author&lt;/code&gt; field being renamed to &lt;code&gt;creator&lt;/code&gt; in recent Bugzilla versions (&lt;a href=&#34;https://launchpad.net/bugs/1774838&#34;&gt;#1774838&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set the hostname and FQDN of LXD containers to match the host system, though with an IP address pointing to the container (&lt;a href=&#34;https://launchpad.net/bugs/1747015&#34;&gt;#1747015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;If the extra build arguments include &lt;code&gt;fast_cleanup: True&lt;/code&gt;, then skip the final cleanup steps of the build; this can be used when building in a VM that is guaranteed to be torn down after the build&lt;/li&gt;
&lt;li&gt;Allow checking out a git tag rather than a branch (&lt;a href=&#34;https://launchpad.net/bugs/1687078&#34;&gt;#1687078&lt;/a&gt;, &lt;a href=&#34;https://forum.snapcraft.io/t/released-launchpad-buildd-163/5925&#34;&gt;forum post&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add a local unauthenticated proxy on port 8222, which proxies through to the remote authenticated proxy; this should allow running a wider range of network clients, since some of them apparently don&amp;rsquo;t support authenticated proxies very well (&lt;a href=&#34;https://launchpad.net/bugs/1690834&#34;&gt;#1690834&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/bugs/1753340&#34;&gt;#1753340&lt;/a&gt;, &lt;a href=&#34;https://forum.snapcraft.io/t/released-launchpad-buildd-163/5925&#34;&gt;forum post&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Run tar with correct working directory when building source tarballs for snaps&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Port the loggerhead (Bazaar code browser) integration to gunicorn, allowing it to be used as an internal API as well&lt;/li&gt;
&lt;li&gt;Optimise &lt;code&gt;BuildableDistroSeries.findSeries&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1778732&#34;&gt;#1778732&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Proxy loggerhead branch diffs through the webapp, allowing AJAX MP revision diffs to work for private branches (&lt;a href=&#34;https://launchpad.net/bugs/904070&#34;&gt;#904070&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Convert most code to use explicit proxy configuration settings rather than picking up a proxy from the environment, making the effective production settings easier to understand&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix crash while adding an ssh key with unknown type (&lt;a href=&#34;https://launchpad.net/bugs/1777507&#34;&gt;#1777507&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;miscellaneous&#34;&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Improve documentation of what deactivating an account does (&lt;a href=&#34;https://launchpad.net/bugs/993153&#34;&gt;#993153&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, May 2018</title>
      <link>https://blog.launchpad.net/general/launchpad-news-may-2018/</link>
      <pubDate>Sat, 02 Jun 2018 19:44:45 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4271</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog for this month.&lt;/p&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Send &lt;code&gt;fast_cleanup: True&lt;/code&gt; to virtualised builds, since they can safely skip the final cleanup steps&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add spam controls to code review comments (&lt;a href=&#34;https://launchpad.net/bugs/1680746&#34;&gt;#1680746&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only consider the most recent nine successful builds when estimating recipe build durations (&lt;a href=&#34;https://launchpad.net/bugs/1770121&#34;&gt;#1770121&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make updated code import emails more informative&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade to Twisted 17.9.0&lt;/li&gt;
&lt;li&gt;Get the test suite passing on Ubuntu 18.04 LTS&lt;/li&gt;
&lt;li&gt;Allow admins to configure users such that unsigned email from them will be rejected, as a spam defence (&lt;a href=&#34;https://launchpad.net/bugs/1714967&#34;&gt;#1714967&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prune old snap files that have been uploaded to the store; this cleaned up about 5TB of librarian space&lt;/li&gt;
&lt;li&gt;Make the snap store client cope with a few more edge cases (&lt;a href=&#34;https://launchpad.net/bugs/1766911&#34;&gt;#1766911&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow branches in snap store channel names (&lt;a href=&#34;https://launchpad.net/bugs/1754405&#34;&gt;#1754405&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;DistroArchSeries.setChrootFromBuild&lt;/code&gt;, allowing setting a chroot from a file produced by a live filesystem build&lt;/li&gt;
&lt;li&gt;Disambiguate URLs to source package files in the face of filename clashes in imported archives&lt;/li&gt;
&lt;li&gt;Optimise SourcePackagePublishingHistory:+listing-archive-extra (&lt;a href=&#34;https://launchpad.net/bugs/1769979&#34;&gt;#1769979&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;miscellaneous&#34;&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Disable purchasing of new commercial subscriptions; existing customers have been contacted, and people with questions about this can &lt;a href=&#34;https://www.ubuntu.com/support/contact-us&#34;&gt;contact Canonical support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Various minor revisions to the terms of service from Canonical&amp;rsquo;s legal department, and a clearer data privacy policy&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, June 2017 - April 2018</title>
      <link>https://blog.launchpad.net/general/launchpad-news-june-2017-april-2018/</link>
      <pubDate>Tue, 01 May 2018 18:19:04 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4265</guid>
      <description>&lt;p&gt;Once again it&amp;rsquo;s been a while since we posted a general update, so here&amp;rsquo;s a changelog-style summary of what we&amp;rsquo;ve been up to.  As usual, this changelog preserves a reasonable amount of technical detail, but I&amp;rsquo;ve omitted changes that were purely internal refactoring with no externally-visible effects.&lt;/p&gt;
&lt;h2 id=&#34;answers&#34;&gt;Answers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hide questions on inactive projects from the results of non-pillar-specific searches&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;blueprints&#34;&gt;Blueprints&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Optimise the main query on Person:+upcomingwork (&lt;a href=&#34;https://launchpad.net/bugs/1692120&#34;&gt;#1692120&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Apply the spec privacy check on Person:+upcomingwork only to relevant specs (&lt;a href=&#34;https://launchpad.net/bugs/1696519&#34;&gt;#1696519&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Move base clauses for specification searches into a CTE to avoid slow sequential scans&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Switch to HTTPS for CVE references&lt;/li&gt;
&lt;li&gt;Fix various failures to sync from Red Hat&amp;rsquo;s Bugzilla instance (&lt;a href=&#34;https://launchpad.net/bugs/1678486&#34;&gt;#1678486&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Send the necessary set of archive signing keys to builders (&lt;a href=&#34;https://launchpad.net/bugs/1626739&#34;&gt;#1626739&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Hide the virt/nonvirt queue portlets on BuilderSet:+index if they&amp;rsquo;d be empty&lt;/li&gt;
&lt;li&gt;Add a feature flag which can be used to prevent dispatching any build under a given minimum score&lt;/li&gt;
&lt;li&gt;Write files fetched from builders to a temporary name, and only rename them into place on success&lt;/li&gt;
&lt;li&gt;Emit the build URL at the start of build logs&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix crash when scanning a Git-based MP when we need to link a new &lt;tt&gt;RevisionAuthor&lt;/tt&gt; to an existing &lt;tt&gt;Person&lt;/tt&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1693543&#34;&gt;#1693543&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add source ref name to breadcrumbs for Git-based MPs; this gets the ref name into the page title, which makes it easier to find Git-based MPs in browser history&lt;/li&gt;
&lt;li&gt;Allow registry experts to delete recipes&lt;/li&gt;
&lt;li&gt;Explicitly mark the local apt archive for recipe builds as trusted (&lt;a href=&#34;https://launchpad.net/bugs/1701826&#34;&gt;#1701826&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Set +code as the default view on the code layer for (&lt;tt&gt;Person&lt;/tt&gt;)&lt;tt&gt;DistributionSourcePackage&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Improve handling of branches with various kinds of partial data&lt;/li&gt;
&lt;li&gt;Add and export &lt;tt&gt;BranchMergeProposal.scheduleDiffUpdates&lt;/tt&gt; (&lt;a href=&#34;https://launchpad.net/bugs/483945&#34;&gt;#483945&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Move &amp;ldquo;Updating repository&amp;hellip;&amp;rdquo; notice above the list of branches so that it&amp;rsquo;s harder to miss (&lt;a href=&#34;https://launchpad.net/bugs/1745161&#34;&gt;#1745161&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade to Pygments 2.2.0, including better formatting of &lt;tt&gt;*.md&lt;/tt&gt; files (&lt;a href=&#34;https://launchpad.net/bugs/1740903&#34;&gt;#1740903&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Sort cancelled-before-starting recipe builds to the end of the build history (&lt;a href=&#34;https://launchpad.net/bugs/746140&#34;&gt;#746140&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Clean up the {Branch,GitRef}:+register-merge UI slightly&lt;/li&gt;
&lt;li&gt;Optimise merge detection when the branch has no landing candidates&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use correct method separator in Allow headers (&lt;a href=&#34;https://launchpad.net/bugs/1717682&#34;&gt;#1717682&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimise &lt;tt&gt;lp_sitecustomize&lt;/tt&gt; so that &lt;tt&gt;bin/py&lt;/tt&gt; starts up more quickly&lt;/li&gt;
&lt;li&gt;Add a utility to make it easier to run Launchpad code inside &lt;tt&gt;lxc exec&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Convert lp-source-dependencies to git&lt;/li&gt;
&lt;li&gt;Remove the post-webservice-GET commit&lt;/li&gt;
&lt;li&gt;Convert build system to virtualenv and pip, unblocking many upgrades of dependencies&lt;/li&gt;
&lt;li&gt;Use eslint to lint JavaScript files&lt;/li&gt;
&lt;li&gt;Tidy up various minor problems in the top-level Makefile (&lt;a href=&#34;https://launchpad.net/bugs/483782&#34;&gt;#483782&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Offering ECDSA or Ed25519 SSH keys to Launchpad SSH servers no longer causes a hang, although it still isn&amp;rsquo;t possible to use them for authentication (&lt;a href=&#34;https://launchpad.net/bugs/830679&#34;&gt;#830679&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reject SSH public keys that Twisted can&amp;rsquo;t load (&lt;a href=&#34;https://launchpad.net/bugs/230144&#34;&gt;#230144&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backport GPGME file descriptor handling improvements to fix timeouts importing GPG keys (&lt;a href=&#34;https://launchpad.net/bugs/1753019&#34;&gt;#1753019&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve OOPSes for jobs&lt;/li&gt;
&lt;li&gt;Switch the site-wide search to Bing Custom Search, since Google Site Search has been discontinued&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t send email to direct recipients without active accounts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix the privacy banner on &lt;tt&gt;PersonProduct&lt;/tt&gt; pages&lt;/li&gt;
&lt;li&gt;Show GPG fingerprints rather than collidable short key IDs (&lt;a href=&#34;https://launchpad.net/bugs/1576142&#34;&gt;#1576142&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;tt&gt;PersonSet.getPrecachedPersonsFromIDs&lt;/tt&gt; to handle teams with mailing lists&lt;/li&gt;
&lt;li&gt;Optimise front page, mainly by gathering more statistics periodically rather than on the fly&lt;/li&gt;
&lt;li&gt;Construct public keyserver links using HTTPS without an explicit port (&lt;a href=&#34;https://launchpad.net/bugs/1739110&#34;&gt;#1739110&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fall back to emailing the team owner if the team has no admins (&lt;a href=&#34;https://launchpad.net/bugs/1270141&#34;&gt;#1270141&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log some useful information from authorising macaroons while uploading snaps to the store, to make it easier to diagnose problems&lt;/li&gt;
&lt;li&gt;Extract more useful error messages when snap store operations fail (&lt;a href=&#34;https://launchpad.net/bugs/1650461&#34;&gt;#1650461&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/bugs/1687068&#34;&gt;#1687068&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Send mail rather than OOPSing if refreshing snap store upload macaroons fails (&lt;a href=&#34;https://launchpad.net/bugs/1668368&#34;&gt;#1668368&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Automatically retry snap store upload attempts that return 502 or 503&lt;/li&gt;
&lt;li&gt;Initialise git submodules in snap builds (&lt;a href=&#34;https://launchpad.net/bugs/1694413&#34;&gt;#1694413&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make &lt;tt&gt;SnapStoreUploadJob&lt;/tt&gt; retries go via celery and be much more responsive (&lt;a href=&#34;https://launchpad.net/bugs/1689282&#34;&gt;#1689282&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Run snap builds in LXD containers, allowing them to install snaps as build-dependencies&lt;/li&gt;
&lt;li&gt;Allow setting &lt;tt&gt;Snap.git_path&lt;/tt&gt; directly on the webservice&lt;/li&gt;
&lt;li&gt;Batch snap listing views (&lt;a href=&#34;https://launchpad.net/bugs/1722562&#34;&gt;#1722562&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix AJAX update of snap builds table to handle all build statuses&lt;/li&gt;
&lt;li&gt;Set &lt;tt&gt;SNAPCRAFT_BUILD_INFO=1&lt;/tt&gt; to tell snapcraft to generate a manifest&lt;/li&gt;
&lt;li&gt;Only emit &lt;tt&gt;snap:build:0.1&lt;/tt&gt; webhooks from &lt;tt&gt;SnapBuild.updateStatus&lt;/tt&gt; if the status has changed&lt;/li&gt;
&lt;li&gt;Expose extended error messages (with external link) for snap build jobs (&lt;a href=&#34;https://launchpad.net/bugs/1729580&#34;&gt;#1729580&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Begin work on allowing snap builds to install snapcraft as a snap; this can currently be set up via the API, and work is in progress to add UI and to migrate to this as the default (&lt;a href=&#34;https://launchpad.net/bugs/1737994&#34;&gt;#1737994&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add an admin option to disable external network access for snap builds&lt;/li&gt;
&lt;li&gt;Export &lt;tt&gt;ISnapSet.findByOwner&lt;/tt&gt; on the webservice&lt;/li&gt;
&lt;li&gt;Prefer &lt;tt&gt;Snap.store_name&lt;/tt&gt; over &lt;tt&gt;Snap.name&lt;/tt&gt; for the &amp;ldquo;name&amp;rdquo; argument dispatched to snap builds&lt;/li&gt;
&lt;li&gt;Pass build URL to snapcraft using &lt;tt&gt;SNAPCRAFT_IMAGE_INFO&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Add an option to build source tarballs for snaps (&lt;a href=&#34;https://launchpad.net/bugs/1763639&#34;&gt;#1763639&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Stop &lt;tt&gt;SourcePackagePublishingHistory.getPublishedBinaries&lt;/tt&gt; materialising rows outside the current batch; this fixes webservice timeouts for sources with large numbers of binaries (&lt;a href=&#34;https://launchpad.net/bugs/1695113&#34;&gt;#1695113&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement proxying of &lt;tt&gt;PackageUpload&lt;/tt&gt; binary files via the webapp, since DistroSeries:+queue now assumes that that works (&lt;a href=&#34;https://launchpad.net/bugs/1697680&#34;&gt;#1697680&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Truncate signing key common-names to 64 characters (&lt;a href=&#34;https://launchpad.net/bugs/1608615&#34;&gt;#1608615&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow setting a relative build score on live filesystems (&lt;a href=&#34;https://launchpad.net/bugs/1452543&#34;&gt;#1452543&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add signing support for vmlinux for use on ppc64el Opal (and compatible) firmware&lt;/li&gt;
&lt;li&gt;Run live filesystem builds in LXD containers, allowing them to install snaps as build-dependencies&lt;/li&gt;
&lt;li&gt;Accept a &amp;ldquo;debug&amp;rdquo; entry in live filesystem build metadata, which enables detailed live-build debugging&lt;/li&gt;
&lt;li&gt;Accept and ignore options (e.g. &lt;tt&gt;[trusted=yes]&lt;/tt&gt;) in sources.list lines passed via &lt;tt&gt;external_dependencies&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Send proper email notifications about most failures to parse the &lt;tt&gt;.changes&lt;/tt&gt; file (&lt;a href=&#34;https://launchpad.net/bugs/499438&#34;&gt;#499438&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure that PPA &lt;tt&gt;.htpasswd&lt;/tt&gt; salts are drawn from the correct alphabet (&lt;a href=&#34;https://launchpad.net/bugs/1722209&#34;&gt;#1722209&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve &lt;tt&gt;DpkgArchitectureCache&lt;/tt&gt;&amp;rsquo;s timeline handling, and speed it up a bit in some cases (&lt;a href=&#34;https://launchpad.net/bugs/1062638&#34;&gt;#1062638&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support passing a snap channel into a live filesystem build through the environment&lt;/li&gt;
&lt;li&gt;Add support for passing apt proxies to live-build&lt;/li&gt;
&lt;li&gt;Allow anonymous &lt;tt&gt;launchpad.View&lt;/tt&gt; on &lt;tt&gt;IDistributionSourcePackage&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Handle queries starting with &amp;ldquo;ppa:&amp;rdquo; when searching the PPA vocabulary&lt;/li&gt;
&lt;li&gt;Make &lt;tt&gt;PackageTranslationsUploadJob&lt;/tt&gt; download librarian files to disk rather than memory&lt;/li&gt;
&lt;li&gt;Send email notifications when an upload is signed with an expired key&lt;/li&gt;
&lt;li&gt;Add &lt;tt&gt;Release&lt;/tt&gt;, &lt;tt&gt;Release.gpg&lt;/tt&gt;, and &lt;tt&gt;InRelease&lt;/tt&gt; to by-hash directories&lt;/li&gt;
&lt;li&gt;After publishing a custom file, mark its target suite as dirty so that it will be published (&lt;a href=&#34;https://launchpad.net/bugs/1509026&#34;&gt;#1509026&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;translations&#34;&gt;Translations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix &lt;tt&gt;text_to_html&lt;/tt&gt; to not parse HTML as a C format string&lt;/li&gt;
&lt;li&gt;Fall back to the package name from &lt;tt&gt;AC_INIT&lt;/tt&gt; when expanding &lt;tt&gt;$(PACKAGE)&lt;/tt&gt; in translation configuration files if no other definition can be found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;miscellaneous&#34;&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Show a search icon for pickers where possible rather than &amp;ldquo;Choose&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, May 2017</title>
      <link>https://blog.launchpad.net/general/launchpad-news-may-2017/</link>
      <pubDate>Wed, 31 May 2017 22:35:39 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4256</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a brief changelog for this month.&lt;/p&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Export &lt;code&gt;searchTasks&lt;/code&gt; for the top-level &lt;code&gt;bugs&lt;/code&gt; collection on the webservice, and implement a global bugs feed to go with it (&lt;a href=&#34;https://launchpad.net/bugs/434244&#34;&gt;#434244&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix git-to-git code imports on xenial&lt;/li&gt;
&lt;li&gt;Backport upstream serf commit to fix svn-to-bzr code imports on xenial (&lt;a href=&#34;https://launchpad.net/bugs/1690613&#34;&gt;#1690613&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix crash when unlinking a bug from a Git-based MP in &lt;code&gt;UpdatePreviewDiffJob&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Handle revision ID passed to &lt;code&gt;BranchMergeProposal.setStatus&lt;/code&gt; for transitions to MERGED&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix processing of purchased Launchpad commercial subscriptions&lt;/li&gt;
&lt;li&gt;Some progress towards converting the build system to pip, though there&amp;rsquo;s quite a bit more work to do there&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Remove extra internal slashes from URLs requested by the mirror prober (&lt;a href=&#34;https://launchpad.net/bugs/1692347&#34;&gt;#1692347&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Record the branch revision used to build a snap and return it along with other XML-RPC status information (&lt;a href=&#34;https://launchpad.net/bugs/1679157&#34;&gt;#1679157&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Configure a &lt;code&gt;git://&lt;/code&gt; proxy for snap builds (&lt;a href=&#34;https://launchpad.net/bugs/1663920&#34;&gt;#1663920&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow configuring a snap to build from the current branch of a Git repository rather than explicitly naming a branch (&lt;a href=&#34;https://launchpad.net/bugs/1688224&#34;&gt;#1688224&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Precache permissions for archives returned by &lt;code&gt;Person.getVisiblePPAs&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1685202&#34;&gt;#1685202&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Drop requirement for source .buildinfo files to be signed&lt;/li&gt;
&lt;li&gt;Make DistroSeries:+queue link to upload files via the webapp, to help &lt;code&gt;dget&lt;/code&gt; users&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, November 2015 - April 2017</title>
      <link>https://blog.launchpad.net/general/launchpad-news-november-2015-april-2017/</link>
      <pubDate>Fri, 28 Apr 2017 14:08:57 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4252</guid>
      <description>&lt;p&gt;Well, it&amp;rsquo;s been a while!  Since we last posted a general update, the Launchpad team has become part of Canonical&amp;rsquo;s Online Services department, so some of our efforts have gone into other projects.  There&amp;rsquo;s still plenty happening with Launchpad, though, and here&amp;rsquo;s a changelog-style summary of what we&amp;rsquo;ve been up to.&lt;/p&gt;
&lt;h2 id=&#34;answers&#34;&gt;Answers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Lock down question title and description edits from random users&lt;/li&gt;
&lt;li&gt;Prevent answer contacts from editing question titles and descriptions&lt;/li&gt;
&lt;li&gt;Prevent answer contacts from editing FAQs&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;blueprints&#34;&gt;Blueprints&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Optimise &lt;code&gt;SpecificationSet.getStatusCountsForProductSeries&lt;/code&gt;, fixing Product:+series timeouts&lt;/li&gt;
&lt;li&gt;Add sprint deletion support (&lt;a href=&#34;https://launchpad.net/bugs/2888&#34;&gt;#2888&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Restrict blueprint count on front page to public blueprints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;build-farm&#34;&gt;Build farm&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add fallback if nominated architecture-independent architecture is unavailable for building (&lt;a href=&#34;https://launchpad.net/bugs/1530217&#34;&gt;#1530217&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Try to load the nbd module when starting launchpad-buildd (&lt;a href=&#34;https://launchpad.net/bugs/1531171&#34;&gt;#1531171&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Default &lt;code&gt;LANG&lt;/code&gt;/&lt;code&gt;LC_ALL&lt;/code&gt; to &lt;code&gt;C.UTF-8&lt;/code&gt; during binary package builds (&lt;a href=&#34;https://launchpad.net/bugs/1552791&#34;&gt;#1552791&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Convert buildd-manager to use a connection pool rather than trying to download everything at once (&lt;a href=&#34;https://launchpad.net/bugs/1584744&#34;&gt;#1584744&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always decode build logtail as UTF-8 rather than guessing (&lt;a href=&#34;https://launchpad.net/bugs/1585324&#34;&gt;#1585324&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Move non-virtualised builders to the bottom of /builders; Ubuntu is now mostly built on virtualised builders&lt;/li&gt;
&lt;li&gt;Pass &lt;code&gt;DEB_BUILD_OPTIONS=noautodbgsym&lt;/code&gt; during binary package builds if we have not been told to build debug symbols (&lt;a href=&#34;https://launchpad.net/bugs/1623256&#34;&gt;#1623256&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use standard milestone ordering for bug task milestone choices (&lt;a href=&#34;https://launchpad.net/bugs/1512213&#34;&gt;#1512213&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make bug activity records visible to anonymous API requests where appropriate (&lt;a href=&#34;https://launchpad.net/bugs/991079&#34;&gt;#991079&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use a monospace font for &amp;ldquo;Add comment&amp;rdquo; boxes for bugs, to match how the comments will be displayed (&lt;a href=&#34;https://launchpad.net/bugs/1366932&#34;&gt;#1366932&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;BugTaskSet.createManyTasks&lt;/code&gt; to map Incomplete to its storage values (&lt;a href=&#34;https://launchpad.net/bugs/1576857&#34;&gt;#1576857&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add basic GitHub bug linking (&lt;a href=&#34;https://launchpad.net/bugs/848666&#34;&gt;#848666&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Prevent rendering of private team names in bugs feed (&lt;a href=&#34;https://launchpad.net/bugs/1592186&#34;&gt;#1592186&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update CVE database XML namespace to match current file on cve.mitre.org&lt;/li&gt;
&lt;li&gt;Fix Bugzilla bug watches to support new versions that permit multiple aliases&lt;/li&gt;
&lt;li&gt;Sort bug tasks related to distribution series by series version rather than series name (&lt;a href=&#34;https://launchpad.net/bugs/1681899&#34;&gt;#1681899&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Remove always-empty portlet from Person:+branches (&lt;a href=&#34;https://launchpad.net/bugs/1511559&#34;&gt;#1511559&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix OOPS when editing a Git repository with over a thousand refs (&lt;a href=&#34;https://launchpad.net/bugs/1511838&#34;&gt;#1511838&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add Git links to DistributionSourcePackage:+branches and DistributionSourcePackage:+all-branches (&lt;a href=&#34;https://launchpad.net/bugs/1511573&#34;&gt;#1511573&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Handle prerequisites in Git-based merge proposals (&lt;a href=&#34;https://launchpad.net/bugs/1489839&#34;&gt;#1489839&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix OOPS when trying to register a Git merge with a target path but no target repository&lt;/li&gt;
&lt;li&gt;Show an &amp;ldquo;Updating repository&amp;hellip;&amp;rdquo; indication when there are pending writes&lt;/li&gt;
&lt;li&gt;Launchpad&amp;rsquo;s Git hosting backend is now self-hosted&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;setDefaultRepository(ForOwner)&lt;/code&gt; to cope with replacing an existing default (&lt;a href=&#34;https://launchpad.net/bugs/1524316&#34;&gt;#1524316&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &amp;ldquo;Configure Code&amp;rdquo; link to Product:+git&lt;/li&gt;
&lt;li&gt;Fix Git diff generation crash on non-ASCII conflicts (&lt;a href=&#34;https://launchpad.net/bugs/1531051&#34;&gt;#1531051&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix stray link to +editsshkeys on Product:+configure-code when SSH keys were already registered (&lt;a href=&#34;https://launchpad.net/bugs/1534159&#34;&gt;#1534159&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.launchpad.net/cool-new-stuff/beta-test-git-recipes&#34;&gt;Add support for Git recipes&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1453022&#34;&gt;#1453022&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix OOPS when adding a comment to a Git-based merge proposal without using AJAX (&lt;a href=&#34;https://launchpad.net/bugs/1536363&#34;&gt;#1536363&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix shallow git clones over HTTPS (&lt;a href=&#34;https://launchpad.net/bugs/1547141&#34;&gt;#1547141&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add new &amp;ldquo;Code&amp;rdquo; portlet on Product:+index to make it easier to find source code (&lt;a href=&#34;https://launchpad.net/bugs/531323&#34;&gt;#531323&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add missing table around widget row on Product:+configure-code, so that errors are highlighted properly (&lt;a href=&#34;https://launchpad.net/bugs/1552878&#34;&gt;#1552878&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Sort &lt;code&gt;GitRepositorySet.getRepositories&lt;/code&gt; API results to make batching reliable (&lt;a href=&#34;https://launchpad.net/bugs/1578205&#34;&gt;#1578205&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Show recent commits on GitRef:+index&lt;/li&gt;
&lt;li&gt;Show associated merge proposals in Git commit listings&lt;/li&gt;
&lt;li&gt;Show unmerged and conversation-relevant Git commits in merge proposal views (&lt;a href=&#34;https://launchpad.net/bugs/1550118&#34;&gt;#1550118&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement AJAX revision diffs for Git&lt;/li&gt;
&lt;li&gt;Fix scanning branches with ghost revisions in their ancestry (&lt;a href=&#34;https://launchpad.net/bugs/1587948&#34;&gt;#1587948&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix decoding of Git diffs involving non-UTF-8 text that decodes to unpaired surrogates when treated as UTF-8 (&lt;a href=&#34;https://launchpad.net/bugs/1589411&#34;&gt;#1589411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix linkification of references to Git repositories (&lt;a href=&#34;https://launchpad.net/bugs/1467975&#34;&gt;#1467975&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix +edit-status for Git merge proposals (&lt;a href=&#34;https://launchpad.net/bugs/1538355&#34;&gt;#1538355&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include username in git+ssh URLs (&lt;a href=&#34;https://launchpad.net/bugs/1600055&#34;&gt;#1600055&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.launchpad.net/code/linking-git-merge-proposals-to-bugs&#34;&gt;Allow linking bugs to Git-based merge proposals&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1492926&#34;&gt;#1492926&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make &lt;code&gt;Person.getMergeProposals&lt;/code&gt; have a constant query count on the webservice (&lt;a href=&#34;https://launchpad.net/bugs/1619772&#34;&gt;#1619772&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Link to the default git repository on Product:+index (&lt;a href=&#34;https://launchpad.net/bugs/1576494&#34;&gt;#1576494&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.launchpad.net/code/git-to-git-imports&#34;&gt;Add Git-to-Git code imports&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1469459&#34;&gt;#1469459&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve preloading of &lt;code&gt;{Branch,GitRepository}.{landing_candidates,landing_targets}&lt;/code&gt;, fixing various timeouts&lt;/li&gt;
&lt;li&gt;Export &lt;code&gt;GitRepository.getRefByPath&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1654537&#34;&gt;#1654537&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;GitRepository.rescan&lt;/code&gt; method, useful in cases when a scan crashed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Launchpad&amp;rsquo;s SSH endpoints (bazaar.launchpad.net, git.launchpad.net, upload.ubuntu.com, and ppa.launchpad.net) now support newer key exchange and MAC algorithms, allowing compatibility with OpenSSH &amp;gt;= 7.0 (&lt;a href=&#34;https://launchpad.net/bugs/1445619&#34;&gt;#1445619&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make cross-referencing code more efficient for large numbers of IDs (&lt;a href=&#34;https://launchpad.net/bugs/1520281&#34;&gt;#1520281&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Canonicalise path encoding before checking a librarian &lt;code&gt;TimeLimitedToken&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/677270&#34;&gt;#677270&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Librarian to generate non-cachable 500s on missing storage files (&lt;a href=&#34;https://launchpad.net/bugs/1529428&#34;&gt;#1529428&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Document the standard &lt;code&gt;DELETE&lt;/code&gt; method in the apidoc (&lt;a href=&#34;https://launchpad.net/bugs/753334&#34;&gt;#753334&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add a &lt;code&gt;PLACEHOLDER&lt;/code&gt; account type for use by SSO-only accounts&lt;/li&gt;
&lt;li&gt;Add support to +login for acquiring discharge macaroons from SSO via an OpenID exchange (&lt;a href=&#34;https://launchpad.net/bugs/1572605&#34;&gt;#1572605&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow managing SSH keys in SSO&lt;/li&gt;
&lt;li&gt;Re-raise unexpected HTTP errors when talking to the GPG key server&lt;/li&gt;
&lt;li&gt;Ensure that the production dump is usable before destroying staging&lt;/li&gt;
&lt;li&gt;Log SQL statements as Unicode to avoid confusing page rendering when the &lt;code&gt;visible_render_time&lt;/code&gt; flag is on (&lt;a href=&#34;https://launchpad.net/bugs/1617336&#34;&gt;#1617336&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix the librarian to fsync new files and their parent directories&lt;/li&gt;
&lt;li&gt;Handle running Launchpad from a Git working tree&lt;/li&gt;
&lt;li&gt;Handle running Launchpad on Ubuntu 16.04 (upgrade currently in progress)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;delete_unwanted_swift_files&lt;/code&gt; to not crash on segments (&lt;a href=&#34;https://launchpad.net/bugs/1642411&#34;&gt;#1642411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update database schema for PostgreSQL 9.5 and 9.6&lt;/li&gt;
&lt;li&gt;Check fingerprints of keys received from the keyserver rather than trusting it implicitly&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;registry&#34;&gt;Registry&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Make public SSH key records visible to anonymous API requests (&lt;a href=&#34;https://launchpad.net/bugs/1014996&#34;&gt;#1014996&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.launchpad.net/beta/beta-test-new-package-picker&#34;&gt;Don&amp;rsquo;t show unpublished packages or package names from private PPAs in search results from the package picker&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/42298&#34;&gt;#42298&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/bugs/1574807&#34;&gt;#1574807&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make &lt;code&gt;Person.time_zone&lt;/code&gt; always be non-None, allowing us to easily show the edit widget even for users who have never set their time zone (&lt;a href=&#34;https://launchpad.net/bugs/1568806&#34;&gt;#1568806&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Let latest questions, specifications and products be efficiently calculated&lt;/li&gt;
&lt;li&gt;Let project drivers edit series and productreleases, as series drivers can; project drivers should have series driver power over all series&lt;/li&gt;
&lt;li&gt;Fix misleading messages when joining a delegated team&lt;/li&gt;
&lt;li&gt;Allow team privacy changes when referenced by &lt;code&gt;CodeReviewVote.reviewer&lt;/code&gt; or &lt;code&gt;BugNotificationRecipient.person&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t limit Person:+related-projects to a single batch&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;snappy&#34;&gt;Snappy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add webhook support for snaps (&lt;a href=&#34;https://launchpad.net/bugs/1535826&#34;&gt;#1535826&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow deleting snaps even if they have builds&lt;/li&gt;
&lt;li&gt;Provide snap builds with a proxy so that they can access external network resources&lt;/li&gt;
&lt;li&gt;Add support for automatically uploading snap builds to the store (&lt;a href=&#34;https://launchpad.net/bugs/1572605&#34;&gt;#1572605&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update latest snap builds table via AJAX&lt;/li&gt;
&lt;li&gt;Add option to trigger snap builds when top-level branch changes (&lt;a href=&#34;https://launchpad.net/bugs/1593359&#34;&gt;#1593359&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add processor selection in new snap form&lt;/li&gt;
&lt;li&gt;Add option to automatically release snap builds to store channels after upload (&lt;a href=&#34;https://launchpad.net/bugs/1597819&#34;&gt;#1597819&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow manually uploading a completed snap build to the store&lt;/li&gt;
&lt;li&gt;Upload &lt;code&gt;*.manifest&lt;/code&gt; files from builders as well as &lt;code&gt;*.snap&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1608432&#34;&gt;#1608432&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Send an email notification for general snap store upload failures (&lt;a href=&#34;https://launchpad.net/bugs/1632299&#34;&gt;#1632299&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow building snaps from an external Git repository&lt;/li&gt;
&lt;li&gt;Move upload to &lt;code&gt;FAILED&lt;/code&gt; if its build was deleted (e.g. because of a deleted snap) (&lt;a href=&#34;https://launchpad.net/bugs/1655334&#34;&gt;#1655334&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Consider &lt;code&gt;snap/snapcraft.yaml&lt;/code&gt; and &lt;code&gt;.snapcraft.yaml&lt;/code&gt; as well as &lt;code&gt;snapcraft.yaml&lt;/code&gt; for new snaps (&lt;a href=&#34;https://launchpad.net/bugs/1659085&#34;&gt;#1659085&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for building snaps with classic confinement (&lt;a href=&#34;https://launchpad.net/bugs/1650946&#34;&gt;#1650946&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;builds_for_snap&lt;/code&gt; to avoid iterating over an unsliced &lt;code&gt;DecoratedResultSet&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1671134&#34;&gt;#1671134&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add channel track support when uploading snap builds to the store (contributed by Matias Bordese; &lt;a href=&#34;https://launchpad.net/bugs/1677644&#34;&gt;#1677644&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-management&#34;&gt;Soyuz (package management)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Remove some more uses of the confusing .dsc component; add the publishing component to SourcePackage:+index in compensation&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;include_meta&lt;/code&gt; option to &lt;code&gt;SPPH.sourceFileUrls&lt;/code&gt;, paralleling &lt;code&gt;BPPH.binaryFileUrls&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Kill debdiff after ten minutes or 1GiB of output by default, and make sure we clean up after it properly (&lt;a href=&#34;https://launchpad.net/bugs/314436&#34;&gt;#314436&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix handling of &amp;lt;&amp;lt; and &amp;gt;&amp;gt; dep-waits&lt;/li&gt;
&lt;li&gt;Allow PPA admins to set external_dependencies on individual binary package builds (&lt;a href=&#34;https://launchpad.net/bugs/671190&#34;&gt;#671190&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;NascentUpload.do_reject&lt;/code&gt; to not send an erroneous Accepted email (&lt;a href=&#34;https://launchpad.net/bugs/1530220&#34;&gt;#1530220&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include DEP-11 metadata in Release file if it is present&lt;/li&gt;
&lt;li&gt;Consistently generate Release entries for uncompressed versions of files, even if they don&amp;rsquo;t exist on the filesystem; don&amp;rsquo;t create uncompressed Packages/Sources files on the filesystem&lt;/li&gt;
&lt;li&gt;Handle &lt;code&gt;Build-Depends-Arch&lt;/code&gt; and &lt;code&gt;Build-Conflicts-Arch&lt;/code&gt; from &lt;code&gt;SPR.user_defined_fields&lt;/code&gt; in Sources generation and SP:+index (&lt;a href=&#34;https://launchpad.net/bugs/1489044&#34;&gt;#1489044&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make index compression types configurable per-series, and add xz support (&lt;a href=&#34;https://launchpad.net/bugs/1517510&#34;&gt;#1517510&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use SHA-512 digests for GPG signing where possible (&lt;a href=&#34;https://launchpad.net/bugs/1556666&#34;&gt;#1556666&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.chiark.greenend.org.uk/~cjwatson/blog/re-signing-ppas.html&#34;&gt;Re-sign PPAs with SHA-512&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.chiark.greenend.org.uk/~cjwatson/blog/no-more-hash-sum-mismatch-errors.html&#34;&gt;Publish by-hash index files&lt;/a&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1430011&#34;&gt;#1430011&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Show SHA-256 checksums rather than MD5 on DistributionSourcePackageRelease:+files (&lt;a href=&#34;https://launchpad.net/bugs/1562632&#34;&gt;#1562632&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add a per-series switch allowing packages in supported components to build-depend on packages in unsupported components, used for Ubuntu 16.04 and later&lt;/li&gt;
&lt;li&gt;Expand archive signing to kernel modules (contributed by Andy Whitcroft; &lt;a href=&#34;https://launchpad.net/bugs/1577736&#34;&gt;#1577736&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Uniquely index &lt;code&gt;PackageDiff(from_source, to_source)&lt;/code&gt; (part of &lt;a href=&#34;https://launchpad.net/bugs/1475358&#34;&gt;#1475358&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Handle original tarball signatures in source packages (&lt;a href=&#34;https://launchpad.net/bugs/1587667&#34;&gt;#1587667&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add signed checksums for published UEFI/kmod files (contributed by Andy Whitcroft; &lt;a href=&#34;https://launchpad.net/bugs/1285919&#34;&gt;#1285919&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for named authentication tokens for private PPAs&lt;/li&gt;
&lt;li&gt;Show explicit &lt;code&gt;add-apt-repository&lt;/code&gt; command on Archive:+index (&lt;a href=&#34;https://launchpad.net/bugs/1547343&#34;&gt;#1547343&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use a per-archive OOPS timeline in archivepublisher scripts&lt;/li&gt;
&lt;li&gt;Link to package versions on DSP:+index using &lt;code&gt;fmt:url&lt;/code&gt; rather than just a relative link to the version, to avoid problems with epochs (&lt;a href=&#34;https://launchpad.net/bugs/1629058&#34;&gt;#1629058&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;RepositoryIndexFile&lt;/code&gt; to gzip without timestamps&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;Archive.getPublishedBinaries&lt;/code&gt; API call to have a constant query count (&lt;a href=&#34;https://launchpad.net/bugs/1635126&#34;&gt;#1635126&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include the package name in package copy job OOPS reports and emails (&lt;a href=&#34;https://launchpad.net/bugs/1618133&#34;&gt;#1618133&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Remove headers from Contents files (&lt;a href=&#34;https://launchpad.net/bugs/1638219&#34;&gt;#1638219&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Notify the Changed-By address for PPA uploads if the .changes contains &amp;ldquo;Launchpad-Notify-Changed-By: yes&amp;rdquo; (&lt;a href=&#34;https://launchpad.net/bugs/1633608&#34;&gt;#1633608&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Accept .debs containing &lt;code&gt;control.tar.xz&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1640280&#34;&gt;#1640280&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;Archive.markSuiteDirty&lt;/code&gt; API call to allow requesting that a given archive/suite be published&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t allow cron-control to interrupt publish-ftpmaster part-way through (&lt;a href=&#34;https://launchpad.net/bugs/1647478&#34;&gt;#1647478&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimise non-SQL time in &lt;code&gt;PublishingSet.requestDeletion&lt;/code&gt; (&lt;a href=&#34;https://launchpad.net/bugs/1682096&#34;&gt;#1682096&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Store uploaded .buildinfo files (&lt;a href=&#34;https://launchpad.net/bugs/1657704&#34;&gt;#1657704&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;translations&#34;&gt;Translations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow TranslationImportQueue to import entries from file objects rather than having to read arbitrarily-large files into memory (&lt;a href=&#34;https://launchpad.net/bugs/674575&#34;&gt;#674575&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;miscellaneous&#34;&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use gender-neutral pronouns where appropriate&lt;/li&gt;
&lt;li&gt;Self-host the Ubuntu webfonts (&lt;a href=&#34;https://launchpad.net/bugs/1521472&#34;&gt;#1521472&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make the beta and privacy banners float over the rest of the page when scrolling&lt;/li&gt;
&lt;li&gt;Upgrade to pytz 2016.4 (&lt;a href=&#34;https://launchpad.net/bugs/1589111&#34;&gt;#1589111&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Publish Launchpad&amp;rsquo;s code revision in an &lt;code&gt;X-Launchpad-Revision&lt;/code&gt; header&lt;/li&gt;
&lt;li&gt;Truncate large picker search results rather than refusing to display anything (&lt;a href=&#34;https://launchpad.net/bugs/893796&#34;&gt;#893796&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Sync up the lists footer with the main webapp footer a bit (&lt;a href=&#34;https://launchpad.net/bugs/1679093&#34;&gt;#1679093&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Launchpad news, October 2015</title>
      <link>https://blog.launchpad.net/general/launchpad-news-october-2015/</link>
      <pubDate>Mon, 09 Nov 2015 19:04:05 +0000</pubDate>
      <dc:creator>Colin Watson</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=4211</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s what the Launchpad team did in October.&lt;/p&gt;
&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that enabled and restricted processors are left untouched when submitting Archive:+edit (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/1501519&#34;&gt;#1501519&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Describe merge proposal listings in the second person (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/991945&#34;&gt;#991945&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Increase Git backend communication timeout to 30 seconds (from 5), as detecting merges can be quite slow on large repositories (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/1502748&#34;&gt;#1502748&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Link directly to the recipe/snap in the one-recipe/snap case, rather than redirecting from +recipes/+snaps views (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/891918&#34;&gt;#891918&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add GitRepository:+subscription traversal (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/1503749&#34;&gt;#1503749&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Send notification mail when a merge proposal is superseded (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/716169&#34;&gt;#716169&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add Branch:+dependent-merges and GitRef:+dependent-merges views (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/496056&#34;&gt;#496056&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Parse extended header lines in git diffs correctly (&lt;a href=&#34;https://bugs.launchpad.net/launchpad/+bug/1510337&#34;&gt;#1510337&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, we&amp;rsquo;ve added webhook support for merge proposals, made a few more UI improvements, and &lt;a href=&#34;http://blog.launchpad.net/general/beta-test-webhooks&#34;&gt;enabled webhooks for beta testers&lt;/a&gt;.  Feedback welcome!&lt;/p&gt;
&lt;h2 id=&#34;snap-packages&#34;&gt;Snap packages&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow snap package owners to enable/disable unrestricted processors (matches the change made for PPAs &lt;a href=&#34;http://blog.launchpad.net/general/launchpad-news-september-2015&#34;&gt;last month&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;soyuz-package-building&#34;&gt;Soyuz (package building)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Launchpad now accepts uploads of binary packages from builders with file modification times up to 24 hours in the future (rather than 8) or as early as 1975 (rather than 1984), to match Debian&lt;/li&gt;
&lt;li&gt;Notifications are no longer generated for package copy jobs that in fact end up being no-ops&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, as &lt;a href=&#34;http://blog.launchpad.net/ppa/ppas-for-ppc64el&#34;&gt;previously announced&lt;/a&gt;, we and our sysadmins have been putting a lot of work into extending ScalingStack to other architectures and making it more reliable, and as a result we can now offer general access to PPAs for the ppc64el architecture.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
