1New in 3.0.3:
2
3* The generated C code is compatible with gcc-4.3.x in c99 or gnu99 mode.
4
5New in 3.0.2:
6
7* Compiles with g++-4.0.x.
8* Added option --length-table-name.
9* Added declaration %define length-table-name.
10* Fixed  #line directives for filenames containing backslashes.
11
12New in 3.0.1:
13
14* Bug fix.
15
16New in 3.0:
17
18* Added option --output that allows to specify the output file name.
19* Some options have been renamed:
20    --hash-fn-name=NAME     -->   --hash-function-name=NAME
21    --lookup-fn-name=NAME   -->   --lookup-function-name=NAME
22    --compare-strlen        -->   --compare-lengths
23    --global                -->   --global-table
24  The older variants are still supported for backward compatibility.
25* The following options can now be specified inside the input file:
26    %delimiters=DELIMITER-LIST
27    %struct-type
28    %ignore-case
29    %language=LANGUAGE-NAME
30    %define slot-name NAME
31    %define initializer-suffix INITIALIZERS
32    %define hash-function-name NAME
33    %define lookup-function-name NAME
34    %define class-name NAME
35    %7bit
36    %compare-lengths
37    %compare-strncmp
38    %readonly-tables
39    %enum
40    %includes
41    %global-table
42    %pic
43    %define string-pool-name NAME
44    %null-strings
45    %define word-array-name NAME
46    %switch=COUNT
47    %omit-struct-type
48* When the option -k is not given, the default key positions are now
49  computed depending on the set of keywords.
50* If the input file is given by name, the output file will now contain
51  #line directives referring to the input file.
52* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" }
53  or { "abc", "acb", "bca", "cab" }, are now handled by gperf without
54  requiring the option -D.
55* The generated table is usually much smaller than it was with earlier
56  versions of gperf.
57* Added option -m/--multiple-iterations that allows to further reduce the
58  size of the generated table.
59* When the search for a good hash function is not immediately successful,
60  the table's size will grow as needed. Earlier versions of gperf bailed
61  out with an "Internal error, duplicate hash code value".
62* The options -f/--fast and -o/--occurrence-sort have no effect any more.
63* Added options -P/--pic and --null-strings that optimize the generated code
64  for use in shared libraries. -P/--pic does a perfect optimization but may
65  require some small code changes (see the documentation for details), whereas
66  --null-strings does only a half-hearted optimization but works without
67  needing any change to surrounding code.
68* Added option --ignore-case that produces a case independent lookup function.
69* Bug fixes.
70
71New in 2.7.2:
72
73* Keywords may now be enclosed in double quotes; this permits the use of
74  '#', ',', space or NUL inside keywords.
75* Bug fixes.
76
77New in 2.7.1:
78
79* Added option "-F" for gcc.
80
81New in 2.7:
82
83* gperf is now a stand-alone package, untied from libg++.
84* Autoconfiguring.
85* Removed the "-a" and "-g" options, extended the "-L" option instead.
86* Removed the "-p" option, it is the default.
87* Added long options ("--help", "--version" etc.).
88* 8-bit cleanliness is now the default; use "-7" to get the old behaviour.
89* Compiles with any C++ compiler.
90* Numerous small improvements.
91
92