regex v1.2.1 Release Notes

Release Date: 2019-08-03 // 10 months ago
  • 🚀 This release does a bit of house cleaning. Namely:

    • This repository is now using rustfmt.
    • 🚚 License headers have been removed from all files, in following suit with the Rust project.
    • 🚚 Teddy has been removed from the regex crate, and is now part of the aho-corasick crate. See aho-corasick's new packed sub-module for details.
    • 🗄 The utf8-ranges crate has been deprecated, with its functionality moving into the utf8 sub-module of regex-syntax.
    • The ucd-util dependency has been dropped, in favor of implementing what little we need inside of regex-syntax itself.

    In general, this is part of an ongoing (long term) effort to make optimizations in the regex engine easier to reason about. The current code is too convoluted and thus it is very easy to introduce new bugs. This simplification effort is the primary motivation behind re-working the aho-corasick crate to not only bundle algorithms like Teddy, but to also provide regex-like match semantics automatically.

    Moving forward, the plan is to join up with the bstr and regex-automata crates, with the former providing more sophisticated substring search algorithms (thereby deleting existing code in regex) and the latter providing ahead-of-time compiled DFAs for cases where they are inexpensive to compute.