containers / composefs

a file system for mounting container images
GNU General Public License v2.0
421 stars 29 forks source link

Bump version to 1.0.4 and lib version to 1.2.0 #290

Closed alexlarsson closed 3 months ago

alexlarsson commented 3 months ago

I'd like to get out a release with at least the new overlayfs mount apis from linux 6.6 to avoid us falling back to legacy mount apis on newer kernels. But having the threaded mkcomposefs would be good too.

Also, we may want https://github.com/containers/composefs/pull/288 landed first

@cgwalters Does it make sense to dist the rust code?

Current release notes:

Changes since 1.0.4:

Alexander Larsson (5): mount: Use the new lowerdir+ and datadir+ options lib: Add TRY_VERITY mount option mount.composefs: Add tryverity option mkcomposefs: Drop newline from error string Bump version to 1.0.4 and lib version to 1.2.0

Colin Walters (12): writer: Fix (almost certainly unreachable) overflow writer: Close mmap leak README.md: Drop removed signed mount option README.md: Fix markdownlint warnings man/mount.composefs: Fix a typo and two markdown lint warnings Update clang-format erofs_fs_wrapper: Avoid duplicate #defines lcfs-verity: Add missing include Add API+CLI to get fsverity digests efficiently lib: Add a thin public API wrapper for FS_IOC_ENABLE_VERITY man: Drop = as a special escaped character

Divin Ookken Athappan (3): refactored lcfs_load_node_from_file to enable multi-threading in mkcomposefs added threads in mkcomposefs for digest calculation and file copy Added copy_file_range for faster file copy.

Ed Baunton (1): man mkcomposefs: detail inlining logic

Erik Sjölund (14): mkcomposefs: Handle NULL from strndup() fuse: Fix filepath argument in error message mountcomposefs, mkcomposefs: Add missing options to usage information lib: Add missing lcfs_node_unref() erofs, mkcomposefs: Handle error from lcfs_node_set_content() erofs: Handle error from lcfs_build_node_from_image() lib: Set errno in lcfs_node_new() mkcomposefs: Handle NULL from lcfs_node_new() writer: Set errno mountcomposefs: Handle empty basedir option writer: Set errno for unknown format erofs: Add missing free() and lcfs_node_unref() mkcomposefs: Add missing free() fuse: fix spelling in error message

Fathi Boudra (1): musl: basename: use portable implementation for basename API

Giuseppe Scrivano (7): tools: add fuzzing entrypoint for mkcomposefs tests: add fuzzing tests for mkcomposefs mkcomposefs: reject dump without root node mkcomposefs: tree_from_dump does not exit(2) on errors mkcompose: fix crash if no target for hardlink .github: run make distcheck as part of the CI tests: do not hardcode number of threads

Jan Luebbe (1): lcfs-fsverity: Add _GNU_SOURCE feature test define

Rogerio Guerra Borin (3): mount: Allow building when macro MOUNT_ATTR_IDMAP is not available mount: Allow building when macro LOOP_CONFIGURE is not available ci: Add build test for Ubuntu Focal

cgwalters commented 3 months ago

Also, we may want https://github.com/containers/composefs/pull/288 landed first

I think it's not urgent

@cgwalters Does it make sense to dist the rust code?

IMO no, let's keep the composefs.tar.gz just the C code for now, the Rust code can end up on crates.io. I'd also say to filter out the commits there from the C release changelog? Maybe in the future we can simplify things by version-release matching the lib and rust crates; I'm not ready to say the Rust code is 1.0 though, but we could start as 0.2.0 and version match the subsequent parts? Perhaps longer term of course we rely on the Rust code as part of a unified thing, but that's in the future.

eriksjolund commented 3 months ago

Should it be

Changes since 1.0.3:

in the release notes ?