Tags

Tags give the ability to mark specific points in history as being important
  • v0.3.1

    Release: v0.3.1
    - fix minor documentation issue
  • v0.3.0

    Release: v0.3.0
    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.1

    Release: v0.2.1
    split-preparation release
  • v0.2.0

    c4e3e494 · finalize 0.2.0 release ·
    Release: v0.2.0
    - 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.2

    Release: v0.1.2
    - Added `AsRef<[u8]>` and `AsMut<[u8]>` implementations for `ByteArray`
  • v0.1.1

    8add63ca · fix doc.rs doc build fail ·
    Release: v0.1.1
    - Added optimized build target
    
    - Fixed docs.rs documentation not building properly
  • v0.1.0

    Release: v0.1.0
    - 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