v0.3.0
This version finalizes the version 1.0 of the specification. Since the last release there was one breaking change: The polynomial used changed to the polynomial used by AES-GCM and is used by the GFNI. This allowed us to suport fast SIMD based error correction both when encoding and decoding. We have runtime feature detection, so it will automatically x86_64 GFNI if available. Under x86_64 SSSE 3, AVX2 and GFNI are supported. Under aarch64 we support NEON. The CLI also now support globbing (wildcards).
This is the first version that I personaly entrust my data.
Changed
- Freeze of the specification version 1.0
- Breaking change: Use different polynomial for Reed-Solomon ECC. Switched from 0x11D (x^8 + x^4 + x^3 + x^2 + 1) to 0x11B (x^8 + x^4 + x^3 + x + 1). This is the polynomial used by AES-GCM and is used by the GFNI x86_64 instruction set. This enables us to provide highly optimized RS ECC implementations.
- Provide SIMD implementation for the ECC encoder and decoder. This resulted in a speed-up of 10-15x for the ECC encoding and validation when decoding.
Added
- Wildcard / Globbing support for the input files
Fixed
- Fixed delta encoding bug of uncompressed chunks, where the direction was wrong on the encoder side (encoding "more" with - instead of +).