Changelog for pcre2-2.2.2
Changelog and Acknowledgements
2.2.1
- Fixed #26 where wide UTF-8 characters were not handled correctly.
- Docs fully updated for UTF-8 instead of UTF-16. (Docs were deleted from the 2.2.0 release.)
2.2.0
- Switched to UTF-8 to support
text2.0, implementing #22.text< 2 is no longer supported.- Changed type synonym
PCRE2_UCHARfromCUShorttoCUCharin the low-level bindings. - No API changes in the high-level bindings.
- There is a minor regression in the ability to match
\Ragainst line separators (U+2028) and paragraph separators (U+2029). See #26.
- Changed type synonym
2.1.1.1
- Updated library, tests, and docs for
mtl2.3 andmicrolens-platform0.4.3.0. Themtlpart of this is pursuant to #30.
2.1.1
- Added pattern serialization API, which fixes #23.
- Updated PCRE2 to 10.40 (no API changes).
2.1.0.1
- Explicitly required
text< 2. - Minor docs adjustments.
2.1.0
- Replaced
Proxy :: Proxy infowith 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/_regexwith 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
Showinstance forCapturesto 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
Pcre2CompileExceptionwas misplaced if the pattern contained a newline.
2.0.1
- Added
microlensas 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, andcapturesOptto offer their functionality, respectively. - Renamed
capturesAandcapturesAOpttocapturesandcapturesOpt, replacing the latter two functions altogether.captures/-Optwere 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
BadEscapeIsLiteralthere. - Removed the ineffectual options
DupNamesandUtf.
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
Alternativecontainers 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
pcreVersionstill reported "10.35" even though it in fact was using 10.36.
1.1.3
- Made in-house streaming abstraction based on
streamingand removed the latter as a dependency. - Updated PCRE2 to 10.36 (no API changes).
- Docs fixes.
1.1.2
- Refactored using the
streaminglibrary. 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
capturesOptAtocapturesAOptfor 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.