New:
We have a website! Accordingly, HTML documentation is no longer distributed in the source or in the release artifacts below. All old documentation links now redirect to the latest release's documentation
You may also have noticed the repo has been moved to gbdev instead of rednex! Don't worry, the same people are in charge.
/* Block comments! */
Whitespace is now allowed between the brackets in [bc], [de] and [hl], also allowing [\1] to work.
The second number argument to INCBIN can now be omitted, going up to the end of the file
The argument to rb and rw is now optional, defaulting to 1
RGBASM and RGBLINK can both use stdin as input, and stdout as output (support yet to come to RGBFIX)
zsh completion scripts are available in the contrib/ folder. (If you want to make bash ones, apply in #620)
Changes:
Nested macros are now invalid, but a workaround is possible
The lexer has been fully rewritten, which should make additions to it easier, and improve performance
Removed arbitrary limits on charmap size and name length
STRSUB will no longer warn when taking 0 characters at the end of the string
RGBLINK will no longer report errors stemming from other errors
RGBASM is now able to write more jrs without relying on RGBLINK, leading to smaller .o files and faster linking
INCBIN should produce a slightly more useful error message
A bunch of quality-of-life improvements for downstream packagers, especially using CMake
Assertions have been removed from release builds, improving performance slightly
charmaps now allocate memory as nodes are allocated, greatly reducing their size (by a factor of ~8)
Documentation now mentions that SHIFT updates _NARG
Fixes:
Two 6+ year-old crashing bugs have been fixed. They were thankfully rare, but should no longer be a problem now.
LOAD blocks could produce incorrect output when at the beginning or end of a section
__FILE__ caused syntax errors if the file name contained a quote
jr in certain circumstances could crash RGBLINK
Fixed inconsistent version numbering between the Makefile and the CMakeLists
Documentation failed to mention SECTION FRAGMENT
Documentation incorrectly listed bit 7 of symbol type as being the unionized section flag, and failed to mention the section fragment flag
Documentation erroneously used to claim that symbol names could begin with a digit
Error out when using align outside of a SECTION, or when using shift outside of a macro... instead of crashing
Fixed a potential RGBASM crash with very large expressions
Fixed overwriting a builtin symbol succeeding after insisting enough
Fixed a crash when subtracting two invalid labels
Fixed using _NARG outside of a macro crashing RGBASM