Skip to content

Latest commit

 

History

History
256 lines (180 loc) · 5.07 KB

CHANGELOG.md

File metadata and controls

256 lines (180 loc) · 5.07 KB

v0.25.0

  • Drop support for Nim < 1.6
  • Implement PCRE var flags (#137)
  • Performance improvements

v0.24.1

  • Disable utf8 regex check for arbitrary bytes (#136)

v0.24.0

  • Fix dot to match anything in ascii mode (#135)
  • Match arbitrary bytes (#134)

v0.23.0

  • Verify input is utf-8 (#131)

v0.22.0

  • Literals substring optimization (#130)
  • Refactor epsilon transitions (#129)

v0.21.0

  • Deprecated all of the APIs (except the macro one)
  • New API (issue #111)
  • Removed the "capture all group/submatch repetitions" feature. Only the last group repetition is captured.

Changes to migrate to the new API:

re"regex" -> re2"regex"
Regex -> Regex2
RegexMatch -> RegexMatch2

Then deal with group(RegexMatch2, int) and similar APIs returning the last capture group/submatch repetition instead of a sequence with all of them.

v0.20.2

  • Nim compat fixes: #119

v0.20.1

  • Nim compat fixes: #117

v0.20.0

  • Add reRepRangeLimit compile option to define range limit #113
  • Nim compat fixes: #98, #101, #110

v0.19.0

  • Adds support for unbounded lookaround assertions
  • Fix: parsing {n,m} repetitions is less strict; {}, {abc}, etc are parsed as characters. This is closer to PCRE, but it won't allow error prone instances such as missing brackets: {123.
  • Fix: double repetitions: **, ++, *+, ???, {n}*, {n}+, and other combinations are no longer allowed. The ++ PCRE hack is not allowed, as it won't work the same way anyway.

v0.18.0

  • Adds escapeRe(string): string function
  • Removed unicodeplus dependency

v0.17.1

  • Fix: regression related to repetitions, and lonely assertions; issue #83
  • Fix: make it compile with ARC; thanks to @timotheecour

v0.17.0

  • Removes macro usage for regular function APIs
  • Adds match block macro
  • Fix: sub-matches with nested optional operators (ex: (a?)*) to work the same as PCRE

v0.16.2

  • Adds findAllBounds
  • Adds some minor perf improvements

v0.16.1

  • Adds groupFirstCapture, groupLastCapture, and group(1): seq[string] for group numbers
  • Adds support for negative lookaround assertions

v0.16.0

  • Adds literals optimization to findAll, split, splitIncl, and replace; this makes some regexes run ~100x faster.
  • Support lookbehind; this is limited to one character
  • Fix: findAll ran in quadratic time for some regexes; split, splitIncl, and replace were also affected; Linear time is now guaranteed.
  • Fix: regex compilation errors were swallow due to a Nim bug; A workaround to raise the error was implemented

v0.15.0

  • Fix multiline not working with beginning of line, issue #13
  • Fix replace re"", issue #29
  • Fixes a number of issues related to empty matches in the findAll, split, and replace APIs

v0.14.1

  • Fix non-greedy find, issue #61 (v0.14.0 regression)

v0.14

  • Drop Nim 0.19.0 support (0.19.6 is supported)
  • Changed all proc to func
  • Faster macro for static regex
  • Deprecated toPattern
  • New match API that does not require the MatchRegex parameter

v0.13.1

  • Fix nested non-capturing group repetition #46
  • Remove stylecheck config #55

v0.13

  • Add groupFirstCapture, groupLastCapture, and group(1): seq[string] (thanks to @xmonader)
  • Add Nim 1.0.0 to CI
  • Drop Nim 0.18 support
  • Fix nested captures with repetition range; issue #46
  • Fix Nim sets warnings

v0.12

  • Support matching at compile-time; issue #4 (thanks to @timotheecour)

v0.11.2

  • Added isInitialized*(re: Regex)

v0.11.1

  • Fix \w not matching _ on ASCII mode
  • Fixes to support the JS backend

v0.11

  • Update to Unicode 12.1

v0.10.1

  • Fix for Nim devel (PR #34)

v0.10.0

  • Add Nim 0.18 support back

v0.9.0 (unreleased)

  • Drop Nim 0.18 support
  • Improved re API to support compile-time or run-time compilation depending on input (thanks to @timotheecour)

v0.8.0

  • Drop Nim 0.17 support
  • Add Nim 0.19 support
  • Update dependencies
  • Remove deprecated match and find returning Option[RegexMatch]

v0.7.4

  • Add splitIncl, similar to split but includes captured groups

v0.7.3

  • Fix deprecation warnings on devel

v0.7.2

  • Fixes for devel (#17)

v0.7.1

  • Update dependencies

v0.7.0

  • New API taking var RegexMatch instead of returning Option[RegexMatch]
  • Deprecate match and find returning Option[RegexMatch]
  • Update to unicode 11

v0.6.3

  • Pretty error messages

v0.6.2

  • Adds limited lookahead support
  • Improves compilation time

v0.6.1

  • Initial release