New file art6_ideas.txt.
[artemus.git] / RELEASE_NOTES
blob91ec1f472682be39a83e5142a530b5165975235d
1 Artemus Release Notes
2 =====================
4 5.0.2
5 -----
7  - New features:
8    * Both the exec() and the process() methods accept
9      arguments in their calls that can be referenced with
10      dollar-prefixed arguments as usual.
12 5.0.1
13 -----
15  * The %% keyword returns the full extended hash.
16  * Fixed processing of file templates returning 0.
17  * A new function template `dump', to dump an expression
18    using Data::Dumper.
19  * Fixed a bug in processing ARTEMUS_STR.
21 5.0.0
22 -----
24  * New milestone release. The Artemus language has been
25    completely rewritten to be a LISP-like, compiled
26    machine. No backward compatibility is provided (other
27    than including the old 4.x module in the distribution).
28    The new 5.x language is faster, more flexible, less
29    cumbersome (for example, there's no need for escaping
30    inner blocks that should execute only conditionally)
31    and include support for translateable strings.
33 4.1.3
34 -----
36  * The `foreach' constructor now includes an optional
37    4th argument, the _header_, that will be appended
38    to the output in case it's different from the
39    previous iteration. This code block is expected to
40    contain dollar-prefixed arguments.
41  * New template function `item', to return an item
42    from a colon-separated list given its subscript.
43  * Fix `case' comparisons when the variable contains
44    carriage returns.
45  * Fix loader_func() to correctly process empty
46    templates.
47  * Unless a very grave bug or vulnerabity is found,
48    this will be the last 4.x release; next release
49    will jump to the 5.x branch. Please take note that
50    this new branch is intentionally incompatible
51    with current one. Anyway, the Artemus4.pm module
52    and associated tools are planned to be distributed
53    with the 5.x series for a very long time.
55 4.1.2
56 -----
58  * New template function `sort'.
59  * New template function `reverse'.
60  * Templates can be loaded from external sources by
61    using the new `loader_func' argument to new().
62  * The Perl module Artemus is now an alias for the
63    Artemus4 module, as a way to smooth the future
64    transition to version 5. No changes need to be
65    done.
67 4.1.1
68 -----
70  * New template function `case'.
71  * New template function `env', to get values from the
72    environment.
73  * New template function `size', to return the number
74    of elements in a colon-separated list.
75  * New template function `seq', to generate a sequence
76    between two numbers as a colon-separated list.
77  * Improved debugging information.
79 4.1.0
80 -----
82  * New template function `foreach', to implement loops.
83  * New template function `set', for assigning a value to
84    a variable.
85  * New template arithmethic functions `add' and `sub'.
86  * New template comparison functions `gt', `lt' and `eq'.
87  * New template logical functions `and', `or' and `not'.
88  * New template function `random'.
89  * Comments can now be included with the {% } markup (they
90    are deleted from the final output).
91  * Old cruft has been deleted from the script (ftp, makefile
92    and sitemap generation).
93  * Template parameters are always expanded (instead of short-
94    circuiting when one is not found).
95  * Artemus markup can be escaped to allow templates being used
96    from another ones with being executed first.