This release fixes a pretty major bugs surrounding the behaviour of optional groups. It's unlikely but still possible that the change to grouping behaviour has changed the behaviour of your application, but most likely it just fixed some bugs you didn't know you had yet...
- Handle optional or alternated groups like
pcre-heavy
. This may change group behaviour on regular expressions which had groups with optional groups. E.g.:A(x)?(B)
(A)|(B)|(C)
- Switch
groups
fromIndexedTraversal'
toIndexedLens'
. Since all lenses are valid traversals this shouldn't cause any breakages. - Add
namedGroups
andnamedGroup
- Add
regexing
andmakeRegexTraversalQQ
- Replace
regex
traversal maker withregex
QuasiQuoter - Split Control.Lens.Regex into Control.Lens.Regex.Text and Control.Lens.Regex.ByteString
- Move regexBS to
Control.Lens.Regex.ByteString.regex
- Change whole implementation to use ByteString Builders for a massive speedup
- Monomorphise
Match text
->Match
- Add groups to index of
match
and match to index ofgroups
&group
- Add
group = groups . ix n
for accessing a single group.
- Match -> Match text
- Added regexBS to run regex on ByteStrings directly
- Unify
iregex
intoregex
as a single indexed traversal
- Unify
grouped
,groups
, andigroups
into justgroups
with optional traversal
- Adds
grouped
andmatchAndGroups
- Doc fixes
- Initial Release