Releases: wasilibs/go-re2
v1.4.1
This release fixes concurrency issues related to getting subgroup names and cgo result pointers. Notably, the race detector is now on enabled on CI tests.
Full Changelog: v1.4.0...v1.4.1
v1.4.0
1.4.0 fixes a memory leak when using the ReplaceAll
family of functions where there are no matches to replace. It also updates wazero to 1.3, which includes various performance improvements.
Full Changelog: v1.3.0...v1.4.0
v1.3.0
1.3.0 fixes an issue when using cgo mode on Windows and adds verification of cgo and Windows to the CI build. To support this, the baseline C++ toolchain requirement has been bumped from c++11 to c++17 - if you are using an older toolchain, please update to allow building with the new version.
There are no other changes - notably, if you are not using cgo and especially on Windows, there is no strong need to upgrade.
Full Changelog: v1.2.0...v1.3.0
v1.2.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: v1.1.0...v1.2.0
v1.1.0
go-re2 1.1.0 updates wazero to 1.1.0 (the version being the same is a coincidence, in the future they probably will not be). 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.
wasi-sdk-20 is also now used to build the Wasm module.
There are no other changes to the library besides these dependencies.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Welcome to the first 1.0 release of go-re2. This project follows semantic versioning and will not break API compatibility across minor versions outside of experimental packages.
An important fix is included for an issue using cgo when under GC pressure. Many thanks to @buixor for filing an issue with an excellent repro.
Memory usage using wazero has also been reduced by recognizing that most uses of a compiled expression will only involve one or few of the APIs provided by Regexp
. Now, we lazily initialize the machinery for invoking Wasm. While the impact on memory usage will vary by code usage, many common cases should see a ~20% reduction in at-rest memory usage for compiled expressions.
And speaking of wazero, this release also marks the usage of their 1.0 release. wazero is integral to this library and deserves a round of applause for launching an excellent WebAssembly runtime for Go.
New Contributors
- @mathetake made their first contribution in #43
Full Changelog: v0.2.1...v1.0.0
v0.2.1
v0.2.0
This release adds an experimental
package that contains APIs not present in the stdlib regexp
package. The first allows compiling the regex in latin1 mode, which will allow matching any arbitrary bytes, not just valid utf8 strings.
In the future, such extra APIs may be promoted to stable APIs, but for the upcoming 1.0 release, we will stick to only supporting the API that stdlib does for now.
New Contributors
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Welcome to go-re2, a drop-in replacement for regexp
using re2. It can be used by any Go application, even when cgo is not available or practical, or Wasm applications built with TinyGo.
There is currently no unique API in this package, it is the same as regexp
- therefore, there is not expected to be API breakage on the way to v1.0.0. v0.1.0 reflects only that this is an initial release that has not been battle-tested in production. It does pass all of the same tests and benchmarks as regexp
though and should work fine in general, with the caveats mentioned in the README. If there are no issues found, the next release would be v1.0.0.
This project is made possible by these notable dependencies that deserve many thanks: