This is a major upgrade (hence the version jump). The full list of
changes that includes bugfixes and tidies is, as always, in ChangeLog,
and the new features are summarized in NEWS. The most important change
is that the pcre2_match() function has been refactored into a new
version that does not use recursive function calls (and therefore the
system stack) for remembering backtracking positions. This makes
--disable-stack-for-recursion a NOOP, and "stack overflow" errors should
be no more.
The new implementation allows backtracking into recursive group calls in
patterns, making it more compatible with Perl, and also fixes some other
previously hard-to-do issues. For patterns that have a lot of
backtracking, the heap is now used, and there is explicit limit on the
amount, settable by pcre2_set_heap_limit() or (*LIMIT_HEAP=xxx). The
"recursion limit" is retained, but is renamed as "depth limit" (though
the old names remain for compatibility). The documentation is updated (I
hope I haven't missed anything).
Please test the code and the documentation as much as possible. I would
like to put out the actual release in about a month's time.
This message was posted to the following mailing lists: