Skip to main content

Podman Desktop 1.16 Release

Β· 13 min read
Philippe Martin
Principal Software Engineer

Podman Desktop 1.16 Release! πŸŽ‰

podman-desktop-hero-1.16

Podman Desktop 1.16 is now available! Click here to download it!

This release brings exciting new features and improvements:

  • Experimental Features: a new "Experimental" section in the Settings provides the list of current experiments, and links to related discussions
  • Providers appear in the Status Bar: Providers are moved from Dashboard to Status Bar, to increase their visibility (experimental feature)
  • Prune only untagged images: Choose to Prune "All untagged images" or "All unused images" when Pruning images
  • Search in Container's Logs: Possibility to search terms in the logs of containers and pods
  • Kubernetes: Monitor current context only: Only the current context is monitored by default

Release Details πŸ”β€‹

Experimental Features​

Previous versions of Podman Desktop introduced some experimental features, which were activable from the Settings.

In Podman Desktop v1.16, these Experimental Features are visible in the new "Experimental" section of the Settings, and dedicated Discussion pages have been created and can be accessed from this section.

Experimental Features SettingsExperimental Features Settings

Providers appear in the Status Bar​

If you activate the Experimental feature "Statusbar Providers show Providers" (see section above), the providers will display their status in the status bar.

Specifically, providers will display a status if they are providing at least one resource, and indicate with an icon what is the status of their resources: running, or stopped.

In the screenshot below, the Podman provider indicates that the Podman machine is running, and the Kind provider indicates that the Kind cluster is stopped.

Providers statusesProviders statuses

Prune only untagged images​

When clicking the "Prune" button in the Images List page, it is now possible to select which images you want to be pruned, either all unused images, or all untagged images.

Prune images dialogboxPrune images dialogbox

Search in Container's Logs​

Logs output by containers can be very long, and you might want to search for a specific term on them. Podman Desktop v1.16 now provides this possibility for Podman containers, and for Kubernetes pods.

Search term in LogsSearch term in Logs

Kubernetes: Monitor current context only​

Previous versions of Podman Desktop are trying to connect to all Kubernetes contexts found in the kubeconfig file to display how many Pods and Deployments exist in each context.

Many users raise that this is problematic. For example, some users have many contexts defined in their kubeconfig, and connecting to all of them can be considered as spamming by clusters.

Other users have contexts pointing to clusters hosted by cloud providers, and connecting to these clusters needs a periodic refresh of a token authentication. Users (or users tools) generally take care of having a fresh token for the current context, but not necesserally for the other ones. The operation of refreshing the token being, for some configurations, designed for CLI tools and not GUI tools, Podman Desktop fails to indicate to the user that this token should be refreshed, and tries infinitely to connect.

In Podman Desktop version 1.16, the number of Pods and Deployments are displayed only for the current context, and the user can select manually for which other contexts these numbers should be displayed.

Kubernetes contextsKubernetes contexts

Community thank you​

πŸŽ‰ We'd like to say a big thank you to everyone who helped to make Podman Desktop even better. In this release, we received pull requests from the following people:

Final notes​

Fixed issues​

The complete list of issues fixed in this release is available here.

Where to download​

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

Detailed release changelog​

Experimental features​

  • feat(backend): adding experimental property to configuration schema by @axel7083 #10437
  • feat: init experimental for preferences items by @axel7083 #10534
  • feat: experimental section in the settings by @axel7083 #10579
  • chore: adding docker compatibility experimental link by @axel7083 in #10770
  • chore: adding status bar task to experimental by @axel7083 in #10778
  • feat(ui): using full record id as title in experimental page by @axel7083 in #10796
  • fix: add experimental link to status bar providers by @deboer-tim in #10810

Logs​

  • feat: adding search controls logs window by @axel7083 #10612
  • feat: enable search for pod logs by @axel7083 #10666

Extension development with production Podman Desktop (work in progress)​

  • feat: introduce a flag to be able to see 'show DevTools' even using production binaries by @benoitf #10659
  • chore: add a property to store folders used as extension folders by @benoitf #10712
  • chore: add link to /extensions page on /extend by @cdrage #10382

Kubernetes​

  • feat: run monitoring on current context only by @feloy #10335
  • feat: start monitoring manually on non current contexts by @feloy #10345

Extension API​

  • feat: add containerImageName in context for dashboard/container contribution by @feloy #10262
  • feat: add containerImageName in context for icons/containersList contribution by @feloy #10261
  • chore: allow to set context values for 'DockerCompatibility' scope by @benoitf #10515

UI Components​

  • feat(ui): adding iconPosition property to settings nav item component by @axel7083 #10672
  • feat: added option to show svg files in addition to fa icons by @gastoner #10309
  • feat: added optional properties to close button by @gastoner #10374
  • chore: move carousel component to pd svelte lib by @gastoner #10583

Kubernetes Experimental mode (work in progress)​

  • feat: dispatch kube resources to frontend by @feloy #10425
  • feat: dispatch permissions to frontend in experimental contexts mode by @feloy #10383
  • feat: dispatch resources count by @feloy #10455
  • feat: experimental health frontend by @feloy #10349
  • feat: informers for Kubernetes experimental by @feloy #10174

Extension/Podman​

  • fix(refactor): refactor Powershell 5 interactions in a separate file by @jeffmaury #10284
  • feat: update to podman v5.3.2 by @benoitf in #10761

Extension/Docker​

  • chore: move docker cli context select implem from core to docker extension by @benoitf #10526
  • chore: use correct contexts if a custom docker config is set by @benoitf #10555

Adopters​

  • fix: refactor adopters list format by @slemeur #10667
  • docs: Amadeus as adopters by @fabricepipart1a #10689

UI​

  • fix(push-manifest): terminal overflow by @axel7083 #10527
  • fix(tasks-panel): error overflow ellipsis by @axel7083 #10528
  • fix: add hidden input component in Dropdown for form submissions by @SoniaSandler #10461
  • chore(onboarding): update text on welcome page by @axel7083 #10563
  • chore: add Container providers using ProviderWidget by @SoniaSandler #10625
  • chore: add Kubernetes providers to statusbar by @SoniaSandler #10699
  • chore: add ProviderWidget component for StatusBar by @SoniaSandler #9724
  • chore: add option for given value in NumberItem by @SoniaSandler #10355
  • chore: change order of welcome page to prioritize container engines by @cdrage #10562
  • chore: making icon and title on windows bigger by @gastoner #10428
  • chore: remember collapsed state of learning center by @deboer-tim #9597
  • chore: remove error body from connection error message by @SoniaSandler #10404
  • chore: show only one error enoent message untill podman machine reconnects by @gastoner #10239
  • chore: update styling kubernetes empty page by @cdrage #10401
  • chore: allow to set values for dropdown in DockerCompatibility by @benoitf #10516
  • feat: allow to prune only untagged images (and not only unused) by @benoitf #10400
  • feat(ui): add close button to hide banners by @gastoner #10414
  • feat: additional config value to hide recommended banners by @gastoner #10322

Bug fixes​

  • fix(frontend): hide release note image on error by @axel7083 #10510
  • fix: building image without name should have a correct task title by @jeffmaury #10321
  • fix: check connection with health check by @feloy #10457
  • fix: cleanup log files before starting the app by @benoitf #10500
  • fix: copy docker-compose over existing file fails during installation by @dgolovin #10313
  • fix: create task when running push image command by @dgolovin #10267
  • fix: disable build button if no arch is selected by @benoitf #10686
  • fix: fire on*DidUpdateContainerConnection events after connection is started ans the api is setup by @feloy #10668
  • fix: flathub publish workflow by @axel7083 #10387
  • fix: hide legacy tasks manager when user clicks outside of it by @dgolovin #10539
  • fix: margin in settings nav item by @gastoner #10442
  • fix: preference rendering item not updating with boolean type by @axel7083 #10580
  • fix: push modal dialog error processing by @dgolovin #10266
  • fix: handle property the watch mode for extension in development mode by @benoitf #10623
  • fix: toggle of help menu by @cdrage #10339
  • fix: update spawn command for ui package by @jeffmaury #10548
  • fix: kube health store is inactive in non experimental mode by @feloy #10415
  • fix: use option property to ensure options is treated as state by @deboer-tim #9953
  • chore: fix the method signature for pruneAllImages of Podman by @benoitf #10388

Tests​

  • chore(ci): add Mac Update E2E job into PR check and e2e-main workflows by @odockal #10384
  • chore(ci): add mac-update-e2e-test job into e2e-main workflow by @odockal #10402
  • chore(test): introduce a parent class that encapsulates the shared functionality of all cluster creation pages by @amisskii #10373
  • chore(test): Automation of Kubernetes e2e tests by @amisskii #10320
  • chore(test): Parameterize the timeout for resource connection action by @amisskii #10691
  • chore(test): e2e test for autodetect of compose up by @cbr7 #10658
  • chore(test): extract cluster-related operations to a dedicated utility file by @amisskii #10390
  • chore(test): fix flaky kind cluster restart test by @amisskii #10421
  • chore(test): fix flaky volume delete behaviour by @cbr7 #10347
  • chore(test): handle cli tool confirmation dialog by @amisskii #10532
  • chore(test): increase timeout for extension installation from OCI image by @amisskii #10351
  • chore(test): wait more time for image availbility by @cbr7 #10645
  • chore(tests): adjust sandbox name in e2e tests after catalog update by @odockal #10576
  • test(PullImage): adding tests to ensure reactivity by @axel7083 #10733
  • test(front): adding unit tests for PodDetailsLogs by @axel7083 #10662
  • test(ui): adding unit tests for TerminalWindows by @axel7083 #10531
  • test: kind details operations by @amisskii #10710
  • fix(ci): remove duplicated pnpm install steps in e2e jobs by @odockal #10422
  • fix: container details terminal flaky test on macos by @axel7083 #10407
  • fix: do not use window as any by @feloy #10635
  • chore: generate all the mocks of exposed methods during the setup of vitest by @benoitf #10426
  • chore: handle more cases where methods can be mocked by @benoitf #10424
  • chore: add missing mocking method by @benoitf #10423
  • chore: add nsis target for testing daily builds on windows by @odockal #10684
  • chore: update title of the extension by @benoitf in #10765
  • chore(test): simplify pull image test by @axel7083 in #10798

Refactoring​

  • refactor(configuration): moving shared constants to packages/api by @axel7083 #10344
  • refactor(podman): replace isMac with extension api by @axel7083 #10417
  • refactor(podman-extension): uses api env.isLinux by @axel7083 #10403
  • refactor(ui): preferences navigation component by @axel7083 #10346
  • refactor: cleanup unused kubernetes client code by @feloy #10458
  • refactor: migrate TerminalWindow to svelte5 by @axel7083 #10728
  • refactor: migrate typeahead to svelte5 by @axel7083 #10727
  • refactor: remove search function work from Typeahead component by @SoniaSandler #10737
  • chore: convert PreferencesRenderingItemFormat to svelte 5 runes by @benoitf #10495
  • chore: migrate AuditMessageBox to svelte5 rune by @benoitf #10493
  • chore: migrate ContributionActions to svelte5 runes by @benoitf #10491
  • chore: migrate ExtensionDetailsReadme to svelte 5 runes by @benoitf #10492
  • chore: migrate ListItemButtonIcon to svelte 5 runes by @benoitf #10490
  • chore: migrate LoadingIconButton to svelte 5 runes by @benoitf #10489
  • chore: migrate PreferencesRendering to svelte 5 runes by @benoitf #10496
  • chore: migrate ProviderResultPage (and ImageDetailsCheck) components to svelte 5 by @benoitf #10446
  • chore: move PodsList to svelte5 runes mode by @benoitf #10459
  • chore: update PreferencesRenderingItem to svelte5 runes by @benoitf #10494
  • fix: enable the '@typescript-eslint/no-explicit-any' rule by @jeffmaury #10172
  • fix: remove disablement of no explicit any rule in compose extension by @dgolovin #10613
  • chore: add esnext so can use private # variables by @benoitf #10529
  • chore: enable the @typescript-eslint/explicit-function-return-type for renderer part by @feloy #10705
  • chore: move extension loader settings to api package by @benoitf #10671
  • chore: move extension-* files to a subfolder extension by @benoitf #10661
  • chore: move extension-updater and extension-catalog as subfolders of the new extension folder by @benoitf #10664
  • chore: update @kubernetes/client-node to v1.0.0 by @feloy #10436
  • chore: do not declare kubernetes-client module as external by @feloy #10439
  • chore: removed unused dependency by @benoitf #10509
  • refactor: extract analyzeExtension to a dedicated class by @benoitf in #10742
  • refactor: deployments list uses svelte 5 by @feloy in #10760
  • chore: remove no-explicit-any by @benoitf in #10749
  • chore: cleanup @typescript-eslint/no-explicit-any by @benoitf in #10779

Doc​

  • docs(website): added a troubleshooting section by @shipsing #10296
  • docs(website): added documentation about applying a yaml manifest by @shipsing #10324
  • docs(website): added documentation for the port forwarding feature by @shipsing #9844
  • docs(website): added procedures to view the container logs and access… by @shipsing #10441
  • docs(website): edited the troubleshooting section by @shipsing #10413
  • docs(website): removed outdated icons by @shipsing #10575
  • docs(website): updated outdated procedures in the kind category of th… by @shipsing #10577
  • docs(website): updated outdated procedures in the minikube category o… by @shipsing #10688
  • docs(website): updated the outdated procedures in the containers cate… by @shipsing #10540
  • docs: add Linux documentation for Docker Compatibility by @afbjorklund #10481
  • docs: add blog cncf projects with podman desktop by @cdrage #9743
  • docs: add bootc extension release 1.6.0 blog post by @cdrage #10547
  • docs: fix release notes 1.15 by @SoniaSandler #10408
  • docs: improve /extensions page with more info & architecture by @cdrage #10337
  • docs: in code guidelines, use vi.mocked by @feloy #10353
  • fix(docs): adds horizontal padding to front page by @gastoner #10622
  • fix: update podman remote status command in documentation by @slemeur #10474
  • fix: use prettier for formatting markdown by @afbjorklund #10486
  • fix: update the markdownlint targets by @afbjorklund #10487
  • chore: change GitHub podman desktop links in website to podman-desktop org by @SoniaSandler #10340
  • chore: fix format in md files by @benoitf #10524
  • docs: adding remark to containerEngine#listInfos by @axel7083 in #10781
  • docs(website): testcontainers blog post by @gastoner in #10440
  • docs(website): added a reference section and removed duplicate proced… by @shipsing in #10740