Major new features
- --verify now uses file-level sha256 NSP hash validation. --verify now guarantees that the sha256 hash of the original file and the decompressed file will match and so the file is bit-identical recreated.
- Major XCI/XCZ rewrite to support multiple XCI partitions: Specify --keep to keep all partitions including their content. By default, the content of all but the secure partition is removed but the empty partition itself are kept for Yuzu Emulator compatibility.
Bugfixes
- Added missing null terminator at the end of the string table. This fixes 151
- Fixed issue with PFS0 header overlapping the first file when the --remove-padding option is used
- Fixed some logic responsible to handle too short PFS0 header sizes
- Fixed PFS0 header padding so it follows the PFS0 specification. This fixes 150
- We don't want to touch the default Kivy font but instead use LabelBase to set DEFAULT_FONT for this specific application. This fixes 154
- Added the ability to read full xci dumps thanks to alucryd
- Added master_key_10 key hash thanks to seiya-git
- Better support deleting source files. This fixes 141
Command line argument changes
- Renamed --remove-padding to --fix-padding. This was done as this option now makes NSP padding match the No-Intro standard.
- Renamed --keep-delta to --keep as it's no longer just used to keep NDV0 files but also to keep all XCI partitions
- --verify and --remove-padding are incompatible with each other's. For compatibility reasons --quick-verify will be automatically used if this situation occurs to match the command line argument behavior prior to NSZ v4.6.0.