Wiki: https://fedoraproject.org/wiki/Changes/Podman6

Discussion Thread: https://discussion.fedoraproject.org/t/177294

**This is a proposed Change for Fedora Linux.**
This document represents a proposed Change. As part of the Changes process,
proposals are publicly announced in order to receive community feedback.
This proposal will only be implemented if approved by the Fedora
Engineering Steering Committee.

== Summary ==
This proposal introduces Podman 6.0, a new major version of the container
management tool, into Fedora 44. This update includes significant API and
CLI breaking changes, new functionality, and the final removal of
deprecated components including slirp4netns, cgroups v1, and the BoltDB
backend.

== Owner ==
* Name: [[User:Lsm5|Lokesh Mandvekar]], [[User:Bbaude|Brent Baude]],
[[User:Mohanboddu|Mohan Boddu]]
* Email: [email protected], [email protected], [email protected]

== Detailed Description ==
This change will update the podman package to version 6.0, which
incorporates several major architectural changes and finalizes previously
announced deprecations.

Key technical changes include:
**Removal of Deprecated Code:** The code for several deprecated components
will be fully removed.

* **slirp4netns**: Replaced by Pasta, which became the default rootless
networking option in Podman 5.0.
* **CgroupsV1**: Podman 6.0 will no longer support cgroups v1; all related
code and tests will be removed.
* **BoltDB**: The BoltDB database backend, replaced by SQLite as the
default in Podman 4.8, will be removed. A deprecation notice has been added
to Podman 5.7 to warn users. Users should first upgrade to Podman 5.8 first
(will be release on all active Fedora releases) and reboot before upgrading
to Podman 6 to ensure migration. Refer to [
https://blog.podman.io/2025/12/boltdb-database-migration/ this blog post]
for details on BoltDB to SQLite migration.
* **--network-cmd-path**: This option, only used by slirp4netns, will also
be removed.
**Configuration File Rework:** A significant redesign of configuration file
handling will be implemented to address long-standing confusion between
remote clients (Windows/Mac) and the server. This will likely involve a
client/server approach to containers.conf and unifying the parsing logic
for containers.conf and storage.conf.

**Netavark Enhancements:** The Netavark network backend will remove support
for iptables favoring nftables which has been the default since Fedora 41,
consolidate the network create logic into Netavark itself, and change
internal structures to preserve the network order for containers. This will
impact only the users who manually configured iptables.

**New Conmon:** A new version of conmon is being evaluated to address
several user enhancements and improvements.

== Feedback ==


== Benefit to Fedora ==
**Modernization and Maintenance:** Aligns Fedora with the latest container
technologies by removing legacy, unmaintained, or superseded components
like slirp4netns, cgroupsv1, BoltDB. This reduces maintenance overhead,
technical debt, and attack surface.

**Improved User Experience:** The configuration file rework will resolve
significant confusion for users, especially those on Windows and macOS, by
clarifying client vs. server settings and normalizing configuration file
parsing.

**Enhanced Networking:** Finalizing the move to Netavark and removing
iptables support simplifies the networking stack and aligns with Fedora's
modern defaults (nftables).

== Scope ==
* Proposal owners: The Podman maintainers will be responsible for updating
the podman package, managing associated dependency changes (like conmon),
and ensuring the new version builds and runs correctly in Fedora 44. They
will also manage the upstream changes in netavark and common.
* Other developers: Maintainers of buildah and skopeo will likely need to
adapt to the new configuration file parsing logic, which could require a
major version bump for those tools. The podman-py maintainers will need to
verify compatibility with the new configuration system. These are
maintained by the same team of maintainers as Podman and they are on board
with this change. These changes would likely need to additionally be
coordinated with CoreOS and Image Mode developers.
* Release engineering: N/A (not a System Wide Change)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)

== Upgrade/compatibility impact ==
This is a major version update with several breaking changes.
* Users on systems still using CgroupsV1 will no longer be supported.
* Users who have not migrated their database from BoltDB to SQLite will
find their container state unusable after the upgrade.
* Networking configurations relying on slirp4netns will no longer function.
Users must be using Netavark and Pasta (which are the defaults in Podman 5).
* Existing containers.conf files may need to be migrated or split to
accommodate the new client/server configuration logic.

== Early Testing (Optional) ==
N/A

== How To Test ==
No special hardware is required (other than an x86_64 or aarch64 machine).
# Install the new podman 6.0 package on a fresh Fedora 44 system.
# Verify that basic container lifecycle works (run, stop, rm, ps, inspect).
# Verify that networking functions correctly using the default Netavark
(root) and Pasta (rootless) backends.
# Test upgrading from Fedora 43 with Podman 5.x. Verify that existing
SQLite databases are read correctly and containers still run.

== User Experience ==
Users will benefit from a cleaner, more maintainable codebase with removed
legacy components. The configuration file improvements will reduce
confusion for users working with remote Podman clients on Windows and
macOS. Users still relying on deprecated components (slirp4netns, cgroups
v1, BoltDB) will need to migrate to the supported alternatives before
upgrading.

== Dependencies ==
N/A (not a System Wide Change)

== Contingency Plan ==
* Contingency mechanism: N/A (not a System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? No

== Documentation ==
N/A (Upstream documentation will be provided with the 6.0 release)

== Release Notes ==
Podman has been updated to major version 6.0. This release finalizes the
removal of support for slirp4netns, cgroups v1, and the BoltDB database
backend. Users must be on Netavark, Pasta, cgroups v2, and SQLite,
respectively. Configuration file handling for remote clients has been
significantly refactored, which may require user migration.
-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to