Back to Explore

mrabarnett/mrab-regex

GitHub
12 updates · last 90 days2 watchersOpen source

Last release:

This Python regex module is backwards compatible with the standard re module, while adding extra features such as Unicode support (including full case-folding), additional flags, and options for fuzzy matching and POSIX leftmost longest behavior. It also documents behavior differences between version modes (VERSION0 and VERSION1) and supports multithreading by releasing the GIL during matching in certain cases.

Project status

  • The repo appears actively maintained, with upstream pushes and new updates arriving very recently (last upstream push on 2026-09-09, and multiple version updates in August and early September 2026).
  • The apparent update cadence is frequent, roughly weekly during August to September 2026 (for example, updates on 2026-08-30, 2026-08-31, 2026-09-03, 2026-09-09, and 2026-09-10), including occasional rapid follow-ups.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 2026.9.10

    This release appears to be a metadata-only update that bumps the library version to 2026.9.10. The code diff shows no functional logic changes, only version strings and changelog version text being updated.

  • 2026.9.9

    This release (2026.9.9) updates the C implementation in src/_regex.c with multiple changes focused on correct Python exception propagation, safer reference handling, and more robust failure paths during regex matching and scanning. There are no publisher release notes provided, so the behavior changes below are inferred directly from the code diff.

  • 2026.9.3

    This release bumps the regex package version from 2026.9.2 to 2026.9.3 with corresponding __version__ and pyproject.toml updates. The only functional change visible in the diff is build tooling configuration that removes free-threaded Python 3.13 (cp313t) wheel builds from CI.

  • 2026.9.2

    This release bumps the regex package version to 2026.9.2. The only functional code change is the __version__ string update, while the notable change is in CI packaging configuration for cibuildwheel.

  • 2026.9.1

    Release 2026.9.1 bumps the package version to 2026.9.1 and updates build metadata to include Python 3.15. The published release notes field contains no content, so the only documented intent visible in the repo is captured in changelog.txt, while the actual CI workflow changes are not covered there.

  • 2026.8.31

    This release primarily bumps the package version from 2026.8.30 to 2026.8.31. It also adjusts the CI and packaging metadata to remove Python 3.15 (cp315) coverage.

    Breaking
  • 2026.8.30

    This release bumps the package version to 2026.8.30 and includes several internal regex engine changes focused on boundary conditions, fuzzy matching state handling, and group construction behavior. Release notes were not provided by the publisher, so the changes below may affect matching semantics in edge cases.

  • 2026.8.12

    This release primarily bumps the package version from 2026.7.19 to 2026.8.12 and updates packaging metadata. It also extends the CI/build matrix to include Python 3.15 (cp315-* and cp315t-*).

    Features
  • 2026.7.19

    This release updates the regex engine implementation (src/_regex.c) and bumps the package version to 2026.7.19. The code changes focus on fixing crashes and memory-safety issues in specific matching scenarios involving recursion and fuzzy-matching quantifiers.

    Security
  • 2026.7.11

    This release primarily changes the project's CI build/test matrix and Python package metadata. No functional library release notes were provided, so the impact must be inferred from the code diff.

    Breaking
  • 2026.7.10

    This release primarily updates packaging metadata and CI to include Python 3.15 in the build matrix. The only substantive code change in the diff is improved thread safety around the compiled-pattern cache by introducing locking in cache clear and cache population paths.

  • 2026.6.28

    Release 2026.6.28 bumps the package version metadata and updates build classifiers to include Python 3.15. The only functional code change is in regex compilation, where locale preferred-encoding handling is adjusted, presumably to address free-threaded Python behavior.

  • 2026.5.9

    Release 2026.5.9 bumps the package version and includes a small internal change in the C implementation of fuzzy regex matching. No release-notes content was provided by the publisher, so the only documented behavior context comes from the repository changelog.

  • 2026.4.4

    Release 2026.4.4 updates the package version metadata and includes a small C-level change in the regex module related to error exception initialization. No release notes were provided, so the behavioral impact (if any) must be inferred from the code diff.

  • 2026.4.3

    Release 2026.4.3 was published on 2026-04-03, but no release notes were provided by the publisher. As a result, no developer-impacting changes, fixes, or migration steps can be confirmed from the release documentation.

  • 2026.3.32

    This release bumps the package version to 2026.3.32. The only substantive code change is in the regex engine (src/_regex.c), where GIL acquisition and release logic around pattern access was modified, likely to address a crash.

  • 2026.3.31

    This release bumps the package version to 2026.3.31 and includes a small internal fix related to regex execution under the Py_GIL_DISABLED configuration. The provided release notes are empty, so the code change details must be inferred from the diff.

  • 2026.3.30

    This release appears to be a metadata version bump from 2026.3.29 to 2026.3.30. The provided release notes are missing, and the code diff shows only version string updates, with no functional logic changes.

  • 2026.3.29

    Release 2026.3.29 bumps the regex package version metadata and includes a small internal change in the C extension (src/_regex.c). The provided release notes are empty, and changelog.txt only says “Fixed bug” without describing what changed.

  • 2026.3.27

    Release 2026.3.27 includes a set of internal fixes, with the only documented theme being improved free-threading support. The code diff shows changes focused on thread-safety behavior when Py_GIL_DISABLED is enabled, plus several error-handling adjustments in the regex engine.