forked from PyCQA/baron
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
206 lines (161 loc) · 8.42 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
Changelog
=========
0.10.1 (2021-12-08)
-----------------
- bug fix: in "a._" the "._" part was incorrectly recognized as a float, by bram
0.10 (2021-12-08)
-----------------
- bug fix: baron is now able to parse "class A(b, c=d): pass" by bram
- some project cleaned and integration of tox with good pratices like flake8 and check-manifest
- bug fix for missing edge case in inner formatting by EhsanKia https://github.com/PyCQA/baron/pull/156
- complet support for float with underscores in them by tamentis https://github.com/PyCQA/baron/pull/157
- bug fix for failure of parsing of "{**a}" by wavenator https://github.com/PyCQA/baron/pull/161
0.9 (2019-02-01)
----------------
First version of full python 3.7 grammar support.
- BREAKING CHANGE: annotations are now member of {def,list,dict}_argument to flatten the data structure
- add support for ... in from import by bram
- add support for return annotation by bram
- add support for exec function by bram
- add support for variable annotation https://github.com/PyCQA/baron/pull/145 by scottbelden and additional work by bram
- add support for *var expressions in tuple assignment by bram
- add support for raise from https://github.com/PyCQA/baron/pull/120 by odcinek with additional work by bram
- add support for arglist usage in class definition inheritence by bram
- bug fix by https://github.com/PyCQA/baron/pull/126/commits/91e839a228293698cc755a7f28afeca2669cb66e kyleatmakrs
0.8 (2018-10-29)
----------------
- add typed parameters support https://github.com/PyCQA/baron/pull/140 by Scott Belden and and additional work by bram
0.7 (2018-08-21)
----------------
- fix line continuation https://github.com/PyCQA/baron/pull/92 by ibizaman
- handle corrupt cache file situation https://github.com/PyCQA/baron/pull/76 by ryu2
- fix special crashing edge case in indentation marker https://github.com/PyCQA/bar by Ahuge
- fixed incorrect tokenization case "d*e-1". Fixes #85 https://github.com/PyCQA/baron/pull/107 by boxed
- fix endl handling inside groupings by kyleatmakrs (extracted from https://github.com/PyCQA/baron/pull/126)
Python 3:
- python 3 parsing extracted from https://github.com/PyCQA/baron/pull/126
- support ellipsis https://github.com/PyCQA/baron/pull/121 by odcinek
- support matrix operator https://github.com/PyCQA/baron/pull/117 by odcinek
- support f-strings https://github.com/PyCQA/baron/pull/110 by odcinek
- support numeric literals https://github.com/PyCQA/baron/pull/111 by odcinek
- support nonlocal statement https://github.com/PyCQA/baron/pull/112 by odcinek
- support keyword only markers https://github.com/PyCQA/baron/pull/108 by boxed
- support yield from statement https://github.com/PyCQA/baron/pull/113 by odcinek and additional work by bram
- support async/await statements https://github.com/PyCQA/baron/pull/114 by odcinek and additional work by bram
0.6.6 (2017-06-12)
------------------
- fix situation where a deindented comment between a if and elif/else broken
parsing, see https://github.com/PyCQA/baron/issues/87
- around 35-40% to 75% parsing speed improvment on big files by duncf
https://github.com/PyCQA/baron/pull/99
0.6.5 (2017-01-26)
------------------
- fix previous regression fix was broken
0.6.4 (2017-01-14)
------------------
- fix regression in case a comment follow the ":" of a if/def/other
0.6.3 (2017-01-02)
------------------
- group formatting at start of file or preceded by space with comment
0.6.2 (2016-03-18)
------------------
- fix race condition when generating parser cache file
- make all user-facing errors inherit from the same BaronError class
- fix: dotted_name and float_exponant_complex were missing from
nodes_rendering_order
0.6.1 (2015-01-31)
------------------
- fix: the string was having a greedy behavior on grouping the string tokens
surrounding it (for string chains), this ends up creating an inconsistancy in
the way string was grouped in general
- fix: better number parsing handling, everything isn't fixed yet
- make all (expected) errors inherit from the same BaronError class
- fix: parsing fails correctly if a quoted string is not closed
0.6 (2014-12-11)
----------------
- FST structure modification: def_argument_tuple is no more and all arguments
now have a coherent structure:
* def_argument node name attribute has been renamed to target, like in assign
* target attribute now points to a dict, not to a string
* old name -> string are now target -> name_node
* def_argument_tuple is now a def_argument where target points to a tuple
* this specific tuple will only has name and comma and tuple members (no more
def_argument for name)
- new node: long, before int and long where merged but that was causing problems
0.5 (2014-11-10)
----------------
- rename "funcdef" node to "def" node to be way more intuitive.
0.4 (2014-09-29)
----------------
- new rendering type in the nodes_rendering_order dictionary: string. This
remove an ambiguity where a key could be pointing to a dict or a string, thus
forcing third party tools to do guessing.
0.3.1 (2014-09-04)
------------------
- setup.py wasn't working if wheel wasn't used because the CHANGELOG file
wasn't included in the MANIFEST.in
0.3 (2014-08-21)
----------------
- path becomes a simple list and is easier to deal with
- bounding box allows you to know the left most and right most position
of a node see https://baron.readthedocs.io/en/latest/#bounding-box
- redbaron is classified as supporting python3
https://github.com/PyCQA/baron/pull/51
- ensure than when a key is a string, it's empty value is an empty string and
not None to avoid breaking libs that use introspection to guess the type of
the key
- key renaming in the FST: "delimiteur" -> "delimiter"
- name_as_name and dotted_as_name node don't have the "as" key anymore as it
was useless (it can be deduce from the state of the "target" key)
- dotted_name node doesn't exist anymore, its existance was unjustified. In
import, from_import and decorator node, it has been replaced from a key to a
dict (with only a list inside of it) to a simple list.
- dumps now accept a strict boolean argument to check the validity of the FST
on dumping, but this isn't that much a public feature and should probably be
changed of API in the futur
- name_as_name and dotted_as_name empty value for target is now an empty string
and not None since this is a string type key
- boundingbox now includes the newlines at the end of a node
- all raised exceptions inherit from a common base exception to ease try/catch
constructions
- Position's left and right functions become properties and thus
attributes
- Position objects can be compared to other Position objects or any
iterables
- make_position and make_bounding_box functions are deleted in favor of
always using the corresponding class' constructor
0.2 (2014-06-11)
----------------
- Baron now provides documentation on https://baron.readthedocs.io
- feature: baron now run in python3 (*but* doesn't implement the full python3
grammar yet) by Pierre Penninckx https://github.com/ibizaman
- feature: drop the usage of ast.py to find print_function, this allow any
version of python to parse any other version of python also by Pierre
Penninckx
- fix: rare bug where a comment end up being confused as an indentation level
- 2 new helpers: show_file and show_node, see https://baron.readthedocs.io/en/latest/#show-file
and https://baron.readthedocs.io/en/latest/#show-node
- new dictionary that provides the informations on how to render a FST node:
nodes_rendering_order see https://baron.readthedocs.io/en/latest/#rendering-the-fst
- new utilities to find a node, see https://baron.readthedocs.io/en/latest/#locate-a-node
- new generic class that provide templates to work on the FST see
https://baron.readthedocs.io/en/latest/#rendering-the-fst
0.1.3 (2014-04-13)
------------------
- set sugar syntaxic notation wasn't handled by the dumper (apparently no one
use this on pypi top 100)
0.1.2 (2014-04-08)
------------------
- baron.dumps now accept a single FST node, it was only working with a list of
FST nodes
- don't add a endl node at the end if not present in the input string
- de-uniformise call_arguments and function_arguments node, this is just
creating more problems that anything else
- fix https://github.com/PyCQA/redbaron/issues/4
- fix the fact that baron can't parse "{1,}" (but "{1}" is working)
0.1.1 (2014-03-23)
------------------
- It appears that I don't know how to write MANIFEST.in correctly
0.1 (2014-03-22)
----------------
- Init