Tags give the ability to mark specific points in history as being important
-
v0.3.0
Release: v0.3.0320f9a22 · ·Release v0.3.0 - security-by-default with automatic zeroization - Implement Drop trait with zeroize for automatic memory cleanup - Remove ops_algebra feature (operations always compiled) - Remove all sec_harden_* feature flags - Update documentation with zeroization behavior notes - Clean up mode-specific references in codebase BREAKING: This is a major architectural shift to security-by-default
-
v0.2.0
Release: v0.2.0c4e3e494 · ·- Added `try_bytes!` macro helper for `ByteArray` construction - Added `try_bin!` macro helper for `ByteArray` construction - Added `try_hex!` macro helper for `ByteArray` construction - Added `truncate` method in insecure operations - **BREAKING** Changed `with_hex(self, hex_str)` instance method to static `from_hex(hex_str)` constructor - **BREAKING** Changed `with_bin(self, bin_str)` instance method to static `from_bin(bin_str)` constructor - **BREAKING** Removed `UninitByteArray` struct - simplified API with always left-padding by default - **BREAKING** Removed `ByteArrayOddWordPad` enum - no longer need to specify padding direction - **BREAKING** Removed `new_uninit()` constructor - use `new()` for simple construction instead
-
v0.1.0
Release: v0.1.0ef7074bd · ·- Added `ByteArray` struct as wrapper over `Vec<u8>` in `byte_array::model` module - Added `ByteArrayOddWordPad` enum to control left/right padding for odd-length inputs - Added `UninitByteArray` builder struct for advanced padding control - Defined module structure: `model`, `ops`, `type_conv`, and `errors` - Added `with_hex()` method for parsing hexadecimal strings with efficient nibble conversion - Added `with_bin()` method for parsing binary strings with direct bit manipulation - Implemented `FromStr` trait supporting `0x` (hex), `0b` (binary), and UTF-8 fallback (no prefix) - Added length guard for handling short input strings (< 2 characters) - Implemented left-padding by default for odd-length hex/binary inputs - Implemented `From<&[u8]>` for `ByteArray` in `type_conv` module - Implemented `From<&[u8; N]>` for `ByteArray` in `type_conv` module - Implemented `From<Vec<u8>>` for `ByteArray` (zero-cost move) in `type_conv` module - Implemented `From<u8>` for `ByteArray` in `type_conv` module - Implemented `From<ByteArray>` for `Vec<u8>` (zero-cost extraction) in `type_conv` module - Implemented `Index<usize>` trait for array-style access with `[]` operator - Added `get()` method for bounds-checked element access returning `Option<&u8>` - Added `as_bytes()` method to borrow internal byte slice - Added `len()` method to get byte count - Added `is_empty()` method to check for empty arrays - Added `get_padding()` method to query current padding direction - Added `with_capacity()` constructor for efficient pre-allocation - Added `Internal` helper struct in `ops` module with `hex_char_to_nibble_unchecked()` for performance - Implemented direct byte arithmetic for conversions (avoiding `to_digit()` overhead) - Added unit test for hexadecimal string parsing with odd-length input - Added `experimental` Cargo feature for untested proof-of-concept functions - Added `PartialEq,Eq` derives for `ByteArray` in order to support equality operations - Added unit test for single byte type conversion - Added unit test for equality operations - Added `init_zeros()` method to `ByteArray` and corresponding unit test - Implemented `IndexMut` for `ByteArray` and added corresponding tests - Added `ǹew_uninit()` constructor for `ByteArray` returning `UninitByteArray` needed when preparing the bytearray with padding and configuration options - Added `fill_zeros()` method for `ByteArray` filling the array to capacity with zeros - Added `fill_with(value)` method for `ByteArray` filling the array to capacity with a specified value - Added `init_value(value, count)` constructor for `ByteArray` initializing the array with the specified value and count - Added `try_push(value)` method for `ByteArray` allowing to push a u8 value (experimental feature) - Added `hardened` Cargo feature flag for future security hardening (memory locking, secure wiping) - Implemented `BitXor` trait for XOR operations (`^` operator) - Implemented `BitXorAssign` trait for in-place XOR operations (`^=` operator) - Implemented `BitAnd` trait for AND operations (`&` operator) - Implemented `BitAndAssign` trait for in-place AND operations (`&=` operator) - Implemented `BitOr` trait for OR operations (`|` operator) - Implemented `BitOrAssign` trait for in-place OR operations (`|=` operator) - Implemented `Not` trait for bitwise NOT operations (`!` operator) - Implemented `From<[u8; N]>` for `ByteArray` to support array literal conversions - Added `ByteArrayIter<'a>` and `ByteArrayIterMut<'a>` iterator structs in `byte_array::iter` module - Implemented `Iterator` trait for both `ByteArrayIter` (yielding `&u8`) and `ByteArrayIterMut` (yielding `&mut u8`) - Implemented `ExactSizeIterator` trait for both iterator types enabling `.len()` method and size optimizations - Added `.iter()` and `.iter_mut()` methods to `ByteArray` for creating iterators - Implemented `IntoIterator` for `&ByteArray` and `&mut ByteArray` enabling `for` loop syntax - Added unit tests for `type_conv` module covering all type conversions and FromStr parsing - Added comprehensive unit tests for `ops` module covering all bitwise operations (XOR, AND, OR, NOT) and their assignment variants - Implemented `Debug` and `Display` traits for `ByteArray` both for the hardened and insecure features - Added documentation, license and Readme