|
|
| version 1.5, 2011/02/01 05:03:41 | version 1.7, 2013/10/18 01:06:35 |
|---|---|
| Line 1 | Line 1 |
| News about PCRE releases | News about PCRE releases |
| ------------------------ | ------------------------ |
| Release 8.33 28-May-2013 | |
| -------------------------- | |
| A number of bugs are fixed, and some performance improvements have been made. | |
| There are also some new features, of which these are the most important: | |
| . The behaviour of the backtracking verbs has been rationalized and | |
| documented in more detail. | |
| . JIT now supports callouts and all of the backtracking verbs. | |
| . Unicode validation has been updated in the light of Unicode Corrigendum #9, | |
| which points out that "non characters" are not "characters that may not | |
| appear in Unicode strings" but rather "characters that are reserved for | |
| internal use and have only local meaning". | |
| . (*LIMIT_MATCH=d) and (*LIMIT_RECURSION=d) have been added so that the | |
| creator of a pattern can specify lower (but not higher) limits for the | |
| matching process. | |
| . The PCRE_NEVER_UTF option is available to prevent pattern-writers from using | |
| the (*UTF) feature, as this could be a security issue. | |
| Release 8.32 30-November-2012 | |
| ----------------------------- | |
| This release fixes a number of bugs, but also has some new features. These are | |
| the highlights: | |
| . There is now support for 32-bit character strings and UTF-32. Like the | |
| 16-bit support, this is done by compiling a separate 32-bit library. | |
| . \X now matches a Unicode extended grapheme cluster. | |
| . Case-independent matching of Unicode characters that have more than one | |
| "other case" now makes all three (or more) characters equivalent. This | |
| applies, for example, to Greek Sigma, which has two lowercase versions. | |
| . Unicode character properties are updated to Unicode 6.2.0. | |
| . The EBCDIC support, which had decayed, has had a spring clean. | |
| . A number of JIT optimizations have been added, which give faster JIT | |
| execution speed. In addition, a new direct interface to JIT execution is | |
| available. This bypasses some of the sanity checks of pcre_exec() to give a | |
| noticeable speed-up. | |
| . A number of issues in pcregrep have been fixed, making it more compatible | |
| with GNU grep. In particular, --exclude and --include (and variants) apply | |
| to all files now, not just those obtained from scanning a directory | |
| recursively. In Windows environments, the default action for directories is | |
| now "skip" instead of "read" (which provokes an error). | |
| . If the --only-matching (-o) option in pcregrep is specified multiple | |
| times, each one causes appropriate output. For example, -o1 -o2 outputs the | |
| substrings matched by the 1st and 2nd capturing parentheses. A separating | |
| string can be specified by --om-separator (default empty). | |
| . When PCRE is built via Autotools using a version of gcc that has the | |
| "visibility" feature, it is used to hide internal library functions that are | |
| not part of the public API. | |
| Release 8.31 06-July-2012 | |
| ------------------------- | |
| This is mainly a bug-fixing release, with a small number of developments: | |
| . The JIT compiler now supports partial matching and the (*MARK) and | |
| (*COMMIT) verbs. | |
| . PCRE_INFO_MAXLOOKBEHIND can be used to find the longest lookbehind in a | |
| pattern. | |
| . There should be a performance improvement when using the heap instead of the | |
| stack for recursion. | |
| . pcregrep can now be linked with libedit as an alternative to libreadline. | |
| . pcregrep now has a --file-list option where the list of files to scan is | |
| given as a file. | |
| . pcregrep now recognizes binary files and there are related options. | |
| . The Unicode tables have been updated to 6.1.0. | |
| As always, the full list of changes is in the ChangeLog file. | |
| Release 8.30 04-February-2012 | |
| ----------------------------- | |
| Release 8.30 introduces a major new feature: support for 16-bit character | |
| strings, compiled as a separate library. There are a few changes to the | |
| 8-bit library, in addition to some bug fixes. | |
| . The pcre_info() function, which has been obsolete for over 10 years, has | |
| been removed. | |
| . When a compiled pattern was saved to a file and later reloaded on a host | |
| with different endianness, PCRE used automatically to swap the bytes in some | |
| of the data fields. With the advent of the 16-bit library, where more of this | |
| swapping is needed, it is no longer done automatically. Instead, the bad | |
| endianness is detected and a specific error is given. The user can then call | |
| a new function called pcre_pattern_to_host_byte_order() (or an equivalent | |
| 16-bit function) to do the swap. | |
| . In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode | |
| code points and are now faulted. (They are the so-called "surrogates" | |
| that are reserved for coding high values in UTF-16.) | |
| Release 8.21 12-Dec-2011 | |
| ------------------------ | |
| This is almost entirely a bug-fix release. The only new feature is the ability | |
| to obtain the size of the memory used by the JIT compiler. | |
| Release 8.20 21-Oct-2011 | |
| ------------------------ | |
| The main change in this release is the inclusion of Zoltan Herczeg's | |
| just-in-time compiler support, which can be accessed by building PCRE with | |
| --enable-jit. Large performance benefits can be had in many situations. 8.20 | |
| also fixes an unfortunate bug that was introduced in 8.13 as well as tidying up | |
| a number of infelicities and differences from Perl. | |
| Release 8.13 16-Aug-2011 | |
| ------------------------ | |
| This is mainly a bug-fix release. There has been a lot of internal refactoring. | |
| The Unicode tables have been updated. The only new feature in the library is | |
| the passing of *MARK information to callouts. Some additions have been made to | |
| pcretest to make testing easier and more comprehensive. There is a new option | |
| for pcregrep to adjust its internal buffer size. | |
| Release 8.12 15-Jan-2011 | Release 8.12 15-Jan-2011 |
| ------------------------ | ------------------------ |
| Line 475 some of the new functionality in Perl 5. | Line 615 some of the new functionality in Perl 5. |
| Another (I hope this is the last!) change has been made to the API for the | Another (I hope this is the last!) change has been made to the API for the |
| pcre_compile() function. An additional argument has been added to make it | pcre_compile() function. An additional argument has been added to make it |
| possible to pass over a pointer to character tables built in the current | possible to pass over a pointer to character tables built in the current |
| locale by pcre_maketables(). To use the default tables, this new arguement | locale by pcre_maketables(). To use the default tables, this new argument |
| should be passed as NULL. | should be passed as NULL. |
| IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05 | IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05 |