---
title: Podman Desktop 1.22 Release
description: Podman Desktop 1.22 has been released!
slug: podman-desktop-release-1.22
authors: [dgolovin]
tags: [podman-desktop, release, kubernetes, openshift]
hide_table_of_contents: false
image: /img/blog/podman-desktop-release-1.22/banner.png
---

import ThemedImage from '@theme/ThemedImage';

Podman Desktop 1.22 Release! 🎉

![podman-desktop-fall-1.22](/img/blog/podman-desktop-release-1.22/banner.png)

Podman Desktop 1.22 is now available. [Click here to download it](/downloads)!

This release introduces exciting new features, improvements and bug fixes:

- **Explore Features Section on the Dashboard**: Accelerates your onboarding experience [#13776](https://github.com/podman-desktop/podman-desktop/pull/13776)
- **Switching Podman Machines Between Rootless and Rootful (macOS and Windows Only)**: Simplifies Podman machine configuration [#12781](https://github.com/podman-desktop/podman-desktop/pull/12781)
- **Apply Kubernetes YAML Files with Ease**: Allows you to apply YAML without creating a file in the local filesystem [#13751](https://github.com/podman-desktop/podman-desktop/pull/13751)
- **Transparent Proxy Support**: Configures your CA certificates for all HTTP/HTTPS requests to avoid self signed certificate errors [#13789](https://github.com/podman-desktop/podman-desktop/pull/13789)
- **Include ARM64 Podman Installer for Windows**: Provides a Podman installer for Windows running on the ARM64 platform [#13815](https://github.com/podman-desktop/podman-desktop/pull/13815)
- **Podman Desktop Main Window Display Issue on Linux with Wayland**: Workaround for running Podman Desktop binary on Linux with Wayland [#14387](https://github.com/podman-desktop/podman-desktop/issues/14387)

---

## Release details

### Explore Features Section on the Dashboard

The new Explore Features section on the Podman Desktop Dashboard helps you quickly
discover and use key features, accelerating your onboarding experience.
From this intuitive section, you can easily:

- Create containers
- Manage Kubernetes resources
- Browse the Extensions Catalog
- Configure Docker compatibility

<ThemedImage
alt="Explore Features Section on the Dashboard"
sources={{
    light: require('./img/podman-desktop-release-1.22/explore-features-light.png').default,
    dark: require('./img/podman-desktop-release-1.22/explore-features-dark.png').default,
  }}
/>

### Switching Podman Machines Between Rootless and Rootful (macOS and Windows Only)

Podman allows containers to run in rootful (privileged) or rootless (non-privileged) modes,
balancing security, flexibility, and system access. Now you can toggle an existing Podman
machine between these modes using a simple “Run with root privileges” switch in the UI,
eliminating the need to recreate the machine.

<ThemedImage
alt="Switching Podman Machines Between Rootless and Rootful"
sources={{
    light: require('./img/podman-desktop-release-1.22/rootful-machine-switch-light.png').default,
    dark: require('./img/podman-desktop-release-1.22/rootful-machine-switch-dark.png').default,
  }}
/>

### Apply Kubernetes YAML Files with Ease

The new 'Create File from Scratch' option on the Play Kubernetes YAML page provides an integrated
text editor where you can write YAML from scratch or paste existing YAML artifacts. With syntax
highlighting and validation, the editor ensures accurate YAML creation and reduces deployment
errors. To use it, navigate to the Play Kubernetes YAML page, select 'Create File from Scratch',
paste or write your YAML, and click 'Apply' to deploy to your cluster. This enhancement simplifies
Kubernetes resource management, enabling developers to deploy pods, services, or other resources
efficiently in both local and remote cluster environments.

<ThemedImage
alt="Apply Kubernetes YAML Files with Ease"
sources={{
    light: require('./img/podman-desktop-release-1.22/create-pod-from-kubernetes-yaml-light.png').default,
    dark: require('./img/podman-desktop-release-1.22/create-pod-from-kubernetes-yaml-dark.png').default,
  }}
/>

### Transparent Proxy Support

To ensure applications work seamlessly with transparent proxies, developers must configure
the client environment appropriately. This typically involves adding the transparent proxy’s
CA certificate to the system’s certificate store. Podman Desktop now leverages these CA
certificates for HTTPS requests, eliminating the `Self signed certificate in certificate
chain` error when downloading CLI tools or interacting with services outside the local
network. This enhancement simplifies workflows in enterprise environments with transparent
proxies, ensuring smooth access to external resources and streamlined CLI tool management.

### Include arm64 Podman Installer for Windows

Starting with Podman v5.5, native ARM64 binaries are available for Windows, enabling better
performance and compatibility on ARM-based devices. Podman Desktop now includes both ARM64
and AMD64 Podman installers, automatically selecting the appropriate version based on your
system architecture. This enhancement ensures a seamless setup experience for Windows users
on modern ARM64 devices.

### Podman Desktop Main Window Display Issue on Linux with Wayland

A known bug [#14387](https://github.com/podman-desktop/podman-desktop/issues/14387)
in Podman Desktop may prevent the main window from displaying after start on Linux systems
running Wayland, due to a regression issue [#48430](https://github.com/electron/electron/issues/48430) in Electron where the `ready-to-show` event fails to trigger correctly.
As a workaround, users running binaries directly can set the environment variable
`XDG_SESSION_TYPE=x11` in the same command line (e.g., `XDG_SESSION_TYPE=x11 podman-desktop`)
to force the application to use the XWayland (X11 backend) within a Wayland session, ensuring
proper window rendering. This is necessary because the user environment may already have
`XDG_SESSION_TYPE` set to `wayland`. This workaround is not required for Flatpak packages, as
`XDG_SESSION_TYPE=x11` is automatically added during Flatpak execution,
making them unaffected by this regression.

---

## Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop even better.

We received pull requests from the following new contributors:

- [samdoran](https://github.com/samdoran) in [docs: use unambiguous name for Apple silicon in GPU docs](https://github.com/podman-desktop/podman-desktop/pull/14027)
- [castrojo](https://github.com/castrojo) in [docs: add LFX insights badges to readme](https://github.com/podman-desktop/podman-desktop/pull/13442)
- [MariaLeonova](https://github.com/MariaLeonova) in [chore(docs): update README.md to include social media badges](https://github.com/podman-desktop/podman-desktop/pull/13372)
- [Tanmayshi](https://github.com/Tanmayshi) in [feat: use min-h-screen for downloads page layout](https://github.com/podman-desktop/podman-desktop/pull/13831)

We worked closely with the following contributors to resolve the reported issue:

- [clement-brodu](https://github.com/clement-brodu) in [Unable to download docker-compose binary: HttpError: self signed certificate in certificate chain](https://github.com/podman-desktop/podman-desktop/issues/13497)
- [despotes](https://github.com/despotes) in [Unable to download docker-compose binary: HttpError: self signed certificate in certificate chain](https://github.com/podman-desktop/podman-desktop/issues/13497)

---

## Final Notes

The complete list of issues fixed in this release is available in the [1.22.0 milestone](https://github.com/containers/podman-desktop/issues?q=is%3Aclosed+milestone%3A1.22.0).

Get the latest release from the [Downloads](/downloads) section of the website and boost your development journey with Podman Desktop. Additionally, visit the [GitHub repository](https://github.com/containers/podman-desktop) and see how you can help us make Podman Desktop better.

## Detailed Release Changelog

### feat

- feat: detect podman-compose installation before trying to install docker-compose by @benoitf [#14108](https://github.com/podman-desktop/podman-desktop/pull/14108)
- feat(ui): make Input component expose type in props by @axel7083 [#13953](https://github.com/podman-desktop/podman-desktop/pull/13953)
- feat: use min-h-screen for downloads page layout by @Tanmayshi [#13831](https://github.com/podman-desktop/podman-desktop/pull/13831)
- feat: allow to declare properties using password formatting by @benoitf [#13801](https://github.com/podman-desktop/podman-desktop/pull/13801)
- feat: add explore features section in the Dashboard page by @SoniaSandler [#13776](https://github.com/podman-desktop/podman-desktop/pull/13776)
- feat(extensions/kind): update projectcontour to v1.32.1 by @Blaimi [#13774](https://github.com/podman-desktop/podman-desktop/pull/13774)
- feat: added new way how to apply YAML by @gastoner [#13751](https://github.com/podman-desktop/podman-desktop/pull/13751)
- feat: added xdg directory specification for linux by @MarsKubeX [#13703](https://github.com/podman-desktop/podman-desktop/pull/13703)
- feat(extension-api): adding path property to CliToolInfo by @axel7083 [#13656](https://github.com/podman-desktop/podman-desktop/pull/13656)
- feat(extension-api): adding inspectPod method by @axel7083 [#13632](https://github.com/podman-desktop/podman-desktop/pull/13632)
- feat: adds tabs to global searchbar by @gastoner [#13629](https://github.com/podman-desktop/podman-desktop/pull/13629)
- feat: added global searchbar by @gastoner [#13618](https://github.com/podman-desktop/podman-desktop/pull/13618)
- feat(renderer): update ContainerList to Svelte 5 by @simonrey1 [#13391](https://github.com/podman-desktop/podman-desktop/pull/13391)
- feat(cli-tools): install latest version without asking to select one by @dgolovin [#13030](https://github.com/podman-desktop/podman-desktop/pull/13030)
- feat: support routing to experimental features page from podman-desktop:// protocol by @SoniaSandler [#12809](https://github.com/podman-desktop/podman-desktop/pull/12809)
- feat: allow changing between rootless and rootful connection for an existing Podman machine by @SoniaSandler [#12781](https://github.com/podman-desktop/podman-desktop/pull/12781)

### fix

- fix: e2e test fails to push image to remote cr with new name by @dgolovin [#14053](https://github.com/podman-desktop/podman-desktop/pull/14053)
- fix(extension: podman): powershell should use absolute path for whoami binary by @axel7083 [#14028](https://github.com/podman-desktop/podman-desktop/pull/14028)
- fix(podman): display path for multiple installation of podman by @jiridostal [#13985](https://github.com/podman-desktop/podman-desktop/pull/13985)
- fix: wrong behaviour expanding preferences menu from expander icon by @MarsKubeX [#13979](https://github.com/podman-desktop/podman-desktop/pull/13979)
- fix: wrong string for navigation when image has no name by @MarsKubeX [#13973](https://github.com/podman-desktop/podman-desktop/pull/13973)
- fix(typography): correct incorrect use of question marks by @vancura [#13962](https://github.com/podman-desktop/podman-desktop/pull/13962)
- fix(windows): fixed minimizing the app during startup by @gastoner [#13958](https://github.com/podman-desktop/podman-desktop/pull/13958)
- fix(website): replace expired linkedin image with gravatar by @axel7083 [#13945](https://github.com/podman-desktop/podman-desktop/pull/13945)
- fix: hide kind create cluster button when podman vm is off by @bmahabirbu [#13924](https://github.com/podman-desktop/podman-desktop/pull/13924)
- fix(ui): adding missing mandatory children prop in Link.spec.ts by @axel7083 [#13913](https://github.com/podman-desktop/podman-desktop/pull/13913)
- fix(renderer): svelte-check errors by @axel7083 [#13893](https://github.com/podman-desktop/podman-desktop/pull/13893)
- fix(renderer/FilteredEmptyScreen): migrate to Svelte5 by @simonrey1 [#13888](https://github.com/podman-desktop/podman-desktop/pull/13888)
- fix: https protocol detection in fetch proxy wrapper by @dgolovin [#13874](https://github.com/podman-desktop/podman-desktop/pull/13874)
- fix(extension: podman): remove unused mock by @axel7083 [#13840](https://github.com/podman-desktop/podman-desktop/pull/13840)
- fix(tray): polish the low-res icons by @vancura [#13838](https://github.com/podman-desktop/podman-desktop/pull/13838)
- fix(icons): fix various alignment inconsistencies in loading icons by @jiridostal [#13812](https://github.com/podman-desktop/podman-desktop/pull/13812)
- fix: avoid propagating event of PasswordInput component for show/hide by @benoitf [#13799](https://github.com/podman-desktop/podman-desktop/pull/13799)
- fix: always use certs for fetch/http(s) to work w/ transparent proxy by @dgolovin [#13789](https://github.com/podman-desktop/podman-desktop/pull/13789)
- fix: configuration not detected by handler by @gastoner [#13756](https://github.com/podman-desktop/podman-desktop/pull/13756)
- fix(renderer): update SaveImages to svelte 5 by @simonrey1 [#13722](https://github.com/podman-desktop/podman-desktop/pull/13722)
- fix(renderer): update RunImage to svelte 5 by @simonrey1 [#13721](https://github.com/podman-desktop/podman-desktop/pull/13721)
- fix: update pnpm for stability by @simonrey1 [#13717](https://github.com/podman-desktop/podman-desktop/pull/13717)
- fix(renderer): update PullImage to svelte 5 by @simonrey1 [#13714](https://github.com/podman-desktop/podman-desktop/pull/13714)
- fix(renderer): copy object to avoid error when opening Files tab of an Image by @simonrey1 [#13712](https://github.com/podman-desktop/podman-desktop/pull/13712)
- fix(renderer): import image pass snapshot so selectedProvider can be cloned by @simonrey1 [#13708](https://github.com/podman-desktop/podman-desktop/pull/13708)
- fix(renderer): update LoadImages and RecommendedRegistry to svelte 5 by @simonrey1 [#13706](https://github.com/podman-desktop/podman-desktop/pull/13706)
- fix: call extension loader dispose specifically to fix stack trace on quit by @bmahabirbu [#13579](https://github.com/podman-desktop/podman-desktop/pull/13579)

### chore

- chore(tray): add accessible status icons by @vancura [#14114](https://github.com/podman-desktop/podman-desktop/pull/14114)
- chore: simplify mocking by @benoitf [#14107](https://github.com/podman-desktop/podman-desktop/pull/14107)
- chore: add commitlint to its group by @deboer-tim [#14077](https://github.com/podman-desktop/podman-desktop/pull/14077)
- chore: change configuration registry init to async by @cdrage [#14041](https://github.com/podman-desktop/podman-desktop/pull/14041)
- chore: add a next identifier by @benoitf [#14029](https://github.com/podman-desktop/podman-desktop/pull/14029)
- chore(renderer): migrate tooltip.svelte to svelte 5 by @MarsKubeX [#14026](https://github.com/podman-desktop/podman-desktop/pull/14026)
- chore(renderer): rename the `Play Kubernetes YAML` by `Podman Kube Play` by @axel7083 [#13976](https://github.com/podman-desktop/podman-desktop/pull/13976)
- chore: fix timezone issue of the test by @benoitf [#13967](https://github.com/podman-desktop/podman-desktop/pull/13967)
- chore: send provider status update event and check lifecycle methods for tray menu by @SoniaSandler [#13966](https://github.com/podman-desktop/podman-desktop/pull/13966)
- chore(searchbar): disabled go to option by @gastoner [#13961](https://github.com/podman-desktop/podman-desktop/pull/13961)
- chore(build): refactor electron-builder config by @odockal [#13950](https://github.com/podman-desktop/podman-desktop/pull/13950)
- chore: updated security restrictions by @gastoner [#13943](https://github.com/podman-desktop/podman-desktop/pull/13943)
- chore(website): add blogpost for 3million downloads by @Firewall [#13930](https://github.com/podman-desktop/podman-desktop/pull/13930)
- chore(package.json): update typecheck:renderer script by @axel7083 [#13903](https://github.com/podman-desktop/podman-desktop/pull/13903)
- chore(ci): Run e2e tests on Testing Farm after merge by @amisskii [#13887](https://github.com/podman-desktop/podman-desktop/pull/13887)
- chore: add 3m downloads banner to the website by @SoniaSandler [#13873](https://github.com/podman-desktop/podman-desktop/pull/13873)
- chore: remove duplicated entry in the lock file by @benoitf [#13869](https://github.com/podman-desktop/podman-desktop/pull/13869)
- chore(podman): bump to 5.6.1 by @axel7083 [#13849](https://github.com/podman-desktop/podman-desktop/pull/13849)
- chore(deps): remove pnpm#overrides for `vitest>vite` by @axel7083 [#13846](https://github.com/podman-desktop/podman-desktop/pull/13846)
- chore(deps): bump docusaurus to 3.8.1 by @axel7083 [#13844](https://github.com/podman-desktop/podman-desktop/pull/13844)
- chore(typedoc): bump latest by @axel7083 [#13837](https://github.com/podman-desktop/podman-desktop/pull/13837)
- chore: include arm based podman installer by @odockal [#13815](https://github.com/podman-desktop/podman-desktop/pull/13815)
- chore: allow to specify name of the underlying input component by @benoitf [#13810](https://github.com/podman-desktop/podman-desktop/pull/13810)
- chore: fixed comparing default value of object config properties by @gastoner [#13760](https://github.com/podman-desktop/podman-desktop/pull/13760)
- chore(pnpm): specify sha512 by @axel7083 [#13719](https://github.com/podman-desktop/podman-desktop/pull/13719)
- chore: use last log timestamp to clear container logs and store it by @SoniaSandler [#13704](https://github.com/podman-desktop/podman-desktop/pull/13704)
- chore: updated scrolling through carousel component by @gastoner [#13676](https://github.com/podman-desktop/podman-desktop/pull/13676)
- chore: updated carousel component by @gastoner [#13511](https://github.com/podman-desktop/podman-desktop/pull/13511)
- chore(renderer): remove LegacyDialog unused / migrate test to dialog by @simonrey1 [#13450](https://github.com/podman-desktop/podman-desktop/pull/13450)
- chore(renderer/containerList): remove unused code to restore group expansion by @simonrey1 [#13449](https://github.com/podman-desktop/podman-desktop/pull/13449)
- chore(docs): update README.md to include social media badges by @MariaLeonova [#13372](https://github.com/podman-desktop/podman-desktop/pull/13372)
- chore: added experimental feedback logic by @gastoner [#11992](https://github.com/podman-desktop/podman-desktop/pull/11992)

### test

- fix(test): make verification of connection provider case insensitive by @odockal [#14113](https://github.com/podman-desktop/podman-desktop/pull/14113)
- chore(test): add validation for jobs being finished by @cbr7 [#14089](https://github.com/podman-desktop/podman-desktop/pull/14089)
- chore(test): add k8s dashboard validation e2e by @cbr7 [#14072](https://github.com/podman-desktop/podman-desktop/pull/14072)
- chore(test): add workaround to e2e tests to apply kube yaml by @odockal [#14071](https://github.com/podman-desktop/podman-desktop/pull/14071)
- chore(test): create builtin extension e2e tests by @cbr7 [#14054](https://github.com/podman-desktop/podman-desktop/pull/14054)
- chore(test): increase test coverage of task manager by @cbr7 [#14025](https://github.com/podman-desktop/podman-desktop/pull/14025)
- chore(test): enable openshiftDockerExtension test by @serbangeorge-m [#13986](https://github.com/podman-desktop/podman-desktop/pull/13986)
- chore(test): fix typecheck on proxy.spec.ts file by @danivilla9 [#13978](https://github.com/podman-desktop/podman-desktop/pull/13978)
- chore(test): add podman installer assets e2e tests by @odockal [#13951](https://github.com/podman-desktop/podman-desktop/pull/13951)
- chore(test): enable podman extension script unit tests by @odockal [#13948](https://github.com/podman-desktop/podman-desktop/pull/13948)
- test(e2e): revert hotfix in pr check by @danivilla9 [#13895](https://github.com/podman-desktop/podman-desktop/pull/13895)
- chore(test): remove unneeded interaction at close by @cbr7 [#13883](https://github.com/podman-desktop/podman-desktop/pull/13883)
- chore(test): increase timeout for waiter by @cbr7 [#13871](https://github.com/podman-desktop/podman-desktop/pull/13871)
- chore(test): skip if rate limit is exceeded by @cbr7 [#13866](https://github.com/podman-desktop/podman-desktop/pull/13866)
- chore(test): adjust timeout for wrong password by @cbr7 [#13865](https://github.com/podman-desktop/podman-desktop/pull/13865)
- chore(test): check version selector link by @cbr7 [#13797](https://github.com/podman-desktop/podman-desktop/pull/13797)
- chore(test): revert previous extension list change by @cbr7 [#13764](https://github.com/podman-desktop/podman-desktop/pull/13764)
- chore(test): increase timeout in extension activation by @danivilla9 [#13762](https://github.com/podman-desktop/podman-desktop/pull/13762)
- chore(test): add handling for different resource name from resource card by @cbr7 [#13759](https://github.com/podman-desktop/podman-desktop/pull/13759)
- chore(test): ensure machine cleanup on failure by @cbr7 [#13757](https://github.com/podman-desktop/podman-desktop/pull/13757)
- chore(test): swap external extensions on extension-installation-smoke for internal ones by @danivilla9 [#13752](https://github.com/podman-desktop/podman-desktop/pull/13752)
- chore(test): change test execution order by @cbr7 [#13750](https://github.com/podman-desktop/podman-desktop/pull/13750)
- chore(test): ensure version switching for cli tool by @cbr7 [#13745](https://github.com/podman-desktop/podman-desktop/pull/13745)
- chore(test): implement check and uncheck all in main page by @cbr7 [#13742](https://github.com/podman-desktop/podman-desktop/pull/13742)
- chore(test): ensure terminal is ready before writing by @cbr7 [#13741](https://github.com/podman-desktop/podman-desktop/pull/13741)
- chore(test): fixes some possible flakyness in volume e2e tests by @cbr7 [#13728](https://github.com/podman-desktop/podman-desktop/pull/13728)
- chore(test): reset machine after test failure by @cbr7 [#13716](https://github.com/podman-desktop/podman-desktop/pull/13716)
- chore(test): centralize values for states by @danivilla9 [#13715](https://github.com/podman-desktop/podman-desktop/pull/13715)
- chore(test): update cli tools tests for new behavior by @cbr7 [#13709](https://github.com/podman-desktop/podman-desktop/pull/13709)
- chore(test): re-structure skip conditions on podman-machine-resources E2E test by @danivilla9 [#13698](https://github.com/podman-desktop/podman-desktop/pull/13698)
- chore(test): setting test expectation to fail due to issue by @cbr7 [#13697](https://github.com/podman-desktop/podman-desktop/pull/13697)
- chore(test): switch to using composite action for workflows by @cbr7 [#13290](https://github.com/podman-desktop/podman-desktop/pull/13290)
- test(e2e): include podman provider check after machine creation by @danivilla9 [#12874](https://github.com/podman-desktop/podman-desktop/pull/12874)

### refactor

- refactor(extension: podman): extract `checkRosettaMacArm` to dedicated file by @axel7083 [#14063](https://github.com/podman-desktop/podman-desktop/pull/14063)
- refactor(extension: podman): split Hyper-V check in two by @axel7083 [#14061](https://github.com/podman-desktop/podman-desktop/pull/14061)
- refactor(renderer): migrate PasswordInput to Svelte5 by @axel7083 [#13965](https://github.com/podman-desktop/podman-desktop/pull/13965)
- refactor: mv terminal-theme(.spec).ts files to renderer by @axel7083 [#13848](https://github.com/podman-desktop/podman-desktop/pull/13848)

### docs

- docs: use unambiguous name for Apple silicon in GPU docs by @samdoran [#14027](https://github.com/podman-desktop/podman-desktop/pull/14027)
- docs: added a note for clarification in the adding certificates section by @shipsing [#13925](https://github.com/podman-desktop/podman-desktop/pull/13925)
- docs: add blog post about new apple container extension by @benoitf [#13918](https://github.com/podman-desktop/podman-desktop/pull/13918)
- docs: updated the verification examples by @shipsing [#13884](https://github.com/podman-desktop/podman-desktop/pull/13884)
- docs(CONTRIBUTING.md): replace containers org with podman-desktop by @axel7083 [#13847](https://github.com/podman-desktop/podman-desktop/pull/13847)
- docs: added a blogpost highlighting Podman Desktop availability on RH… by @shipsing [#13692](https://github.com/podman-desktop/podman-desktop/pull/13692)
- docs: add LFX insights badges to readme by @castrojo [#13442](https://github.com/podman-desktop/podman-desktop/pull/13442)
