Changelog for pcre2-2.1.0.1
Changelog and Acknowledgements
2.1.0.1
- Explicitly required
text
< 2. - Minor docs adjustments.
2.1.0
- Replaced
Proxy :: Proxy info
with type applications in splices fromregex
/_regex
. This significantly shortens the splices, producing nicer error messages. As a very minor consequence, we now require the user to turn on{-# LANGUAGE TypeApplications #-}
when usingregex
/_regex
with patterns with parenthesized captures, even when not usingcapture
/_capture
.
2.0.5
- Enabled PCRE2's built-in Unicode support, which fixes #21.
2.0.4
- Added
Show
instance forCaptures
to ease debugging user code.
2.0.3
- Updated PCRE2 to 10.39 (no API changes). The C sources are now drawn from https://github.com/PhilipHazel/pcre2, which fixes #10.
2.0.2
- Fixed a minor issue where the caret indicating pattern location of a
Pcre2CompileException
was misplaced if the pattern contained a newline.
2.0.1
- Added
microlens
as a dependency to improve Haddock docs (Traversal'
et al. are clickable) and relieve maintenance burden somewhat. - Moderate refactoring of internals.
2.0.0
This release introduces significant breaking changes in order to make the API smaller, more consistent, and safer.
- Implemented #18:
- Removed
matchAll
,matchAllOpt
,capturesAll
, andcapturesAllOpt
. - Upgraded
match
,matchOpt
,captures
, andcapturesOpt
to offer their functionality, respectively. - Renamed
capturesA
andcapturesAOpt
tocaptures
andcapturesOpt
, replacing the latter two functions altogether.captures
/-Opt
were intended to be extreme convenience functions that required no special datatypes beyond thePrelude
. However, this was of doubtful benefit, since that's false anyway—they requiredText
, not to mention{-# LANGUAGE OverloadedStrings #-}
. Their names are simple and valuable, and no otherAlternative
-producing function has the naming convention "-A
", so repurposing their names was in order.
- Removed
- Moved the callout interface to a new module,
Text.Regex.Pcre2.Unsafe
. This includes the optionsUnsafeCompileRecGuard
,UnsafeCallout
,UnsafeSubCallout
, andAutoCallout
, and the typesCalloutInfo
,CalloutIndex
,CalloutResult
,SubCalloutInfo
, andSubCalloutResult
. - Also moved option
BadEscapeIsLiteral
there. - Removed the ineffectual options
DupNames
andUtf
.
Other improvements with no API impact:
- Updated PCRE2 to 10.37.
- Replaced copied C files with symlinks, diminishing codebase by 1.5K lines and simplifying future PCRE2 updates.
- Reduced size of Template Haskell splices to make error messages less obnoxious.
- Moderate refactoring of internals and documentation.
1.1.5
- Fixed #17, where functions
returning
Alternative
containers were not restricted to single results despite their documentation. - Minor improvements to docs and examples.
1.1.4
- Fixed some incorrect foreign imports' safety.
1.1.3.1
- Fixed a very minor issue where
pcreVersion
still reported "10.35" even though it in fact was using 10.36.
1.1.3
- Made in-house streaming abstraction based on
streaming
and removed the latter as a dependency. - Updated PCRE2 to 10.36 (no API changes).
- Docs fixes.
1.1.2
- Refactored using the
streaming
library. Fixed #11, where large global matches were very slow.
1.1.1
- Fixed #12, where some functions returned too many match results.
1.1.0
- Added global matching.
- New functions
matchAll
,matchAllOpt
,capturesAll
,capturesAllOpt
. - Changed all traversals from affine to non-affine.
- New functions
- Changed
capturesOptA
tocapturesAOpt
for naming consistency.
1.0.2
- Fixed #4, where multiple named captures were not type-indexed correctly.
- Established automated builds using Github Workflows. Thanks amesgen!
1.0.1.1
- Temporarily eliminate all dependency version bounds to get it building on Hackage.
1.0.1
- Fixed #1, where building on Windows would succeed but not run. Thanks Andrew!
- Try to adjust dependency version bounds to get it building on Hackage. Thanks snoyberg!
1.0.0
- Initial release.