Repository navigation
Changed
- Capturing group names are now always returned as UTF-8 strings (and symbols), even if the RE2::Regexp sets the utf8 option to false, as RE2 stores them internally as UTF-8.
Fixed
- Fix a segmentation fault when calling RE2::Set#match after RE2::Set#compile has failed, e.g. if the patterns exceed max_mem. This now raises an RE2::Set::MatchError (or returns an empty array if the exception option is false) as if the set had not been compiled.
- Fix a use-after-free when re-initializing an RE2::Set while matching against it. RE2::Set objects can no longer be re-initialized.
- Fix a use-after-free when calling initialize_copy on an RE2::MatchData or RE2::Scanner with itself.
- Prevent an RE2::Regexp being re-initialized while its options are being parsed, which could replace the pattern of a frozen RE2::Regexp and leak memory.
- Symbol keys returned by RE2::MatchData#named_captures (with symbolize_names) and RE2::MatchData#deconstruct_keys can now be garbage collected, preventing unbounded memory growth when matching many different patterns. Non-ASCII capturing group names are also now returned as correctly encoded symbols.
- Always compile the extension with C++17, fixing builds with RubyInstaller 4.0.5-1's ucrt64 toolchain.
SHA256 checksums:
e44820c02705cbb83d70a3e45cd03e72a3d182f7a88d18cb4f34ab432c68e5a9 re2-2.28.0-aarch64-linux-gnu.gem
8898fe5c37ca6e9219ef032bb5bcadf5c28d37368e570c639d885e51ec084097 re2-2.28.0-aarch64-linux-musl.gem
b58e40c5133d24f10384c6c2cc0d1b849308c845c3179478cb9c5cd59332625d re2-2.28.0-arm-linux-gnu.gem
7e4dfee266483d1adfec7736ddb85b43afd4b8bcb9d61c8d0ca737248539420b re2-2.28.0-arm-linux-musl.gem
01aa1e09f68eeef110d1d6d5d0f686b3aa6076eeb362decb4d1c2751c4222219 re2-2.28.0-arm64-darwin.gem
a3510c82db0455485447e0b67b00ca0f89a1503f7851967040c93b9d99a40068 re2-2.28.0-x64-mingw-ucrt.gem
33421c6cc09b81e81fccc010469d495b9c85ebb6cca3107d3632093daef80740 re2-2.28.0-x86_64-darwin.gem
fb703048612f2e39a175b96abcd78d3d2cc2032418b0fe0b17cca110897694d6 re2-2.28.0-x86_64-linux-gnu.gem
8869daa213c1a721a38a844bafe283172fd761f879b76b9198739c0cf86557da re2-2.28.0-x86_64-linux-musl.gem
9d2ff383749a304f607ff2c6d63f84ede2fc6581512c7e12acd50622d392d10d re2-2.28.0.gem