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