My favorites | Sign in
Project Home Downloads Wiki Issues Source
Repository:
Checkout   Browse   Changes   Clones  
Changes to /doc-src/manual/releases.rst
50cf79968d0f vs. 2e6d5fa8abf4 Compare: vs.  Format:
Revision 2e6d5fa8abf4
Go to: 
Project members, sign in to write a code review
/doc-src/manual/releases.rst   50cf79968d0f /doc-src/manual/releases.rst   2e6d5fa8abf4
1 1
2 Release History 2 Release History
3 =============== 3 ===============
4 4
5 5
6 Summary 6 Summary
7 ------- 7 -------
8 8
9 ========== ======= =========== 9 ========== ======= ===========
10 Date Version Description 10 Date Version Description
11 ========== ======= =========== 11 ========== ======= ===========
12 2009-01-29 1.0b1 Fighting with setuptools etc. 12 2009-01-29 1.0b1 Fighting with setuptools etc.
13 ---------- ------- ----------- 13 ---------- ------- -----------
14 2009-01-29 1.0b2 Now with source, documentation and inline licence. 14 2009-01-29 1.0b2 Now with source, documentation and inline licence.
15 ---------- ------- ----------- 15 ---------- ------- -----------
16 2009-01-30 1.0b3 Fixed version number confusion (was 0.1bx in some places). 16 2009-01-30 1.0b3 Fixed version number confusion (was 0.1bx in some places).
17 ---------- ------- ----------- 17 ---------- ------- -----------
18 2009-01-31 1.0rc1 With support. 18 2009-01-31 1.0rc1 With support.
19 ---------- ------- ----------- 19 ---------- ------- -----------
20 2009-02-04 1.0 No significant changes from rc1. 20 2009-02-04 1.0 No significant changes from rc1.
21 ---------- ------- ----------- 21 ---------- ------- -----------
22 2009-02-23 2.0b1 New trampolining core; matcher graph rewriting; memoisation. 22 2009-02-23 2.0b1 New trampolining core; matcher graph rewriting; memoisation.
23 ---------- ------- ----------- 23 ---------- ------- -----------
24 2009-03-04 2.0b2 Fixed major bug in LMemo for 2.6; general tidying. 24 2009-03-04 2.0b2 Fixed major bug in LMemo for 2.6; general tidying.
25 ---------- ------- ----------- 25 ---------- ------- -----------
26 2009-03-05 2.0 Improved documentation. 26 2009-03-05 2.0 Improved documentation.
27 ---------- ------- ----------- 27 ---------- ------- -----------
28 2009-03-05 2.0.1 Fixed stupid bug introduced at last minute in 2.0. 28 2009-03-05 2.0.1 Fixed stupid bug introduced at last minute in 2.0.
29 ---------- ------- ----------- 29 ---------- ------- -----------
30 2009-03-06 2.0.2 A few more small bug fixes. 30 2009-03-06 2.0.2 A few more small bug fixes.
31 ---------- ------- ----------- 31 ---------- ------- -----------
32 2009-03-08 2.1b Improved efficiency. 32 2009-03-08 2.1b Improved efficiency.
33 ---------- ------- ----------- 33 ---------- ------- -----------
34 2009-03-08 2.1 Minor bugfixes and documentation. 34 2009-03-08 2.1 Minor bugfixes and documentation.
35 ---------- ------- ----------- 35 ---------- ------- -----------
36 2009-03-12 2.1.1 Fix flatten() and compose_transforms(); remove GeneratorManager from default configuration. 36 2009-03-12 2.1.1 Fix flatten() and compose_transforms(); remove GeneratorManager from default configuration.
37 ---------- ------- ----------- 37 ---------- ------- -----------
38 2009-03-27 2.2 Added >=, String(), regexp framework. 38 2009-03-27 2.2 Added >=, String(), regexp framework.
39 ---------- ------- ----------- 39 ---------- ------- -----------
40 2009-04-05 2.3 Compilation to regular expressions. 40 2009-04-05 2.3 Compilation to regular expressions.
41 ---------- ------- ----------- 41 ---------- ------- -----------
42 2009-04-05 2.3.1 Fix regexp packaging. 42 2009-04-05 2.3.1 Fix regexp packaging.
43 ---------- ------- ----------- 43 ---------- ------- -----------
44 2009-04-05 2.3.2 Fix regexp packaging. 44 2009-04-05 2.3.2 Fix regexp packaging.
45 ---------- ------- ----------- 45 ---------- ------- -----------
46 2009-04-28 2.3.3 Fix regexp packaging. 46 2009-04-28 2.3.3 Fix regexp packaging.
47 ---------- ------- ----------- 47 ---------- ------- -----------
48 2009-04-28 2.3.4 Fix regexp packaging. 48 2009-04-28 2.3.4 Fix regexp packaging.
49 ---------- ------- ----------- 49 ---------- ------- -----------
50 2009-04-28 2.3.5 Make all classes new style in 2.6. 50 2009-04-28 2.3.5 Make all classes new style in 2.6.
51 ---------- ------- ----------- 51 ---------- ------- -----------
52 2009-05-02 2.4 Added lexer. 52 2009-05-02 2.4 Added lexer.
53 ---------- ------- ----------- 53 ---------- ------- -----------
54 2009-06-27 3.0a1 New tutorial; bin package; modified Nodes, `*args` (general clean-up of API). 54 2009-06-27 3.0a1 New tutorial; bin package; modified Nodes, `*args` (general clean-up of API).
55 ---------- ------- ----------- 55 ---------- ------- -----------
56 2009-07-04 3.0a2 Various small fixes via pylint. 56 2009-07-04 3.0a2 Various small fixes via pylint.
57 ---------- ------- ----------- 57 ---------- ------- -----------
58 2009-07-07 3.0b1 Smart separators. 58 2009-07-07 3.0b1 Smart separators.
59 ---------- ------- ----------- 59 ---------- ------- -----------
60 2009-07-07 3.0b2 Fix packaging issues with b1. 60 2009-07-07 3.0b2 Fix packaging issues with b1.
61 ---------- ------- ----------- 61 ---------- ------- -----------
62 2009-07-16 3.0b3 More packaging issues (switched to distutils; bundling tests and examples). 62 2009-07-16 3.0b3 More packaging issues (switched to distutils; bundling tests and examples).
63 ---------- ------- ----------- 63 ---------- ------- -----------
64 2009-07-16 3.0 New tutorial; bin package; smart separators; modified Nodes, `*args` (general clean-up of API). 64 2009-07-16 3.0 New tutorial; bin package; smart separators; modified Nodes, `*args` (general clean-up of API).
65 ---------- ------- ----------- 65 ---------- ------- -----------
66 2009-08-19 3.1 Rewritten streams. 66 2009-08-19 3.1 Rewritten streams.
67 ---------- ------- ----------- 67 ---------- ------- -----------
68 2009-09-05 3.2 Clone bugfix. 68 2009-09-05 3.2 Clone bugfix.
69 ---------- ------- ----------- 69 ---------- ------- -----------
70 2009-09-09 3.2.1 Clone bugfix bugfix. 70 2009-09-09 3.2.1 Clone bugfix bugfix.
71 ---------- ------- ----------- 71 ---------- ------- -----------
72 2009-09-13 3.3b1 Whitespace sensitive parsing (no documentation). 72 2009-09-13 3.3b1 Whitespace sensitive parsing (no documentation).
73 ---------- ------- ----------- 73 ---------- ------- -----------
74 2009-09-23 3.3 Whitespace sensitive parsing. 74 2009-09-23 3.3 Whitespace sensitive parsing.
75 ---------- ------- ----------- 75 ---------- ------- -----------
76 2009-11-22 3.3.1 Regexp bugfixes. 76 2009-11-22 3.3.1 Regexp bugfixes.
77 ---------- ------- ----------- 77 ---------- ------- -----------
78 2009-11-22 3.3.2 Regexp bugfixes (correct self-test). 78 2009-11-22 3.3.2 Regexp bugfixes (correct self-test).
79 ---------- ------- ----------- 79 ---------- ------- -----------
80 2009-12-10 3.3.3 Various small tweaks based on user feedback. 80 2009-12-10 3.3.3 Various small tweaks based on user feedback.
81 ---------- ------- ----------- 81 ---------- ------- -----------
82 2010-04-03 4.0b1 Broad revision, simplification. 82 2010-04-03 4.0b1 Broad revision, simplification.
83 ---------- ------- ----------- 83 ---------- ------- -----------
84 2010-04-16 4.0 Broad revision, simplification. 84 2010-04-16 4.0 Broad revision, simplification.
85 ---------- ------- ----------- 85 ---------- ------- -----------
86 2010-04-18 4.0.1 Small bugfix for left-recursive, whitespace sensitive grammars (hash). 86 2010-04-18 4.0.1 Small bugfix for left-recursive, whitespace sensitive grammars (hash).
87 ---------- ------- ----------- 87 ---------- ------- -----------
88 2010-04-18 4.0.2 Small bugfix for left-recursive, whitespace sensitive grammars (equality). 88 2010-04-18 4.0.2 Small bugfix for left-recursive, whitespace sensitive grammars (equality).
89 ---------- ------- ----------- 89 ---------- ------- -----------
90 2010-04-20 4.0.3 Small bugfix for kargs of user-defined matchers; dropped Python 3 specific test. 90 2010-04-20 4.0.3 Small bugfix for kargs of user-defined matchers; dropped Python 3 specific test.
91 ---------- ------- ----------- 91 ---------- ------- -----------
92 2010-04-24 4.1 Major bugfix related to coercion of matcher arguments. 92 2010-04-24 4.1 Major bugfix related to coercion of matcher arguments.
93 ---------- ------- ----------- 93 ---------- ------- -----------
94 2010-05-02 4.2 RFC 3696 validation; better regexp rewriting. 94 2010-05-02 4.2 RFC 3696 validation; better regexp rewriting.
95 ---------- ------- ----------- 95 ---------- ------- -----------
96 2010-05-02 4.2.1 Small bugfix for top level DNS names that start with a digit. 96 2010-05-02 4.2.1 Small bugfix for top level DNS names that start with a digit.
97 ---------- ------- ----------- 97 ---------- ------- -----------
98 2010-05-20 4.2.2 Small bugfix in regexp rewriting. 98 2010-05-20 4.2.2 Small bugfix in regexp rewriting.
99 ---------- ------- ----------- 99 ---------- ------- -----------
100 2010-05-31 4.2.3 Extra offside example; improved handling of regexps in tokens. 100 2010-05-31 4.2.3 Extra offside example; improved handling of regexps in tokens.
101 ---------- ------- ----------- 101 ---------- ------- -----------
102 2010-06-10 4.3 Simplified line aware parsing. 102 2010-06-10 4.3 Simplified line aware parsing.
103 ---------- ------- ----------- 103 ---------- ------- -----------
104 2010-06-11 4.3.1 Small bugfix to support SOL and EOL. 104 2010-06-11 4.3.1 Small bugfix to support SOL and EOL.
105 ---------- ------- ----------- 105 ---------- ------- -----------
106 2010-06-11 4.3.2 Small bugfix to support Python 2.7. 106 2010-06-11 4.3.2 Small bugfix to support Python 2.7.
107 ---------- ------- ----------- 107 ---------- ------- -----------
108 2010-10-12 4.3.3 Bugfixes for offside handling of errors. 108 2010-10-12 4.3.3 Bugfixes for offside handling of errors.
109 ---------- ------- ----------- 109 ---------- ------- -----------
110 2010-11-28 4.3.4 Small bugfix for printing empty List. 110 2010-11-28 4.3.4 Small bugfix for printing empty List.
111 ---------- ------- ----------- 111 ---------- ------- -----------
112 2011-01-25 4.3.5 Bugfix for NFA regexps with multiple choices; 112 2011-01-25 4.3.5 Bugfix for NFA regexps with multiple choices;
113 add ``Rational()`` matchers. 113 add ``Rational()`` matchers.
114 ---------- ------- ----------- 114 ---------- ------- -----------
115 2011-01-30 4.4 Rename `Float() <api/redirect.html#lepl.support.warn.Float>`_, `Real() <api/redirect.html#lepl.matchers.derived.Real>`_; add `Limit() <api/redirect.html#lepl.matchers.combine.Limit>`_. 115 2011-01-30 4.4 Rename `Float() <api/redirect.html#lepl.support.warn.Float>`_, `Real() <api/redirect.html#lepl.matchers.derived.Real>`_; add `Limit() <api/redirect.html#lepl.matchers.combine.Limit>`_.
116 ---------- ------- -----------
117 2011-03-20 5.0 Rewrite of streams and related functionality. Simplified core code.
116 ========== ======= =========== 118 ========== ======= ===========
117 119
118 5.0 120 5.0
119 --- 121 ---
120 122
121 See :ref:`lepl4`. 123 See :ref:`lepl5`.
122 124
123 Stream handling and line--aware parsing were simplified. Resource management 125 Stream handling and line--aware parsing were simplified. Resource management
124 was improved. 126 was improved.
125 127
126 128
127 .. release_4_4: 129 .. release_4_4:
128 130
129 4.4 131 4.4
130 --- 132 ---
131 133
132 The `Float() <api/redirect.html#lepl.support.warn.Float>`_ matcher now excludes integers. For the old behaviour, which 134 The `Float() <api/redirect.html#lepl.support.warn.Float>`_ matcher now excludes integers. For the old behaviour, which
133 included them, use `Real() <api/redirect.html#lepl.matchers.derived.Real>`_. More control over search has been added with 135 included them, use `Real() <api/redirect.html#lepl.matchers.derived.Real>`_. More control over search has been added with
134 `Limit() <api/redirect.html#lepl.matchers.combine.Limit>`_. 136 `Limit() <api/redirect.html#lepl.matchers.combine.Limit>`_.
135 137
136 138
137 .. release_4_3: 139 .. release_4_3:
138 140
139 4.3, 4.3.5 141 4.3, 4.3.5
140 ---------- 142 ----------
141 143
142 After user feedback the line-aware (but not offside) parsing was simplified 144 After user feedback the line-aware (but not offside) parsing was simplified
143 slightly. ``Eol()`` was changed to ``LineAwareEol()``, a similar matcher for 145 slightly. ``Eol()`` was changed to ``LineAwareEol()``, a similar matcher for
144 start of line was added, and rewriting of matchers inside tokens was improved. 146 start of line was added, and rewriting of matchers inside tokens was improved.
145 147
146 The bug fixed in 4.3.5 may have affected some complex character-set matches 148 The bug fixed in 4.3.5 may have affected some complex character-set matches
147 (like floating point numbers). It is unlikely to have been common, since 149 (like floating point numbers). It is unlikely to have been common, since
148 regular expression compilation is restricted to "leaf" matchers, which are not 150 regular expression compilation is restricted to "leaf" matchers, which are not
149 normally so complex. 151 normally so complex.
150 152
151 153
152 .. release_4_2: 154 .. release_4_2:
153 155
154 4.2, 4.2.3 156 4.2, 4.2.3
155 ---------- 157 ----------
156 158
157 Includes a new module for validating email addresses and URLs according to 159 Includes a new module for validating email addresses and URLs according to
158 :ref:`rfc3696`. Rewriting to regular expressions has also been improved. 160 :ref:`rfc3696`. Rewriting to regular expressions has also been improved.
159 161
160 .. release_4_0: 162 .. release_4_0:
161 163
162 4.0, 4.1 164 4.0, 4.1
163 -------- 165 --------
164 166
165 See :ref:`lepl4`. 167 See :ref:`lepl4`.
166 168
167 4.1 addresses a significant error which could cause problems during 169 4.1 addresses a significant error which could cause problems during
168 optimisation of the parser (even with the default configuration). 170 optimisation of the parser (even with the default configuration).
169 171
170 172
171 .. release_3_3: 173 .. release_3_3:
172 174
173 3.3, 3.3.3 175 3.3, 3.3.3
174 ---------- 176 ----------
175 177
176 This supports :ref:`line--aware <offside>` parsing. 3.3.3 includes various 178 This supports :ref:`line--aware <offside>` parsing. 3.3.3 includes various
177 small improvements based on user-feedback. 179 small improvements based on user-feedback.
178 180
179 181
180 .. release_3_2: 182 .. release_3_2:
181 183
182 3.2, 3.2.1 184 3.2, 3.2.1
183 ---------- 185 ----------
184 186
185 A bugfix release to correct a problem with cloning matchers. 3.2 is a minor 187 A bugfix release to correct a problem with cloning matchers. 3.2 is a minor
186 release (rather than a 3.1.1 bugfix release) because it also includes 188 release (rather than a 3.1.1 bugfix release) because it also includes
187 significant internal changes as I work towards supporting 189 significant internal changes as I work towards supporting
188 whitespace-significant ("offside rule") parsing. 190 whitespace-significant ("offside rule") parsing.
189 191
190 192
191 .. release_3_1: 193 .. release_3_1:
192 194
193 3.1 195 3.1
194 --- 196 ---
195 197
196 A fairly small set of changes, focussed on the :ref:`streams <streams>` that 198 A fairly small set of changes, focussed on the :ref:`streams <streams>` that
197 can be used to "wrap" input (instead of parsing a string or list directly). 199 can be used to "wrap" input (instead of parsing a string or list directly).
198 These have a clearer design (although remain, unfortunately, complex), are 200 These have a clearer design (although remain, unfortunately, complex), are
199 better documented, with clearer interfaces (abstract classes), and will (I 201 better documented, with clearer interfaces (abstract classes), and will (I
200 hope) support handling the "offside rule" in a later release. 202 hope) support handling the "offside rule" in a later release.
201 203
202 .. warning:: 204 .. warning::
203 205
204 Although this is a minor release, some of the "public" has API changed. 206 Although this is a minor release, some of the "public" has API changed.
205 These changes are generally in areas that I believe are not commonly used, 207 These changes are generally in areas that I believe are not commonly used,
206 but you should check that code still runs after upgrading. Perhaps the most 208 but you should check that code still runs after upgrading. Perhaps the most
207 likely problem is that `parse_list()` has become ``parse_items()`` to emphasise 209 likely problem is that `parse_list()` has become ``parse_items()`` to emphasise
208 that it is for sequences of "characters" (in contrast, for example, to parse 210 that it is for sequences of "characters" (in contrast, for example, to parse
209 a list of "lines", use ``parse_lines()``; characters 211 a list of "lines", use ``parse_lines()``; characters
210 and lines refer to whether `Any() <api/redirect.html#lepl.matchers.core.Any>`_ 212 and lines refer to whether `Any() <api/redirect.html#lepl.matchers.core.Any>`_
211 should match all or part of an entity, respectively). 213 should match all or part of an entity, respectively).
212 214
213 215
214 .. release_3_0: 216 .. release_3_0:
215 217
216 3.0 218 3.0
217 --- 219 ---
218 220
219 This release is based on two quite separate themes, both of which have 221 This release is based on two quite separate themes, both of which have
220 required modifications to the Lepl core code to the extent that a new major 222 required modifications to the Lepl core code to the extent that a new major
221 version is necessary. 223 version is necessary.
222 224
223 First, the handling of whitespace has been revised, extended, and documented. 225 First, the handling of whitespace has been revised, extended, and documented.
224 The preferred approach in most cases, using the :ref:`lexer`, is described in 226 The preferred approach in most cases, using the :ref:`lexer`, is described in
225 detail in a new :ref:`tutorial <tutorial>`. In addition, for those cases 227 detail in a new :ref:`tutorial <tutorial>`. In addition, for those cases
226 where spaces are significant, :ref:`columns <table_example>` and two new 228 where spaces are significant, :ref:`columns <table_example>` and two new
227 :ref:`"smart separators" <spaces>` have been added. 229 :ref:`"smart separators" <spaces>` have been added.
228 230
229 The separator work highlighted a source of confusion in the standard matchers: 231 The separator work highlighted a source of confusion in the standard matchers:
230 many used ``&`` and ``[]``, which are modified by separators. As a 232 many used ``&`` and ``[]``, which are modified by separators. As a
231 consequence, the library was revised to remove all these uses. Separators 233 consequence, the library was revised to remove all these uses. Separators
232 should now only affect spaces in a clearly predictable way (there is a small 234 should now only affect spaces in a clearly predictable way (there is a small
233 trade-off between usefulness and predictability; the library is now more 235 trade-off between usefulness and predictability; the library is now more
234 predictable, which is probably for the best). 236 predictable, which is probably for the best).
235 237
236 The second theme is the parsing of :ref:`binary data <binary>`. This is 238 The second theme is the parsing of :ref:`binary data <binary>`. This is
237 somewhat obscure, but provides some fairly original functionality (with room 239 somewhat obscure, but provides some fairly original functionality (with room
238 for significant expansion in future releases). 240 for significant expansion in future releases).
239 241
240 While writing the binary parser I needed to revisit and revise core routines 242 While writing the binary parser I needed to revisit and revise core routines
241 related to graphs. Various internal interfaces have been simplified; the most 243 related to graphs. Various internal interfaces have been simplified; the most
242 visible being the `Node() <api/redirect.html#lepl.support.node.Node>`_ class, which is now more "Pythonesque". 244 visible being the `Node() <api/redirect.html#lepl.support.node.Node>`_ class, which is now more "Pythonesque".
Powered by Google Project Hosting