root/livinglogic.java.ul4/src/main/resources/versiondoc.txt @ 784:2d4c0496f17f

Revision 784:2d4c0496f17f, 9.9 KB (checked in by Walter Doerwald <walter@…>, 7 years ago)

Implement UL4 functions. Remove vars(), get(), CompiledTemplate?, Java/JS conversion.

Line 
1exp-64:
2-------
3Comments:
4* Implemented UL4 functions.
5* Removed builtin UL4 functions vars and get.
6* Removed JavaSource4Template and JavascriptSource4Template (as this was
7  basically just a call to dumps() anyway).
8* Removed CompiledTemplate.
9
10
11exp-63:
12-------
13Comments:
14* Removed ChainedHashMap, as MapChain can be used instead now.
15* Removed EvaluationContext.keepWhitespace, as this would be used for all
16  templates called, even if their value is different.
17* Formatting literal text is now done be the currently running template.
18
19
20exp-62:
21-------
22Comments:
23* Added support for the whitespace flag.
24
25
26exp-61:
27-------
28Comments:
29* Added support classes AbstractMapChain and MapChain.
30* Added support for the automatic variable stack.
31* Added support for nested scopes/closures.
32* Added support for calling functions with a mixture of positional and keyword
33  arguments.
34
35
36exp-60-1:
37---------
38Comments:
39* Fixed FunctionBool for BigInteger and BigDecimal objects.
40
41
42exp-60:
43-------
44Comments:
45* To improve UL4 exception messages there are now several undefined objects,
46  which give information about which key/name/index resulted in the undefined
47  object being created.
48* AST nodes below the level of the tag now no longer have any location
49  information. This information is added when the exception bubbling reaches a
50  tag node.
51
52
53exp-59:
54-------
55Comments:
56* Added functions any() and all().
57
58
59exp-58:
60-------
61Comments:
62* format() now works for integers.
63
64
65exp-57:
66-------
67Comments:
68* Use StringBuilder instead of StringBuffer everywhere.
69* FunctionSort can now sort collections (lexicographically).
70* Added values method.
71
72
73exp-56:
74-------
75Comments:
76* Merged constant loading AST classes into one class: Const.
77* UL4ON can now read/write TimeDelta and MonthDelta objects.
78* Added the Undefined singleton.
79* Implemented constant folding for binary and unary operators and GetSlice.
80
81
82exp-55:
83-------
84Comments:
85* Added support for list/dict comprehension, generator expressions and the date
86  function. Added language argument to format function. Added support for the
87  week method. Added support for timedelta and monthdelta objects. Added support
88  for the functions timedelta, istimedelta, monthdelta and ismonthdelta.
89
90
91exp-54:
92-------
93Comments:
94* Variable unpacking is now supported for assignment too.
95
96
97exp-53:
98-------
99Comments:
100* Variable unpacking in for loops can now be nested arbitrarily deep.
101
102
103exp-52:
104-------
105Comments:
106* Fixed implementation of And to try the first operand first.
107
108
109exp-51:
110-------
111Comments:
112* Added the functions min() and max().
113* Added a proper (threaded) implementation of InterpretedTemplate.reader().
114
115
116exp-50:
117-------
118Comments:
119* The UL4 parser has been ported to ANTLR. The final jar doesn't
120  contain any Python/Jython any longer.
121
122* Moving to ANTLR made several syntax changes necessary:
123
124    @2012-04-16 -> @(2012-04-16)
125    <?render x()?> -> <?print x.render()?>
126    <?print x.render()?> -> <?print x.renders()?>
127
128* UL4 templates now support the functions fromjson, asul4on, fromul4on.
129
130* The function json has been renamed to asjson.
131
132* Added support for templates and floats to UL4ON.
133
134
135exp-49:
136-------
137Comments:
138* Now the new style Javascript code generation is used (i.e. the code
139  is generated by Javascript itself).
140
141
142exp-48:
143-------
144Comments:
145* Renamed the function first, last and firstlast to isfirst, islast and
146  isfirstlast.
147
148
149exp-47:
150-------
151Comments:
152* Added support for the new UL4ON object serialization format (via the
153  class com.livinglogic.ul4on.Utils).
154
155
156exp-46:
157-------
158Comments:
159* Added support for the new UL4 functions first(), last(), firstlast() and
160  enumfl().
161
162
163exp-45:
164-------
165Comments:
166* Added new utility classes MapUtils, ChainedHashMap and ObjectAsMap.
167* Template, Opcode and Location now expose their attributes via a Map interface.
168
169
170exp-44:
171-------
172Comments:
173* Enhanced Location.toString() for literals.
174* Fixed TagException.toString() for parsing errors.
175
176
177exp-43:
178-------
179Comments:
180* Fixed location handling bugs with subtemplates.
181* Sub templates are now created by annotate().
182
183
184exp-42:
185-------
186Comments:
187* Updated to match the implementation in XIST 3.23 (i.e. names for templates).
188
189
190exp-40:
191-------
192Comments:
193* Added a new method Color.fromrepr().
194
195
196exp-39:
197-------
198Comments:
199* Fixed offsets into the source and the opcodes list for subtemplates.
200
201
202exp-38:
203-------
204Comments:
205* Updated Jython to version 2.5.2.
206
207
208exp-37:
209-------
210Comments:
211* Fixed comparison operator when only one of the arguments is null.
212
213
214exp-36:
215-------
216Comments:
217* The functionality for generating Javscript source from a template has been
218  moved to a separate class JavascriptSource4Template.
219* Fixed many bugs that were detected by running the XIST test suite with
220  templates converted to Java.
221* Updated commons-lang.jar to version 2.6 (StringEscapeUtils.escapeJava()
222  was escaping '/' in version 2.4)
223* InterpretedTemplate now has a new method compileToJava() that can be used to
224  compile the template into native Java code. (This generates Java source
225  code for the template and compiles this with the help of the Java compiler).
226
227
228exp-35:
229-------
230Comments:
231* Sets can now be sorted.
232
233
234exp-34:
235-------
236Comments:
237* Iterators can now be sorted.
238
239
240exp-33:
241-------
242file format: 14
243Comments:
244* Update file format to be compatible with XIST 3.15.
245
246
247exp-32:
248-------
249Comments:
250* Added InterpretedTemplate.reader() that returns a java.io.Reader object for
251  reading the template output.
252* Removed all versions of the render methods that didn't have a variables
253  argument.
254
255
256exp-31:
257-------
258Comments:
259* Added missing implementation for the "contains" opcode in
260  InterpretedTemplate.Renderer().
261
262
263exp-30:
264-------
265Comments:
266* Added two methods InterpretedTemplate.render() that render the template output
267  to a java.io.Writer.
268
269
270exp-29:
271-------
272Comments:
273* Fixed InterpretedTemplate.load() to conform to the format produced by Pythons
274  version.
275
276
277exp-28:
278-------
279Comments:
280* Fixed problems with linefeeds in comments for tag code in
281  Template.javascriptSource().
282
283
284exp-27:
285-------
286file format: 13
287
288Comments:
289* Added a new method InterpretedTemplate.javascriptSource() that generates
290  Javascript source from the template.
291* Updated date literals to used a "@" suffix.
292* Fixed various bugs.
293
294
295exp-26:
296-------
297Comments:
298* Support for the UL4 methods startswith and endswith has been added.
299
300
301exp-25:
302-------
303Comments:
304* Support for the UL4 function randchoice has been added.
305
306
307exp-24:
308-------
309Comments:
310* Support for the following new date methods has been added: day, month, year,
311  hour, minute, second, microsecond, weekday and yearday.
312* Date parsing has been enhanced (microseconds are still not supported).
313* Support for the UL4 functions random and randrange has been added.
314
315
316exp-23:
317-------
318Comments:
319* Add support for more number types in the 1 and 2 arg version of toInteger().
320* Add support for more number types to toFloat().
321* Add support for more number types to repr().
322* repr() of BigIntegers now ensures that the result contains a decimal point.
323* Add support for more number types and Color objects to json().
324* Add support for more number types to chr().
325* Add support for more number types to hex()/oct()/bin() and fixed the result
326  for negative values.
327* Added the UL4 function utcnow() and the support method Utils.utcnow().
328* Added the UL4 method mimeformat() and the support method Utils.mimeformat().
329* The JSP render method has a Writer as argument instead of a JSPWriter.
330
331
332exp-22:
333-------
334Comments:
335* The build file now forces compilation with Java 1.5.
336
337
338exp-21:
339-------
340Comments:
341* Now Utils.format() can be called without a locale argument (which is
342  useful for the JSP code generated by the XIST function ll.xist.ns.jsp.fromul4().
343
344
345exp-20:
346-------
347Comments:
348* Utils.sub(), Utils.mul(), Utils.truediv() and Utils.floordiv() now support
349  all valid combinations of bool/int/float/string operands.
350* type() now returns the correct type for all Number subclasses.
351* Added function abs().
352
353
354exp-19:
355-------
356Comments:
357* Utils.add() now supports all combinations of bool/int/float operands.
358
359
360exp-18:
361-------
362Comments:
363* Utils.xmlescape() now uses ObjectUtils.toString() to support null.
364
365
366exp-17:
367-------
368Comments:
369* Fixed error for unsupported operations.
370* Utils.iterator() now supports Iterable not just Collection.
371
372
373exp-16:
374-------
375Comments:
376* Fixed bug in the block nesting check logic.
377
378
379exp-15:
380-------
381Comments:
382* Reverted the fix to the rgb() function (argument are float values between 0
383  and 1).
384
385
386exp-14:
387-------
388Comments:
389* Fixed the rgb() function.
390
391
392exp-13:
393-------
394Comments:
395* Updated to use Jython 2.5 (i.e. Java 1.5).
396* All that's needed to use Jython is now in ul4jython.jar (which is generated
397  by makejar.sh).
398
399
400exp-12:
401-------
402file format: 11
403
404Comments:
405* Added float() and iscolor() functions.
406
407
408exp-11:
409-------
410file format: 10
411
412Comments:
413* Added join() method.
414
415
416exp-10:
417-------
418file format: 9
419
420Comments:
421* Added reversed() function.
422
423
424exp-9:
425------
426
427Comments:
428* Added int() with two arguments.
429* Added render method.
430
431
432exp-8:
433------
434
435Comments:
436* Added support for Long in a few spots in Utils.java.
437
438
439exp-7:
440------
441
442Comments:
443* Added interface JSPTemplate for an UL4 template converted to JSP.
444
445
446exp-6:
447------
448file format: 7
449
450Comments:
451* Added <?note?> tag.
452* Added functions type(), vars(), zip().
453* Added one-arg find and rfind methods.
454* Added support for ** in dict literals and render calls.
455* Added Template method pythonSource().
456* Added support for color objects.
457
458
459exp-5:
460------
461file format: 5
462
463Comments:
464* Added printx tag/opcode.
465* Added string method capitalize().
466* Enhance exception for unclosed blocks.
467* Added function get() and dictionary method get().
468* Fixed jump calculation for breaks and continues in for-blocks.
469
470
471exp-4:
472------
473Comments:
474* Added support for a csvescape() function.
475
476
477exp-3:
478------
479Comments:
480* The org.apache.commons package is now used to implement some of the operations.
481* Added support for a string method replace().
482* Added support for a repr() function.
483
484
485exp-2:
486------
487file format: 4
488
489Comments:
490* Added break and continue tags/opcodes.
491
492
493exp-1:
494------
495file format: 3
496
497* Initial version.
Note: See TracBrowser for help on using the browser.