6922acad9a
Relevant vendor changes: Issue #351: Refactor and implement private state logic for write filters PR #1252: RAR5 reader - verify window size for solid files (OSS-Fuzz 15482) PR #1255: zip writer - don't append unused NUL for directories PR #1260: Fix sparse file offset overflow on 32-bit systems PR #1263: UNICODE filename support for reading lha/lzh format Issue #1276: Bugfix and optimize archive_wstring_append_from_mbs() PR #1288: Add the "xattrhdr" option to pax write options PR #1295: 7z reader - fix reading archives with digests in PackInfo PR #1296: RAR5 reader - verify window size for multivolume archives PR #1297: ZIP reader - support LZMA_STREAM_END marker in 'lzma alone' files Issue #1298: Fix a heap-buffer-overflow in archive_string_append_from_wcs() OSS-Fuzz 19360, 19362: LHA reader - plug two memory leaks on error Fix possible off-by-one when dealing with readlink(2)
Notes on making a new release of libarchive =========================================== The following serves as a guide for libarchive developers on the general process to be followed when making a new release of libarchive. * Update build/version with the version number of the release to be made. * If the library's ABI has changed, the library's soname major version *MUST* be updated. Update configure.ac and CMakeLists.txt appropriately. - For configure.ac, the variable ARCHIVE_INTERFACE needs to be updated. - For CMakeLists.txt, the variable INTERFACE_VERSION needs to be updated. * Update the entries in the NEWS file accordingly. * Run `build/makerelease.sh` from the top source directory. Running this script will do the following. - Removes all Makefile.am development build specific CFLAGS from Makefile.am. - Update configure scripts and header files with the appropriate version number from build/version. - Rebuild the documentation directory. - Runs a full cmake build and test. - Runs a full autotools build and test. - Builds the .tar.gz and .zip distribution files. * Commit all changed files into git. - This should be build/version, NEWS, and the files edited by running build/makerelease.sh. * Tag the release appropriately. The tag should also have an appropriate message. - The git command is as follows: $ git tag -m "Libarchive <version>" v<version> Replace <version> with the version to be released. * Copy all the generated wiki files and commit them into the libarchive.wiki repository. Overwrite any preexisting files with the same name (these files are always autogenerated from the libarchive release after every release). * Update the libarchive.org website accordingly. * Make an announcement to the libarchive-announce mailing list.