Releases: bootc-dev/bootc
v1.9.0
bootc 1.9.0
New features/improvements
- Update reboot-required file with information about the staged image by @bshephar in #1583
- log to journal if root by @cgwalters in #1589
- Switch to hand-written man pages with auto option sync by @cgwalters in #1587
- system-reinstall-bootc: Handle --help by @cgwalters in #1651
Composefs and image sealing
The big outstanding composefs branch was merged! 🎉 in #1444
However, a lot more work continues!
Other changes
Mostly CI and internal cleanups.
- renovate.json: Remove platform-engineering-org inheritance by @cgwalters in #1591
- fix(deps): update rust crate dialoguer to 0.12.0 by @bootc-bot[bot] in #1594
- [Feature] Add function to write reboot-required by @bshephar in #1592
- Bump composefs-rs by @Johan-Liebert1 in #1598
- kernel_cmdline: Refactor parsing to improve quote and whitespace handling by @jeckersb in #1586
- tests: Verify we emit journal messages by @cgwalters in #1590
- ostree: Set parent of merge commit to base commit if present by @cgwalters in #1600
- kernel_cmdline: Refactor into separate
bytes
andutf8
modules by @jeckersb in #1603 - test: Add integration test running on github runner by @henrywang in #1496
- kernel_cmdline: Add parameter manipulation methods by @jeckersb in #1608
- store: Move inner merge commit writing to a helper function by @cgwalters in #1602
- integration: Copy distro-sync from main Dockerfile by @cgwalters in #1609
- cmdline tweaks and improvements by @jeckersb in #1611
- docs: Fix links to man pages by @cgwalters in #1619
- Fix man page generation by @cgwalters in #1628
- ci: Drop control/skip-ci by @cgwalters in #1629
- Fixes for rust 1.90 by @jeckersb in #1626
- ci: Unify more of hack/ and tests/ by @cgwalters in #1607
- build-sys: Various cleanups, doc clarification by @cgwalters in #1631
- efivars: Parse efivar as UTF-16 LE bytes by @Johan-Liebert1 in #1633
- Bootc status fix by @Johan-Liebert1 in #1634
- Updates to build sys and CONTRIBUTING.md by @cgwalters in #1638
- specfile: Handle updated macros in c9s rust-toolset by @jeckersb in #1641
- Etc merge fix by @Johan-Liebert1 in #1649
- composefs-backend: Implement
bootc usr-overlay
by @Johan-Liebert1 in #1643 - spec: Provide ostree-ext on rhel9 by @cgwalters in #1653
- generator: Conditionally enable bootc-status units by @cgwalters in #1610
- ci: Consolidate and cleanup workflows by @cgwalters in #1646
- Move docs workflow into Justfile + container by @cgwalters in #1654
- docs: Adding a private OCI registry section by @GuillaumeASSIER in #1650
- docs: Add a man page for system-reinstall-bootc by @cgwalters in #1652
- labeler: Fix for crate renames by @cgwalters in #1655
- Cleanup systemd UKI support by @Johan-Liebert1 in #1623
- examples: Add bootc UKI & BLS examples by @jeckersb in #1614
- tests: add custom selinux policy test by @jmarrero in #1632
- Update ostree binding to 0.20.5 by @alexlarsson in #1660
- test: Add Packit and gating test by @henrywang in #1642
- test: Fix packit-reboot.yml download URL issue by @henrywang in #1664
- install: Add a tmpfs for /var/lib/containers by @cgwalters in #1666
- Update MAINTAINERS.md by @mohan-shash in #1667
- Expand/consolidate "detecting bootc" by @cgwalters in #1661
- system-reinstall-bootc: Do not warn on unmounted LVM volumes by @jeckersb in #1663
- status: Mention rpm-ostree vs bootc by @cgwalters in #1645
- dockerignore: Workaround for podman bug with secrets + remote by @jeckersb in #1675
- build-sys: Use stream10 by default (+ 2 misc) by @cgwalters in #1665
- test: Use SRPM as test code source to work with gating test by @henrywang in #1670
- Release 1.9.0 by @bootc-bot[bot] in #1671
New Contributors
- @bshephar made their first contribution in #1583
- @GuillaumeASSIER made their first contribution in #1650
- @mohan-shash made their first contribution in #1667
Full Changelog: v1.8.0...v1.9.0
Assets
bootc-1.9.0-vendor.tar.zstd
- Vendored dependencies archivebootc-1.9.0.tar.zstd
- Source archive
v1.8.0
Changes
New features
- Add systemd structured logging for bootc state changes by @gursewak1997 in #1522
- Un-hide soft-reboot by @cgwalters in #1580
Bug fixes
- #1567 via
Bump containers-image-proxy, ocidir, oci-spec and composefs-rs
by @cgwalters in #1584 - tar: Create a new xattrs file for each checksum by @ckyrouac in #1578 (ensures we support rechunking large images)
Implementation improvements
We've been doing a lot of foundational work on the composefs branch, hoping to merge it soon!
- crates/*: Fix most clippy lints by @cgwalters in #1551
- More clippy by @cgwalters in #1552
- Move composefs setup root to bootc initramfs by @Johan-Liebert1 in #1550
- Move kernel cmdline parsing to dedicated crate by @jeckersb in #1554
- Bump composefs-rs by @Johan-Liebert1 in #1557
- initramfs: Better error handling by @Johan-Liebert1 in #1556
- initramfs: Convert to library by @Johan-Liebert1 in #1561
- kernel_cmdline: remove
cfg(test)
forrequire_value_*
methods by @jeckersb in #1555 - fix(deps): update auto merged updates by @bootc-bot[bot] in #1566
- Makefile: Create storage symlink as relative by @jeckersb in #1577
- Deduplicate main error printing by @cgwalters in #1579
- cfs: only get sysroot storage when repo is not supplied by @jeckersb in #1581
- Implementation for /etc merge by @Johan-Liebert1 in #1485
- Release 1.8.0 by @bootc-bot[bot] in #1585
Full Changelog: v1.7.1...v1.8.0
Assets
bootc-1.8.0-vendor.tar.zstd
- Vendored dependencies archivebootc-1.8.0.tar.zstd
- Source archive
Release v1.7.1
bootc 1.7.1
Changes
This fixes an important regression in the sysroot locking: #1544
Assets
bootc-1.7.1-vendor.tar.zstd
- Vendored dependencies archivebootc-1.7.1.tar.zstd
- Source archive
What's Changed
- governance: add community manager role by @castrojo in #1538
- build-sys: Work around #1546 by @cgwalters in #1547
- Release 1.7.1 by @bootc-actions-token[bot] in #1549
Full Changelog: v1.7.0...v1.7.1
Release v1.7.0
bootc 1.7.0
This release introduces the experimental feature of soft-reboots, which is currently hidden
while stabilization continues on the OSTree side. For more details, see ostreedev/ostree#3503.
It also adds support for setting a non-default OSTree bootloader backend (#1532), which is required for Aboot images.
Additional improvements in this release include further enablement of the ComposeFS back-end, updates to the rechunker, CI enhancements, and various bug fixes.
What's Changed
- Fix warnings for
mismatched_lifetime_syntaxes
lint by @jeckersb in #1497 - chore(deps): update cargo dependencies by @p5 in #1499
- build-sys: Some Cargo.toml cleanups by @cgwalters in #1501
- Add automated PR reviewer rotation system by @gursewak1997 in #1491
- Add initramfs infrastructure by @cgwalters in #1500
- Bump composefs-fs by @cgwalters in #1503
- fix(blockdev): include "internals" when spawning loopback-cleanup-helper by @SamD2021 in #1511
- Resolve GH_TOKEN conflict in auto-reviewer workflow by @gursewak1997 in #1508
- fix: simplify reviewer assignment using gh pr edit by @gursewak1997 in #1517
- ci/tmt: distro-sync ostree by @cgwalters in #1515
- system-reinstall-bootc: Ensure stdout is flushed by @cgwalters in #1519
- store: Remove dynamic abstraction by @cgwalters in #1518
- Map grub feature to composefs-backend and import parser/bls by @cgwalters in #1512
- Add missing perms and fix reviewer assignment API call by @gursewak1997 in #1521
- lib: add support for soft-reboots by @jmarrero in #1392
- Update workflow to use Github App token for reviewer assignment by @gursewak1997 in #1523
- rechunker: Use (path,checksum) when creating exclusive components by @ckyrouac in #1513
- install: Move Aleph bits to a separate module by @cgwalters in #1504
- Some more refactoring of storage by @cgwalters in #1525
- rhsm: Update function call to match new Storage API by @Johan-Liebert1 in #1530
- build-sys: Enable rhsm feature on rhel-like systems by default by @cgwalters in #1531
- sysroot: Log locking to stderr, not stdout by @cgwalters in #1535
- ostree: Use indicatif + async for lock wait by @cgwalters in #1536
- install: Automatically configure aboot by @alexlarsson in #1532
- cli: hide --soft-reboot as ostree side needs further stabilization by @jmarrero in #1539
- Release 1.7.0 by @bootc-actions-token[bot] in #1540
New Contributors
- @SamD2021 made their first contribution in #1511
- @alexlarsson made their first contribution in #1532
Full Changelog: v1.6.0...v1.7.0
Release v1.6.0
What's Changed
Bug fixes, internal cleanup, CI improvements, doc updates, and feature prep.
Docs
- Update ADOPTERS.md: Label HeliumOS as vendor, not end-user by @imbev in #1456
- docs: Elaborate a bit on sysusers and /usr by @cgwalters in #1457
- docs: add Playtron GameOS by @LukeShortCloud in #1466
- docs: add documentation for root.transient-ro feature by @gursewak1997 in #1470
- docs: add LFX Insights badges by @castrojo in #1467
- cli: fix documentation of
bootc image cmd
by @bachorp in #1437 - docs: We're read only by default in a container by @cgwalters in #1474
CI
- ci: Shorten the release interval to 19 days by @ckyrouac in #1462
- Revert "ci: periodically run update-generated" by @miabbott in #1489
- Fix autovendor workflow CLI directory path by @jeckersb in #1487
- ci: Release every 3 weeks starting from 2025-08-04 by @ckyrouac in #1493
- ci: Refactor release action to use app and create-pull-request by @ckyrouac in #1494
- ci: Drop ppc64le && Fedora 41 by @cgwalters in #1447
- ci: Check if it's time for release earlier in gh action by @ckyrouac in #1454
- build: Add actions to automate release by @ckyrouac in #1429
ComposeFS
- Write nom parser for Grub menuentries by @cgwalters in #1480
- Add bootc internals cfs by @cgwalters in #1477
- Bump composefs-rs by @Johan-Liebert1 in #1445
- store: Add support for composefs-rs by @cgwalters in #1471
Kargs
- Improve kernel argument parsing by @jeckersb in #1476
- Kargs followup by @cgwalters in #1478
- kernel: Add value helpers by @cgwalters in #1483
- kernel args: Shuffle module names by @cgwalters in #1486
- kernel_cmdline: More cleanups and API additions by @cgwalters in #1490
Other fixes
- Dockerfile: Support pulling in the continuous repo by @cgwalters in #1446
- reboot: Quiet the output from systemd-run by @cgwalters in #1450
- Release 1.6.0 by @bootc-actions-token[bot] in #1495
- Move all crates under
crates/
by @cgwalters in #1413 - osbuild: Drop use of Task by @cgwalters in #1427
- Add a test case for our internal reboot command by @cgwalters in #1426
- blockdev: Fix loopback device resource leak on signal interruption by @gursewak1997 in #1402
- Revert "blockdev: implement signal-safe loopback device cleanup helper" by @jmarrero in #1440
- chunking: Fix specific component file allocation by @ckyrouac in #1442
- blockdev: implement signal-safe loopback device cleanup helper by @gursewak1997 in #1449
- install: use deployed sysroot as root for bootloader install by @jbtrystram in #1460
- tree-wide: Clean up our re-exec path by @cgwalters in #1463
- unencapsulate: use "inner" stream when finishing Decompressor by @jeckersb in #1415
- Make
ostree container image pull
merge commit reproducible by @jlebon in #1421 - fsverity: use _with_retry by @cgwalters in #1448
- install: ommit mountspec kargs when
--root-mount-spec
is empty by @jbtrystram in #1451 - command: Split up run() method by @cgwalters in #1459
- test: add integration tests for 'bootc switch --apply' by @p5 in #1420
- reboot: Drop use of Task by @cgwalters in #1472
- Drop a few more uses of Task by @cgwalters in #1475
- utils: Move ResultExt to bootc_utils by @cgwalters in #1464
New Contributors
- @bachorp made their first contribution in #1437
- @LukeShortCloud made their first contribution in #1466
- @bootc-actions-token[bot] made their first contribution in #1495
Full Changelog: v1.5.1...v1.6.0
1.5.1
What's Changed
- lib/src/reboot: use valid systemd-run arguments by @p5 in #1417
- Release 1.5.1 by @cgwalters in #1422
Full Changelog: v1.5.0...v1.5.1
Release 1.5.0
This release is withdrawn
This release contains a critical regression: #1416
We will create a new release shortly. For now, avoid this release and use 1.4.0.
This release is primarily a collection of bug fixes and documentation improvements with a handful of small features.
Features
- Create /run/reboot-required by default by @gursewak1997 in #1378
- lib/src/status: add verbose human readable output by @jmarrero in #1399
- chunking: Support exclusive chunks defined via xattrs by @ckyrouac in #1397
- deploy: short-circuit pull if digest pullspec already exists by @jlebon in #1380
Other Fixes
- lib/src/reboot: use systemd-run to execute the reboot by @jmarrero in #1398
- Fix Typos in Documentation by @zeevick10 in #1372
- Bump to newer ocidir and containers-image-proxy by @cgwalters in #1377
- Fix typos in code comments by @leopardracer in #1381
- More reproducibility fixes / switch to canon-json by @champtar in #1347
- ci: periodically run update-generated by @miabbott in #1386
- docs: Update generated by @jeckersb in #1385
- packaging/rpm: Be sure we pull in chcon (and util-linux) by @cgwalters in #1391
- README.md: Add details for Friday Zoom meeting by @jeckersb in #1368
- secrets: Expand on authfile by @cgwalters in #1393
- Rework utils and blockdev crates as -internals in prep for publishing by @cgwalters in #1394
- Bump composefs-rs by @cgwalters in #1403
- systemd: switch bootc-fetch-apply-updates.service to non-aliased command by @p5 in #1405
- Bump composefs-rs and use-libc for rustix by @cgwalters in #1409
- Release 1.5.0 by @ckyrouac in #1412
New Contributors
- @zeevick10 made their first contribution in #1372
Full Changelog: v1.4.0...v1.5.0
Release 1.4.0
What's Changed
New Features
ostree-ext
adds tar_create_parent_dirs
option to ExportOpts
This ensures that upon export, for each layer in the exported image, the directory structure is fully-defined. This removes a source of non-determinism when unpacking the layers for consumption.
- ostree-ext: Add tar_create_parent_dirs to container::ExportOpts by @jeckersb in #1364
- Two minor patches by @cgwalters in #1366
Documentation Improvements
- reinstall: Docs for cleanup script and mount points by @ckyrouac in #1349
- docs: Add bootloaders.md by @cgwalters in #1354
- test: Add README.md in tmt folder for integration test local running by @henrywang in #1357
- Minor Documentation and Comment Corrections by @leopardracer in #1361
- kargs: Clarify a bit more by @cgwalters in #1363
- Fix Typo in Documentation and Improve Iterator Comment Clarity by @kilavvy in #1367
- Fix Typos and Improve Formatting in Documentation by @vtjl10 in #1369
Other Fixes
- ci/gemini: Turn off PR summary by default by @cgwalters in #1342
- cli: Don't emit ANSI codes to stderr by @cgwalters in #1341
- Initial set of system-reinstall-bootc integration tests by @ckyrouac in #1348
- reinstall: Only pull the image if it's not already present by @ckyrouac in #1355
- specfile: exclude doc directories from package by @champtar in #1352
- build-sys: Rework to have toplevel Dockerfile + Justfile by @cgwalters in #1358
- Release 1.4.0 by @jeckersb in #1374
New Contributors
- @leopardracer made their first contribution in #1361
- @kilavvy made their first contribution in #1367
- @vtjl10 made their first contribution in #1369
Full Changelog: v1.3.0...v1.4.0
Release 1.3.0
Important regression fixes
- spec: Don't canonicalize containers-storage by @cgwalters in #1337
This was the cause of us breaking bootc-image-builder. We will be ensuring this never happens in the future.
New features
- lints: Add --no-truncate flag to bootc container lint by @cgwalters in #1324
- feat(status): display pinned deployments by @p5 in #1285
- spec: Add stateroot by @cgwalters in #1319
Other fixes
- Reinstall mount warning by @ckyrouac in #1299
- ostree-ext: Squash some unused warnings by @cgwalters in #1318
- install: Fallback to no sepolicy when init imgstore by @ckyrouac in #1321
- Dedup sepolicy handling by @cgwalters in #1322
- hack: Rework+cleanup container build by @cgwalters in #1295
- docs: Fix typos and clarify content by @cgwalters in #1323
- Rewrite containers org links to bootc-dev org by @jeckersb in #1325
- README.md: Add versioning/semver standards by @jeckersb in #1326
- main: Silence SELinux by @cgwalters in #1328
- README.md: Add link to CNCF slack by @cgwalters in #1334
- ostree-ext: tests: Don't call export_container twice by @jeckersb in #1336
- sysusers: Various fixes by @cgwalters in #1332
- spec: Don't canonicalize containers-storage by @cgwalters in #1337
- ostree-ext: make OCI history reproducible by @champtar in #1339
- Release 1.3.0 by @cgwalters in #1340
New Contributors
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Bug fixes
New features
Other changes
- Dont quote me on this by @cgwalters in #1305
- Release 1.1.8 by @jmarrero in #1304
- docs: fix typos by @omahs in #1307
- fix(switch): don't attempt to parse non-oci image ref formats by @p5 in #1310
- spec: Note we don't canonicalize oci by @cgwalters in #1311
- filesystem: Note initramfs reneneration is required for prepare-root by @cgwalters in #1315
- Release 1.2.0 by @cgwalters in #1317
New Contributors
Full Changelog: v1.1.8...v1.2.0