Releases: wasilibs/go-aho-corasick
v0.6.0
This release updates wazero to 1.7.1, notably introducing the optimizing compiler. We see speedup around 20% in general from the new compiler. aho-corasick has also been updated to the latest 1.1.3.
In addition to version updates, FindAll
has been optimized significantly, and FindN
has been added to find up to a limit
of matches. Unlike an iterator, these methods only call into Wasm once and perform significantly faster than manual iteration.
New Contributors
- @comeonjy made their first contribution in #30
Full Changelog: v0.5.0...v0.6.0
v0.5.0
This is a small release that updates wazero to 1.2.1, improving performance across compilation and runtime, and tweaking the usage of finalizers to work with the latest release of nottinygc.
Full Changelog: v0.4.0...v0.5.0
v0.4.0
go-aho-corasick 0.4.0 updates the aho-corasick core dependency to their 1.0 release. Congratulations to the project on the stable release of a great matching library!
It also updates wazero to 1.1.0. The latest wazero brings numerous optimizations which will result in fewer allocations when calling regexp methods and other general improvements. Check out their release notes for the full list of changes.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
This release updates wazero to their first 1.0 release. wazero is integral to this library and deserves a round of applause for launching an excellent WebAssembly runtime for Go.
There are no other changes to the library.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
- Update to latest upstream for improved NFA algorithm
- Fixes not accepting input patterns with NULL inside
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Welcome to go-aho-corasick, a wrapper around aho-corasick for Go.
The API matches that of petar-dambovaliev/aho-corasick but in the future may change as that is an unstable API.
This project is made possible by these notable dependencies that deserve many thanks:
- BurntSushi/aho-corasick - a high performance aho-corasick in Rust
- petar-dambovaliev/aho-corasick - a Go reimplementation of the above
- wazero - a Wasm runtime that allows us to avoid cgo
- TinyGo - a compiler to allow creating Wasm binaries using Go