Merge branch 'master' into cooking
[xonotic/gmqcc.git] / CHANGES
1 Release v0.2.4
2     * Preprocessor:
3         - __VA_ARGS__ support
4         - Predefined macros like __DATE__, __TIME__, ...
5           (check the manpage for a full list)
6         - Signed numbers as single token in the
7         - Fixes some issues with #if operations on macros.
8     * Language:
9         - Untyped `nil` keyword.
10         - Removed the `noreturn` keyword.
11         - Added generic attribute syntax and reintroduced `noreturn`
12           as [[noreturn]].
13         - Added [[deprecated]] and [[deprecated("message")]].
14         - Support for `static` variables in functions.
15         - Support for labeled loops.
16         - UTF-8 Support
17         - enum support: without enum-types
18           (ie no `typedef enum { } foo;`)
19         - Accessing vector components via the dot operator on all
20           expressions. Eg: (3 * v).y
21         - Type restricted variadict parameters:
22           ie: void print(string...);
23         - Accessing varargs from QC via: ...(index, type)
24     * Compilation:
25         - Various optimizations and progs-size reductions.
26         - A new spell-checking algorithm tries to hint you at existing
27           variables on error.
28         - Some problems with VM related vector-instructions issues
29           have been solved in both DP and our own executor. A new
30           compatbility option (enabled by default) has been added for
31           now: -flegacy-vector-maths
32     * qcvm:
33         - Improved commandline argument handling.
34         - More builtins: sqrt(), normalize()
35     * Commandline:
36         - Support for making individual warnings an error
37         - via -Werror-<warning>
38         - added --add-info
39     * Testsuite:
40         - Support for QCFLAGS to run tests with several additional
41           flags.
42
43 2012-12-27 Hotfix v0.2.2
44     * Liferanges
45     * Crashes
46
47 2012-12-23 Hotfix v0.2.1
48     * General bugfixes
49
50 2012-12-23 Release 0.2
51     * Preprocessor:
52         - Added xonotic compatible preprocessor.
53     * Language
54         - Basic xonotic compatibility
55         - Array support
56         - Added fteqcc's string escape sequences.
57         - Support for `noref`.
58         - Support for `goto` with labels like in fteqcc.
59         - `break` and `continue`.
60         - Short circuit logic.
61         - Support for translatable strings via _("str") like in
62           fteqcc.
63     * Compilation
64         - Warnings about uninitialized values
65
66 2012-11-17 Release 0.1
67     * Compiles id1 code