forked from laurikari/tre
-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
243 lines (163 loc) · 7.32 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
Version 0.8.0
- Added tre_ prefix to all functions exported from libtre. This
changes the binary interface (ABI). The old source interface
(API) is still available in <tre/regex.h>. New programs should
use <tre/tre.h>.
- Visual C++ 6 project files replaced with Visual Studio 2008 files.
- Bug fixes.
Version 0.7.6
- The license is changed from LGPL to a BSD-style license. The new
license is essentially the same as the "2 clause" BSD-style
license used in NetBSD. See the file LICENSE for details.
- No longer using gnulib due to potential license conflicts.
- Bug fixes.
Version 0.7.5
- Swedish translation added.
- Makefile and source code distribution problems fixed.
- Documentation updates.
- Adding a "+" or "*" after another repetition operator is now an
error instead of an application of that operator and gives the
REG_BADRPT error. Adding a "?" means matching as few characters
as possible and is still allowed.
This change was made to avoid confusion with "possessive"
(non-backtracking) quantifiers. In Java (and .NET?) adding a "+"
means that the matcher doesn't backtrack over that point. In
previous versions of TRE adding a "+" or "*" caused the
backtracking matcher to backtrack a lot more instead of less. In
some cases this caused very slow execution.
- New agrep command line option -q (--quiet, --silent).
- Bug fixes:
- agrep now correctly returns exit code 1 when no matches found.
- Fixed regexp parser bug affecting big-endian 64 bit
architectures (sparc, ppc). The bug caused all regexps to match
an empty string and nothing else.
- Fixed agrep memory usage problems when reading from pipes.
Version 0.7.4
- TRE now builds cleanly on x86_64 and other 64 bit platforms.
There was a large number of (basically harmless) compiler warnings
in previous versions.
- Now builds and works on Cygwin and MinGW. Libtool was updated to
a version which works on these platforms, and the Makefiles and
configure scripts were adjusted so that DLLs are now built on
these platforms.
- agrep now handles long command line options on all platforms.
- Bug report email address is now tre-general@lists.laurikari.net.
- Many bug fixes, including:
- The RPM spec file now works with recent rpmbuild versions
- agrep no longer includes record delimiters in records, so for
example "echo foo | agrep 'foo$'" works as expected.
- agrep help texts and man page updated.
Version 0.7.3
- The license has been changed from GPL to LGPL.
- New command line option to agrep: --show-position
- New REG_UNGREEDY cflags and 'U' pattern modifier.
- Bug fixes.
Version 0.7.2
- Bug fixes.
Version 0.7.1
- New command line options to agrep: --delimiter-after, --color
- Man page for agrep added.
- Some bugs fixed.
Version 0.7.0
- reguexec() added.
- tre_have_backrefs() and tre_have_approx() added.
- New syntax: \Q, \E, \x1B, \x{263a}, (?inr-inr), (?inr-inr:regex).
- New compilation flag REG_RIGHT_ASSOC.
- New execution flags REG_APPROX_MATCHER and REG_BACKTRACKING_MATCHER.
- Included Python language bindings contributed by Nikolai SAOUKH.
- Several bugs and compilation problems fixed.
Version 0.6.8
- Fixed to use iswctype() if found instead of always using
iswalpha() and friends. Now [[:blank:]] should work again on
systems where iswctype() is available.
Version 0.6.7
- Fixed the -h (--no-filename) option of agrep to work again.
- Added the -y option to agrep. It does nothing, and exists only
for compatibility with the non-free version of agrep.
- Fixed bugs: handling null bytes in multibyte mode, exponential
memory usage problem when using lots of macros (e.g. \s or \d) in
a regexp, and bugs in expanding {m,n} repeats (still!).
- wctype() and iswctype() are no longer required for wchar support,
iswalpha() and friends will be used instead if wctype() and
iswctype() are not found.
- Added support for compiling against libutf8.
- Added the tre_config() function to get information about the
optional features compiled in the TRE library. Also added
tre_version().
- Some documentation updates.
Version 0.6.6
- Fixed bugs which occurred sometimes when "{m,n}" repeats were used
in conjunction with "*", "+", or "?".
- Added the -H (--with-filename) option to agrep.
Version 0.6.5
- Fixed bug which occurred whine several "{m,n}" repeats were used
in one regex.
- Fixed several bugs related to REG_NOSUB or NULL pmatch[] arrays
being used for regexec().
- C++ or Fortran compilers no longer checked by the configure
script.
- Some documentation additions.
Version 0.6.4
- Fixed bug in handling iterations (like "+" and "*") inside "{m,n}"
repeats. This should get rid of performance problems and
incorrect results with certain regexps involving "{m,n}" repeats.
Version 0.6.3
- Fixed back references when REG_NOSUB is used.
- Compilation errors and warnings fixed. Now this should compile on
systems that don't have wide character support, like OpenBSD, and
works on 64 bit machines.
Version 0.6.2
- Bug fixes.
Version 0.6.1
- Bug fixes.
- Some documentation updates.
Version 0.6.0
- The doc/ directory is now actually included in source
distributions (oops).
- Bug fixes.
- alloca() is no longer a requirement. The configure script still
looks for it, and it is used if found.
- New approximate matching syntax. The new syntax allows
approximate matching to be done even using the standard regex API
(match costs are only available when the regaexec() API is used).
- REG_LITERAL implemented.
Version 0.5.3
- Bug fixes and compilation fixes.
- Best match mode (-B) for agrep.
Version 0.5.2
- System ABI support. TRE is now by default configured to be
compatible with the system regex binary interface (by including
the system regex.h and using the definitions there instead of
TRE's own). This can be disabled with --disable-system-abi.
- Added a pkg-config file `tre.pc'.
- Added support for minimal (non-greedy) repetition operators
"*?", "+?", "??", and "{m,n}?". They work similarly to the ones
in Perl, except the number of characters matched is minimized
instead of the number of repetitions.
- Added some documentation in the doc/ subdirectory.
- Bug fixes.
Version 0.5.1
- Bug fixes.
Version 0.5.0
- Approximate matching functions now fill the pmatch[] array of
submatches if wanted.
- Support for back referencing (not for approximate matching).
- Changed approximate matching API to be more easily extendible in
the future. The match cost is now returned.
- Bug fixes.
- Windows project files (original versions contributed by Aymeric
Moizard <jack@atosc.org>, thanks!).
Version 0.4.1
- Fixed installed headers.
- Fixed compilation problems.
Version 0.4.0
- The name of the package changed to TRE.
- New API for approximate regexp matching.
- New command line utility `agrep' for approximate regexp matching
in the style of grep.
- New translation for Finnish (fi) has been added.
- Optimizations in regexec.
- Wide character support and multibyte character set support can be
turned off with --disable-wchar and --disable-multibyte,
respectively.
- Lots of bugfixes.