• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1News about PCRE releases
2------------------------
3
4Release 8.36 26-September-2014
5------------------------------
6
7This is primarily a bug-fix release. However, in addition, the Unicode data
8tables have been updated to Unicode 7.0.0.
9
10
11Release 8.35 04-April-2014
12--------------------------
13
14There have been performance improvements for classes containing non-ASCII
15characters and the "auto-possessification" feature has been extended. Other
16minor improvements have been implemented and bugs fixed. There is a new callout
17feature to enable applications to do detailed stack checks at compile time, to
18avoid running out of stack for deeply nested parentheses. The JIT compiler has
19been extended with experimental support for ARM-64, MIPS-64, and PPC-LE.
20
21
22Release 8.34 15-December-2013
23-----------------------------
24
25As well as fixing the inevitable bugs, performance has been improved by
26refactoring and extending the amount of "auto-possessification" that PCRE does.
27Other notable changes:
28
29.  Implemented PCRE_INFO_MATCH_EMPTY, which yields 1 if the pattern can match
30   an empty string. If it can, pcretest shows this in its information output.
31
32.  A back reference to a named subpattern when there is more than one of the
33   same name now checks them in the order in which they appear in the pattern.
34   The first one that is set is used for the reference. Previously only the
35   first one was inspected. This change makes PCRE more compatible with Perl.
36
37.  Unicode character properties were updated from Unicode 6.3.0.
38
39.  The character VT has been added to the set of characters that match \s and
40   are generally treated as white space, following this same change in Perl
41   5.18. There is now no difference between "Perl space" and "POSIX space".
42
43.  Perl has changed its handling of \8 and \9. If there is no previously
44   encountered capturing group of those numbers, they are treated as the
45   literal characters 8 and 9 instead of a binary zero followed by the
46   literals. PCRE now does the same.
47
48.  Following Perl, added \o{} to specify codepoints in octal, making it
49   possible to specify values greater than 0777 and also making them
50   unambiguous.
51
52.  In UCP mode, \s was not matching two of the characters that Perl matches,
53   namely NEL (U+0085) and MONGOLIAN VOWEL SEPARATOR (U+180E), though they
54   were matched by \h.
55
56.  Add JIT support for the 64 bit TileGX architecture.
57
58.  Upgraded the handling of the POSIX classes [:graph:], [:print:], and
59   [:punct:] when PCRE_UCP is set so as to include the same characters as Perl
60   does in Unicode mode.
61
62.  Perl no longer allows group names to start with digits, so I have made this
63   change also in PCRE.
64
65.  Added support for [[:<:]] and [[:>:]] as used in the BSD POSIX library to
66   mean "start of word" and "end of word", respectively, as a transition aid.
67
68
69Release 8.33 28-May-2013
70--------------------------
71
72A number of bugs are fixed, and some performance improvements have been made.
73There are also some new features, of which these are the most important:
74
75.  The behaviour of the backtracking verbs has been rationalized and
76   documented in more detail.
77
78.  JIT now supports callouts and all of the backtracking verbs.
79
80.  Unicode validation has been updated in the light of Unicode Corrigendum #9,
81   which points out that "non characters" are not "characters that may not
82   appear in Unicode strings" but rather "characters that are reserved for
83   internal use and have only local meaning".
84
85.  (*LIMIT_MATCH=d) and (*LIMIT_RECURSION=d) have been added so that the
86   creator of a pattern can specify lower (but not higher) limits for the
87   matching process.
88
89.  The PCRE_NEVER_UTF option is available to prevent pattern-writers from using
90   the (*UTF) feature, as this could be a security issue.
91
92
93Release 8.32 30-November-2012
94-----------------------------
95
96This release fixes a number of bugs, but also has some new features. These are
97the highlights:
98
99.  There is now support for 32-bit character strings and UTF-32. Like the
100   16-bit support, this is done by compiling a separate 32-bit library.
101
102.  \X now matches a Unicode extended grapheme cluster.
103
104.  Case-independent matching of Unicode characters that have more than one
105   "other case" now makes all three (or more) characters equivalent. This
106   applies, for example, to Greek Sigma, which has two lowercase versions.
107
108.  Unicode character properties are updated to Unicode 6.2.0.
109
110.  The EBCDIC support, which had decayed, has had a spring clean.
111
112.  A number of JIT optimizations have been added, which give faster JIT
113   execution speed. In addition, a new direct interface to JIT execution is
114   available. This bypasses some of the sanity checks of pcre_exec() to give a
115   noticeable speed-up.
116
117.  A number of issues in pcregrep have been fixed, making it more compatible
118   with GNU grep. In particular, --exclude and --include (and variants) apply
119   to all files now, not just those obtained from scanning a directory
120   recursively. In Windows environments, the default action for directories is
121   now "skip" instead of "read" (which provokes an error).
122
123.  If the --only-matching (-o) option in pcregrep is specified multiple
124   times, each one causes appropriate output. For example, -o1 -o2 outputs the
125   substrings matched by the 1st and 2nd capturing parentheses. A separating
126   string can be specified by --om-separator (default empty).
127
128.  When PCRE is built via Autotools using a version of gcc that has the
129   "visibility" feature, it is used to hide internal library functions that are
130   not part of the public API.
131
132
133Release 8.31 06-July-2012
134-------------------------
135
136This is mainly a bug-fixing release, with a small number of developments:
137
138. The JIT compiler now supports partial matching and the (*MARK) and
139  (*COMMIT) verbs.
140
141. PCRE_INFO_MAXLOOKBEHIND can be used to find the longest lookbehind in a
142  pattern.
143
144. There should be a performance improvement when using the heap instead of the
145  stack for recursion.
146
147. pcregrep can now be linked with libedit as an alternative to libreadline.
148
149. pcregrep now has a --file-list option where the list of files to scan is
150  given as a file.
151
152. pcregrep now recognizes binary files and there are related options.
153
154. The Unicode tables have been updated to 6.1.0.
155
156As always, the full list of changes is in the ChangeLog file.
157
158
159Release 8.30 04-February-2012
160-----------------------------
161
162Release 8.30 introduces a major new feature: support for 16-bit character
163strings, compiled as a separate library. There are a few changes to the
1648-bit library, in addition to some bug fixes.
165
166. The pcre_info() function, which has been obsolete for over 10 years, has
167  been removed.
168
169. When a compiled pattern was saved to a file and later reloaded on a host
170  with different endianness, PCRE used automatically to swap the bytes in some
171  of the data fields. With the advent of the 16-bit library, where more of this
172  swapping is needed, it is no longer done automatically. Instead, the bad
173  endianness is detected and a specific error is given. The user can then call
174  a new function called pcre_pattern_to_host_byte_order() (or an equivalent
175  16-bit function) to do the swap.
176
177. In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode
178  code points and are now faulted. (They are the so-called "surrogates"
179  that are reserved for coding high values in UTF-16.)
180
181
182Release 8.21 12-Dec-2011
183------------------------
184
185This is almost entirely a bug-fix release. The only new feature is the ability
186to obtain the size of the memory used by the JIT compiler.
187
188
189Release 8.20 21-Oct-2011
190------------------------
191
192The main change in this release is the inclusion of Zoltan Herczeg's
193just-in-time compiler support, which can be accessed by building PCRE with
194--enable-jit. Large performance benefits can be had in many situations. 8.20
195also fixes an unfortunate bug that was introduced in 8.13 as well as tidying up
196a number of infelicities and differences from Perl.
197
198
199Release 8.13 16-Aug-2011
200------------------------
201
202This is mainly a bug-fix release. There has been a lot of internal refactoring.
203The Unicode tables have been updated. The only new feature in the library is
204the passing of *MARK information to callouts. Some additions have been made to
205pcretest to make testing easier and more comprehensive. There is a new option
206for pcregrep to adjust its internal buffer size.
207
208
209Release 8.12 15-Jan-2011
210------------------------
211
212This release fixes some bugs in pcregrep, one of which caused the tests to fail
213on 64-bit big-endian systems. There are no changes to the code of the library.
214
215
216Release 8.11 10-Dec-2010
217------------------------
218
219A number of bugs in the library and in pcregrep have been fixed. As always, see
220ChangeLog for details. The following are the non-bug-fix changes:
221
222. Added --match-limit and --recursion-limit to pcregrep.
223
224. Added an optional parentheses number to the -o and --only-matching options
225  of pcregrep.
226
227. Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and
228  \B.
229
230. Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a
231  bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD.
232
233. Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_
234  START_OPTIMIZE option, which is now allowed at compile time
235
236
237Release 8.10 25-Jun-2010
238------------------------
239
240There are two major additions: support for (*MARK) and friends, and the option
241PCRE_UCP, which changes the behaviour of \b, \d, \s, and \w (and their
242opposites) so that they make use of Unicode properties. There are also a number
243of lesser new features, and several bugs have been fixed. A new option,
244--line-buffered, has been added to pcregrep, for use when it is connected to
245pipes.
246
247
248Release 8.02 19-Mar-2010
249------------------------
250
251Another bug-fix release.
252
253
254Release 8.01 19-Jan-2010
255------------------------
256
257This is a bug-fix release. Several bugs in the code itself and some bugs and
258infelicities in the build system have been fixed.
259
260
261Release 8.00 19-Oct-09
262----------------------
263
264Bugs have been fixed in the library and in pcregrep. There are also some
265enhancements. Restrictions on patterns used for partial matching have been
266removed, extra information is given for partial matches, the partial matching
267process has been improved, and an option to make a partial match override a
268full match is available. The "study" process has been enhanced by finding a
269lower bound matching length. Groups with duplicate numbers may now have
270duplicated names without the use of PCRE_DUPNAMES. However, they may not have
271different names. The documentation has been revised to reflect these changes.
272The version number has been expanded to 3 digits as it is clear that the rate
273of change is not slowing down.
274
275
276Release 7.9 11-Apr-09
277---------------------
278
279Mostly bugfixes and tidies with just a couple of minor functional additions.
280
281
282Release 7.8 05-Sep-08
283---------------------
284
285More bug fixes, plus a performance improvement in Unicode character property
286lookup.
287
288
289Release 7.7 07-May-08
290---------------------
291
292This is once again mainly a bug-fix release, but there are a couple of new
293features.
294
295
296Release 7.6 28-Jan-08
297---------------------
298
299The main reason for having this release so soon after 7.5 is because it fixes a
300potential buffer overflow problem in pcre_compile() when run in UTF-8 mode. In
301addition, the CMake configuration files have been brought up to date.
302
303
304Release 7.5 10-Jan-08
305---------------------
306
307This is mainly a bug-fix release. However the ability to link pcregrep with
308libz or libbz2 and the ability to link pcretest with libreadline have been
309added. Also the --line-offsets and --file-offsets options were added to
310pcregrep.
311
312
313Release 7.4 21-Sep-07
314---------------------
315
316The only change of specification is the addition of options to control whether
317\R matches any Unicode line ending (the default) or just CR, LF, and CRLF.
318Otherwise, the changes are bug fixes and a refactoring to reduce the number of
319relocations needed in a shared library. There have also been some documentation
320updates, in particular, some more information about using CMake to build PCRE
321has been added to the NON-UNIX-USE file.
322
323
324Release 7.3 28-Aug-07
325---------------------
326
327Most changes are bug fixes. Some that are not:
328
3291. There is some support for Perl 5.10's experimental "backtracking control
330   verbs" such as (*PRUNE).
331
3322. UTF-8 checking is now as per RFC 3629 instead of RFC 2279; this is more
333   restrictive in the strings it accepts.
334
3353. Checking for potential integer overflow has been made more dynamic, and as a
336   consequence there is no longer a hard limit on the size of a subpattern that
337   has a limited repeat count.
338
3394. When CRLF is a valid line-ending sequence, pcre_exec() and pcre_dfa_exec()
340   no longer advance by two characters instead of one when an unanchored match
341   fails at CRLF if there are explicit CR or LF matches within the pattern.
342   This gets rid of some anomalous effects that previously occurred.
343
3445. Some PCRE-specific settings for varying the newline options at the start of
345   a pattern have been added.
346
347
348Release 7.2 19-Jun-07
349---------------------
350
351WARNING: saved patterns that were compiled by earlier versions of PCRE must be
352recompiled for use with 7.2 (necessitated by the addition of \K, \h, \H, \v,
353and \V).
354
355Correction to the notes for 7.1: the note about shared libraries for Windows is
356wrong. Previously, three libraries were built, but each could function
357independently. For example, the pcreposix library also included all the
358functions from the basic pcre library. The change is that the three libraries
359are no longer independent. They are like the Unix libraries. To use the
360pcreposix functions, for example, you need to link with both the pcreposix and
361the basic pcre library.
362
363Some more features from Perl 5.10 have been added:
364
365  (?-n) and (?+n) relative references for recursion and subroutines.
366
367  (?(-n) and (?(+n) relative references as conditions.
368
369  \k{name} and \g{name} are synonyms for \k<name>.
370
371  \K to reset the start of the matched string; for example, (foo)\Kbar
372  matches bar preceded by foo, but only sets bar as the matched string.
373
374  (?| introduces a group where the capturing parentheses in each alternative
375  start from the same number; for example, (?|(abc)|(xyz)) sets capturing
376  parentheses number 1 in both cases.
377
378  \h, \H, \v, \V match horizontal and vertical whitespace, respectively.
379
380
381Release 7.1 24-Apr-07
382---------------------
383
384There is only one new feature in this release: a linebreak setting of
385PCRE_NEWLINE_ANYCRLF. It is a cut-down version of PCRE_NEWLINE_ANY, which
386recognizes only CRLF, CR, and LF as linebreaks.
387
388A few bugs are fixed (see ChangeLog for details), but the major change is a
389complete re-implementation of the build system. This now has full Autotools
390support and so is now "standard" in some sense. It should help with compiling
391PCRE in a wide variety of environments.
392
393NOTE: when building shared libraries for Windows, three dlls are now built,
394called libpcre, libpcreposix, and libpcrecpp. Previously, everything was
395included in a single dll.
396
397Another important change is that the dftables auxiliary program is no longer
398compiled and run at "make" time by default. Instead, a default set of character
399tables (assuming ASCII coding) is used. If you want to use dftables to generate
400the character tables as previously, add --enable-rebuild-chartables to the
401"configure" command. You must do this if you are compiling PCRE to run on a
402system that uses EBCDIC code.
403
404There is a discussion about character tables in the README file. The default is
405not to use dftables so that that there is no problem when cross-compiling.
406
407
408Release 7.0 19-Dec-06
409---------------------
410
411This release has a new major number because there have been some internal
412upheavals to facilitate the addition of new optimizations and other facilities,
413and to make subsequent maintenance and extension easier. Compilation is likely
414to be a bit slower, but there should be no major effect on runtime performance.
415Previously compiled patterns are NOT upwards compatible with this release. If
416you have saved compiled patterns from a previous release, you will have to
417re-compile them. Important changes that are visible to users are:
418
4191. The Unicode property tables have been updated to Unicode 5.0.0, which adds
420   some more scripts.
421
4222. The option PCRE_NEWLINE_ANY causes PCRE to recognize any Unicode newline
423   sequence as a newline.
424
4253. The \R escape matches a single Unicode newline sequence as a single unit.
426
4274. New features that will appear in Perl 5.10 are now in PCRE. These include
428   alternative Perl syntax for named parentheses, and Perl syntax for
429   recursion.
430
4315. The C++ wrapper interface has been extended by the addition of a
432   QuoteMeta function and the ability to allow copy construction and
433   assignment.
434
435For a complete list of changes, see the ChangeLog file.
436
437
438Release 6.7 04-Jul-06
439---------------------
440
441The main additions to this release are the ability to use the same name for
442multiple sets of parentheses, and support for CRLF line endings in both the
443library and pcregrep (and in pcretest for testing).
444
445Thanks to Ian Taylor, the stack usage for many kinds of pattern has been
446significantly reduced for certain subject strings.
447
448
449Release 6.5 01-Feb-06
450---------------------
451
452Important changes in this release:
453
4541. A number of new features have been added to pcregrep.
455
4562. The Unicode property tables have been updated to Unicode 4.1.0, and the
457   supported properties have been extended with script names such as "Arabic",
458   and the derived properties "Any" and "L&". This has necessitated a change to
459   the interal format of compiled patterns. Any saved compiled patterns that
460   use \p or \P must be recompiled.
461
4623. The specification of recursion in patterns has been changed so that all
463   recursive subpatterns are automatically treated as atomic groups. Thus, for
464   example, (?R) is treated as if it were (?>(?R)). This is necessary because
465   otherwise there are situations where recursion does not work.
466
467See the ChangeLog for a complete list of changes, which include a number of bug
468fixes and tidies.
469
470
471Release 6.0 07-Jun-05
472---------------------
473
474The release number has been increased to 6.0 because of the addition of several
475major new pieces of functionality.
476
477A new function, pcre_dfa_exec(), which implements pattern matching using a DFA
478algorithm, has been added. This has a number of advantages for certain cases,
479though it does run more slowly, and lacks the ability to capture substrings. On
480the other hand, it does find all matches, not just the first, and it works
481better for partial matching. The pcrematching man page discusses the
482differences.
483
484The pcretest program has been enhanced so that it can make use of the new
485pcre_dfa_exec() matching function and the extra features it provides.
486
487The distribution now includes a C++ wrapper library. This is built
488automatically if a C++ compiler is found. The pcrecpp man page discusses this
489interface.
490
491The code itself has been re-organized into many more files, one for each
492function, so it no longer requires everything to be linked in when static
493linkage is used. As a consequence, some internal functions have had to have
494their names exposed. These functions all have names starting with _pcre_. They
495are undocumented, and are not intended for use by outside callers.
496
497The pcregrep program has been enhanced with new functionality such as
498multiline-matching and options for output more matching context. See the
499ChangeLog for a complete list of changes to the library and the utility
500programs.
501
502
503Release 5.0 13-Sep-04
504---------------------
505
506The licence under which PCRE is released has been changed to the more
507conventional "BSD" licence.
508
509In the code, some bugs have been fixed, and there are also some major changes
510in this release (which is why I've increased the number to 5.0). Some changes
511are internal rearrangements, and some provide a number of new facilities. The
512new features are:
513
5141. There's an "automatic callout" feature that inserts callouts before every
515   item in the regex, and there's a new callout field that gives the position
516   in the pattern - useful for debugging and tracing.
517
5182. The extra_data structure can now be used to pass in a set of character
519   tables at exec time. This is useful if compiled regex are saved and re-used
520   at a later time when the tables may not be at the same address. If the
521   default internal tables are used, the pointer saved with the compiled
522   pattern is now set to NULL, which means that you don't need to do anything
523   special unless you are using custom tables.
524
5253. It is possible, with some restrictions on the content of the regex, to
526   request "partial" matching. A special return code is given if all of the
527   subject string matched part of the regex. This could be useful for testing
528   an input field as it is being typed.
529
5304. There is now some optional support for Unicode character properties, which
531   means that the patterns items such as \p{Lu} and \X can now be used. Only
532   the general category properties are supported. If PCRE is compiled with this
533   support, an additional 90K data structure is include, which increases the
534   size of the library dramatically.
535
5365. There is support for saving compiled patterns and re-using them later.
537
5386. There is support for running regular expressions that were compiled on a
539   different host with the opposite endianness.
540
5417. The pcretest program has been extended to accommodate the new features.
542
543The main internal rearrangement is that sequences of literal characters are no
544longer handled as strings. Instead, each character is handled on its own. This
545makes some UTF-8 handling easier, and makes the support of partial matching
546possible. Compiled patterns containing long literal strings will be larger as a
547result of this change; I hope that performance will not be much affected.
548
549
550Release 4.5 01-Dec-03
551---------------------
552
553Again mainly a bug-fix and tidying release, with only a couple of new features:
554
5551. It's possible now to compile PCRE so that it does not use recursive
556function calls when matching. Instead it gets memory from the heap. This slows
557things down, but may be necessary on systems with limited stacks.
558
5592. UTF-8 string checking has been tightened to reject overlong sequences and to
560check that a starting offset points to the start of a character. Failure of the
561latter returns a new error code: PCRE_ERROR_BADUTF8_OFFSET.
562
5633. PCRE can now be compiled for systems that use EBCDIC code.
564
565
566Release 4.4 21-Aug-03
567---------------------
568
569This is mainly a bug-fix and tidying release. The only new feature is that PCRE
570checks UTF-8 strings for validity by default. There is an option to suppress
571this, just in case anybody wants that teeny extra bit of performance.
572
573
574Releases 4.1 - 4.3
575------------------
576
577Sorry, I forgot about updating the NEWS file for these releases. Please take a
578look at ChangeLog.
579
580
581Release 4.0 17-Feb-03
582---------------------
583
584There have been a lot of changes for the 4.0 release, adding additional
585functionality and mending bugs. Below is a list of the highlights of the new
586functionality. For full details of these features, please consult the
587documentation. For a complete list of changes, see the ChangeLog file.
588
5891. Support for Perl's \Q...\E escapes.
590
5912. "Possessive quantifiers" ?+, *+, ++, and {,}+ which come from Sun's Java
592package. They provide some syntactic sugar for simple cases of "atomic
593grouping".
594
5953. Support for the \G assertion. It is true when the current matching position
596is at the start point of the match.
597
5984. A new feature that provides some of the functionality that Perl provides
599with (?{...}). The facility is termed a "callout". The way it is done in PCRE
600is for the caller to provide an optional function, by setting pcre_callout to
601its entry point. To get the function called, the regex must include (?C) at
602appropriate points.
603
6045. Support for recursive calls to individual subpatterns. This makes it really
605easy to get totally confused.
606
6076. Support for named subpatterns. The Python syntax (?P<name>...) is used to
608name a group.
609
6107. Several extensions to UTF-8 support; it is now fairly complete. There is an
611option for pcregrep to make it operate in UTF-8 mode.
612
6138. The single man page has been split into a number of separate man pages.
614These also give rise to individual HTML pages which are put in a separate
615directory. There is an index.html page that lists them all. Some hyperlinking
616between the pages has been installed.
617
618
619Release 3.5 15-Aug-01
620---------------------
621
6221. The configuring system has been upgraded to use later versions of autoconf
623and libtool. By default it builds both a shared and a static library if the OS
624supports it. You can use --disable-shared or --disable-static on the configure
625command if you want only one of them.
626
6272. The pcretest utility is now installed along with pcregrep because it is
628useful for users (to test regexs) and by doing this, it automatically gets
629relinked by libtool. The documentation has been turned into a man page, so
630there are now .1, .txt, and .html versions in /doc.
631
6323. Upgrades to pcregrep:
633   (i)   Added long-form option names like gnu grep.
634   (ii)  Added --help to list all options with an explanatory phrase.
635   (iii) Added -r, --recursive to recurse into sub-directories.
636   (iv)  Added -f, --file to read patterns from a file.
637
6384. Added --enable-newline-is-cr and --enable-newline-is-lf to the configure
639script, to force use of CR or LF instead of \n in the source. On non-Unix
640systems, the value can be set in config.h.
641
6425. The limit of 200 on non-capturing parentheses is a _nesting_ limit, not an
643absolute limit. Changed the text of the error message to make this clear, and
644likewise updated the man page.
645
6466. The limit of 99 on the number of capturing subpatterns has been removed.
647The new limit is 65535, which I hope will not be a "real" limit.
648
649
650Release 3.3 01-Aug-00
651---------------------
652
653There is some support for UTF-8 character strings. This is incomplete and
654experimental. The documentation describes what is and what is not implemented.
655Otherwise, this is just a bug-fixing release.
656
657
658Release 3.0 01-Feb-00
659---------------------
660
6611. A "configure" script is now used to configure PCRE for Unix systems. It
662builds a Makefile, a config.h file, and the pcre-config script.
663
6642. PCRE is built as a shared library by default.
665
6663. There is support for POSIX classes such as [:alpha:].
667
6685. There is an experimental recursion feature.
669
670----------------------------------------------------------------------------
671          IMPORTANT FOR THOSE UPGRADING FROM VERSIONS BEFORE 2.00
672
673Please note that there has been a change in the API such that a larger
674ovector is required at matching time, to provide some additional workspace.
675The new man page has details. This change was necessary in order to support
676some of the new functionality in Perl 5.005.
677
678          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.00
679
680Another (I hope this is the last!) change has been made to the API for the
681pcre_compile() function. An additional argument has been added to make it
682possible to pass over a pointer to character tables built in the current
683locale by pcre_maketables(). To use the default tables, this new argument
684should be passed as NULL.
685
686          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05
687
688Yet another (and again I hope this really is the last) change has been made
689to the API for the pcre_exec() function. An additional argument has been
690added to make it possible to start the match other than at the start of the
691subject string. This is important if there are lookbehinds. The new man
692page has the details, but you just want to convert existing programs, all
693you need to do is to stick in a new fifth argument to pcre_exec(), with a
694value of zero. For example, change
695
696  pcre_exec(pattern, extra, subject, length, options, ovec, ovecsize)
697to
698  pcre_exec(pattern, extra, subject, length, 0, options, ovec, ovecsize)
699
700****
701