1.0.0

apple/container1.0.0Jun 9, 2026by github-actions[bot]

AI Summary

This is the major 1.0.0 release celebrating one year of the project, introducing container machine for long-lived environments and replacing UserDefaults with TOML configuration.

Key Highlights

  • Introduces container machine for long-lived Linux environments.
  • Replaces UserDefault-backed system properties with TOML configuration.
  • Cleans up structured output for ls and inspect commands.
  • Adds --stop-signal option for container run.

Breaking Changes

  • A TOML configuration file replaces UserDefault-backed system properties, removing the container system property get and set subcommands
  • Cleaned up structured output shape for ls and inspect
  • Removed compatibility with application major version 0 XPC APIs

New Features

  • container machine
  • TOML config
  • Structured output
  • Stop signal option
  • container cp command

Full Release Notes

:birthday: `container` is one year old!

Try out the new [`container machine` feature](https://github.com/apple/container/blob/main/docs/container-machine.md) and let us know what you think!

> [!NOTE]
> The UserProperty-backed system settings have been replaced by a TOML configuration file. See [the tutorial](https://github.com/apple/container/blob/main/docs/tutorials/container-system-config-tutorial.md) for details.

## Highlights 

⌨️ denotes breaking CLI changes.

👩‍💻 denotes breaking API changes.

- Core
  - [`container machine` for long-lived Linux environments with tight host integration](https://github.com/apple/container/pull/1662).
  - ⌨️ [A TOML configuration file replaces UserDefault-backed system properties](https://github.com/apple/container/pull/1425), removing the `container system property` `get` and `set` subcommands. 
  - ⌨️ Cleaned up structured (JSON, YAML, TOML) output shape for [container](https://github.com/apple/container/pull/1656), [image](https://github.com/apple/container/pull/1652), [network](https://github.com/apple/container/issues/1623), and [volume](https://github.com/apple/container/issues/1607) `ls` and `inpect`.
  - [Fixed `container help subcommand...`](https://github.com/apple/container/issues/1509)
  - [Fixed output formatting for several commands](https://github.com/apple/container/issues/1528)
  - [Add `--stop-signal` option for `container run`](https://github.com/apple/container/issues/1581)
  - 👩‍💻 Removed compatibility with application major version 0 XPC APIs. A subsequent release will introduce a version on the API itself so that clients and server can check compatibility.
- Network
  - [Use XPC-connection-as-lease to fix IP address leaks](https://github.com/apple/container/issues/1378)
- Storage
  - [Add `container cp` command](https://github.com/apple/container/issues/232)
  - [Fixed accounting errors in `system df`](https://github.com/apple/container/pull/1555)

## What's Changed
* Tests/CLITests: drain stdout/stderr concurrently in CLITest.run by @mvanhorn in https://github.com/apple/container/pull/1471
* Build output should just be tags/paths. by @jglogan in https://github.com/apple/container/pull/1478
* Use NetworkResource for network management in API server. by @jglogan in https://github.com/apple/container/pull/1421
* Use SystemPath for HostDNSResolver. by @jglogan in https://github.com/apple/container/pull/1480
* Update documents with note about container-to-host networking. by @jglogan in https://github.com/apple/container/pull/1482
* Sort networks by ID in API server `list()`. by @jglogan in https://github.com/apple/container/pull/1487
* CLI: Support --shm-size by @dcantah in https://github.com/apple/container/pull/1488
* Improve integration test speed by @noah-thor in https://github.com/apple/container/pull/1489
* Simplify the serial suite trait by @katiewasnothere in https://github.com/apple/container/pull/1497
* Switch NetworksService, VolumesService, EntityStore to FilePath. by @jglogan in https://github.com/apple/container/pull/1493
* [scripts]: add prompt for updating container with unsigned package by @saehejkang in https://github.com/apple/container/pull/1468
* Change PR build to generate coverage and comment it by @noah-thor in https://github.com/apple/container/pull/1474
* Deps: Bump CZ to 0.32.0 by @dcantah in https://github.com/apple/container/pull/1498
* Move to TOML configuration for defaults by @noah-thor in https://github.com/apple/container/pull/1425
* docs: fix typos and polish README wording by @12ya in https://github.com/apple/container/pull/1499
* De-duplicate building during testing by @noah-thor in https://github.com/apple/container/pull/1507
* Centralize utilities for configuration loading and path parsing by @noah-thor in https://github.com/apple/container/pull/1448
* Use SystemPath for PacketFilter. by @chrisgeo in https://github.com/apple/container/pull/1518
* swift-configuration decoder by @noah-thor in https://github.com/apple/container/pull/1447
* Fix PR coverage comment never posting by @noah-thor in https://github.com/apple/container/pull/1541
* Use SystemPath for DirectoryWatcher. by @chrisgeo in https://github.com/apple/container/pull/1522
* Adds XPC sessions with disconnect handlers. by @jglogan in https://github.com/apple/container/pull/1524
* Use allocate with session to automatically clean up IPs. by @jglogan in https://github.com/apple/container/pull/1544
* Use SystemPath for ContainerResource.Filesystem. by @chrisgeo in https://github.com/apple/container/pull/1523
* Add support for layered and plugin configurations by @noah-thor in https://github.com/apple/container/pull/1543
* Bump containerization to 0.32.1 by @JaewonHur in https://github.com/apple/container/pull/1549
* Remove IP allocation from API server. by @jglogan in https://github.com/apple/container/pull/1545
* Add `variant` Support by @ajemory in https://github.com/apple/container/pull/1548
* ci: bump actions/labeler from 6.0.1 to 6.1.0 in the github-actions group by @dependabot[bot] in https://github.com/apple/container/pull/1550
* Relax host-only network test. by @jglogan in https://github.com/apple/container/pull/1552
* Fix inconsistent volume createdAt JSON encoding by @realrajaryan in https://github.com/apple/container/pull/1556
* Fix: image list align with other commands when use format should ignore quiet by @tico88612 in https://github.com/apple/container/pull/1553
* Reject conflicting DNS flags by @LeSingh1 in https://github.com/apple/container/pull/1559
* Reject conflicting volume delete flags by @realrajaryan in https://github.com/apple/container/pull/1560
* Validate `container system logs --last` flag by @realrajaryan in https://github.com/apple/container/pull/1561
* Ensure read-only user config removed on every startup. by @jglogan in https://github.com/apple/container/pull/1567
* Rename config file to `config.toml`. by @jglogan in https://github.com/apple/container/pull/1568
* Make inspect error handling for missing resources consistent by @realrajaryan in https://github.com/apple/container/pull/1564
* Add container copy/cp command for host-container file transfer by @simone-panico in https://github.com/apple/container/pull/1190
* [images]: convert save to use FilePath by @saehejkang in https://github.com/apple/container/pull/1574
* [images]: fix image load error to write to stderr and use FilePath by @saehejkang in https://github.com/apple/container/pull/1570
* Reorganize runtime targets for scalable plugin support by @ajemory in https://github.com/apple/container/pull/1577
* Add more tests for container copy by @JaewonHur in https://github.com/apple/container/pull/1579
* Update container copy to use FilePath by @JaewonHur in https://github.com/apple/container/pull/1580
* Add notes regarding `--log-root` to the command reference. by @jglogan in https://github.com/apple/container/pull/1582
* cli: Add support for --stop-signal by @dcantah in https://github.com/apple/container/pull/1462
* fix: clamp ProgressBar barLength to non-negative value to avoid crash by @ErwanLegrand in https://github.com/apple/container/pull/1525
* Adds vertical space between groups in help. by @jglogan in https://github.com/apple/container/pull/1585
* Refine custom init how-to and BUILDING documentation. by @jglogan in https://github.com/apple/container/pull/1586
* Improve readability of progress bar width computation. by @jglogan in https://github.com/apple/container/pull/1584
* Bump containerization to `0.33.1` by @dkovba in https://github.com/apple/container/pull/1601
* Use FilePath for app, install, and log roots. by @jglogan in https://github.com/apple/container/pull/1558
* Support use of custom app root with system config in CLI commands by @katiewasnothere in https://github.com/apple/container/pull/1600
* Add shmSize to management flag's init by @katiewasnothere in https://github.com/apple/container/pull/1603
* cli: resolve subcommand path in `container help` by @0xMH in https://github.com/apple/container/pull/1587
* Add ability to configure integration test list at command line by @katiewasnothere in https://github.com/apple/container/pull/1608
* Align JSON output with shape for container resource. by @jglogan in https://github.com/apple/container/pull/1611
* Use ManagedResource for volumes in CLI commands by @katiewasnothere in https://github.com/apple/container/pull/1607
* Fix potential integer math crash on `PublishPort`. by @jglogan in https://github.com/apple/container/pull/1612
* Reorganize Swift package targets for network plugin. by @jglogan in https://github.com/apple/container/pull/1615
* [how-to]: fix documentation example by @saehejkang in https://github.com/apple/container/pull/1596
* Remove XPC compatibility code, simplify network model. by @jglogan in https://github.com/apple/container/pull/1616
* Use FilePath for PublishSocket by @chrisgeo in https://github.com/apple/container/pull/1594
* Fix system df to count content blobs and deduplicate shared storage by @realrajaryan in https://github.com/apple/container/pull/1555
* Create ImageResource conforming to ManagedResource by @katiewasnothere in https://github.com/apple/container/pull/1619
* Use a consistent container CLI path in integration tests by @zdk in https://github.com/apple/container/pull/1621
* Normalize JSON output for network and volume resources. by @jglogan in https://github.com/apple/container/pull/1624
* Fix TestCLIVersion build-type check for release CI by @zdk in https://github.com/apple/container/pull/1627
* Add NOTICE entry for swift-configuration-toml by @katiewasnothere in https://github.com/apple/container/pull/1629
* kill: Wait for container to exit after sigkill by @dcantah in https://github.com/apple/container/pull/1589
* Add an error message for dockerfile >= 16KB until #735 is resolved by @katiewasnothere in https://github.com/apple/container/pull/1634
* Write log/error output from commands to stderr. by @jglogan in https://github.com/apple/container/pull/1632
* Add docs on using container system configurations by @katiewasnothere in https://github.com/apple/container/pull/1636
* Fix `make test` SIGSEGV on Swift 6.2 by @ajemory in https://github.com/apple/container/pull/1638
* Fix type in memory size format for config docs by @katiewasnothere in https://github.com/apple/container/pull/1639
* Use `name` instead of `id` in `NetworkConfiguration`. by @jglogan in https://github.com/apple/container/pull/1648
* Make pre-commit hook installation and execution work in git worktrees by @harshitsinghbhandari in https://github.com/apple/container/pull/1643
* [Actions] Use commit sha for imported gh actions by @katiewasnothere in https://github.com/apple/container/pull/1649
* Rearrange shape of JSON output for images by @katiewasnothere in https://github.com/apple/container/pull/1652
* Fix --format yaml and toml output by @realrajaryan in https://github.com/apple/container/pull/1653
* Update command ref and how to docs by @realrajaryan in https://github.com/apple/container/pull/1654
* Auto-install hawkeye in ensure-hawkeye-exists.sh by @harshitsinghbhandari in https://github.com/apple/container/pull/1644
* [images]: fix image load/save to use FilePathOps utility by @saehejkang in https://github.com/apple/container/pull/1590
* Omit hash scheme from `image.id`. by @jglogan in https://github.com/apple/container/pull/1658
* Remove duplicated image name in image JSON output by @katiewasnothere in https://github.com/apple/container/pull/1655
* Conform containers to ManagedResource by @ajemory in https://github.com/apple/container/pull/1656
* Increase CI timeout to 75 minutes by @realrajaryan in https://github.com/apple/container/pull/1663
* Add `container machine` for managing persistent Linux environments by @realrajaryan in https://github.com/apple/container/pull/1662
* Add backward compat for ContainerConfig `cpuOverhead`. by @jglogan in https://github.com/apple/container/pull/1665

## New Contributors
* @12ya made their first contribution in https://github.com/apple/container/pull/1499
* @chrisgeo made their first contribution in https://github.com/apple/container/pull/1518
* @LeSingh1 made their first contribution in https://github.com/apple/container/pull/1559
* @ErwanLegrand made their first contribution in https://github.com/apple/container/pull/1525
* @0xMH made their first contribution in https://github.com/apple/container/pull/1587
* @harshitsinghbhandari made their first contribution in https://github.com/apple/container/pull/1643

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