This release moves initialization of the wazero runtime from package init to happen during the first regex compilation. It's natural for apps to import go-re2 even for flows that don't require it, for example the --version
command of a CLI, so it's best to not slow these down with the initialization. While it can be tricky to do lazy initialization sometimes since we wouldn't want to move heavy operations to the hot path of an application like a server request handler, we believe re2 users will always consider regex compilation too heavy for the hot path already and this should not negatively affect real applications. If it does, please let us know.
It also initializes a compilation cache so when the library is used in an app multiple times on the same machine, subsequent initializations will be much faster.
On a non-technical note, a reminder that this is a volunteer project. While it is understandable to see some loss of good faith due to the recent Go 1.24 incompatibility, we try our best to be responsive to issues. It can affect motivation though to see proposals to remove or demote go-re2 quickly when something happens. This is fine though, all projects need to be very careful of their dependencies. But we do ask when discussing this to at least make sure you present accurate and meaningful information - if anything is ever unclear, please feel free to bring @anuraaga in to the conversation.
Thank you.
Full Changelog: v1.9.0...v1.10.0