All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v0.0.6 (2026-03-12)
-
Upgraded vendored version of Vectorscan from 5.4.11 to 5.4.12 (#11).
-
Vectorscan is now redistributed as an extracted source directory within the vectorscan-rs-sys tree. This replaces the previous pristine tarball + build-time
patchapproach. This change was necessary to keep the crate size below the 10MB limit imposed by Crates.io. -
Updated GitHub Actions
checkoutandupload-artifactsteps to the latest versions.
- Fixed a typo in the build script that caused the
cpu_nativefeature to not work (#12).
v0.0.5 (2024-12-09)
- Added
BlockDatabase::sizeandStreamingDatabase::size, which return the size in bytes of the database. - Added
StreamingDatabase::stream_size, which returns the size in bytes of a stream for the database. - A new
asanfeature enables Address Sanitizer in the vendored version ofvectorscan.
v0.0.4 (2024-11-07)
-
The streaming APIs are now exposed (#5).
-
Documentation has been added for many of the Rust APIs (#5).
- Debug builds are fixed on macOS using Xcode 15.
v0.0.3 (2024-08-21)
- Several additional Hyperscan functions are exposed, and exposed types implement more traits (#3).
Specifically, the
Flag,Pattern,ScanMode,Scratch, andBlockDatabasetypes now implementClone,Debug,Send, andSync.
v0.0.2 (2024-04-18)
- A new
unit_hyperscanfeature causes the Vectorscan unit test suite to be built and run at crate build time (#2).
- The compilation of the vendored version of
vectorscanno longer uses the-march=nativeC and C++ compiler option when thecpu_nativefeature is not specified (#1). Previously,-march=nativewas used unconditionally, which could cause non-portable code to be generated, leading toSIGILLcrashes at runtime.
v0.0.1 (2024-04-04)
This is the initial release of the vectorscan-rs and vectorscan-rs-sys crates.
These crates were extracted from the Nosey Parker project.
The vectorscan-rs-sys crate builds a vendored copy of Vectorscan 5.4.11.
The vectorscan-rs crate provides minimal Rust bindings to Vectorscan's block-based matching APIs.