The previous (4.x) implementation was not sufficient for hosting this new feature, and there were many cases where the logic became "boxed in" with no rational solution.
Taking this PR as an opportunity to:
rename some constructs (e.g. Tarball -> Archive)
simplify the core control flow so new features can be added more easily
unify sync and async archive parsing to both de-duplicate this section of logic, and make async a first-class citizen in the process
Due to the large amount of breaking changes, this will need to be a new major version release (5.x).
Unit tests need to be addressed (if not outright rewritten) for the new control flow + pax header processing, and the readme examples need to be updated (along with a section for migration strategy from 4.x to 5.x)
Addresses #1
The previous (4.x) implementation was not sufficient for hosting this new feature, and there were many cases where the logic became "boxed in" with no rational solution.
Taking this PR as an opportunity to:
Tarball
->Archive
)Due to the large amount of breaking changes, this will need to be a new major version release (5.x).
Unit tests need to be addressed (if not outright rewritten) for the new control flow + pax header processing, and the readme examples need to be updated (along with a section for migration strategy from 4.x to 5.x)