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.
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:
- An active status and an up-to-date diff
- No conflicts with the target branch
- Approval from the target repository owner, a member of its owner team, or designated review team
- Successfully completed any configured CI checks
- No unmerged prerequisite branches
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!
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
- Install Launchpad Merge Proposals in VS Code 1.105 or newer.
- Open a project backed by a Git repository on Launchpad, and check out a branch tracking a remote one.
- Open the Launchpad Merge Proposals view from the Activity Bar and sign in when prompted.
- 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!
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:
- Test fixes or features that are not yet available in Ubuntu.
- Maintain customised dependencies for their applications.
- Build related projects across several PPAs.
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:
- apt_preferences(5)
- Launchpad manual’s create a PPA page
- Launchpad API Archive Dependency page
- lp-shell documentation
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
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:
- Recipes which were already authorized prior to this change will keep uploading with their existing credentials.
- The new flow will apply the next time you authorize a recipe — either when creating a new charm recipe, or when re-authorizing an existing recipe.
- Authorizations last up to a year, which is the maximum that Charmhub allows.
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.
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.
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:
- Matrix: #launchpad:ubuntu.com
- Email: feedback@launchpad.net
- Ask a question: https://answers.launchpad.net/launchpad
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
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:
- Discuss the documentation practices of the Launchpad team and make recommendations
- Highlight your documentation issues and/or pages that don’t meet your needs
- Point out gaps in available documentation
- Share any other Launchpad-related documentation thoughts
Looking forward to see you there!
Meet joining info Video call link: https://meet.google.com/gcd-hnxo-sce


