Releases: containers/bootc
v1.1.2
Notable changes
We fixed several notable bugs in the ostree-container stack, which are rolled up as part of
- Update ostree-ext by @cgwalters in #867
Notably:
What's Changed
- docs: Fix link by @cgwalters in #836
- Contributing chat by @cgwalters in #838
- README.md: Update post 1.0 release by @cgwalters in #839
- docs: Various elaborations by @cgwalters in #840
- install-to-disk: Check for mounts before install by @djach7 in #805
- chore(deps): update auto merged updates by @platform-engineering-bot in #841
- Add MAINTAINERS.md and ADOPTERS.md by @cgwalters in #843
- cli: Reset executable name by @cgwalters in #849
- test: Add workaround for zstd:chunked issue by @henrywang in #853
- docs/install: A separate
/boot
is not required by @cgwalters in #852 - ci: Update Packit target to Fedora 41 from Fedora 40 by @henrywang in #854
- install: improve error message when existing partitions are detected by @omertuc in #861
- tmt: Update bootc-install.py plugin by @ckyrouac in #858
- install: Just check etc/selinux/config if we don't have ostree by @cgwalters in #844
- docs: Update ADOPTERS.md by @castrojo in #862
- fix(deps): update auto merged updates by @platform-engineering-bot in #850
- Cargo.lock: Bump tar and cap-std-ext by @cgwalters in #866
- fix(deps): update all dependencies by @platform-engineering-bot in #851
- Update ostree-ext by @cgwalters in #867
- deploy: Add a spinner by @cgwalters in #848
- Release 1.1.2 by @cgwalters in #873
New Contributors
Full Changelog: v1.1.0...v1.1.2
v1.1.0
Release 1.1.0
This release officially stabilizes all APIs we have. We will continue to support in-place upgrades from existing systems for the forseeable future.
Logically bound images are stable
Additionally in this release, "logically bound images" are now stable.
Notable changes
In "cli: Add a human readable format to status" from #738 the bootc status
command now outputs human readable text. The machine-readable form remains accessible via e.g. bootc status --json
.
Notable bugfixes
- Update to ostree-ext 0.15 by @cgwalters in #797
which pulls in ostreedev/ostree-rs-ext@776213c which fixes custom SELinux policies in derived images, a very commonly hit bug.
Other changes
- fix(deps): update all dependencies by @platform-engineering-bot in #788
- tests: Add bootc provision tmt plugin by @ckyrouac in #789
- install: Drop SELinux-disabled warning by @cgwalters in #790
- TMT test tweaks by @ckyrouac in #791
- Make lints stricter, apply crate wide by @cgwalters in #795
- added bootc logo to README by @mrguitar in #796
- tests: Add tmt test for bootc install with LBI by @ckyrouac in #792
- chore(deps): update auto merged updates by @platform-engineering-bot in #801
- chore(deps): update all dependencies by @platform-engineering-bot in #802
- clippy: size is already u64 by @jeckersb in #803
- Status tweaks by @cgwalters in #798
- Bump ostree-ext to 0.15.1 and use proper digests where possible by @jeckersb in #804
- chore(deps): update rust crate libc to v0.2.159 by @platform-engineering-bot in #808
- docs/lbi: Note non-support of "rootless" by @cgwalters in #811
- fix(deps): update all dependencies by @platform-engineering-bot in #809
- chore(deps): update auto merged updates by @platform-engineering-bot in #816
- utils: Add a
log_debug()
helper by @cgwalters in #794 - store: Get timestamp from config or annotation by @cgwalters in #817
- status: Output targeted message in non-bootc case, update docs by @cgwalters in #819
- test: add ostree-rs-ext version-skew test by @henrywang in #818
- chore(deps): update auto merged updates by @platform-engineering-bot in #825
- docs/filesystem: Mention toplevels and mountpoints by @cgwalters in #823
- kargs: Skip xattrs in tests by @cgwalters in #822
- docs: install: Add /dev volume mounts for loopback example by @jeckersb in #828
- lbi: Add --remove-signatures to install time lbi copy by @ckyrouac in #827
- Drop gvariant by @cgwalters in #829
- Stabilize logically bound images by @cgwalters in #832
- lib: Bump version to 1.1.0 by @cgwalters in #830
- lbi: Switch to unauthenticated ubi9 for lbi test by @ckyrouac in #835
Full Changelog: v0.1.16...v1.1.0
v0.1.16
What's Changed
- chore(deps): update auto merged updates by @platform-engineering-bot in #767
- LICENSE-MIT: Canonicalize by @cgwalters in #768
- docs: Fix broken link by @jeckersb in #772
- imgstorage: Quiet initialization phase by @cgwalters in #773
- cli: Add
switch --apply
by @cgwalters in #771 - install/baseline: Use sfdisk, not sgdisk by @cgwalters in #775
- cli: Add new
state wipe-ostree
subcommand by @omertuc in #777 - install: Make stateroot configurable by @omertuc in #622
- cli: wipe_ostree in spawn_blocking by @omertuc in #779
- install: Use a method to get the stateroot by @omertuc in #783
- install:
sysroot.init_osname
API instead of CLI by @omertuc in #782 - Release 0.1.16 by @cgwalters in #786
Full Changelog: v0.1.15...v0.1.16
v0.1.15
Major changes
In this release, the API and CLI is stabilized - we've generated a JSON schema and are committed to maintaining it.
- Stabilize the current schema by @cgwalters in #744
You can confidently write agent or system mangement software which controls bootc either via the existing CLI (bootc upgrade/switch
) or via the API bootc edit
and be sure it will not break in the future.
The other big change is that our still-experimental support for logically bound images made a lot of progress. This is also likely to be stabilized soon - please give feedback! As part of this, a large internal change happened to prepare a bootc-managed container store. This is also an important next step leading us down the path of unified storage.
- Introduce bootc-owned container store, use for bound images by @cgwalters in #724
- boundimage: Add tmt tests for bound images by @ckyrouac in #729
- docs/logically-bound: A bit more docs by @cgwalters in #750
- test: add logically bound images by @henrywang in #763
- Open/create imagestore as needed by @cgwalters in #748
Full Changelog: v0.1.14...v0.1.15
Other changes
- Fix compiler warning on rust 1.80 by @jeckersb in #727
- storage: Two prep changes by @cgwalters in #728
- install: Allocate a global tmpdir by @cgwalters in #730
- utils: Add a little CommandRunExt helper trait by @cgwalters in #733
- tests: Split up tmt tests into separate plans by @cgwalters in #736
- cli: Thread Storage through more places by @cgwalters in #732
- install: Work around bootc-image-builder using /run/osbuild/containers by @cgwalters in #737
- chore(deps): update rust crate tokio to v1.39.2 by @platform-engineering-bot in #740
- A few prep commits for #724 by @cgwalters in #741
- fix(deps): update auto merged updates by @platform-engineering-bot in #739
- A few misc cleanups by @cgwalters in #746
- install/ppc64le: Also handle MBR partitions by @cgwalters in #745
- test: add centos stream 10 rpm build and e2e test by @henrywang in #743
- docs: Also mention the bootc container storage in /sysroot by @cgwalters in #749
- store: Only print "Fetching bound image" if it's not there by @cgwalters in #751
- chore(deps): update auto merged updates by @platform-engineering-bot in #753
- chore(deps): update all dependencies by @platform-engineering-bot in #754
- tests: Fix summary for logically bound tmt test by @ckyrouac in #756
- chore(deps): update auto merged updates by @platform-engineering-bot in #758
- chore(deps): update embarkstudios/cargo-deny-action action to v2 by @platform-engineering-bot in #759
- Split off an internal "bootc-utils" crate by @cgwalters in #760
- Fix clippy warning with
make validate
by @jeckersb in #761 - More workspace deps by @cgwalters in #765
- Release 0.1.15 by @cgwalters in #764
Full Changelog: v0.1.14...v0.1.15
Release v0.1.14
What's Changed
- Add HeliumOS to list of distributions using bootc by @imbev in #658
- lint: Verify we can parse the kargs.d files by @cgwalters in #663
- status: Add --format-version by @cgwalters in #661
- copr: Also install git by @cgwalters in #660
- Rename HACKING -> CONTRIBUTING, add info about git + PRs by @cgwalters in #662
- fix(deps): update auto merged updates by @platform-engineering-bot in #656
- copr: Use included spec by @cgwalters in #664
- chore(deps): update all dependencies by @platform-engineering-bot in #657
- Test: Run e2e test on Packit by @henrywang in #638
- install: Disable fsync() in repo when pulling && improved pull progress by @cgwalters in #655
- Bump to ostree-ext 0.14.3 by @cgwalters in #666
- docs/filesystem: document state overlays by @jlebon in #668
- filesystem: Document timestamp squashing by @cgwalters in #670
- deploy: Return Deployment from deploy function by @ckyrouac in #675
- docs: Add new package-managers section with guidance by @cgwalters in #672
- kargs: More cleanups by @cgwalters in #674
- fix(deps): update rust crate uuid to v1.10.0 by @platform-engineering-bot in #681
- fix(deps): update auto merged updates by @platform-engineering-bot in #669
- test: Error fix by @henrywang in #678
- tests: Use indoc by @cgwalters in #683
- blockdev+install updates by @cgwalters in #680
- Retrieve bound images when staging new image by @ckyrouac in #659
- build-sys: Add
make validate-rust
by @cgwalters in #684 - boundimage: Replace %% with % in bound image spec by @ckyrouac in #687
- boundimage: Use new RootDir API by @cgwalters in #689
- kargs: Introduce usage of fs_utf8 by @cgwalters in #676
- install: Use sfdisk, not lsblk by @cgwalters in #688
- Bump to ostree-ext 0.14.4 by @cgwalters in #694
- lib/bootloader: Write to PReP partition on ppc64le by @sacsant in #667
- boundimage: Drop duplicate filenames from errors by @cgwalters in #696
- boundimage: Use
indoc!
and.write
by @cgwalters in #697 - install: Use zipl to install bootloader on s390x by @yoheiueda in #665
- build-sys: Switch to workspace dependencies by @cgwalters in #685
- packit: Adjust arch targets; build on s390x by @cgwalters in #686
- build-sys: Pre-create
kargs.d
andbound-images.d
by @cgwalters in #692 - install: Use some fs_utf8 bits by @cgwalters in #693
- install: Use rustix instead of nix in one place by @cgwalters in #699
- build: Use workspace global lints by @cgwalters in #700
- build-sys: Generalize manpage bits to
make update-generated
by @cgwalters in #701 - install/baseline: use sfdisk, not lsblk by @cgwalters in #698
- docs: Add experimental section w/
bootc image
by @cgwalters in #691 - install: Support the s390x architecture by @yoheiueda in #705
- boundimage: A few minor things by @cgwalters in #708
- docs: Add experimental section for bound images by @ckyrouac in #706
- install: Two prep changes for pulling bound images at install time by @cgwalters in #707
- spec: Add the new bootc-experimental dir by @cgwalters in #710
- install: Fork
blockdev --rereadpt
instead of internal ioctl by @cgwalters in #704 - Test: implement kargs e2e test by @lukewarmtemp in #594
- boundimage: Use high level
deployment_fd
helper by @cgwalters in #711 - Bound install time by @cgwalters in #712
- main: Set HOME very early on if unset by @cgwalters in #716
- install: Ensure /etc/containers is writable by @cgwalters in #717
- fix(deps): update auto merged updates by @platform-engineering-bot in #713
- install: Warn if we're not installing to gpt by @cgwalters in #709
- boundimages: Switch from bootc-experimental to bootc by @ckyrouac in #714
- install: Force mkfs.xfs to overwrite by @sacsant in #718
- install: Fetch bound images from host's /var/lib/containers by @cgwalters in #719
- Add JSON schema and guidance on API usage to docs by @cgwalters in #703
- Prep for multiple container image stores by @jeckersb in #695
- build: move needless_borrow lint allows to be global by @jeckersb in #722
- Release 0.1.14 by @cgwalters in #723
- install: Correctly set target imgref at pull time by @cgwalters in #726
New Contributors
Full Changelog: v0.1.13...v0.1.14
Release 0.1.13
The primary thing this fixes is that the new /usr/lib/bootc/kargs.d
files were not being honored by bootc install
.
What's Changed
- install: Clarify /boot (optional) and root mount spec by @cgwalters in #635
- tree: Add missing -v /dev:/dev in a few places by @cgwalters in #626
- Add support for ppc64le architecture by @sacsant in #636
- tree-wide: rustfmt with
group_imports = "StdExternalCrate"
by @cgwalters in #642 - status: Add explicit
--format
argument by @cgwalters in #639 - kargs: Various cleanups by @cgwalters in #645
- install: Pick up kargs.d kernel arguments too by @cgwalters in #647
- install: Only open / once by @cgwalters in #649
- kargs: A few more minor cleanups and test improvements by @cgwalters in #648
- cli: Add a new bootc image subcommand by @cgwalters in #620
- copr: Use dnf builddep by @cgwalters in #651
- tree-wide: Convert to let-else syntax by @cgwalters in #650
- Release 0.1.13 by @cgwalters in #653
- tree-wide: Fix minor clippy lints by @cgwalters in #652
New Contributors
Full Changelog: v0.1.12...v0.1.13
v0.1.12
Release 0.1.12
New features
Added support for configuring kernel arguments in container builds via the new /usr/lib/bootc/kargs.d
file; these kernel arguments can be changed "day 2" via container updates. More in https://containers.github.io/bootc/building/kernel-arguments.html
New subcommand bootc container lint
that can be used in container builds via e.g. RUN bootc container lint
. This is intended to be a cheap command to run that will detect at build time some common problems.
Other changes
- A variety of improvements to the documentation landed
- This release includes changes to the default
install to-disk
code and partitioning layout in preparation for supporting s390x, among other architectures.
Internals
- Significant work on testing landed, with more to come; this should increase velocity and confidence.
Individual changes
- docs/install: A few changes by @cgwalters in #534
- ci/docs: Add mdbook-linkcheck by @jeckersb in #535
- Renovate config by @lmilbaum in #546
- docs: Various doc improvements by @PaulYuuu in #526
- docs: Set bin_name and disable version option for subcommands by @PaulYuuu in #544
- docs: Clarify mutability at build vs runtime by @cgwalters in #541
- two minor patches by @cgwalters in #547
- Move install tests shell script into Rust by @cgwalters in #548
- install: A few minor patches by @cgwalters in #549
- lib: Run
cargo fmt
by @jeckersb in #555 - installdeps: Add libzstd-devel for non-fedora by @jeckersb in #560
- Add containers-storage to available options by @ericcurtin in #566
- test: some updates on test by @henrywang in #552
- install: Add support for architecture filtering for kargs by @lukewarmtemp in #567
- secrets: Doc credential helper by @cgwalters in #563
- cli: More environment detection by @cgwalters in #557
- ci: Clean up fedora CI by @cgwalters in #556
- Fix command to move examplepkg log files by @m8ram in #573
- fix(deps): update auto merged updates by @platform-engineering-bot in #550
- cli: add container lint by @prestist in #381
- docs: Describe how to configure insecure registries by @cgwalters in #580
- install: Explicitly label .ostree.cfs by @cgwalters in #577
- tests: Drop
internal-testing-api
, move to tests-integration by @cgwalters in #576 - Drop unused serde_with by @cgwalters in #582
- lib: Drop our once_cell usage by @cgwalters in #583
- ci: Fully test file labeling post-install by @cgwalters in #584
- Update to ostree-ext 0.14.0, gvariant 0.5.0 by @cgwalters in #581
- tests/integration: install libzstd-devel by @jeckersb in #586
- lib: Update to ostree-ext 0.14.1 by @cgwalters in #587
- Makefile: Serialize tarballs reproducibly by @cgwalters in #588
- docs: Add HACKING.md by @cgwalters in #589
- chore(deps): update all dependencies by @platform-engineering-bot in #551
- fix(deps): update auto merged updates by @platform-engineering-bot in #591
- upgrade: More detailed rpm-ostree modification error msg by @ckyrouac in #597
- add
/usr/lib/bootc/kargs.d
support by @lukewarmtemp in #401 - hack: Add remote lldb utilities to hack dir by @ckyrouac in #596
- hack: Add support for installing cloud-init+rsync by @cgwalters in #590
- status: Use prepare_for_write instead of require_root by @ckyrouac in #595
- build: Install git too by @cgwalters in #598
- Fix deprecation warning with rust 1.79.0 by @jeckersb in #601
- upgrade: Add error message when staged deployment is incompatible by @ckyrouac in #600
- Clippy janitor cleanup by @jeckersb in #603
- install: Move warning after state and possible re-exec by @cgwalters in #604
- install: Fix install config kargs + to-filesystem by @cgwalters in #606
- fix(deps): update rust crate clap to v4.5.7 by @platform-engineering-bot in #608
- docs: Even more about how bootc is not a container at runtime by @cgwalters in #605
- install/baseline: Drop separate /dev mount by @cgwalters in #607
- tests-integration: Add basic local tmt flow by @cgwalters in #593
- cli/docs: Expand and clean up clap doctext a bit by @cgwalters in #609
- HACKING.md: Clarify
CONTAINER_CONNECTION
by @omertuc in #614 - tests-integration: Optimize rebuilds by @cgwalters in #612
- test: run tmt integration test on testing farm by @henrywang in #613
- test: add packit to run tmt integration test by @henrywang in #615
- test: move tmt test log to tmt plan and enable aarch64 test by @henrywang in #616
- cli: Drop a duplicate rootfs open by @cgwalters in #618
- install: Add more information on target blockdev by @cgwalters in #621
- cli: Make sysroot lock automatically check root + setup mountns by @cgwalters in #619
- install: Support non EFI partition format by @yoheiueda in #623
- install/baseline: Drop aarch64 reserved partition by @cgwalters in #624
- docs: Mention logical root mount point by @jistr in #628
- docs: Fix SELinux policy path by @jistr in #627
- Doc kargs by @cgwalters in #631
- fix(deps): update rust crate ostree-ext to v0.14.2 by @platform-engineering-bot in #629
- test: rename tmt test log folder and rename tmt plan name by @henrywang in #633
- tests: Add pytest and nushell based tests by @cgwalters in #625
- Release 0.1.12 by @cgwalters in #634
New Contributors
- @lmilbaum made their first contribution in #546
- @PaulYuuu made their first contribution in #526
- @ericcurtin made their first contribution in #566
- @lukewarmtemp made their first contribution in #567
- @m8ram made their first contribution in #573
- @prestist made their first contribution in #381
- @omertuc made their first contribution in #614
- @yoheiueda made their first contribution in #623
- @jistr made their first contribution in #628
Full Changelog: v0.1.11...v0.1.12
0.1.11
A few changes to install and the client, but beyond that mainly documentation and CI fixes.
install changes
- install: Add prominent warning+timeout when targeting host root by @cgwalters in #505
- install/baseline: Make
/boot
the same fs type as/
by @cgwalters in #530 - install/to-disk: Drop separate /boot by default by @cgwalters in #529
client changes
- deploy: Add number of layers to fetch progress by @cgwalters in #524
Other changes
- fix(deps): update rust crate chrono to 0.4.38 by @platform-engineering-bot in #471
- ci: Add concurrency cancellation by @cgwalters in #492
- ci: Add control/skip-ci label by @cgwalters in #495
- install: Two informational patches by @cgwalters in #488
- docs: Move selinux into image info, add toplevel gotcha by @cgwalters in #497
- Update to ostree-ext 0.13.4 by @cgwalters in #500
- users-and-groups: Document useradd httpd more by @cgwalters in #501
- docs: Talk about sysroot, growing by @cgwalters in #502
- fix(deps): update all patch dependencies by @platform-engineering-bot in #498
- fix(deps): update rust crate serde_with to >= 3.8.1, < 4 by @platform-engineering-bot in #486
- docs: Add some description of container storage by @cgwalters in #503
- Update MSRV to 1.75 by @jeckersb in #508
- docs: Describe how to boot local builds by @cgwalters in #512
- ci/docs: install mdbook-mermaid by @jeckersb in #514
- docs: Note 1.0 status re CLI/APIs by @cgwalters in #519
- book: Move /opt redirection guidance to building by @cgwalters in #520
- docs: Link to Fedora/CentOS bootc by @cgwalters in #525
- mdbook linkcheck by @jeckersb in #523
- Revert "ci/docs: Add mdbook-linkcheck" by @cgwalters in #533
- docs: Fix incorrect link for bootc-install-config by @jeckersb in #537
- Release v0.1.11 by @cgwalters in #538
Full Changelog: v0.1.10...v0.1.11
Release 0.1.10
What's Changed
- docs: Elaborate a bit on FCOS by @cgwalters in #446
- Add a
rollback
verb androllbackQueued
status by @cgwalters in #447 - Revert "Add constraint on rust 1.76" by @jeckersb in #451
- docs: Various updates and fixes by @cgwalters in #450
- fix(deps): update rust crate tokio to >= 1.37.0 by @platform-engineering-bot in #449
- Stop if /dev is not a bind mount with loopback by @bcrochet in #431
- ci: Remove WIP packaging workflow by @cgwalters in #453
- install: Add
block
to config, disable tpm2-luks unless opted-in by @cgwalters in #445 - privtests: Differentiate duplicate contexts by @jeckersb in #454
- docs/filesystem: by @cgwalters in #455
- test: use aws-cli to deploy aws instance instead of ansible module by @henrywang in #458
- docs: Add management services doc by @ckyrouac in #457
- users-and-groups: Explain patterns for tmpfs /home more by @cgwalters in #460
- test: install ansible collection from tar.gz package by @henrywang in #463
- install: Add
--skip-finalize
by @cgwalters in #462 - docs: Add a new bootc-runtime.md by @cgwalters in #466
- docs/guidance: Talk about nesting containers by @cgwalters in #464
- fix(deps): update all patch dependencies by @platform-engineering-bot in #432
- fix(deps): update rust crate uuid to 1.8.0 by @platform-engineering-bot in #426
- docs: Expand on HEALTHCHECK by @cgwalters in #467
- Cargo.toml: Update repository URL to containers org by @jeckersb in #468
- fix(deps): update all patch dependencies by @platform-engineering-bot in #469
- docs: Talk more about runtime properties, especially SELinux by @cgwalters in #473
- docs: Add link to the bootable containers webpage by @stefwalter in #478
- install: Support being passed --filesystem with no install config by @cgwalters in #480
- doc: add "-v /dev:/dev" in bootc install to-disk by @henrywang in #484
- bugfix: Switch losetup to --direct-io=off by default by @ckyrouac in #487
- test: update test to use
updates
compose to align with rhel-bootc image by @henrywang in #490 - docs: Link to bootupd in prominent places by @cgwalters in #491
- Release 0.1.10 by @cgwalters in #489
New Contributors
- @stefwalter made their first contribution in #478
Full Changelog: v0.1.9...v0.1.10
Release 0.1.9
What's Changed
- lsm/install: Use csum(), not name() from SELinux policy by @cgwalters in #405
- osconfig: install root ssh keys to /var/roothome by @mvo5 in #407
- Add more failure contexts for exec_in_host_mountns by @jeckersb in #411
- install: Add some more debug/trace calls by @cgwalters in #412
- Correctly populate container environment rootless status by @jeckersb in #413
- Trace rootless by @cgwalters in #414
- Add
#[derive(PartialEq, Eq))
for cli bits by @cgwalters in #416 - feat(build): Add extra version information by @bcrochet in #418
- docs: Add a new "build guidance" section by @cgwalters in #422
- Add a systemd generator to fixup Anaconda's /etc/fstab by @cgwalters in #417
- fix(deps): update all patch dependencies by @platform-engineering-bot in #423
- install: Change no-SELinux -> SELinux to a warning && serialize to aleph by @cgwalters in #420
- Fix various accumulated clippy lints by @jeckersb in #425
- Encapsulate selinux guard consumption a bit better by @jeckersb in #427
- docs: Extend build guidance with secrets by @cgwalters in #430
- filesystem: Explain more about /etc and /var by @cgwalters in #441
- Add constraint on rust 1.76 by @jeckersb in #442
- Revert "fix(deps): update all patch dependencies" by @jeckersb in #443
- Release 0.1.9 by @cgwalters in #444
Full Changelog: v0.1.8...v0.1.9