RGBDS's major version number is finally going to increment from 0 to 1! As of this release, we'll stick to semantic versioning, so that any future breaking changes will require a major version update, new features will be a minor version, and bug fixes will be a patch version. That should make it easier to manage RGBDS version compatibility for assembly projects. (And if a "version 2.0" does eventually come after this one, it might be rewritten in Rust.)
This is a release candidate to help people test it out early, and make sure we won't need to release a 1.0.1 bugfix immediately afterwards.
What's different from v1.0.0-rc1?
- Added:
===and!==operators for string comparison, as an alternative toSTRCMP - Added:
CHARMAPaccepts character literals as well as strings (there is no difference in effect) - Changed:
rgbgfx -Owithout-oor without any of-A -P -Q -Tprints a warning - Changed: Numeric command-line arguments and
OPTarguments can use any base prefix:0xor$for hex,0bor%for binary,0oor&for octal, or nothing for decimal - Changed:
OPT pargument is decimal by default, and requires0xprefix for hexadecimal (likeOPT Q,OPT r, and CLI-p/--pad-value) - Changed: Leading spaces are stripped from all
OPTarguments, not justOPT r - Changed: Spaces are consistently stripped from the beginning and end of macro arguments, even with a block comment in the middle of the spaces
- Changed: RGBLINK .map files will only print
; Next fragmentor; Next unioncomments when they also have subsequent labels to print - Changed: RGBGFX accurately rounds 8-bit to 5-bit color conversion (and vice-versa for
-r/--reverse) - Fixed:
bit/res/setwith an unknown bit index could segfault - Fixed: Formatting very long fixed-point numbers could cut off the end (e.g.
STRFMT("%#.255q1f", 1073741823.5q1)) - Fixed: Section-related error messages could be inaccurate/misleading after use of
[[ fragment literals ]]
Thanks to @Rangi42, @ISSOtm, and @ReiquelApplegate for the work done for this release.