github M2Team/NanaZip 5.0.1250.0
NanaZip 5.0 (5.0.1250.0)

19 hours ago

I'm excited to announce that we've released NanaZip 5.0, which is now available for download. This update contains several fixes and improvements.

Note: The preview version of NanaZip will be delayed because I want to add more features for previewing.

It should be considered abnormal for me to release a new major version of NanaZip in the early part of the year. Here are some reasons:

  • I want to switch my POSIX development environment from Linux to BSD, the UFS/UFS2 implementation in NanaZip 5.0 which can help me to use FreeBSD as the development platform.
  • I'm on vacation for the Chinese New Year which gives me enough time to push the development progress for NanaZip. I will be busy in the following months after this vacation.

image

NanaZip 5.0 release makes me more happy with BSD because I have a way which makes me can extract files from a BSD partition without mounting for Windows. I got some help from NishiOwO for UFS/UFS2 on-disk definitions.

I have received an e-mail from the owner of https://github.com/StephanBusch/EcoZip, and he suggested merging some features from that to NanaZip. I will consider that in NanaZip 5.1 which is planned this year.

I also have received some suggestions about introducing the format plugin support for NanaZip. But I need to consider a lot before that because I'm the author of https://github.com/M2TeamArchived/NSudo which made me learn a lot and I know the security isolation is important for plugin host. I want to reduce the attacking surface to reduce the abuse via malicious things. Also, the portability is important, which makes me try to pay attention to the WebAssembly with the customized interfaces provided by the plugin host.

Release Notes

  • Features
    • Introduce the UFS/UFS2 file system image readonly support. (Thanks to NishiOwO.)
    • Introduce work-in-progress NanaZip Platform Abstraction Layer (K7Pal) for wrapping the platform specific infrastructures. (Thanks to RuesanG's feedback.) (https://github.com/M2Team/NanaZip/tree/main/K7Pal)
      • Provide hash functions interfaces implemented with Windows CNG API. NanaZip uses these hash functions from K7Pal:
        • MD2
        • MD4
        • MD5
        • SHA-1
        • SHA-256
        • SHA-384
        • SHA-512
        • ED2K (Implemented as the K7Pal MD4 wrapper in NanaZip.Codecs.)
    • Update NanaZip.Specification.SevenZip header file.
    • Introduce the Smart Extraction. (Contributed by R-YaTian.)
    • Adds a setting for opening the folder after extracting from archive. (Contributing by DaxDupont.)
  • Improvements
    • Synchronize the 7-Zip mainline implementations to 24.09. (https://github.com/ip7z/7zip/releases/tag/24.09) (Thanks to Igor Pavlov. Noticed by FadeMind and peashooter2.)
    • Synchronize the BLAKE3 implementation to 1.5.5. (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.5.5)
    • Synchronize the RHash implementation to the latest master branch which is after v1.4.5. (rhash/RHash@cf2adf2)
    • Synchronize the xxHash implementation to v0.8.3. (https://github.com/Cyan4973/xxHash/releases/tag/v0.8.3)
    • Update Mile.Windows.Helpers to 1.0.671. (https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.671.0)
    • Update Brazilian Portuguese translation. (Contributed by maisondasilva.)
    • Update Polish translation. (Contributed by ChuckMichael.)
    • Update zh-Hans and zh-Hant translations for 'Want * History' strings. (Contributed by R-YaTian.) (Forget to mentioned in NanaZip 5.0 Preview 1.)
    • Make sure NanaZip Core (except the Self Extracting Executables) and NanaZip Classic using ucrtbase.dll with 10.0.19041.0 version or later.
    • Move NanaZip console version to NanaZip.Core project.
    • Remove C++/WinRT dependency for NanaZip.Codecs and NanaZip.Frieren.
    • Remove VC-LTL dependency for all components, and also use Mile.Windows.UniCrt (https://github.com/ProjectMile/Mile.Windows.UniCrt) instead of VC-LTL for non Self Extracting Executables stub components.
    • Adjust the compilation configurations to optimize the binary size for the Self Extracting Executables.
    • Start to simplify the NanaZip specific decoders and encoders implementation.
    • Enable disabling child process creation for NanaZip Self Extracting Executables. (Except installer mode of Self Extracting Executables, which compiled binaries is not provided in the NanaZip MSIX package.)
  • Fixes
    • Add GetDpiForWindowWrapper for NanaZip.Frieren.DarkMode to fix the legacy Windows compatibility issues.
    • Don't fail ModernSHBrowseForFolderW when DefaultFolder cannot be set. (Contributed by dinhngtu.)
    • Fix the issue that which NanaZip windows and dialogs will be opened in the background when using NanaZip from context menu. (Contributed by R-YaTian.)

Download

  • MSIX Package: NanaZip_5.0.1250.0.msixbundle

    • SHA-256: 4E7583F4AC8874CA09F5AC38E9B2AE492A39F4145E52B96AB7B400DE89A3E4BD
  • License XML: NanaZip_5.0.1250.0.xml

    • SHA-256: 4EB23D1B45037BBEEEA5DFCEB6CDD39E82F86B149B61C51FDB3B8305D6635435
  • Debug Symbols: NanaZip_5.0.1250.0_DebugSymbols.zip

    • SHA-256: 22AE8521F256DE0D5AD783EE5F8514BD077A64DF06AB7059CDBE49ED5736B9F8

Kenji Mouri

Don't miss a new NanaZip release

NewReleases is sending notifications on new releases.