blob: 92ab1e0d941c8e5676235f54e75980301190e24b [file] [log] [blame]
Eli Bendersky93352512012-12-24 20:18:33 -08001+ Version 2.09 (??)
2
Eli Bendersky645e2602012-12-25 06:21:08 -08003 - The pycparser project has moved to Bitbucket. For this version, issue
4 numbers still refer to the old Googlecode project, unless stated otherwise.
5 Starting with the next version all issue numbers will refer to the new
6 Bitbucket project.
Eli Bendersky93352512012-12-24 20:18:33 -08007 - pycparser now carries its PLY dependency along. The pycparser/ply directory
8 contains the source of PLY for the currently supported version. This makes
9 distribution and testing easier.
Eli Bendersky00edfc12012-12-25 15:18:02 -080010 - Issue #79: fix generation of new switch/case AST nodes.
Eli Bendersky293ea912012-12-25 14:52:48 -080011 - Issue #83: fix parsing and C generation to distinguish between initializer
12 lists in declarations and initializing variables with parenthesized
13 comma-separated expressions.
Eli Bendersky4476d092012-12-25 14:07:57 -080014 - Issue #84: fix C generation for some statements.
Eli Bendersky4961d1b2012-12-25 06:50:59 -080015 - Issues #86 and #87: improve location reporting for parse errors.
Eli Bendersky4476d092012-12-25 14:07:57 -080016 - Issue #89: fix C generation for K&R-style function definitions.
Eli Bendersky93352512012-12-24 20:18:33 -080017
Eli Bendersky07f67a22012-08-10 08:48:31 +030018+ Version 2.08 (10.08.2012)
Eli Bendersky19400fd2012-06-22 09:38:23 +030019
Eli Bendersky09fc2002012-08-10 07:41:42 +030020 - Issue 73: initial support for #pragma directives. Consume them without
21 errors and ignore (no tokens are returned). Line numbers are preserved.
Eli Bendersky5a0abdf2012-07-07 06:52:23 +030022 - Issue 68: more correct handling of source files without any actual content.
23 - Issue 69: running all tests will now set appropriate return code.
Eli Bendersky0a3ef0b2012-07-06 15:54:29 +030024 - Better error reporting in case where multiple type specifiers are provided.
25 Also fixes Issue 60.
Eli Bendersky5a0abdf2012-07-07 06:52:23 +030026 - Issue 63: line endings cleanup for consistent LF ending.
27 - Issues 64 & 65: added some more headers and typedefs to fake includes.
Eli Bendersky949ad822012-08-10 07:04:20 +030028 - Refactoring the cpp invocation in parse_file into a separate function, which
29 can also be used as a utility.
Eli Benderskyd9649812012-08-10 08:27:12 +030030 - Issue 74: some Windows include paths were handled incorrectly.
Eli Bendersky19400fd2012-06-22 09:38:23 +030031
Eli Bendersky081bac22012-06-16 16:10:39 +030032+ Version 2.07 (16.06.2012)
Eli Bendersky13d0a6f2012-06-15 09:30:04 +030033
Eli Bendersky203b9672012-06-15 10:11:24 +030034 - Issue 54: added an optional parser argument to parse_file
35 - Issue 59: added some more fake headers for C99
36 - Issue 62: correct coord for Ellipsis nodes
Eli Bendersky3b1b08d2012-06-15 12:37:54 +030037 - Issue 57: support for C99 hexadecimal float constants
Eli Bendersky13d0a6f2012-06-15 09:30:04 +030038 - Made running tests that call on 'cpp' a bit more robust.
39
40+ Version 2.06 (04.02.2012)
41
42 - Issue 48: gracefully handle parsing of empty files
43 - Issues 49 & 50: handle more escaped chars in paths to #line - "..\..\test.h".
44 - Support for C99 _Complex type.
45 - CGenerator moves from examples/ to pycparser/ as a first-class citizen, and
46 added some fixes to it. examples/c-to-c.py still stays as a convenience
47 wrapper.
48 - Fix problem with parsing a file in which the first statement is just a
49 semicolon.
50 - Improved the AST created for switch statements, making it closer to the
51 semantic meaning than to the grammar.
52
53+ Version 2.05 (16.10.2011)
54
55 - Added support for the C99 ``_Bool`` type and ``stdbool.h`` header file
56 - Expanded ``examples/explore_ast.py`` with more details on working with the
57 AST
58 - Relaxed the rules on parsing unnamed struct members (helps parse ``windows.h``)
59 - Bug fixes:
60
61 * Fixed spacing issue for some type declarations
62 * Issue 47: display empty statements (lone ';') correctly after parsing
63
64+ Version 2.04 (21.05.2011)
65
66 - License changed from LGPL to BSD
67 - Bug fixes:
68
69 * Issue 31: constraining the scope of typedef definitions
70 * Issues 33, 35: fixes for the c-to-c.py example
71
72 - Added C99 integer types to fake headers
73 - Added unit tests for the c-to-c.py example
74
75+ Version 2.03 (06.03.2011)
76
77 - Bug fixes:
78
79 * Issue 17: empty file-level declarations
80 * Issue 18: empty statements and declarations in functions
81 * Issue 19: anonymous structs & union fields
82 * Issue 23: fix coordinates of Cast nodes
83
84 - New example added (``examples/c-to-c.py``) for translating ASTs generated by ``pycparser`` back into C code.
85 - ``pycparser`` is now on PyPI (Python Package Index)
86 - Created `FAQ <http://code.google.com/p/pycparser/wiki/FAQ>`_ on the ``pycparser`` project page
87 - Removed support for Python 2.5. ``pycparser`` supports Python 2 from 2.6 and on, and Python 3.
88
89+ Version 2.02 (10.12.2010)
90
91 * The name of a ``NamedInitializer`` node was turned into a sequence of nodes
92 instead of an attribute, to make it discoverable by the AST node visitor.
93 * Documentation updates
94
95+ Version 2.01 (04.12.2010)
96
97 * Removed dependency on YAML. Parsing of the AST node configuration file is done with a simple parser.
98 * Fixed issue 12: installation problems
99
100+ Version 2.00 (31.10.2010)
101
102 * Support for C99 (read `this wiki page <http://code.google.com/p/pycparser/wiki/C99support>`_ for more information).
103
104+ Version 1.08 (09.10.2010)
105
106 * Bug fixes:
107
108 + Correct handling of ``do{} ... while`` statements in some cases
109 + Issues 6 & 7: Concatenation of string literals
110 + Issue 9: Support for unnamed bitfields in structs
111
112+ Version 1.07 (18.05.2010)
113
114 * Python 3.1 compatibility: ``pycparser`` was modified to run on Python 3.1 as well as 2.6
115
116+ Version 1.06 (10.04.2010)
117
118 * Bug fixes:
119
120 + coord not propagated to FuncCall nodes
121 + lexing of the ^= token (XOREQUALS)
122 + parsing failed on some abstract declarator rules
123
124 * Linux compatibility: fixed end-of-line and ``cpp`` path issues to allow all tests and examples run on Linux
125
126
127+ Version 1.05 (16.10.2009)
128
129 * Fixed the ``parse_file`` auxiliary function to handle multiple arguments to ``cpp`` correctly
130
131+ Version 1.04 (22.05.2009)
132
133 * Added the ``fake_libc_include`` directory to allow parsing of C code that uses standard C library include files without dependency on a real C library.
134 * Tested with Python 2.6 and PLY 3.2
135
136+ Version 1.03 (31.01.2009)
137
138 * Accept enumeration lists with a comma after the last item (C99 feature).
139
140+ Version 1.02 (16.01.2009)
141
142 * Fixed problem of parsing struct/enum/union names that were named similarly to previously defined ``typedef`` types.
143
144+ Version 1.01 (09.01.2009)
145
146 * Fixed subprocess invocation in the helper function parse_file - now it's more portable
147
148+ Version 1.0 (15.11.2008)
149
150 * Initial release
151 * Support for ANSI C89
152
153
154
155