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