|
1 |
| -TBD |
2 |
| -=== |
| 1 | +1.10.0 (2023-10-09) |
| 2 | +=================== |
| 3 | +This is a new minor release of `regex` that adds support for start and end |
| 4 | +word boundary assertions. That is, `\<` and `\>`. The minimum supported Rust |
| 5 | +version has also been raised to 1.65, which was released about one year ago. |
| 6 | + |
| 7 | +The new word boundary assertions are: |
| 8 | + |
| 9 | +* `\<` or `\b{start}`: a Unicode start-of-word boundary (`\W|\A` on the left, |
| 10 | +`\w` on the right). |
| 11 | +* `\>` or `\b{end}`: a Unicode end-of-word boundary (`\w` on the left, `\W|\z` |
| 12 | +on the right)). |
| 13 | +* `\b{start-half}`: half of a Unicode start-of-word boundary (`\W|\A` on the |
| 14 | +left). |
| 15 | +* `\b{end-half}`: half of a Unicode end-of-word boundary (`\W|\z` on the |
| 16 | +right). |
| 17 | + |
| 18 | +The `\<` and `\>` are GNU extensions to POSIX regexes. They have been added |
| 19 | +to the `regex` crate because they enjoy somewhat broad support in other regex |
| 20 | +engines as well (for example, vim). The `\b{start}` and `\b{end}` assertions |
| 21 | +are aliases for `\<` and `\>`, respectively. |
| 22 | + |
| 23 | +The `\b{start-half}` and `\b{end-half}` assertions are not found in any |
| 24 | +other regex engine (although regex engines with general look-around support |
| 25 | +can certainly express them). They were added principally to support the |
| 26 | +implementation of word matching in grep programs, where one generally wants to |
| 27 | +be a bit more flexible in what is considered a word boundary. |
3 | 28 |
|
4 | 29 | New features:
|
5 | 30 |
|
@@ -27,6 +52,29 @@ crate).
|
27 | 52 | Remove guarantees in the API that connect the `u` flag with a specific HIR
|
28 | 53 | representation.
|
29 | 54 |
|
| 55 | +`regex-automata` breaking change release: |
| 56 | + |
| 57 | +This release includes a `regex-automata 0.4.0` breaking change release, which |
| 58 | +was necessary in order to support the new word boundary assertions. For |
| 59 | +example, the `Look` enum has new variants and the `LookSet` type now uses `u32` |
| 60 | +instead of `u16` to represent a bitset of look-around assertions. These are |
| 61 | +overall very minor changes, and most users of `regex-automata` should be able |
| 62 | +to move to `0.4` from `0.3` without any changes at all. |
| 63 | + |
| 64 | +`regex-syntax` breaking change release: |
| 65 | + |
| 66 | +This release also includes a `regex-syntax 0.8.0` breaking change release, |
| 67 | +which, like `regex-automata`, was necessary in order to support the new word |
| 68 | +boundary assertions. This release also includes some changes to the `Ast` |
| 69 | +type to reduce heap usage in some cases. If you are using the `Ast` type |
| 70 | +directly, your code may require some minor modifications. Otherwise, users of |
| 71 | +`regex-syntax 0.7` should be able to migrate to `0.8` without any code changes. |
| 72 | + |
| 73 | +`regex-lite` release: |
| 74 | + |
| 75 | +The `regex-lite 0.1.1` release contains support for the new word boundary |
| 76 | +assertions. There are no breaking changes. |
| 77 | + |
30 | 78 |
|
31 | 79 | 1.9.6 (2023-09-30)
|
32 | 80 | ==================
|
|
0 commit comments