PackageTrack
Sign in Get early access

reed-solomon-erasure

Rust implementation of Reed-Solomon erasure coding

6.0.0 5.6M downloads/mo #4289 most downloaded on crates.io darrenldl/reed-solomon-erasure

What this package is like to depend on

Last release 4 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 1.7 years

Nearly every release is documented

notes for 26 of 26 stable releases

1 version withdrawn

withdrawn after publishing

9 years old

28 releases · first in 2017

0 releases in the last 12 months

see the full history below

Release timeline

28 releases · Dec 2017 to Sep 2022
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 28
  1. 6.0.0 23 Sep 2022
    Release notes
    • Use LruCache instead of InversionTree for caching data decode matrices
    • Minor code duplication
    • Dependencies update
      • Updated smallvec from 0.6.1 to 1.8.0
    Open source →
  2. 5.0.3 28 May 2022
    Release notes
    • Fixed cross build bug for aarch64 with simd-accel
    Open source →
  3. 5.0.2 06 May 2022
    Release notes
    • Add support for RUST_REED_SOLOMON_ERASURE_ARCH environment variable and stop using native architecture for SIMD code
    Open source →
  4. 5.0.1 17 Dec 2021
    Release notes
    • The simd-accel feature now builds on M1 Macs
    • Minor code cleanup
    Open source →
  5. 5.0.0 16 Dec 2021
    Release notes
    • Merged several PRs
    • Not fully reviewed as I am no longer maintaining this crate
    Open source →
  6. 4.0.2 06 Apr 2020
    Release notes
    • Updated build.rs to respect RUSTFLAGS's target-cpu if available
    • Added AVX512 support
    • Disabled SIMD acceleration when MSVC is being used to build the library
    • Dependencies update
      • Updated smallvec from 0.6 to 1.2
    Open source →
  7. 4.0.1 25 Sep 2019
    Release notes
    • Updated SIMD C code for Windows compatibility
      • Removed include of unistd.h in simd_c/reedsolomon.c
      • Removed GCC nonnull attribute in simd_c/reedsolomon.h
      • See PR #63 #64 for details
    • Replaced use of libc::uint8_t in src/galois_8.rs with u8
    Open source →
  8. 4.0.0 21 Sep 2019
    Release notes
    • Major API restructure: removed Shard type in favor of generic functions
    • The logic of this crate is now generic over choice of finite field
    • The SIMD acceleration feature for GF(2^8) is now activated with the simd-accel Cargo feature. Pure-rust behavior is default.
    • Ran rustfmt
    • Adds a GF(2^16) implementation
    Open source →
  9. 3.1.1 28 Oct 2018
    Release notes
    • Fixed Matrix::augment
      • The error checking code was incorrect
      • Since this method is used in internal code only, and the only use case is a correct use case, the error did not lead to any bugs
    • Fixed benchmark data
      • Previously used MB=10^6 bytes while I should have used MB=2^20 bytes
      • Table in README has been updated accordingly
        • The >= 2.1.0 data is obtained by measuring again with the corrected rse-benchmark code
        • The 2.0.X and 1.X.X data are simply adjusted by mutiplying 10^6 then dividing by 2^20
    • Dependencies update
      • Updated rand from 0.4 to 0.5.4
    • Added special handling in build.rs for CC options on Android and iOS
      • -march=native is not available for GCC on Android, see issue #23
    Open source →
  10. 3.1.0 20 May 2018
    Release notes
    • Impl'd std::error::Error for reed_solomon_erasure::Error and reed_solomon_erasure::SBSError
    • Added fuzzing suite
      • No code changes due to this as no bugs were found
    • Upgraded InversionTree QuickCheck test
      • No code changes due to this as no bugs were found
    • Upgraded test suite for main codec methods (e.g. encode, reconstruct)
      • A lot of heavy QuickCheck tests were added
      • No code changes due to this as no bugs were found
    • Upgraded test suite for ShardByShard methods
      • A lot of heavy QuickCheck tests were added
      • No code changes due to this as no bugs were found
    • Minor code refactoring in reconstruct_internal method
      • This means reconstruct and related methods are slightly more optimized
    Open source →
  11. 3.0.3 05 Mar 2018
    Release notes
    • Added QuickCheck tests to the test suite
      • InversionTree is heavily tested now
    • No code changes as no bugs were found
    • Deps update
      • Updated rayon from 0.9 to 1.0
    Open source →
  12. 3.0.2 27 Feb 2018
    Release notes
    • Same as 3.0.1, but 3.0.1 had unapplied changes
    Open source →
  13. 3.0.1 27 Feb 2018 withdrawn
    Release notes
    • Updated doc for with_buffer variants of verifying methods
      • Stated explicitly that the buffer contains the correct parity shards after a successful call
    • Added tests for the above statement
    Open source →
  14. 3.0.0 02 Feb 2018
    Release notes
    • Added with_buffer variants for verifying methods
      • This gives user the option of reducing heap allocation(s)
    • Core code clean up, improvements, and review, added more AUDIT comments
    • Improved shard utils
    • Added code to remove leftover parity shards in reconstruct_data_shards
      • This means one fewer gotcha of using the methods
    • ShardByShard code review and overhaul
    • InversionTree code review and improvements
    Open source →
  15. 2.4.0 29 Jan 2018
    Release notes
    • Added more flexibility for convert_2D_slices macro
      • Now accepts expressions rather than just identifiers
      • The change requires change of syntax
    Open source →
  16. 2.3.3 28 Jan 2018
    Release notes
    • Replaced all slice splitting functions in misc_utils with std lib ones or rayon ones
      • This means there are fewer heap allocations in general
    Open source →
  17. 2.3.2 27 Jan 2018
    Release notes
    • Made ==(eq) for ReedSolomon more reasonable
      • Previously == would compare
        • data shard count
        • parity shard count
        • total shard count
        • internal encoding matrix
        • internal ParallelParam
      • Now it only compares
        • data shard count
        • parity shard count
    Open source →
  18. 2.3.1 26 Jan 2018
    Release notes
    • Added info on encoding behaviour to doc
    Open source →
  19. 2.3.0 26 Jan 2018
    Release notes
    • Made Reed-Solomon codec creation methods return error instead of panic when shard numbers are not correct
    Open source →
  20. 2.2.0 13 Jan 2018
    Release notes
    • Fixed SBS error checking code
    • Documentation fixes and polishing
    • Renamed Error::InvalidShardsIndicator to Error::InvalidShardFlags
    • Added more details to documentation on error handling
    • Error handling code overhaul and checks for all method variants
    • Dead commented out code cleanup and indent fix
    Open source →
  21. 2.1.0 31 Dec 2017
    Release notes
    • Added Nicolas's SIMD C code files, gaining major speedup on supported CPUs
    • Added support for "shard by shard" encoding, allowing easier streamed encoding
    • Added functions for shard by shard encoding
    Open source →
  22. 2.1.0-beta 30 Dec 2017 pre-release

    Nothing published for this version

  23. 2.0.0 28 Dec 2017
    Release notes
    • Complete rewrite of most code following Klaus Post's design
    • Added optimsations (parallelism, loop unrolling)
    • 4-5x faster than 1.X.X
    Open source →
  24. 1.1.0 19 Dec 2017
    Release notes
    • Added more helper functions
    • Added more tests
    Open source →
  25. 1.0.1 18 Dec 2017
    Release notes
    • Added more tests
    • Fixed decode_missing
      • Previously may reconstruct the missing shards with incorrect length
    Open source →
  26. 1.0.0 18 Dec 2017
    Release notes
    • Added more tests
    • Added integration with Codecov (via kcov)
    • Code refactoring
    • Added integration with Coveralls (via kcov)
    Open source →
  27. 0.9.1 17 Dec 2017
    Release notes
    • Code restructuring
    • Added documentation
    Open source →
  28. 0.9.0 17 Dec 2017
    Release notes
    • Base version
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive