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

Diff of /code/trunk/NEWS

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 309 by ph10, Mon Jan 21 15:22:09 2008 UTC revision 1548 by ph10, Tue Apr 14 17:02:30 2015 UTC
# Line 1  Line 1 
1  News about PCRE releases  News about PCRE releases
2  ------------------------  ------------------------
3    
4  Release 7.6 21-Jan-08  Release 8.37 14-April-2015
5    --------------------------
6    
7    This is bug-fix release. Note that this library (now called PCRE1) is now being
8    maintained for bug fixes only. New projects are advised to use the new PCRE2
9    libraries.
10    
11    
12    Release 8.36 26-September-2014
13    ------------------------------
14    
15    This is primarily a bug-fix release. However, in addition, the Unicode data
16    tables have been updated to Unicode 7.0.0.
17    
18    
19    Release 8.35 04-April-2014
20    --------------------------
21    
22    There have been performance improvements for classes containing non-ASCII
23    characters and the "auto-possessification" feature has been extended. Other
24    minor improvements have been implemented and bugs fixed. There is a new callout
25    feature to enable applications to do detailed stack checks at compile time, to
26    avoid running out of stack for deeply nested parentheses. The JIT compiler has
27    been extended with experimental support for ARM-64, MIPS-64, and PPC-LE.
28    
29    
30    Release 8.34 15-December-2013
31    -----------------------------
32    
33    As well as fixing the inevitable bugs, performance has been improved by
34    refactoring and extending the amount of "auto-possessification" that PCRE does.
35    Other notable changes:
36    
37    .  Implemented PCRE_INFO_MATCH_EMPTY, which yields 1 if the pattern can match
38       an empty string. If it can, pcretest shows this in its information output.
39    
40    .  A back reference to a named subpattern when there is more than one of the
41       same name now checks them in the order in which they appear in the pattern.
42       The first one that is set is used for the reference. Previously only the
43       first one was inspected. This change makes PCRE more compatible with Perl.
44    
45    .  Unicode character properties were updated from Unicode 6.3.0.
46    
47    .  The character VT has been added to the set of characters that match \s and
48       are generally treated as white space, following this same change in Perl
49       5.18. There is now no difference between "Perl space" and "POSIX space".
50    
51    .  Perl has changed its handling of \8 and \9. If there is no previously
52       encountered capturing group of those numbers, they are treated as the
53       literal characters 8 and 9 instead of a binary zero followed by the
54       literals. PCRE now does the same.
55    
56    .  Following Perl, added \o{} to specify codepoints in octal, making it
57       possible to specify values greater than 0777 and also making them
58       unambiguous.
59    
60    .  In UCP mode, \s was not matching two of the characters that Perl matches,
61       namely NEL (U+0085) and MONGOLIAN VOWEL SEPARATOR (U+180E), though they
62       were matched by \h.
63    
64    .  Add JIT support for the 64 bit TileGX architecture.
65    
66    .  Upgraded the handling of the POSIX classes [:graph:], [:print:], and
67       [:punct:] when PCRE_UCP is set so as to include the same characters as Perl
68       does in Unicode mode.
69    
70    .  Perl no longer allows group names to start with digits, so I have made this
71       change also in PCRE.
72    
73    .  Added support for [[:<:]] and [[:>:]] as used in the BSD POSIX library to
74       mean "start of word" and "end of word", respectively, as a transition aid.
75    
76    
77    Release 8.33 28-May-2013
78    --------------------------
79    
80    A number of bugs are fixed, and some performance improvements have been made.
81    There are also some new features, of which these are the most important:
82    
83    .  The behaviour of the backtracking verbs has been rationalized and
84       documented in more detail.
85    
86    .  JIT now supports callouts and all of the backtracking verbs.
87    
88    .  Unicode validation has been updated in the light of Unicode Corrigendum #9,
89       which points out that "non characters" are not "characters that may not
90       appear in Unicode strings" but rather "characters that are reserved for
91       internal use and have only local meaning".
92    
93    .  (*LIMIT_MATCH=d) and (*LIMIT_RECURSION=d) have been added so that the
94       creator of a pattern can specify lower (but not higher) limits for the
95       matching process.
96    
97    .  The PCRE_NEVER_UTF option is available to prevent pattern-writers from using
98       the (*UTF) feature, as this could be a security issue.
99    
100    
101    Release 8.32 30-November-2012
102    -----------------------------
103    
104    This release fixes a number of bugs, but also has some new features. These are
105    the highlights:
106    
107    .  There is now support for 32-bit character strings and UTF-32. Like the
108       16-bit support, this is done by compiling a separate 32-bit library.
109    
110    .  \X now matches a Unicode extended grapheme cluster.
111    
112    .  Case-independent matching of Unicode characters that have more than one
113       "other case" now makes all three (or more) characters equivalent. This
114       applies, for example, to Greek Sigma, which has two lowercase versions.
115    
116    .  Unicode character properties are updated to Unicode 6.2.0.
117    
118    .  The EBCDIC support, which had decayed, has had a spring clean.
119    
120    .  A number of JIT optimizations have been added, which give faster JIT
121       execution speed. In addition, a new direct interface to JIT execution is
122       available. This bypasses some of the sanity checks of pcre_exec() to give a
123       noticeable speed-up.
124    
125    .  A number of issues in pcregrep have been fixed, making it more compatible
126       with GNU grep. In particular, --exclude and --include (and variants) apply
127       to all files now, not just those obtained from scanning a directory
128       recursively. In Windows environments, the default action for directories is
129       now "skip" instead of "read" (which provokes an error).
130    
131    .  If the --only-matching (-o) option in pcregrep is specified multiple
132       times, each one causes appropriate output. For example, -o1 -o2 outputs the
133       substrings matched by the 1st and 2nd capturing parentheses. A separating
134       string can be specified by --om-separator (default empty).
135    
136    .  When PCRE is built via Autotools using a version of gcc that has the
137       "visibility" feature, it is used to hide internal library functions that are
138       not part of the public API.
139    
140    
141    Release 8.31 06-July-2012
142    -------------------------
143    
144    This is mainly a bug-fixing release, with a small number of developments:
145    
146    . The JIT compiler now supports partial matching and the (*MARK) and
147      (*COMMIT) verbs.
148    
149    . PCRE_INFO_MAXLOOKBEHIND can be used to find the longest lookbehind in a
150      pattern.
151    
152    . There should be a performance improvement when using the heap instead of the
153      stack for recursion.
154    
155    . pcregrep can now be linked with libedit as an alternative to libreadline.
156    
157    . pcregrep now has a --file-list option where the list of files to scan is
158      given as a file.
159    
160    . pcregrep now recognizes binary files and there are related options.
161    
162    . The Unicode tables have been updated to 6.1.0.
163    
164    As always, the full list of changes is in the ChangeLog file.
165    
166    
167    Release 8.30 04-February-2012
168    -----------------------------
169    
170    Release 8.30 introduces a major new feature: support for 16-bit character
171    strings, compiled as a separate library. There are a few changes to the
172    8-bit library, in addition to some bug fixes.
173    
174    . The pcre_info() function, which has been obsolete for over 10 years, has
175      been removed.
176    
177    . When a compiled pattern was saved to a file and later reloaded on a host
178      with different endianness, PCRE used automatically to swap the bytes in some
179      of the data fields. With the advent of the 16-bit library, where more of this
180      swapping is needed, it is no longer done automatically. Instead, the bad
181      endianness is detected and a specific error is given. The user can then call
182      a new function called pcre_pattern_to_host_byte_order() (or an equivalent
183      16-bit function) to do the swap.
184    
185    . In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode
186      code points and are now faulted. (They are the so-called "surrogates"
187      that are reserved for coding high values in UTF-16.)
188    
189    
190    Release 8.21 12-Dec-2011
191    ------------------------
192    
193    This is almost entirely a bug-fix release. The only new feature is the ability
194    to obtain the size of the memory used by the JIT compiler.
195    
196    
197    Release 8.20 21-Oct-2011
198    ------------------------
199    
200    The main change in this release is the inclusion of Zoltan Herczeg's
201    just-in-time compiler support, which can be accessed by building PCRE with
202    --enable-jit. Large performance benefits can be had in many situations. 8.20
203    also fixes an unfortunate bug that was introduced in 8.13 as well as tidying up
204    a number of infelicities and differences from Perl.
205    
206    
207    Release 8.13 16-Aug-2011
208    ------------------------
209    
210    This is mainly a bug-fix release. There has been a lot of internal refactoring.
211    The Unicode tables have been updated. The only new feature in the library is
212    the passing of *MARK information to callouts. Some additions have been made to
213    pcretest to make testing easier and more comprehensive. There is a new option
214    for pcregrep to adjust its internal buffer size.
215    
216    
217    Release 8.12 15-Jan-2011
218    ------------------------
219    
220    This release fixes some bugs in pcregrep, one of which caused the tests to fail
221    on 64-bit big-endian systems. There are no changes to the code of the library.
222    
223    
224    Release 8.11 10-Dec-2010
225    ------------------------
226    
227    A number of bugs in the library and in pcregrep have been fixed. As always, see
228    ChangeLog for details. The following are the non-bug-fix changes:
229    
230    . Added --match-limit and --recursion-limit to pcregrep.
231    
232    . Added an optional parentheses number to the -o and --only-matching options
233      of pcregrep.
234    
235    . Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and
236      \B.
237    
238    . Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a
239      bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD.
240    
241    . Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_
242      START_OPTIMIZE option, which is now allowed at compile time
243    
244    
245    Release 8.10 25-Jun-2010
246    ------------------------
247    
248    There are two major additions: support for (*MARK) and friends, and the option
249    PCRE_UCP, which changes the behaviour of \b, \d, \s, and \w (and their
250    opposites) so that they make use of Unicode properties. There are also a number
251    of lesser new features, and several bugs have been fixed. A new option,
252    --line-buffered, has been added to pcregrep, for use when it is connected to
253    pipes.
254    
255    
256    Release 8.02 19-Mar-2010
257    ------------------------
258    
259    Another bug-fix release.
260    
261    
262    Release 8.01 19-Jan-2010
263    ------------------------
264    
265    This is a bug-fix release. Several bugs in the code itself and some bugs and
266    infelicities in the build system have been fixed.
267    
268    
269    Release 8.00 19-Oct-09
270    ----------------------
271    
272    Bugs have been fixed in the library and in pcregrep. There are also some
273    enhancements. Restrictions on patterns used for partial matching have been
274    removed, extra information is given for partial matches, the partial matching
275    process has been improved, and an option to make a partial match override a
276    full match is available. The "study" process has been enhanced by finding a
277    lower bound matching length. Groups with duplicate numbers may now have
278    duplicated names without the use of PCRE_DUPNAMES. However, they may not have
279    different names. The documentation has been revised to reflect these changes.
280    The version number has been expanded to 3 digits as it is clear that the rate
281    of change is not slowing down.
282    
283    
284    Release 7.9 11-Apr-09
285    ---------------------
286    
287    Mostly bugfixes and tidies with just a couple of minor functional additions.
288    
289    
290    Release 7.8 05-Sep-08
291    ---------------------
292    
293    More bug fixes, plus a performance improvement in Unicode character property
294    lookup.
295    
296    
297    Release 7.7 07-May-08
298    ---------------------
299    
300    This is once again mainly a bug-fix release, but there are a couple of new
301    features.
302    
303    
304    Release 7.6 28-Jan-08
305  ---------------------  ---------------------
306    
307  The main reason for having this release so soon after 7.5 is because it fixes a  The main reason for having this release so soon after 7.5 is because it fixes a
# Line 388  some of the new functionality in Perl 5. Line 688  some of the new functionality in Perl 5.
688  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
689  pcre_compile() function. An additional argument has been added to make it  pcre_compile() function. An additional argument has been added to make it
690  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
691  locale by pcre_maketables(). To use the default tables, this new arguement  locale by pcre_maketables(). To use the default tables, this new argument
692  should be passed as NULL.  should be passed as NULL.
693    
694            IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05            IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05

Legend:
Removed from v.309  
changed lines
  Added in v.1548

  ViewVC Help
Powered by ViewVC 1.1.5