xref: /netbsd-src/external/bsd/flex/dist/NEWS (revision d25ffa98a4bfca1fe272f3c182496ec9934faac7)
1This is the file NEWS for the flex package. It records user -visible
2changes between releases of flex.
3
4See the file COPYING for copying conditions.
5
6* version 2.5.35 released 2008-02-26
7
8** fixed bug that prevented flex from accepting certain comments in the
9  scanner file (resolves bugs #1849809 and #1849805)
10
11** fix bug that prevented headers for all functions from being generated
12  (resolves bug #1628314)
13
14** change yy_size_t to be size_t (resolves bug #1849812)
15
16** new de, nl, pl, pt_br, vi translations from the translation project
17
18* version 2.5.34 released 2007-12-12
19
20** introduce yylex_init_extra; see the manual for details
21
22** introduce %option extra-type="your_type *" (resolves bug #1744505)
23
24** The flex program now parses multiple short concatenated options (resolves bug
25  #1619820). Thanks to Petr Machata of Red Hat on this issue.
26
27** better checking after yyalloc/yyrealloc (resolves bug #1595967)
28
29** flex now provides for a libfl_pic.a compiled with position
30   independent code. Particularly useful when including a flex scanner
31   in a shared library and with more recent versions of gcc. Thanks to the Debian project for the idea.
32
33** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the
34	header file.
35
36** flex better escapes filenames with special characters in them
37   (resolves bug #1623600)
38
39** a memory leak was plugged(resolves bug #1601111)
40
41** pattern language expanded; see the manual for details on the below
42   highlights
43
44*** pattern options added to specify patterns as case-insensitive or
45    case-sensitive
46
47*** pattern options to specify whether the "." character should match
48    the newline character
49
50*** pattern options added to allow ignoring of whitespace in patterns
51
52*** POSIX character classes may be negated in patterns
53
54*** patterns may now use set difference, union operators
55
56** the manual now contains an appendix listing various common patterns
57   which may be useful when writing scanners
58
59** some memory leaks were removed from the C++ scanner (but the C++
60  scanner is still experimental and may change radically without
61  notice)
62
63** c++ scanners can now use yywrap
64
65** added new unit test for c++ and yywrap
66
67** portability fixes to some unit tests
68
69** flex man page and flex manual in pdf now distributed in the flex
70distribution
71
72** new ca, vi, ga, nl translations from the translation project
73
74** flex no longer comes with an rpm spec file
75
76** flex development now happens with automake 1.9.6
77
78* version 2.5.33 released 2006-2-20
79
80** all flex resources are now to be found from the website at
81   http://flex.sourceforge.net/
82
83** there was no release 2.5.32 published
84
85** numerous bug and security fixes
86
87** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project
88
89** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps"
90   targets in the build system able to be run successfully)
91
92* version 2.5.31 released 2003-4-1
93
94** remove --enable-maintainer-mode configure option; none of the
95   Makefiles were using it and it can be unduely confusing
96
97* version 2.5.30 released 2003-4-1
98
99** yylineno is per-buffer in reentrant scanners
100
101** added %top directive for placing code at the top of the generated
102   scanner; see manual for details
103
104** flex now uses m4 to generate scanners; while this means that
105   scanners are more readable, it means that flex requires m4 to be
106   installed; see manual for details
107
108* version 2.5.29 released 2003-3-5
109
110** Automatic stack management for multiple input buffers in C and C++ scanners
111
112** moved the flex documentation to a new doc/ subdirectory
113
114** cleanups to the yy namespace
115
116* version 2.5.28 released 2003-2-12
117
118** flex is now hosted at sourceforge
119
120** Fixed trailing slash bug in YY_INPUT macro def
121
122** Flex now warns if always-interactive is specified with fast or full
123
124* version 2.5.27 released 2003-1-21
125
126** flex now works with recent bison versions
127
128** new pt_br translation from the translation project
129
130* version 2.5.26 released 2003-1-14
131
132** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce@bnichols.org>
133
134** yyleng has proper declarations now; this caused flex to generate
135   unusable scanners for some programs
136
137** the flex distribution now includes a spec file suitable for use
138   with rpm
139
140** some more c++ fixes
141
142** new es translation from the translation project
143
144** slight tweeks to the flex_int*_t types
145
146** flex now warns about pattern ranges that might be ambiguous when
147   generating a case-insensitive scanner
148
149
150* version 2.5.25 released 2002-12-2
151
152** flex now uses flex_int*_t types. For C99 systems, they are just the
153   int*_t types; for non-C99 systems, we just make some typedefs
154
155** new pt_br translation from the translation project
156
157* version 2.5.24 released 2002-11-25
158
159* more portability fixes
160
161** the manual continues to be updated and edited, but it's still got a
162   ways to go
163
164** it is possible to have multiple c++ scanners in the same program again
165
166** new turkish translation from the translation project
167
168* version 2.5.23 released 2002-10-21
169
170** more portability fixes
171
172** the manual includes a title page and a table-of-contents when printed
173
174** the test suite can be run with "make check" from the top-level
175   directory
176
177** configure now accepts the --enable-maintainer-mode option
178
179** gettext functionality is now only available externally
180
181** the constant FLEX_BETA is defined if flex is a beta release
182
183** the script create-test was not included in the distribution and it
184   should have been
185
186* version 2.5.22 released 2002-10-10
187
188** more portability fixes around how we get ahold of the integral
189   types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS
190   which you should define if you don't have the <inttypes.h> header
191   file (after you complain to your C vendor for not providing a
192   reasonable C environment)
193
194** more test suite cleanups; in particular, the test suite should run
195   correctly when build from a different directory
196
197** upgraded automake to 1.7 and consequently autoconf to 2.54; this
198   means, among other things, that there is some support for
199formatting the manual in postscript and pdf in the distributed
200   Makefile.in (and therefore in the Makefile built by configure)
201
202** the flex.1 manpage is generated by help2man; (this has been true
203   for quite a while but was not listed here)
204
205** flex now includes three defined constants to indicate which version
206  of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION)
207
208** flex tries its best to output only the relevant portions of the
209   skeleton when generating a scanner, thus avoiding as much
210   conditional compilation as possible
211
212* version 2.5.21 released 2002-9-17
213
214** one of the tests in the test suite broke the dist target
215
216* version 2.5.20 released 2002-9-16
217
218** A flex scanner has the ability to save the DFA tables to a file,
219   and load them at runtime when needed; see the manual for details
220
221** Added %option bison-bridge (--bison-bridge)
222
223** Removed %option reentrant-bison/--reentrant-bison/-Rb
224
225** yylineno is present in all scanners; Modified nasty performance
226   penalty warning with yylineno in documentation
227
228** test-table-opts is now run last in the test suite because it's so fat
229
230** flex can, to some extent, diagnose where internal problems occur
231
232** new translations from the translation project: fr, ca, de, ru, sv
233
234**Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the
235  manual if that's not a good thing for you
236
237* version 2.5.19 released 2002-9-5
238
239** prevent segfault on input lines which are longer than the allocated
240   space (problem report from Manoj Srivastava
241   <srivasta@golden-gryphon.com>)
242
243** Changed option 'header' to 'header-file'
244
245* version 2.5.18 released 2002-9-4
246
247** portability fixes for integer constants and in the way the test
248   suite reports its results
249
250** the test for bison was reporting bison missing when it was, in
251   fact, found
252
253** if we don't find GNU indent, we're more careful when we're not
254   finding it
255
256* version 2.5.17 released 2002-8-29
257
258** more portability fixes
259
260** updated config.sub and config.guess
261
262** flex is indented by GNU indent (this was done earlier but not
263   explicitly documented)
264
265* version 2.5.16 released 2002-8-28
266
267** c++ scanners compile again
268
269** there is now an indent target in the top-level Makefile; configure
270   checks for GNU indent which is required for proper operation of the
271   indent target
272
273** some more portability fixes were made
274
275** %options and invocation sections of manual merged
276
277** a c++ test was added to the test suite
278
279** we're trying to clean up more files in the test suite's make clean
280   targets
281
282* version 2.5.15 released 2002-8-21
283
284** reject-state buffer is now dynamically allocated and REJECT buffer
285   variables are reentrant-safe
286
287** manual now discusses memory usage
288
289** skeleton now processed by m4 before mkskel.sh; (this only matters
290   if you want to change the skeleton or if you're doing flex development)
291
292** zh_cn translation added from translation project
293
294** a bug that caused a segfault has now been fixed
295
296** the test suite now respects the usual CFLAGS, etc. variables
297
298** removed some warnings which some tests trigggered with the -s option
299
300** the flex-generated header file now tries to be smarter about
301   conditionally including start conditions
302
303** tables code omitted from generated scanner when not used
304
305* version 2.5.14 released 2002-8-15
306
307** the tests using the reentrant c scanner as c++ were reworked
308   slightly to be sure that the c++ was enforced
309
310** de translation now included in the distribution
311
312** various portability fixes regarding nls support, c++ include
313   headers, etc.
314
315* version 2.5.13 released 2002-8-15
316
317** the header file output with %option header is now much smaller
318
319** Fixed type mismatch in printf in scanner skeleton
320
321** yylex_init now reports errors
322
323* version 2.5.12 released 2002-8-8
324
325** updated gettext support to 0.11.5
326
327** new fr translation from the translation project
328
329** bison is no longer needed to build flex; If you are building flex
330   from a release (i.e., not from a cvs snapshot), then you don't need
331   to have a pre-built lex around either (unless you modify scan.l, of
332   course); (This has been true for some time, but was not mentioned
333   here.)
334
335* version 2.5.11 released 2002-7-31
336
337** Fixed bug where yyless did not consider yylineno
338
339** the yylineno performance hit is now gone
340
341** fixed some typos in the manual and we now include texinfo.tex in
342   the distribution
343
344** traditional prototypes output for C scanners, controlled by a
345   preprocessor symbol; see documentation for details
346
347* version 2.5.10 released 2002-7-24
348
349** yy_globals renamed to yyscanner and yy_globals_t renamed to
350   yy_guts_t
351
352** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd
353   archive in addition to the standard gzip archive
354
355*  version 2.5.9
356
357** new tests in test suite: test-mem-{nr,r}, test-posix,
358   test-posixly-correct, test-debug-{nr,r}
359
360** made changes to work with gcc-3.2 development code
361
362** ability to choose which memory functions are used in flex
363
364** new yylex_destroy() function for the non-reentrant scanner
365
366** new handling of POSIXLY_CORRECT environment variable
367
368** the test suite now has its copyrights explicitly described
369
370** new ca, de, fr, ru, sv, tr translations
371
372* version 2.5.8
373
374** a new --posix option generates scanners with posix-style abc{1,3}
375   compatible parsing, see manual for the screwy details
376
377* version 2.5.7
378
379** configure.in now includes a call to AC_PREREQ to enforce the
380   requirement for autoconf at least 2.50 (This only effects you if
381   you're doing flex development.)
382
383** configure now uses autoconf's versioning information and configure
384   --help reports the bug-reporting address for flex
385
386** test suite now only reports success versus failure; reporting
387   skipped is problematic under the current setup
388
389** compilation with --disable-nls now works
390
391** flex can now be built in a separate directory
392
393* version 2.5.6
394
395** gettext support added (from gettext 0.11)
396
397*** translations for ca, da, de, es, fr, ko, ru, sv, tr included
398
399** distribution now built under automake 1.6 and autoconf 2.53
400
401** command-line option parsing happens differently now:
402
403*** Added long option parsing
404
405*** Options -n and -c, previously deprecated, now simply do nothing
406
407*** Options are now parsed left to right
408
409** added a number of new options
410
411*** All positive %options are now accessible from the command line
412
413*** Added option -D, to define a preprocessor symbol
414
415*** Added option --header=FILE to specify a C .h file to generate
416
417*** added option --yywrap to call yywrap on EOF
418
419*** added option --yylineno to track line count in yylineno
420
421*** --yyclass=NAME name of C++ class when generating c++ scanners
422
423*** for long option names which are associated with existing short
424options, see accompanying documentation
425
426*** new %option nounistd or command-line --nounistd added to prevent
427    flex from generating #include <unistd.h> on systems that don't
428    have that include file
429
430** Support for reentrant C scanners has been added
431
432*** Updated the manual with the new reentrant API
433
434*** Two new options %option reentrant (-R) and
435%option reentrant-bison (-Rb)
436
437*** All globals optionally placed into struct yyglobals_t
438
439*** All access to globals replaced by macro invocations
440
441*** All functions optionally take one additional
442argument, yy_globals
443
444*** New style for invoking reentrant scanner:
445yylex_init(void** scanner );
446yylex( scanner );
447yylex_destroy( scanner );
448
449*** Added get/set functions for members of struct yy_globals_t
450e.g.,  yyget_text, yyget_leng, etc
451
452*** Prefix substitution added for new functions
453
454*** Macro shortcuts to the lengthy get/set functions
455provided for use in actions, e.g.,  yytext, yyleng, etc
456
457*** Arbitrary, user-defined data, "yyextra", may be added to scanner
458
459** %option nomain no longer implies %option yywrap
460But the inverse is still true
461
462** Developer test suite added
463
464*** TESTS/ directory has been added. Users can
465'make test' in the TESTS directory to execute the test suite
466
467** Support for bison variables yylval and yylloc added
468
469** automake support for the build process
470
471** manual is now in texinfo/info format
472
473*** flex.1 removed from distribution
474
475** flex no longer generates C-language scanners with C++-style
476   comments
477
478** flex now generates scanners in c++ which are compatible with
479   recent c++ compilers
480
481** flex input scanner now recognizes '\r' as an EOL character
482
483See the file ONEWS for changes in earlier releases.
484
485Local Variables:
486mode: text
487mode: outline-minor
488end:
489