/[pcre]/code/trunk/NEWS
ViewVC logotype

Contents of /code/trunk/NEWS

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:eol-style native
svn:keywords "Author Date Id Revision Url"

  ViewVC Help
Powered by ViewVC 1.1.5