container

Infrastructure & DevOpsApache-2.0

container release notes.

Latest 1.4.1 · by containerWritten in SwiftWebsiteapple/containerRSS

Release activity

Release activity — 15 releases across 15 days since Jan 22, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jan 22, 2026. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026
MondayNo releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 20261 release on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 20261 release on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026
TuesdayNo releases on May 26, 2026No releases on Jun 2, 20261 release on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 2026No releases on Sep 8, 2026
WednesdayNo releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 20261 release on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 2026No releases on Aug 26, 2026No releases on Sep 2, 20261 release on Sep 9, 2026
ThursdayNo releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026
FridayNo releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 20261 release on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 2026No releases on Sep 4, 2026
SaturdayNo releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 20261 release on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 20261 release on Aug 29, 2026No releases on Sep 5, 2026

15 releases since Jan 22, 2026

Changelog

What changed from 0 to 1

1.4.1

Latest
Added 1
  • New container clean command
Changed 3
  • container system status now reports host, client, paths, and resources
  • JSON output no longer escapes forward slashes
  • Updated Containerization to 0.45.0
Fixed 3
  • Handle container clean failing on read-only named volume mounts
  • Fix compilation error
  • Fix compilation warnings
Security 2
  • OCI image load no longer follows symlinks for oci-layout and index.json outside the extraction directory
  • UnixType.init(path:) no longer uses a macOS length limit longer than the sockaddr_un.sun_path buffer it copies into

From container

This release addresses two security issues in the Containerization package:

  • GHSA-4587-w9mm-xxvh - OCI image load follows symlinks for oci-layout and index.json outside the extraction directory
  • GHSA-rgqp-277h-gcwj - UnixType.init(path:) uses a macOS length limit longer than the sockaddr_un.sun_path buffer it copies into

There was no 1.4.0 release, we had to discard that tag so this release contains every change since 1.3.1.

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.3.1...1.4.1

View originalPermalink
How 1.4.1 went

1.3.1

Added 1
  • Add container skill
Fixed 1
  • Fix tmpfs mount source field left empty for --mount type=tmpfs
Security 6
  • Fix unchecked id that could allow creating a container or executing a container process to delete files outside its bundle
  • Fix ContainerizationOCI accepting unvalidated OCI descriptor digests that could enable path traversal in the local content store
  • Fix loading an OCI image layout that could read host files through a symlink
  • Fix RegistryClient following the WWW-Authenticate realm without validating its host or scheme
  • Fix unpacking a crafted image layer with a long invalid file name that could crash the unpacking process
  • Fix unpacking a crafted image layer with an invalid length extended-attribute name that could crash the unpacking process

From container

This patch release addresses a number of security issues in the Containerization package:

  • GHSA-x7pf-2jmj-pgcq - Creating a container or executing a container process can delete files outside its bundle through an unchecked id
  • GHSA-f689-h8m7-3jp2 - ContainerizationOCI accepts unvalidated OCI descriptor digests, enabling path traversal in the local content store
  • GHSA-r3h2-rgqf-9hv9 - Loading an OCI image layout can read host files through a symlink
  • GHSA-mx96-5vvg-x2mg - CVE-2026-65388 - RegistryClient follows the WWW-Authenticate realm without validating its host or scheme
  • GHSA-697p-8837-37h3 - Unpacking a crafted image layer with a long(invalid) file name crashes the unpacking process
  • GHSA-g3rx-2m58-rr63 - Unpacking a crafted image layer with an invalid length extended-attribute name crashes the unpacking process
What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.3.0...1.3.1

View originalPermalink
How 1.3.1 went

1.3.0

Changed 3
  • Default Kata kernel is now 3.32.0-debug
  • Documentation has been expanded and reorganized
  • Relax maskedPaths and readonlyPaths for container machines
Fixed 5
  • Update sudoers file to not include dots
  • Refactor tmpfsMounts() to process tmpfs path correctly
  • Validate volume name in volume disk usage call
  • Fix k8s integration test with scoped domain
  • Fix a compilation error
Removed 1
  • Removed --scheme auto for image operations, default is now https

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.2.2...1.3.0

View originalPermalink
How 1.3.0 went

1.2.2

Fixed 1
  • Fix glitch that prevented `container k8s` working when installed from the release package

From container

This release fixes a glitch that prevented container k8s working when installed from the release package.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.2.1...1.2.2

View originalPermalink
How 1.2.2 went

1.2.1

Added 4
  • k8s plugin for turnkey local Kubernetes cluster
  • container export command for live containers
  • --ssh option for container build
  • --read-only-path and --masked-path options for container run for Kubernetes, Docker, and similar containers
Changed 2
  • Adjust overcommit and max_map_count vm defaults in guest VMs
  • Enable ssh forwarding for container build
Fixed 2
  • Increase testExecDetachProcessRunning sleep margin to avoid CI flake
  • Add readiness signal to DirectoryWatcher and fix DirectoryWatcherTest

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.2.0...1.2.1

View originalPermalink
How 1.2.1 went

1.2.0

Added 5
  • k8s plugin for turnkey local Kubernetes cluster
  • container export command for live containers
  • --ssh option for container build
  • --read-only-path and --masked-path options for container run for Kubernetes, Docker, and similar containers
  • Allow custom kernel boot args via --kernel-arg
Changed 2
  • Use ordered journal mode for unpacked images
  • Use enum for warmup images
Fixed 1
  • Image environment variables are now correctly handled
Security 5
  • Bare-name image Config.Env entries no longer inherit values from the launching process's environment (CVE-2026-64786)
  • TCP port forwarder no longer buffers unbounded pre-connect data from published container ports (CVE-2026-64773)
  • Build filesystem sync no longer discloses host files outside the build context via symlinks (CVE-2026-64777)
  • BuildFSSync.walk() JSON response mode no longer reports the resolved host path of build-context symlinks that point outside the context
  • Special permission bits are now reset when extracting archives onto the host

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.1.0...1.2.0

View originalPermalink
How 1.2.0 went

1.1.0

Added 1
  • Add checksum validation to hawkeye installation
Changed 2
  • Always update default network with system configuration values
  • Add collection capacity hints to known-size loops in parser
Fixed 10
  • Unix domain socket mounts now work in non-root containers
  • Fix container cp failures with relative source paths
  • Fix duplicate "(default: 3)" in --max-concurrent-downloads help text
  • Propagate permissions for all host-to-container socket mounts
  • Replace try! with try? for stdout/stderr writes in ProcessIO
  • Remove force-unwrap on session dictionary in DefaultNetworkService
Removed 1
  • Remove network variant computation from API server

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/1.0.0...1.1.0

View originalPermalink
How 1.1.0 went

1.0.0

Added 6
  • Add `container machine` feature for long-lived Linux environments with tight host integration
  • Add `--stop-signal` option for `container run`
  • Add `container cp` command
  • Add support for `--shm-size` option
  • Add support for layered and plugin configurations
  • Add `variant` support
Changed 2
  • Replace UserDefault-backed system properties with TOML configuration file
  • Clean up structured output shape for container, image, network, and volume `ls` and `inspect` commands
Fixed 6
  • Fix `container help subcommand...`
  • Fix output formatting for several commands
  • Use XPC-connection-as-lease to fix IP address leaks
  • Fix accounting errors in `system df`
  • Fix inconsistent volume createdAt JSON encoding
  • Fix image list alignment with other commands when format should ignore quiet
Removed 2
  • Remove `container system property` `get` and `set` subcommands
  • Remove compatibility with application major version 0 XPC APIs

From container

:birthday: container is one year old!

Try out the new container machine feature and let us know what you think!

[!NOTE] The UserProperty-backed system settings have been replaced by a TOML configuration file. See the tutorial for details.

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.12.3...1.0.0

View originalPermalink
How 1.0.0 went

0.12.3

Changed 1
  • ImagePush prints image reference to stdout on success
Fixed 2
  • Fix RequestScheme formatting
  • ensure-container-stopped.sh does not fail on launchctl errors
Security 2
  • Prevent HTTP downgrade in registry-related commands
  • Prevent path and rule injection in container system dns commands

From container

This patch release includes two security fixes:

What's Changed

Full Changelog: https://github.com/apple/container/compare/0.12.2...0.12.3

View originalPermalink
How 0.12.3 went

0.12.0

Added 6
  • Plain progress output
  • Color progress output
  • YAML output format support
  • Support --cap-add and --cap-drop for containers
  • Use TOML for plugin configuration files
  • Journal option for container volume create
Changed 4
  • Use plain progress output if stderr is not a TTY
  • Consolidated output format handling
  • Update kernel to kata-3.28.0
  • Default set of Linux capabilities has been reduced
Fixed 6
  • Pass SSH_AUTH_SOCK properly if its value changes after user login
  • Fix unable to write data to the archive, code 0 error during build
  • Fix errors with Dockerfile-specific ignore file and read-only build context
  • Fix ARG parsing bugs
  • Fix unreliable single file mounts
  • User-friendly platform error message for image save
Removed 1
  • Removes unused Archiver.uncompress()

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.11.0...0.12.0

View originalPermalink
How 0.12.0 went

0.11.0

Added 9
  • Set default CPUs and memory for regular containers via system properties
  • Set default CPUs and memory for builder via system properties
  • Add CONTAINER_DEFAULT_PLATFORM environment variable for default image platform selection
  • Make container export write an OCI layout tar file for a stopped container
  • Build using Dockerfile-specific ignore files
  • Build using secrets
Changed 4
  • Update builder API to use grpc-swift-2
  • Allow "." in volumes
  • Stop and delete should error on not found containers
  • Extend signal handling scope to cover the unpack phase during build
Fixed 5
  • Fix container lifecycle-related hangs
  • Fix ARG parsing bugs
  • Fix container start hang on invalid executable
  • Fix race condition on SandboxService.waiters
  • Fix docker ignore

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.10.0...0.11.0

View originalPermalink
How 0.11.0 went

0.10.0

Added 11
  • Support selecting VM init image on container create/run
  • Add a script for updating container to release package
  • Support exporting current container to image
  • Add --pull option for fetching latest image in build command
  • Add runtime flag to container create and run commands
  • Add container registry list command
Changed 5
  • Rework ClientContainer as a generic client
  • Update API calls to use correct form of the term "clean up"
  • Move container bundle creation from ContainerService to SandboxService
  • Support using multiple different network plugins
  • Downgrade the mapping of warnings to the default log level
Fixed 4
  • Fix kernel panic (selinux_inode_free_security) in container under load
  • Fix environment variables being duplicated on run
  • Fix directory watcher
  • Fix relative path mount tests

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.9.0...0.10.0

View originalPermalink
How 0.10.0 went

0.9.0

Added 13
  • Unpack layer content compressed with zstd
  • Install kernels compressed with zstd
  • Configure resource limits
  • Access host services through hostnames like host.docker.internal
  • Create networks with host-only access
  • Add --dns support to build command for custom DNS resolution
Changed 3
  • Use Kata 3.26.0 kernel
  • Use labels instead of id to discriminate the builtin network
  • Set mtu to old Containerization default
Fixed 4
  • Prevent delete default network
  • Place image store data correctly for app-root path
  • Fix file descriptor leak in DirectoryWatcher
  • Fix pfctl executable path in PacketFilter DNS reload

From container

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.8.0...0.9.0

View originalPermalink
How 0.9.0 went

0.8.0

Added 7
  • Add container system version command to show version info
  • Add --read-only flag for container create and run commands to mount root filesystem read-only
  • Add platform architecture aliases for amd64 and arm64
  • Add container network prune command to remove unused networks
  • Add IPv6 network configuration, container DNS, and port forwarding support
  • Add support for reading environment variables from named pipes
  • Support relative paths for --volume option
Changed 4
  • Improve stability for container start and stop operations
  • Reorganize client APIs
  • Improve volume filesystem performance
  • Translate block mount options correctly and use sync mode by default
Fixed 6
  • Fix panics and filesystem data integrity errors when stressing containers
  • Make the progress bar respect locale-specific decimal separator
  • Fix -it not being able to pipe stdout
  • Fix container auto-delete on rapid stop and start
  • Fix stop not signalling waiters
  • Fix port validation to allow same port for different protocols
Security 1
  • Prevent container image load from writing files outside the extraction directory, addressing CVE-2026-20613

From container

[!IMPORTANT]

This release addresses a low severity security issue (CVE-2026-20613) in the containerization library whereby a poorly assembled or maliciously crafted image tar archive can write files to locations other than the extraction directory. The issue is present when a user runs the container image load command (or the `cctl image load command in containerization)

No privilege escalation is possible by exploiting the issue; the archive extractor can only write files that the user could write themselves.

Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

What's Changed
New Contributors

Full Changelog: https://github.com/apple/container/compare/0.7.1...0.8.0

View originalPermalink
How 0.8.0 went
View all

Discussion

If you publish container, you can claim this product by proving you administer its repository.