0

Launchpad product roadmap updates – Blueprints and Translations

Published by Guruprasad L October 14, 2026 in Blueprints, Coming changes, General, Translations

We would like to share an update regarding our plans for the Blueprints and Translations features in Launchpad.

Retiring Launchpad Blueprints

Launchpad Blueprints are lightweight feature specifications attached to projects and distributions.

As the usage of Blueprints has declined steadily, we plan to retire the feature at the end of the 27.10 cycle (October 2027) and remove its data. This reduces technical debt and frees development and maintenance time for the features most of our users rely on.

Reimagining Launchpad Translations

Launchpad Translations lets communities translate software through a web interface, with translation templates and message sharing across projects, distributions and series.

The current implementation has not changed substantially in many years, and the translation ecosystem has moved on considerably since it was built. Rather than continue incremental maintenance, we are considering replacing it with a modern, purpose-built translation platform and providing an integrated Launchpad experience on top of that. Weblate is an obvious candidate, though no decision has been made as yet.

Before we choose a direction, we want to hear from the people who use Translations. We are particularly interested in which workflows matter most to you, what you rely on that a general-purpose tool might not provide, how you currently get data in and out, and what a migration would need to preserve for you to consider it successful.

We will be collecting input over the coming months. Our tentative target for completing this change is the end of the 27.10 cycle (October 2027), but that timeline may shift as we learn more.

Get in touch

If you have any questions or concerns about the Blueprints retirement, need help exporting your Blueprints data, or have feedback to share on the Translations revamp, please contact us on Matrix (#launchpad:ubuntu.com), submit a question or send an email to feedback@launchpad.net.


0

Merge Launchpad merge proposals with one click

Published by goulinkh September 4, 2026 in Code, Cool new stuff, General

Maintainers can now merge changes (merge proposals) directly from the Launchpad UI.

The new Request merge button is available to anyone with permission to push to the target branch. Launchpad enables it if the merge proposal has:

When you click on Request merge, Launchpad queues the merge, tracks its progress, and lets you know when the change has been merged.

The feature is available for all Launchpad-hosted Git repositories, with no additional setup or integration required.

Happy merging!


0

Review merge proposals in VS Code

Published by steciuk September 8, 2026 in Code, Cool new stuff, General

Launchpad Merge Proposals, a VS Code extension for reviewing Launchpad merge proposals, is now available on the Visual Studio Marketplace as a preview release.

The extension brings the review into the editor. It finds the merge proposals for the branch you have checked out, renders their diffs in VS Code’s diff editor, and lets you comment and vote without opening a browser.

What the extension does

Finds the merge proposals for the branch you are on

It reads the upstream of the checked-out branch and lists merge proposals in both directions: outgoing, where your branch is the source, and incoming, where it is the target. Proposals can be filtered by status.

Renders diffs in the VS Code editor

Open Files Changed and the proposal opens in VS Code’s side-by-side diff editor, with syntax highlighting and the surrounding file for context. Files are decorated to show where comments already exist.

Puts comments next to the code

Published inline comments appear beside the lines they refer to, and new ones are drafted in the same place, with full markdown support. Drafts are stored on Launchpad, so a review started in the editor can be finished in the browser, or the other way around.

Submits the whole review at once

Pick a vote, write the summary comment, and submit. Every inline draft is published alongside it.

Getting started

  1. Install Launchpad Merge Proposals in VS Code 1.105 or newer.
  2. Open a project backed by a Git repository on Launchpad, and check out a branch tracking a remote one.
  3. Open the Launchpad Merge Proposals view from the Activity Bar and sign in when prompted.
  4. Select a merge proposal, then pick a preview diff to see the changes and comments.

Sign-in uses Launchpad’s OAuth flow, and the token is stored in VS Code’s secret storage. Launchpad asks what level of access to grant, and the level you pick determines what the extension can do. Reading diffs and published inline comments needs at least read access. Drafting inline comments and submitting reviews needs change access.

Current status of the project

This is a preview release. The core review flow works and we use it daily, but some capabilities are still experimental while we work out how they should behave. The README covers the current state, including a known issues section that we update with each release.

Feedback

We want to hear what works, what breaks, and what is missing. Please report bugs and file feature requests on the project’s Launchpad page.

The extension is free software under GPL-3.0, and its source is hosted on Launchpad. We welcome contributions via merge proposals. You can even review them using the extension itself!


0

Introducing PPA Dependency Pinning

Published by mohamadriad-elterek September 3, 2026 in API, Cool new stuff, General

PPA maintainers now have more control over where their build dependencies come from. With PPA dependency pinning, you can assign priorities to the PPAs your builds depend on, helping ensure that your packages build against the software you intend to use.

Whether you are testing a patch, maintaining a customised library, or preparing a new release, this feature makes it easier to manage builds that rely on packages outside the standard Ubuntu archive.

NOTE: This setting applies only to package builds performed by Launchpad and can only be set by the PPA maintainer. It does NOT change package selection on users’ computers, nor affect local builds.

Why dependency priorities matter

Personal Package Archives (PPAs) let developers build and distribute packages through Launchpad. When packages in one PPA require packages from another PPA in order to be built, the maintainer can configure the other PPA as a build dependency.

However, making a package available does not necessarily mean it will be selected. When multiple repositories provide the same package at the same priority, Ubuntu’s package manager generally prefers the newer version. APT’s documentation explains these selection rules.

Imagine that your application needs a library containing a patch you maintain in a separate PPA. Your builds will only use that library successfully until an Ubuntu update introduces a package with a higher version number. Subsequent builds will select the Ubuntu version instead, even though it does not contain your patch.

PPA dependency pinning gives you a way to express which source your builds should always prefer by allowing you to assign a priority to each PPA dependency. Launchpad applies those priorities when preparing the build environment.

For the patched-library example, an appropriate priority lets you keep using the library from your chosen PPA, even when Ubuntu publishes a newer version. This reduces the need to adjust package version numbers to influence which source is selected.

Who is this for?

The feature is useful for teams that:

Configure priorities in Launchpad

When Launchpad prepares a build, APT resolves versioning conflicts by selecting the package repository with the highest priority. Some values already have conventional meanings: 500 is the default for available packages, and 990 is generally used for packages from the configured target release. Values above 1000 are especially strong and may cause APT to select a package even when it is an older version. See APT’s documentation for more information.

To get started, open your PPA’s Edit PPA dependencies page and adjust the Priority field beside the relevant dependency. Save your changes to apply the setting to subsequent builds.

For teams that manage their PPA configuration through scripts or automation, priorities can also be configured through the Launchpad API. This can be done through lp-shell as follows:

# Run: lp-shell production devel



In [1]: target_ppa = lp.people["your-launchpad-id"].getPPAByName(

    name="your-ppa-name"

)

In [2]: dependency_ppa = lp.people["dependency-owner"].getPPAByName(

    name="dependency-ppa-name"

)



In [3]: target_ppa.addArchiveDependency(

    dependency=dependency_ppa,

    pocket="Release",

    component="main",

    pin_priority=1001,

)

Existing dependencies retain the default priority of 500, so there is no configuration change required if the current behaviour meets your needs.

Priorities apply to packages supplied by the dependency PPA, so choose them with the contents of that PPA in mind. They express a source preference; they do not freeze a particular package version or guarantee identical builds over time.

Additionally, PPA dependency pinning only affects the build environment on Launchpad. It does not change package preferences on the computers of people who install software from your PPA.

References

For more information, see:


0

Launchpad documentation office hour #8: Documentation clinic

Published by charles-odada September 2, 2026 in General

The Launchpad team will host its eighth public documentation office hour this Friday, September 4th, from 1330 UTC. In this session, we will be conducting a documentation clinic for projects hosted on Launchpad.

If your project is on Launchpad and you’d like some guidance on creating, improving, or publishing its documentation, drop by at any time from 1330 to 1430 UTC. We’ll see you there!

Launchpad community documentation office hour (Public)
Friday, 4th September · 1330 to 1430 UTC
Google Meet joining info
Video call link: https://meet.google.com/gcd-hnxo-sce


0

Charm recipe uploads now authorize with Ubuntu SSO

Published by harsh-s August 28, 2026 in General

Launchpad builds charm recipes and uploads them to Charmhub on your behalf. Up until now, the uploads were authorized via Candid. Charmhub is retiring Candid and moving to Ubuntu One SSO, which is the same sign-on service that Launchpad already uses for snap recipes. 

We have updated Launchpad to use the new flow. When you authorize a charm recipe, you will now be taken to Ubuntu SSO instead of Candid to authenticate. The rest of the process, building and uploading, remains unchanged.

What you need to do:

You do not need to make any changes right now. 

Please note:

If you run into any issues while authorizing a recipe or uploading a charm, please let us know by contacting us via Matrix: #launchpad:ubuntu.com or asking a question.


0

Launchpad security advisory: Fix applied for unsafe tar file extraction vulnerability

Published by clinton-fung June 19, 2026 in General

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.

Following remediation, we completed additional review and monitoring. We found no evidence of malicious exploitation. No user action is required.

We are sharing this update as part of our ongoing commitment to transparency and security.

We thank splitline (@_splitline_) and the DEVCORE Research Team for privately reporting this issue.


1

Private snap manifests

Published by clinton-fung May 13, 2026 in General

As part of our ongoing commitment to security and transparency, we are pleased to announce an improved approach to snap manifest generation for private projects. This update specifically addresses the long-standing technical block that suppressed the creation of manifest.yaml files during private snap builds, an important component for generating accurate Software Bills of Materials (SBOMs).

The challenge of secret exposure

Previously, manifest generation for private builds was deliberately disabled as a protective measure. The primary security concern was that including a snap manifest in a binary snap could inadvertently expose sensitive source credentials or internal build configurations.

While effective at preventing data leaks, this restriction also created significant hurdles for users wanting to produce SBOMs. Given that access to these private snaps is limited to those with explicit authorization, the risk of data and secret leakage is significantly reduced, allowing us to decommission the previous suppression mechanism.

What this means for developers

For private snaps built on Launchpad, the manifest.yaml will now automatically be included in binary snaps by default during the build process.

Looking ahead

We are continuing to refine our offering, providing more and better features that support enhanced security and efficiency.

We invite you to share your feedback on this change by reaching out  to us:


2

Documentation office hours: launchpadlib tutorial

Published by charles-odada March 18, 2026 in General

The Launchpad team will be hosting its fourth public documentation office hour this Friday, March 20th, from 1330 UTC. In this office hour, we will start by discussing a launchpadlib tutorial we are working on. Whether you are an expert or novice on the topic, we welcome your input so we can help others to get started using launchpadlib.

As always, feel free to drop in at any time from 1330 to 1430 UTC with other Launchpad documentation ideas and issues.

Launchpad community documentation office hour (Public)
Friday, 20th March 1330 – 14:30 UTC
Google Meet joining info
Video call link: https://meet.google.com/gcd-hnxo-sce


1

Launchpad documentation office hours

Published by charles-odada March 3, 2026 in General

Did you know that Launchpad has a bi-weekly documentation office hour that’s open to everyone? Join us this Friday (6th March) for our third session from 1330 – 1430 UTC. These office hours will be a good opportunity to:

Looking forward to see you there!

Meet joining info Video call link: https://meet.google.com/gcd-hnxo-sce


Previous Entries