Tree layout changes:
* Sources moved from the root dir to `LibZipSharp/`
* Native builds now happen in `lzsbuild` and `artifacts`
Build process changes:
* New Unix script added, `build.sh` (run `build.sh --help`)
* `CMakeLists.txt` added in the root directory to handle all the
native builds.
* Apple Silicon support
* Produce fat binaries on macOS
* Linux builds strip debug symbols into a separate file now (packaged
in the nuget)
* Windows build script enhanced with better error handling, gained
suport for the new cmake build system
* Linux static build patch for libzip no longer needed
Library changes:
* Add submodules for `bzip2`, `lzma` and `zlib-ng`
* zlib-ng is built in `zlib` compatibility mode
* zlib-ng takes advantage of advanced host CPU capabilities (using
runtime detection) to speed up (de)compression (ARM, x86)
* All the native code is now built into a single shared library across
all the supported platforms, named `libZipSharpNative`
* Managed code updated to p/invoke into `libZipSharpNative`
* Added support for the following compression methods:
* BZIP2
* XZ (despite the `lzma` library supporting `LZMA` and `LZMA2`
compression algorithms, they are disabled in `libzip` itself)
* Added tests for the new compression algorithms
* Added new API (`Info.GetVersions()`) to return version information
about all the native libraries + LibZipSharp itself.