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