Releases: itai-delphos/rust-strings
Releases · itai-delphos/rust-strings
v0.6.2 - UTF-16 Edge Case Fixes + Default Encodings Update
What's Changed
Bug Fixes
- Fixed UTF-16 string extraction edge cases: Resolved issues when printable ASCII characters appear adjacent to valid UTF-16 sequences
- Leading printable character: Now correctly identifies UTF-16 strings that start after a stray ASCII byte
- Trailing printable character: Properly terminates UTF-16 strings when incomplete pairs are encountered
- Refactored UTF-16 extractor: Complete rewrite of byte-pair processing logic to handle edge cases atomically
Features
- Changed default extraction behavior: CLI now extracts both ASCII and UTF-16LE strings by default (previously ASCII only)
- Use
-e asciito extract only ASCII strings - Use
-e utf16leor-e utf16beto extract only UTF-16 strings
- Use
Build Improvements
- Added comprehensive multi-platform build script (
build.sh) - CLI binaries now built for:
- macOS ARM64 (Apple Silicon)
- Linux x86_64
- Linux aarch64
Version
- Bumped version from 0.6.1 to 0.6.2
Downloads
Python Wheels
Python wheels are available for:
- Platforms: macOS ARM64, Linux x86_64, Linux aarch64
- Python versions: 3.8, 3.9, 3.10, 3.11, 3.12
Install via pip:
```bash
pip install rust-strings
```
CLI Binaries
Download the appropriate binary for your platform:
- `rust-strings-aarch64-apple-darwin` - macOS ARM64 (Apple Silicon)
- `rust-strings-x86_64-linux` - Linux x86_64
- `rust-strings-aarch64-linux` - Linux aarch64
Make the binary executable:
```bash
chmod +x rust-strings-*
```
Full Changelog: v0.6.1...v0.6.2
v0.6.1 - UTF-16 String Detection Fix
Bug Fix
- Fixed UTF-16 String Detection: Fixed an error in identifying the start of a UTF-16 string when there is a printable character before it. Previously, a string like
At\x00e\x00s\x00t\x00\x00\x00would extract "est" at offset 3 instead of "test" at offset 1.
Python Wheels
This release includes pre-built Python wheels for:
- Platforms: Linux x86_64 (amd64) and aarch64 (ARM64)
- Python versions: 3.8, 3.9, 3.10, 3.11, 3.12
- Compatibility: manylinux 2014
Install via pip:
pip install rust-strings