Update CHANGES
[xonotic/gmqcc.git] / CHANGES
1 Release v0.2.9
2     * Preprocessor:
3         - __VA_ARGS__ support
4         _ __VA_ARGS__ indexing
5         - Predefined macros like __DATE__, __TIME__, ...
6           (check the manpage for a full list)
7         - Signed numbers as single token in the
8         - Fixes some issues with #if operations on macros.
9         - Speed improvements
10     * Language:
11         - Untyped `nil` keyword.
12         - Removed the `noreturn` keyword.
13         - Added generic attribute syntax and reintroduced `noreturn`
14           as [[noreturn]].
15         - Added [[deprecated]] and [[deprecated("message")]].
16         - Support for `static` variables in functions.
17         - Support for labeled loops.
18         - UTF-8 Support
19         - enum support: without enum-types
20           (ie no `typedef enum { } foo;`)
21         - Accessing vector components via the dot operator on all
22           expressions. Eg: (3 * v).y
23         - Type restricted variadict parameters:
24           ie: void print(string...);
25         - Accessing varargs from QC via: ...(index, type)
26         - New operators: ** (exponentiation), % (modulo), etc
27         - Enumeration attributes: flag, reverse
28     * Compilation:
29         - Various optimizations and progs-size reductions.
30         - A new spell-checking algorithm tries to hint you at existing
31           variables on error.
32         - Some problems with VM related vector-instructions issues
33           have been solved in both DP and our own executor. A new
34           compatbility option (enabled by default) has been added for
35           now: -flegacy-vector-maths
36         - Compiler intrinsics: __builtin_floor, __builtin_mod,
37         __builtin_exp, __builtin_isnan
38         - Improved memory tracing
39         - Speed improvements
40     * QCVM:
41         - Improved commandline argument handling.
42         - More builtins: sqrt(), normalize()
43     * Commandline:
44         - Nicer memory dumps
45         - Support for making individual warnings an error
46         - via -Werror-<warning>
47         - added --add-info
48     * Testsuite:
49         - Support for QCFLAGS to run tests with several additional
50           flags.
51         - Added support for preprocessor tests
52         - Added preprocessor tests
53         - Added defs.qh (auto included) for qcvm definitions
54     * Syntax Highlighting:
55         - Added various syntax highlighting description files for
56         various text editors / integrated development envirorments,
57         including support for: geany, kate, kwrite, kdevelop, QtCreator,
58         gtksourceview, gedit, sany, nano, jedit
59     * Build:
60         - Build scripts for building debian, archlinux and archbsd
61         packages for x86, and x86_64.
62         - Makefile targets for gource visualization, and render of
63           gource visualization.
64
65
66 2012-12-27 Hotfix v0.2.2
67     * Liferanges
68     * Crashes
69
70 2012-12-23 Hotfix v0.2.1
71     * General bugfixes
72
73 2012-12-23 Release 0.2
74     * Preprocessor:
75         - Added xonotic compatible preprocessor.
76     * Language
77         - Basic xonotic compatibility
78         - Array support
79         - Added fteqcc's string escape sequences.
80         - Support for `noref`.
81         - Support for `goto` with labels like in fteqcc.
82         - `break` and `continue`.
83         - Short circuit logic.
84         - Support for translatable strings via _("str") like in
85           fteqcc.
86     * Compilation
87         - Warnings about uninitialized values
88
89 2012-11-17 Release 0.1
90     * Compiles id1 code