0.3.0
apple/container0.3.0Jul 30, 2025by github-actions[bot]
AI Summary
This release enables nested virtualization in containers and fixes build stability issues. It adds new port forwarding capabilities and improves the build process with support for local output and previous stage caching.
Key Highlights
- Enable nested virtualization in containers
- Fix build hangs/crashes
- Use previous build stage names as image in subsequent `FROM` statements
- Fix output for builds with `--output type=tar`
- Publish TCP and UDP ports on localhost
New Features
- Support building with `--output local`
- Improved options for specifying build platforms
- Adds `--publish` flag for forwarding traffic to container ports
- Nested virtualization support
Full Release Notes
A big thank you to all contributors for your work to improve container!
Beginning with the 0.3.0 release, we're aiming to release on a monthly cycle. For now, each monthly release will increment the minor version. Should we need to create an off cycle patch release, we'll bump the patch version.
## Highlights
* Core
* [Enumerate a well known path where user-installed plugins can be found](https://github.com/apple/container/issues/340)
* [Fix output of plugin details in CLI help](https://github.com/apple/container/issues/349)
* [Fix handling of process options in `container create`](https://github.com/apple/container/issues/395)
* [Enable nested virtualization in containers](https://github.com/apple/container/issues/376)
* Several fixes for thread safety
* Network
* [Publish TCP and UDP ports on localhost](https://github.com/apple/container/issues/97)
* Builder
* [Fixed build hangs/crashes](https://github.com/apple/container/issues/284)
* [Use previous build stage names as image in subsequent `FROM` statements](https://github.com/apple/container/issues/334)
* [Fix output for builds with `--output type=tar`](https://github.com/apple/container/issues/347)
* [Support building with `--output local`](https://github.com/apple/container/issues/354)
* [Improved options for specifying build platforms](https://github.com/apple/container/issues/372)
## What's Changed
* Use a consistent capitalization in a bug report template by @dkovba in https://github.com/apple/container/pull/269
* Adds next step link for building the project. by @jglogan in https://github.com/apple/container/pull/278
* Docs for shell completion by @adityaramani in https://github.com/apple/container/pull/275
* Add unpack strategy to SnapshotStore by @adityaramani in https://github.com/apple/container/pull/274
* Use enum for ClientHealthCheck namespace by @eliseomartelli in https://github.com/apple/container/pull/225
* Assigns default nameserver in sandbox service. by @jglogan in https://github.com/apple/container/pull/276
* [Build] Disable rosetta during builds with a UserDefault by @wlan0 in https://github.com/apple/container/pull/273
* Cleanups for CI by @adityaramani in https://github.com/apple/container/pull/287
* [Build] update builder shim to 0.3.0 by @wlan0 in https://github.com/apple/container/pull/288
* Fix build with local images test by @katiewasnothere in https://github.com/apple/container/pull/285
* Updates SPI manifest to build on 6.2 only. by @jglogan in https://github.com/apple/container/pull/297
* Mark SandboxSnapshot init as public for sandbox plugins by @ArnavReddy in https://github.com/apple/container/pull/309
* Flush output when following logs. by @jglogan in https://github.com/apple/container/pull/316
* ProcessIO: Don't error if stdin isn't a pty and !-i by @dcantah in https://github.com/apple/container/pull/312
* Use `swift package edit` instead of `CONTAINERIZATION_PATH`. by @jglogan in https://github.com/apple/container/pull/318
* fix typo in local package path for building by @Typ0genius in https://github.com/apple/container/pull/327
* Handle when keychain query returns an unhandled error by @katiewasnothere in https://github.com/apple/container/pull/331
* Use `Mutex` for thread-safe access to structs by @dkovba in https://github.com/apple/container/pull/325
* Use the new `@SendablePropertyUnchecked` macro by @dkovba in https://github.com/apple/container/pull/332
* Docs: Add macOS 15 container-to-container communication limitation note to the tutorial by @zdk in https://github.com/apple/container/pull/328
* Use `{install-root}/libexec/container-plugins` for plugins. by @jglogan in https://github.com/apple/container/pull/341
* Add test for using previous stages as FROM source by @katiewasnothere in https://github.com/apple/container/pull/342
* Make image details public by @Typ0genius in https://github.com/apple/container/pull/335
* Quote paths in Makefile by @realrajaryan in https://github.com/apple/container/pull/350
* Fix subcommand groups in top level help. by @jglogan in https://github.com/apple/container/pull/351
* Adds TCP and UDP port forwarders. by @jglogan in https://github.com/apple/container/pull/338
* [Build] fixes for tar output mode by @wlan0 in https://github.com/apple/container/pull/353
* Fix broken link to tutorial.md by @sbehnke in https://github.com/apple/container/pull/358
* Use wildcard IP for UDP backend local address. by @jglogan in https://github.com/apple/container/pull/359
* Add cause string to error message sent with xpc by @katiewasnothere in https://github.com/apple/container/pull/361
* CLI: Handle stdin stream if it's a regular file by @dcantah in https://github.com/apple/container/pull/322
* Adds `--publish` flag for forwarding traffic to container ports. by @jglogan in https://github.com/apple/container/pull/352
* Applies feedback for PR #352. by @jglogan in https://github.com/apple/container/pull/365
* add support for local build output by @wlan0 in https://github.com/apple/container/pull/369
* Update xcode developer version to new symlink by @katiewasnothere in https://github.com/apple/container/pull/374
* Clarified documentation by @sam-lord in https://github.com/apple/container/pull/388
* Bump Containerization to 0.5.0 by @dcantah in https://github.com/apple/container/pull/363
* Fix user arg passthrough for container create by @katiewasnothere in https://github.com/apple/container/pull/393
* Explain how to install a release build in BUILDING.md by @justinyaodu in https://github.com/apple/container/pull/379
* Add virtualization support for containers by @dcantah in https://github.com/apple/container/pull/377
## New Contributors
* @Typ0genius made their first contribution in https://github.com/apple/container/pull/327
* @zdk made their first contribution in https://github.com/apple/container/pull/328
* @realrajaryan made their first contribution in https://github.com/apple/container/pull/350
* @sbehnke made their first contribution in https://github.com/apple/container/pull/358
* @sam-lord made their first contribution in https://github.com/apple/container/pull/388
* @justinyaodu made their first contribution in https://github.com/apple/container/pull/379
**Full Changelog**: https://github.com/apple/container/compare/0.2.0...0.3.0