0.5.0

apple/container0.5.0Oct 2, 2025by github-actions[bot]

AI Summary

This release performs significant API and CLI cleanup by removing the `images` alias, introducing system property management, and migrating to the APIServer for sandbox operations. It also updates keychain handling for registries.

Key Highlights

  • Remove `images` alias for `container image` (Breaking CLI Change)
  • `container system property` commands for managing settings (Breaking CLI Change)
  • Use com.apple.container.registry as keychain ID (Breaking CLI Change)
  • Expose `ContainerCommands` for external use (Breaking API Change)
  • Use APIServer for sandbox management operations (Breaking API Change)

Breaking Changes

  • Remove `images` alias for `container image`
  • Use com.apple.container.registry as keychain ID
  • Expose `ContainerCommands` for external use
  • Use APIServer for sandbox management operations

New Features

  • Save multiple images to tarfile
  • Revert inadvertent pull platform filtering
  • Improved help output for commands
  • Support for following symlinks in tar

Full Release Notes

## Highlights

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

* Core
  * ⌨️ [Remove `images` alias for `container image`.](https://github.com/apple/container/issues/596)
  * ⌨️ [`container system property` commands for managing settings.](https://github.com/apple/container/issues/384)
  * ⌨️ [Use com.apple.container.registry as keychain ID.](https://github.com/apple/container/issues/644). You will need to perform `container registry login` again for your registries to establish new keychain entries. You can delete the old `com.apple.container` keychain entries using the Keychain Access tool.
  * 👩‍💻 [Expose `ContainerCommands` for external use.](https://github.com/apple/container/issues/609)
  * 👩‍💻 [Use APIServer for sandbox management operations.](https://github.com/apple/container/pull/628). This PR includes significant changes to the ContainerClient API.
  * [`container image save` can save multiple images.](https://github.com/apple/container/issues/558)
  * [Revert inadvertent pull platform filtering.](https://github.com/apple/container/issues/592) Note that this will cause image pull times to be longer for now, as observed in the [original issue](https://github.com/apple/container/issues/83).
  * [Cleaned up help output for commands.](https://github.com/apple/container/issues/515)
* Network
  * [Add --labels for networks.](https://github.com/apple/container/issues/557)
* Storage
  * [Fixed regression on relative path as a virtiofs mount source.](https://github.com/apple/container/issues/565)

**Full Changelog**: https://github.com/apple/container/compare/0.4.1...0.5.0

## What's Changed
* Create command-reference.md by @wlan0 in https://github.com/apple/container/pull/445
* Uninstaller: call usage if incorrect number of options are provided by @katiewasnothere in https://github.com/apple/container/pull/556
* Fix relative path bind mounts regression by @realrajaryan in https://github.com/apple/container/pull/572
* Support following symlinks in tar when setting default kernel by @katiewasnothere in https://github.com/apple/container/pull/575
* Add force option to kernel set and add tests for kernel setting by @katiewasnothere in https://github.com/apple/container/pull/579
* Allow kernel set with tar to use relative paths to tar file by @katiewasnothere in https://github.com/apple/container/pull/582
* Remove description field in PR template by @katiewasnothere in https://github.com/apple/container/pull/583
* DefaultCommand signal behavior improvements for plugins by @mazdak in https://github.com/apple/container/pull/570
* Package.swift: Bump CZ to 0.7.0 by @dcantah in https://github.com/apple/container/pull/584
* Make "Plugin not found" message more descriptive by @mazdak in https://github.com/apple/container/pull/569
* Adds multiple image save to tarfile. by @jglogan in https://github.com/apple/container/pull/560
* Add a build parameter to handle warnings as errors by @dkovba in https://github.com/apple/container/pull/591
* Remove images alias for image subcommand. by @jglogan in https://github.com/apple/container/pull/597
* Docs: Update upgrade process in `README.md`. by @jglogan in https://github.com/apple/container/pull/595
* Pass DNS integration tests when default domain is set. by @jglogan in https://github.com/apple/container/pull/594
* Revert inadvertent pull platform filtering from #545. by @jglogan in https://github.com/apple/container/pull/593
* Remove per-target concurrency checking by @dkovba in https://github.com/apple/container/pull/601
* Use containerization 0.7.1. by @jglogan in https://github.com/apple/container/pull/606
* Update builder shim version to 0.6.1 to support default global args by @katiewasnothere in https://github.com/apple/container/pull/605
* Bump containerization dependency to 0.7.2. by @jglogan in https://github.com/apple/container/pull/610
* Add `--labels` for networks. by @jglogan in https://github.com/apple/container/pull/600
* Relocates API server to Helpers, service to Services. by @jglogan in https://github.com/apple/container/pull/616
* Enumerate using relative paths to avoid mismatch with symlink resolution of special paths like /tmp by @katiewasnothere in https://github.com/apple/container/pull/613
* Replace scattered defaults subcommands with `system property`. by @jglogan in https://github.com/apple/container/pull/604
* Use a lock consistently in the `ExecutionContext` class by @dkovba in https://github.com/apple/container/pull/619
* Fix failing network tests by @dkovba in https://github.com/apple/container/pull/620
* Expose Command Structs for Plugins by @Mcrich23 in https://github.com/apple/container/pull/603
* Rename CLI and ExecutableCLI folders by @Mcrich23 in https://github.com/apple/container/pull/635
* Bump CZ to 0.8.0 by @dcantah in https://github.com/apple/container/pull/648
* SandboxService: Turn off RunAtLoad for the default plugin by @dcantah in https://github.com/apple/container/pull/649
* CLI: Skip stopping containers in system stop if APIServer is down by @dcantah in https://github.com/apple/container/pull/650
* Use com.apple.container.registry as keychain ID. by @jglogan in https://github.com/apple/container/pull/652
* Swap to APIServer for all communications by @dcantah in https://github.com/apple/container/pull/628
* Remove Native Builder from the `main` branch by @dkovba in https://github.com/apple/container/pull/634
* Clarify memory units in help and documentation. by @jglogan in https://github.com/apple/container/pull/657
* Cleans up system subcommand options. by @jglogan in https://github.com/apple/container/pull/662
* Cleans up network and volume subcommands. by @jglogan in https://github.com/apple/container/pull/661
* Cleans up build subcommand options. by @jglogan in https://github.com/apple/container/pull/658
* Cleans up registry subcommand options. by @jglogan in https://github.com/apple/container/pull/660
* ClientContainer: Remove response timeout from `stop` by @dcantah in https://github.com/apple/container/pull/667
* Cleans up option groups, container subcommand help. by @jglogan in https://github.com/apple/container/pull/647
* Add and use `container-apiserver start`. by @jglogan in https://github.com/apple/container/pull/655
* Add and use `container-runtime-linux start`. by @jglogan in https://github.com/apple/container/pull/654
* Cleans up image subcommand options. by @jglogan in https://github.com/apple/container/pull/659
* Bumps containerization to 0.8.1. by @jglogan in https://github.com/apple/container/pull/674
* Fix regression - removed shutdown XPC inadvertently. by @jglogan in https://github.com/apple/container/pull/675
* Add warning note on finding docs for release versions by @katiewasnothere in https://github.com/apple/container/pull/676
* Adds a plain stderr log handler. by @jglogan in https://github.com/apple/container/pull/680
* Relocate ProcessIO to ContainerClient. by @jglogan in https://github.com/apple/container/pull/681
* Fix races in the `SandboxService` actor due to reentrancy after `await` calls by @dkovba in https://github.com/apple/container/pull/684
* Update an issue template by @dkovba in https://github.com/apple/container/pull/694
* Updates containerization to 0.9.1. by @jglogan in https://github.com/apple/container/pull/697
* Remove references to macOS 26 beta. by @jglogan in https://github.com/apple/container/pull/702
* Update license headers in C files by @dkovba in https://github.com/apple/container/pull/693

## New Contributors
* @mazdak made their first contribution in https://github.com/apple/container/pull/570
* @Mcrich23 made their first contribution in https://github.com/apple/container/pull/603

**Full Changelog**: https://github.com/apple/container/compare/0.4.1...0.5.0