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