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