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
Releases
latest 28-
6.0.023 Sep 2022 -
5.0.328 May 2022 -
5.0.206 May 2022Release notes
Open source →- Add support for
RUST_REED_SOLOMON_ERASURE_ARCHenvironment variable and stop usingnativearchitecture for SIMD code- See PR #98
- Add support for
-
5.0.117 Dec 2021Release notes
Open source →- The
simd-accelfeature now builds on M1 Macs- See PR #92
- Minor code cleanup
- The
-
5.0.016 Dec 2021Release notes
Open source →- Merged several PRs
- Not fully reviewed as I am no longer maintaining this crate
-
4.0.206 Apr 2020 -
4.0.125 Sep 2019 -
4.0.021 Sep 2019Release notes
Open source →- Major API restructure: removed
Shardtype 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-accelCargo feature. Pure-rust behavior is default. - Ran rustfmt
- Adds a GF(2^16) implementation
- Major API restructure: removed
-
3.1.128 Oct 2018Release notes
Open source →- 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.0data is obtained by measuring again with the correctedrse-benchmarkcode - The
2.0.Xand1.X.Xdata are simply adjusted by mutiplying10^6then dividing by2^20
- The
- Dependencies update
- Updated
randfrom0.4to0.5.4
- Updated
- Added special handling in
build.rsfor CC options on Android and iOS-march=nativeis not available for GCC on Android, see issue #23
- Fixed
-
3.1.020 May 2018Release notes
Open source →- Impl'd
std::error::Errorforreed_solomon_erasure::Errorandreed_solomon_erasure::SBSError- See issue #17, suggested by DrPeterVanNostrand
- 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_internalmethod- This means
reconstructand related methods are slightly more optimized
- This means
- Impl'd
-
3.0.305 Mar 2018Release notes
Open source →- 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
- Added QuickCheck tests to the test suite
-
3.0.227 Feb 2018 -
3.0.127 Feb 2018 withdrawnRelease notes
Open source →- Updated doc for
with_buffervariants of verifying methods- Stated explicitly that the buffer contains the correct parity shards after a successful call
- Added tests for the above statement
- Updated doc for
-
3.0.002 Feb 2018Release notes
Open source →- Added
with_buffervariants 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
ShardByShardcode review and overhaulInversionTreecode review and improvements
- Added
-
2.4.029 Jan 2018Release notes
Open source →- Added more flexibility for
convert_2D_slicesmacro- Now accepts expressions rather than just identifiers
- The change requires change of syntax
- Added more flexibility for
-
2.3.328 Jan 2018Release notes
Open source →- Replaced all slice splitting functions in
misc_utilswith std lib ones or rayon ones- This means there are fewer heap allocations in general
- Replaced all slice splitting functions in
-
2.3.227 Jan 2018Release notes
Open source →- Made
==(eq) forReedSolomonmore 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
- Previously
- Made
-
2.3.126 Jan 2018 -
2.3.026 Jan 2018Release notes
Open source →- Made Reed-Solomon codec creation methods return error instead of panic when shard numbers are not correct
-
2.2.013 Jan 2018Release notes
Open source →- Fixed SBS error checking code
- Documentation fixes and polishing
- Renamed
Error::InvalidShardsIndicatortoError::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
-
2.1.031 Dec 2017Release notes
Open source →- 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
-
2.1.0-beta30 Dec 2017 pre-releaseNothing published for this version
-
2.0.028 Dec 2017Release notes
Open source →- Complete rewrite of most code following Klaus Post's design
- Added optimsations (parallelism, loop unrolling)
- 4-5x faster than
1.X.X
-
1.1.019 Dec 2017 -
1.0.118 Dec 2017Release notes
Open source →- Added more tests
- Fixed decode_missing
- Previously may reconstruct the missing shards with incorrect length
-
1.0.018 Dec 2017Release notes
Open source →- Added more tests
- Added integration with Codecov (via kcov)
- Code refactoring
- Added integration with Coveralls (via kcov)
-
0.9.117 Dec 2017 -
0.9.017 Dec 2017