What changed in container from 0 to 1

7 releases numbered after 0.12.3 up to and including 1.3.1, stable releases only. 0.12.3 and 1.3.1 are the newest stable releases of 0 and 1 we track; this page follows them as new ones ship.

65 changes across 7 releases · 4 landed on more than one version

Added 13

1.3.1

  • Add container skill

1.2.1

  • k8s plugin for turnkey local Kubernetes clusteralso in1.2.0
  • container export command for live containersalso in1.2.0
  • --ssh option for container buildalso in1.2.0
  • --read-only-path and --masked-path options for container run for Kubernetes, Docker, and similar containersalso in1.2.0

1.2.0

  • Allow custom kernel boot args via --kernel-arg

1.1.0

  • Add checksum validation to hawkeye installation

1.0.0

  • 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 11

1.3.0

  • Default Kata kernel is now 3.32.0-debug
  • Documentation has been expanded and reorganized
  • Relax maskedPaths and readonlyPaths for container machines

1.2.1

  • Adjust overcommit and max_map_count vm defaults in guest VMs
  • Enable ssh forwarding for container build

1.2.0

  • Use ordered journal mode for unpacked images
  • Use enum for warmup images

1.1.0

  • Always update default network with system configuration values
  • Add collection capacity hints to known-size loops in parser

1.0.0

  • 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 26

1.3.1

  • Fix tmpfs mount source field left empty for --mount type=tmpfs

1.3.0

  • 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

1.2.2

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

1.2.1

  • Increase testExecDetachProcessRunning sleep margin to avoid CI flake
  • Add readiness signal to DirectoryWatcher and fix DirectoryWatcherTest

1.2.0

  • Image environment variables are now correctly handled

1.1.0

  • 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
  • Log the graceful-stop error instead of silently discarding it in gracefulStopContainer
  • Fix exec empty arguments crash
  • Propagate error from createDirectory in system start
  • Route container image save reference list to stderr in stdout mode

1.0.0

  • 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 4

1.3.0

  • Removed --scheme auto for image operations, default is now https

1.1.0

  • Remove network variant computation from API server

1.0.0

  • Remove `container system property` `get` and `set` subcommands
  • Remove compatibility with application major version 0 XPC APIs
Security 11

1.3.1

  • 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

1.2.0

  • 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

Original release notes, newest first

The list above is our reading of these notes; the originals from container are here, one fold per release.

1.3.1

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

1.3.0
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

1.2.2

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

1.2.1
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

1.2.0
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

1.1.0
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

1.0.0

: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