1.0.0
Added
- 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
- 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
- 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
- Remove `container system property` `get` and `set` subcommands
- Remove compatibility with application major version 0 XPC APIs
: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.
- Core
container machinefor long-lived Linux environments with tight host integration.- ⌨️ A TOML configuration file replaces UserDefault-backed system properties, removing the
container system propertygetandsetsubcommands. - ⌨️ Cleaned up structured (JSON, YAML, TOML) output shape for container, image, network, and volume
lsandinpect. - Fixed
container help subcommand... - Fixed output formatting for several commands
- Add
--stop-signaloption forcontainer run - 👩💻 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
- Storage
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
variantSupport 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 --lastflag 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-rootto 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.1by @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 helpby @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 testSIGSEGV 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
nameinstead ofidinNetworkConfiguration. 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 machinefor 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