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.