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