2026-06-10 - Version 0.006 - New Features: - Unix->src_lib_path / Unix->src_lib_path_list The library path searched for ELF libraries is now configurable - Unix->src_glob Convenience method for running shell wildcards on the src tree - Linux->parse_ld_so_conf This parses library paths from the GNU /etc/ld.so.conf file These are also added to the default for src_lib_path. - API Changes: - Unix->src_exe_path / Unix->src_exe_path The attribute is now lowercase, but the src_exe_PATH is aliased for back-compat. - Bug fixes: - Support pack(Q) and unpack(Q) on 32-bit perls - Prevent attempting Linux strace on non-Linux OS - Support symlinks on Win32 - Require perl 5.28, for list-context state variables 2026-06-06 - Version 0.005 - API Changes: - Unix::WriteFS->on_collision - ignore collisions by an identical dirent automatically, before consulting the on_collision attribute. This makes it much simpler to implement an on_collision callback. - rename the action 'ignore_if_same' to 'croak' - Remove dependency on Log::Any::Adapter::TAP - Documentation tweaks 2026-05-02 - Version 0.004 - New Features: - New export writers for minting disk images: - VFAT - ISO9660 - ISO9660Hybrid - Exported function 'which' searches export source tree for executables - LazyFileData object can load or map files on demand. - Exported function 'filedata' creates LazyFileData objects. - Exporting perl scripts uses strace (when on Linux) to detect dependencies - Sys::Export::LogAny emits to Log::Any if available - Numerous new utility functions - Incomplete experimental x86 boot loader - API Changes: - Export of 'data_path' is deprecated in favor of `{ data => filedata($filename) }`. - Bug fixes: - Various improvements to basic export workflow and error messages 2025-08-16 - Version 0.003 - API Changes: - Much more flexible DWIM on ->add method, such as specifying name and src_path and still getting automatic stat attributes added. Whether or not it rewrites now depends solely on presence of src_path. - Add missing accessors for ::Unix - on_collision - src_userdb - dst_userdb - Sys::Export -dst parameter may now be an arrayref [CPIO => $filename] for easy access to specify cpio output. - Bug fixes: - Too numerous to list. But especially Linux->add_passwd and ->add_localtime are working as intended now. 2025-08-07 - Version 0.002 - API Changes: - New Sys::Export::Unix->src_find is like File::Find specifically for iterating files of the export source tree. - New Sys::Export::find exported function calls 'exporter->src_find' - Sys::Export exports functions 'find' and 'skip' by default now, if the global exporter is being used. - New Sys::Export::expand_stat_shorthand exported function converts arrayrefs like '[ file644 => $name, $data ]' to the equivalent hashref of stat parameters. - Sys::Export::Unix->add now uses expand_stat_shorthand for its array shorthand, which is a breaking change from previous. - Sys::Export::Unix->add now allows hashrefs containing 'src_path' and lacking 'name' as a way to ask for source-to-destination translation of the path rather than exporting the attributes as-is. - Sys::Export::Unix->skip can accept multiple arguments and they may be hashrefs, like for ->add. - When the unix exporter's $self->add is called in the middle of another call to add, the file is queued to be added after control returns to the top-level add call. This lets subclasses queue dependencies without messing with private object attributes. - Sys::Export::CPIO has new attributes 'autoclose' and 'filename' - Bug Fixes: - Sys::Export::Unix::WriteFS can now create Socket directory entries - CPIO archives now get properly terminated and flushed during ->finish - Remove references to current dir "./" from paths to prevent misbehavior - Detect failures in 'mknod' syscall - Implemented ::Linux->add_localtime which was previously "..." - Better support for running on non-Linux platforms, mostly in the tests - Many documentation improvements - More tests 2025-07-22 - Version 0.001 - Initial version, with functioning t/81-qemu-initrd.t to prove that the basics work. But, it's a bit light on testing considering the overall number of features and potential use cases.