Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

rgbds-1.0.3-1.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: rgbds Distribution: openSUSE Tumbleweed
Version: 1.0.3 Vendor: openSUSE
Release: 1.1 Build date: Wed Aug 5 12:11:26 2026
Group: System/Emulators/Other Build host: reproducible
Size: 993959 Source RPM: rgbds-1.0.3-1.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://rgbds.gbdev.io/
Summary: An assembly toolchain for the Nintendo Game Boy & Game Boy Color
RGBDS (Rednex Game Boy Development System) is a free assembler/linker package
for the Game Boy and Game Boy Color.

Provides

Requires

License

MIT

Changelog

* Wed Aug 05 2026 Alessio Biancalana <dottorblaster@opensuse.org>
  - Fix version 1.0.3 in _service file
* Sun Aug 02 2026 Alessio Biancalana <dottorblaster@opensuse.org>
  - Update to version v1.0.3:
    * Release v1.0.3
    * Update external test commits
    * Update external testing CI with libbet's new way of running Python
    * Fix CI testing of installing RGBDS on Cygwin (#2038)
    * CI testing in Cygwin 64-bit now uses CMake and runs external tests (#2037)
    * Edit some comments and formatting in testing.yml for consistency
    * Use Ninja as the generator for CMake on FreeBSD
    * Run external tests for FreeBSD (#2035)
    * Support the `COLUMNS` environment variable for help/usage output
    * Fixed-point `FMOD` and `LOG` explicitly return 0 for some invalid inputs
    * Fix palette-packing `decant` logic to avoid UB from invalid iterator (#2031)
    * Handle `-Wtruncation` for link-time `jr` values
    * Use `_fseeki64`/`_ftelli64` on Windows since `fseek`/`fell` are limited by 32-bit `long`
    * Use `std::optional<uint64_t>` instead of `long` with a special -1 sentinel for `seekSize`
    * Assume that `InsertionOrderedMap` never `add`s duplicate keys
    * Zero-initialize `Png` struct `width` and `height` just in case
    * Assume `clz`/`ctz` argument is nonzero in our fallback implementations
    * Avoid redundant "Unexpected text" error message after "Unknown" error
    * Fix an SDAS object error message to use the valid section name variable
    * Set binary or text mode on stdout as well as stdin
    * Fix handling of at-files containing `--` followed by positional arguments
    * Fix reading value of relocations symbol/section index from SDAS objects
    * Explicitly allow `JR` offsets to wrap around in RGBLINK
* Tue Jul 21 2026 Alessio Biancalana <dottorblaster@opensuse.org>
  - Update to version v1.0.2:
    * Fix typo'd APT option in release workflow
    * Release v1.0.2
    * Update libpng to 1.6.58
    * Output negative values with correct with in .sym files
    * Avoid UB from `FileStackNodeType(type)` on an invalid `type`
    * Avoid truncating too-large JR offset from an invalid object file
    * Fix assertion failure on nonzero base palette ID without an attribute map or palette map
    * Use `rpnErrorAt` wrapper to ensure setting `isError` on all RPN errors
    * `uint16_t tileIdx` type matches `options.baseTileIDs`
    * Use `Procedure` concept to type-check `decantOn` lambda
    * Addresses are 16-bit in .map files, consistent with .sym files
    * Avoid overflow for very large ROMs (e.g. TPP1)
    * Explicitly assume what was verified earlier by `readSection`
    * Fail-safe treat 16-bit alignment as a fixed address even in RGBLINK
    * Comment on how overflow to 0 is explicitly allowed for tile and palette IDs
    * Correct grammar "is" vs "are" in RGBGFX reverse mode error messages
    * Consistency check the palette map, not just the attribute map
    * Correct condition to completely print both `palettes` and `options.palSpec`
    * Fix the same shifting UB for SDAS objects as for RGBDS ones
    * Add issue template
    * Reorganize the readme
    * Use `transparent` instead of repeating `0x8000`
    * Mask blue for consistency (avoids transparent bit bugs)
    * Format CGB colors in error/verbose messages as "GB:rr,gg,bb"
    * Encapsulate `fseek`+`ftell` idiom in `seekSize`
    * Fix reverse mode with `-s/--palette-size` too small for the tile data
    * Fix large `ds` in linker script overflowing the PC
    * Fix reverse palette offsets when base palette ID wraps around to 0
    * RGBGFX reverse mode checks for too-low palette IDs, not just too-high
    * Fix RGBLINK scrambling algorithm to work for SRAM
    * Add `XXX:` comment tag to working but fragile test cases
    * Fix a flaky/random-seed `rgbgfx_test` test failure
    * Run `make format`
    * Factor out `verboseDo` to encapsulate magenta output color
    * Use magenta color for some verbose output which was missing it
    * More guards against invalid object file patch data
    * Avoid overflow in counting tiles for unrealistically large images
    * Explicitly encode assumption that an overlapping section exists
    * Fix OOM for too-small overlay files in 32K mode (`rgblink -t`)
    * Avoid unsigned overflow/truncation from bad offset values in invalid object files
    * Fix a `>` to `>=`, and avoid underflow in some sanity checks
    * Avoid closing stdin/stdout/stderr standard streams
    * Fix relative links in Markdown docs
    * Enable automatic generation of `compile_flags.txt` for `clang-tidy` via `make tidy` (#2008)
    * Add test case for local labels that superficially look like keywords
    * Fix crash on image without any colors (all transparent)
    * Fix a crash and a limitation in RGBGFX unoptimized output
    * Update external test commits
    * Upgrade FreeBSD testing from 14.3 to 15.1
    * Group the two dep install commands together in Dockerfile
    * Use `set -u` too
    * Rename `install_deps.sh` to `install-deps.sh` for consistency
    * Use `#!/usr/bin/env bash`, not `#!/bin/bash`
    * Move CI-only `check-diff` script to `.github/`
    * Move CI-only `check-format` script to `.github/`
    * Add CI job to check syntax of `contrib` scripts
    * Fix RGBGFX crash when trimming more tiles than exist after deduplication
    * Use correct `PRIu32` format spec for `uint32_t usedTotal`
    * Correct option letter in error message
    * Remove dead `return` after no-return `fatal` call
    * Refactor expression for clarity
    * Fix a typo in a comment
    * Correct assumption to avoid UB with 1 << 31
    * Print correct color set limit value in error message
    * Fix RGBGFX crash on deduplicating transparent tiles
    * Use trailing return type for `begin()`/`end()`
    * Use `[[nodiscard]]` instead of `[[gnu::warn_unused_result]]`
    * Use `const_cast` more precisely to remove `const` without changing type
    * Use more structured bindings
    * Use `[[fallthrough]];` attribute instead of `// fallthrough` comment
    * Prevent 32-bit multiplication overflow
    * Make explicit the assumption that `targetFileName` is checked before ever calling `printDep`
    * Reset `errno = 0` before `parseWholeNumber` calls and `errno == ERANGE` checks
    * Add fail-safe for invalid RPN commands in bad object files
    * Fix CRLF check in parsing SDAS objects
    * Fix condition for invalid bank range check (#2016)
    * Consistently use `sudo apt install -Uyq` in workflows (two other cases)
    * Consistently handle negative shifted macro args (#2014)
    * Disallow minus sign before symbol name in bracketed macro arguments (#2015)
    * Remove impossible condition (`uint64_t > UINT64_MAX`)
    * Safeguard against `localtime` or `gmtime` failure
    * Reuse `scrambleLimit` instead of its equivalent expression
    * Clarify comment about `-Wno-*` behavior with parametric warnings
    * Guard against undefined behavior in `double2fix`
    * Do not allow defining labels outside sections (#2013)
    * Fix `$8000_0000 % -1` to warn with `-Wdiv` like `$8000_0000 / -1` does (#2012)
    * Fix included linker scripts with no newline at EOF (#2011)
    * Same-line shellcheck comment explanations
    * Use Bash arrays instead of POSIX splitting when possible
    * Let tests know they are being run under Cygwin
    * Parallelize build jobs according to CPU count
    * Remove `CMAKE_INSTALL_PARALLEL_LEVEL`
    * Use `git clean -fdx` instead of `make clean` in external projects
    * Refactor warning diagnostic code to reduce repeated output logic
    * Prevent `rgblink -Wno-*` disabled warnings from printing a location trace anyway
    * Add `[[gnu::format(printf, 1, 2)]]` attribute to variadic function `sectError`
    * Remove unnecessary default constructor for `Token`
    * Remove unnecessary `const_cast`ing methods
    * Encapuslate UTF-8 decoder state in a struct
    * Explain why we do not use `file(GLOB ext_projects CONFIGURE_DEPENDS "external/*.cfg")`
    * Remove pointless `std::move` from non-move constructor
    * Fix error message when an rgbgfx output file cannot be created
    * Fix `rgbasm -Werror=...` not adding to the final error count
    * Describe how to patch external projects
    * Remove redundant labels from tests
    * Try to automatically determine the test OS name
    * Point out an ordering dep isn't a success one
    * Avoid fetching some repos twice
    * Move external tests files to `tests/external/`
    * Remove the need to explicitly list external tests
    * Shorten external test prop names slightly
    * Tell Dependabot to ignore minor and patch releases (#2001)
    * Updates `actions/checkout` from 6 to 7 (#1999)
    * Generate install.sh with `make -n install` (#1996)
    * Revert "Remove static compile flags"
    * Remove static compile flags
    * Remove unused variables
    * Refactor the test harness for external repo tests (#1994)
    * Comment why we use Ninja as the generator for CMake
    * Explicitly test installation with Make and CMake (#1992)
    * Install Pillow together with the rest of our CI deps (#1952)
    * Warn about CMake <3.27 for Windows-targeted builds (#1989)
    * Handle more numeric literal syntax errors in linker scripts
    * Rename `BaseV` to `ValidBaseV`
    * Fix off-by-one error with INCLUDEd linker script line numbers
    * Add `-Wlarge-constant` to RGBLINK as it is for RGBASM
    * Fix `rgbgfx -Z` palette overgeneration on merged color sets (#1912)
    * Use a smaller `unordered_map` just for looking up line-leading keywords
    * Do not build up a `std::string` when skipping leading keywords
    * Use `std::string_view` keys for `UpperMap`
    * Intern identifier strings only after checking for keywords
    * Update .gitattributes for test/asm/crlf.asm
    * Ensure CRLF line endings are preserved when necessary
    * Simplify the lexer by removing `BufferedContent` and inlining `ViewedContent` (#1981)
    * Intern strings used as identifiers (for labels, constants, macros, charmaps, etc) (#1980)
    * Don't hard-code `std::string` as the key type for `InsertionOrderedMap`
    * Factor out repeated `expandedSymName` logic
    * Use the `name` of `sym_GetPC()` instead of hard-coding "@" again
    * Add `assume` checks for expected `Token` types, like `RPNValue` has for `RPNCommand`s
    * Correct comment `SIZE_MAX` to `UINT16_MAX`
    * Encapsulate `charmap_Init`, like `sym_Init`
    * Some `Expansion` references can be `const`
    * Pass `-Wno-unused-but-set-variable` by default, not just in `make develop`
    * Optimize `skipToLeadingKeyword` for the common `ViewedContent` case (#1968)
    * Simplify `sectError` handling, without the need for an empty-string sentinel
    * Use C++20 concepts to require constraints on template parameters (#1977)
    * Do not support GCC 9 (#1978)
    * Use templates to reduce the redundant number-lexing functions (#1963)
    * Use Windows git for checkout's post-job cleanup, not Cygwin's git (#1953)
    * Refactor section creation errors, and simplify output for single errors (#1964)
    * Consistently use `-std=c++2a`, not `-std=c++20`
    * Docu-comment an implicit correctness assumption
    * Link against (non-debug) MSVC runtime statically
    * Link zlib and libpng statically by default
    * Comment the commands to use for profiling and code coverage
    * Add more tests of lexer's `skipToLeadingKeyword` behavior (#1971)
    * Verbose tracing shows lexed and captured values (#1969)
    * Describe the `wine-shim` Makefile target (#1967)
    * Format `getopt` errors more like others (sentence case, quoted options) (#1966)
    * Have CMake put RGBDS executables in our own dir
    * Use `type` instead of `which` in shell scripts
    * Update `readHexNumber` for consistency with other routines
    * Refactor and rename some numeric literal lexing for asm and linkerscript consistency
    * Use `std::move` when relevant in `Token` constructor
    * Avoid UB if `new` OOMs by removing `std:nothrow`
    * Some refactoring, renaming, and debug assertions for clarity and safety
    * Fix invalid character in bracketed macro argument
    * Add two `assume` calls to verify lexer arguments
    * Consistently lex local labels after keywords, even when skipping/capturing
    * Add test case for local labels after block-ending keywords
    * Small optimization to `skipToLeadingKeyword`
    * Build using GCC 9 in CI
    * Fix compilation with GCC 9
    * Revert "Derive `operator!=` from `operator==` (#1660)"
    * Let parallelism be determined automatically
    * Pass C++ compiler to CMake via env var
    * Imply CMake source dir
    * Avoid libpng compilation on Windows spamming the Microsoft banner
    * Use Ninja on Unix platforms
    * Correct naming of MSBuild CMake presets
    * Use Ninja on Windows
    * Pass convenience options to Make invoked via CMake
    * Replace a FIXME comment with an explanation of why we can't/won't "fix" it
    * Target an even older version of Mac OS X
    * Update libpng to 1.6.57 (#1958)
    * Consolidate, refactor, and bugfix the lexer's handling of captures and skips (#1957)
    * Keep more non-declaration initialization within the `for` loop clause
    * Use `charmapEntry` to simplify `charmap_HasChar`
    * Keep trie edges sorted for O(log N) lookup
    * Replace charmaps' fixed-size 256-value array with a vector of pairs
    * Set the Cygwin `shell` once as a `default` for its job
    * Revert "Set up Cygwin before cloning our repo"
    * Set up Cygwin before cloning our repo
    * Cache downloaded dependencies for MinGW build also
    * Fix a Fix typo ;)
    * Use a separate CI step to install clang-format before running it
    * Add necessary flags to `apt install` for checkformat
    * Touch up `checkformat.bash`
    * Install clang-format on ubuntu-slim runner
    * Fix two warnings on MinGW
    * Make `-Wformat` non-fatal on MinGW
    * Fix some warnings raised by MSVC
    * Decouple `-Werror` from `MORE_WARNINGS`
    * Set some flags only for our own code
    * Switch MinGW building to CMake
    * Stop trying to install `md5sha1sum`
    * Tidy up system info
    * Avoid hardcoding Brew's prefix
    * Bump our macOS CI runners
    * Delete GCC static analyzer workflow (#1950)
    * Run patch format check on `ubuntu-slim`
    * Run macos-static tests using CTest (#1947)
    * Fix macOS static build
    * Transition CI from pkg-config to pkgconf (#1942)
    * Enable color output in our Linux and macOS CI tests (#1939)
    * Add `.git-blame-ignore-revs` as a `blame.ignoreRevsFile`
    * Fix internal link to docs/CONTRIBUTING.md
    * Print a GitHub Actions error annotation if install_deps.sh fails
    * Update our Dockerfile to base on Debian 13 slim
    * Revert "Stop trying to explicitly install `pkg-config` in CI (#1940)"
    * Switch macOS static build to CMake (#1938)
    * Stop trying to explicitly install `pkg-config` in CI (#1940)
    * Break down CTest cases into each test suite (#1931)
    * Remove a duplicate warning flag
    * Fix MSVC dependent option syntax
    * Bump the maximum version of CMake tested with
    * Move documentation outside of the root directory (#1936)
    * Stop trying to run version test on Cygwin and FreeBSD
    * Overhaul `checkdiff` CI (#1930)
    * Avoid copying RGBFIX binary when testing it (#1933)
    * Don't allow invalid interpolations to occur (#1925)
    * Avoid repeatedly specifying bash as the command shell in CI (#1926)
    * Generate Bison output in CMake build tree (#1929)
    * Revert "Generate Bison output in CMake build tree"
    * Generate Bison output in CMake build tree
    * Note why we are not using a CMake list to pass Bison flags
    * Copy DLLs to appropriate dir for install-less Windows testing
    * Use CPack for Windows packaging
    * Remove the claim that only exported symbols appear in sym and map files
    * Add examples for using character literals instead of strings as numbers
    * Update libpng to 1.6.56 (#1922)
    * Use C++-sryle `static_cast`, not C-style explicit cast
    * Document why lib src cache is cross-OS
    * Switch release process to a lightweight runner
    * Switch from an Action to `gh release`
    * Remove dead code checking for version tag
    * Avoid caching in our release workflow
    * Build Windows release in, well, Release mode
    * Fix installing Windows build deps on release
    * Avoid CMake looking at test dir if testing is disabled
    * Check for overflow in fixed-point precision suffix (#1918)
    * Clean up docs workflows
    * Refactor lexing of fixed-point numbers (#1915)
    * Fix some fixed-point literal lexing issues (#1914)
    * `SOURCE_DATE_EPOCH` must be in base 10
    * Bump the actions group with 6 updates (#1910)
    * A little .yml cleanup
    * Fix `rgbasm -s` not overriding a previous `-s`
    * Add a key that turns out to be required
    * Fix some YAML syntax
    * Enable GH Actions to be automatically bumped
    * Check for a SDAS "Def" or "Ref" line before reading a subsequent integer
    * Correct list numbering
    * Require uploaded artifacts to be non-empty
    * Simplify CTest pre-run test command
    * Suppress status messages when fetching test deps
    * Avoid passing a C++-only flag when compiling C files
    * Fix name of test repo cache used by `macos-static` (#1909)
    * Enable Git colours in CI
    * Correct CONTRIBUTING.md to accurately describe test/fetch-test-deps.sh
    * Always clone deps with `--depth=1` (#1908)
    * Factor out common error-handling functions for lexing numbers of different bases (#1888)
    * Avoid passing irrelevant flags to our deps
    * Cache library deps on Windows
    * Specify MSVC architecture using presets
    * Specify build type implicitly
    * Use `develop` preset on FreeBSD
    * Indicate more clearly that LTO is not used in debug mode
    * Enable CMake parallelism in a central place
    * Invoke CTest directly
    * Enable colour diagnostics in CI
    * Seek lib deps via CMake FetchContent
    * Add CMake and YAML files to EditorConfig
    * Use a modern GNU Make for CMake CI on macOS
    * Reorder CMakeLists commands by topic
    * Remove call to configuring version file
    * Improve documentation of CMake bin output dir
    * Tidy up CMake sanitizer flags
    * Silence the same warning as in the Makefile
    * Harmonise passing build version
    * Sync Windows release steps with new CI
    * Fix debug-mode building on Windows
    * Avoid passing sanitizer options to MSVC linker
    * Use imported targets for linking to libpng
    * Disable exceptions and RTTI when building with CMake
    * Handle project version better in CMake
    * Harmonise naming of CMake test knobs
    * Simplify include directory directive
    * Stop overriding the binaries' install dir
    * Enable LTO even for multi-config CMake generators
    * Install our man pages in a more standard-configurable manner
    * Remove enforced CTest verbosity
    * Improve CMake-in-tree fatal error message
    * Skip trying to link to libm explicitly
    * Add a CMake preset for maintainer flags
    * Run CI tests using CTest when possible
    * Remove useless MSVC flag
    * Remove a warning triggered by MSVC's own standard library
    * Remove an outdated comment
    * Refactor the source file listing
    * Move FreeBSD deps install to common CI script
    * Print a more graceful error message for `run-tests.sh --unk`
    * Document `run-tests.sh --os`
    * Make sure to init all variables involved in CMake tests
    * Add a few details to the project() call
    * Ignore a CMake file that is not intended to be checked in
    * Correct minimum CMake version required
    * Reformat some long warning-flag-setting lines
    * Remove obsolete CMake version comment
    * Avoid showing the "more warnings" option for MSVC
    * Log with sanitizers are enabled under CMake
    * Properly specify our max CMake version supported
    * Fix some truncation warnings
    * Update zlib to 1.3.2
    * Pass `-Wdangling-alias` to Bison 3.5 or newer
    * Explicitly clarify that `SECTION(@)` returns the name of the current section
    * Reference the file that actually provides the linker script lexer
    * Avoid writing "XXX" since it's a conventional "TODO/FIXME" comment
    * List `-B` in rgbgfx options
    * Refactor to combine similar functions into one
    * Fix `SECTION UNION` alignment depending on piece order
* Tue Feb 24 2026 Alessio Biancalana <dottorblaster@opensuse.org>
  - Update to version 1.0.1:
    * Release v1.0.1
    * Correct error message for unconstrained sections with overlay (#1879)
    * Specify `-std=c++20` not `c++2a` (#1877)
    * Improve some RGBGFX error messages (#1876)
    * Fix link in man page
    * Fix two "Using a macro as first argument cancels effect of .Li" man page warnings
    * Clarify usage versus encoding of `jr` and `ldh` (#1875)
    * Update libpng to 1.6.53
    * Remove exclamation marks and periods from error messages (#1874)
    * Fix formatting typo in man/rgbasm-old.5
    * Handle a missing `-P/--preinclude` file the same as an `INCLUDE` (#1873)
    * Factor out version-printing to usage.cpp (#1870)
    * Add missing `SPDX-License-Identifier: MIT` comments
    * Refactor `FileStackNode::printBacktrace` from recursive to iterative
    * Correct typo in rgbds(5)
    * Fix bug where an object's invalid ROMX bank of 0 could break rgblink (#1868)
    * Add missing `return 0;` to rgblink `main()`
    * Fix some rgblink object file input bugs found via fuzzing with AFL++ (#1867)
    * Use 4 spaces per tab in LCOV coverage report
    * Symbol names with more than two `'.'`s could be defined as constants
    * Fix garbage characters at EOF causing an infinite loop
    * Clarify documentation of `rgbgfx -C/--color-curve` (#1864)
    * Update test dependencies (#1865)
    * Update libpng to 1.6.51 (#1862)
    * Reuse the `usage.name` for printing version info
    * Fix RGBLINK object type detection
    * Fix RGBLINK evaluation of undefined RPN symbols
    * Refactor `getSectionDescription` in src/link/assign.cpp
    * Specify more ASan options (#1860)
    * Add `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG` to `develop` builds (#1859)
    * Avoid calling `style_Set/Reset` before `strerror(errno)`, since they may call `isatty` which can change `errno`
    * Disallow `SECTION UNION` for ROM sections
    * Release version 1.0.0
    * Update rgbasm(5) docs based on @nummacway's feedback (#1852)
    * Disallow labels before `ENDC`
    * Use loops instead of tail calls and `musttail`
    * Mention `REDEF` and `FOR` regarding `EQUS` expansion
    * Revert "More accurate 8-bit <=> 5-bit RGB color conversion (#1827)"
    * Simplify musl's getopt, including removing optind, optopt, opterr, idx, and longonly
    * Show conventional colored "error:"/"FATAL:" for CLI option errors
    * Enable RGBGFX's CLI "at-files" for all programs (#1848)
    * More consistent man page descriptions for CLI options
    * More consistent man page descriptions for warning diagnostics
    * Share some handling between two tests of `rgbasm -M -`
    * Move `struct Palette` into its own file (#1850)
    * Use `musttail` attribute to guarantee tail recursion (#1849)
    * Clean up some `#define` callables
    * Lower default `-Wtrunction=` level to 1
    * Rephrase `PURGE` documentation and raise the default level to 2
    * Avoid reusing a `static` local variable (too fragile)
    * Add RGBGFX test for libpng warning with invalid bKGD chunk
    * Give clearer names to `template` parameters
    * Add more tests for things that only the external tests had covered
    * A local label starting with a keyword (e.g. `jr.local`) is an error
    * Fix bank increment never happening due to unsigned overflow
    * Add test for undefined `__SCOPE__`
    * Mention libpng in its internal warning and error messages
    * Implement `reversed` template for reversing `for`-each loops
    * Fix repeated `REPT` nodes in backtraces
    * Use C++ iterator for fragment/union "pieces" of RGBLINK sections
    * Implement `__SCOPE__` (#1845)
    * Replace all ctype.h functions with locale-independent ones
    * Release v1.0.0-rc2
    * Add more RGBFIX tests
    * Add more tests for RGBFIX
    * Prevent simple syntax highlighters from breaking on `/*` in a string
    * Rename gbz80.7 "CPU opcode reference" to "Game Boy CPU instruction reference"
    * Link `FORCE_COLOR` and `NO_COLOR`
    * Add more tests for RGBASM coverage
    * Add a test case for overlapping `IF/ENDC` and `REPT/ENDR`
    * Add CLI tests for RGBASM
    * Refactor error fix suggestions in `fstk_RunMacro`
    * Separate `isLetter` into `isUpper` and `isLower`
    * Suggest removing space before colon to define a label instead of invoking a macro
    * Consistently do `& alignMask`, not `% alignSize`
    * Test gb-starter-kit from codeberg.org, not github.com
    * Factor out a single `parseNumber` utility function (#1839)
    * Refactor some iterator template code in RGBGFX pal_packing.cpp
    * Use fewer templates in RGBGFX pal_packing.cpp
    * Simplify RGBGFX code by using fewer templates
    * Warn about `rgbgfx -O` without `-o` or any of `-A -T -P -Q`
    * Update test dependencies
    * Make CLI and `OPT` options `-p` and `-Q` more consistent (#1834)
    * Factor out `RRANGE` macro like `RANGE`
    * Implement `===` and `!==` string comparison operators (#1832)
    * Trim left space from macro args, even past block comments (#1831)
    * Allow `charmap` to map `'characters'` as well as `"strings"` (#1830)
    * Document `rgbasm -Wempty-data-directive`
    * Fix too-short .out.bin expected test results
    * Use for-each loop
    * More accurate 8-bit <=> 5-bit RGB color conversion (#1827)
    * Document more about the RGBDS architecture (#1809)
    * Correct `-q`'s arg name in rgbgfx(1) (#1826)
    * Don't silence strings-as-numbers with `OPT Wno-obsolete` in tests
    * Avoid nonessential `EQUS` expansion in tests
    * Avoid nonessential strings-as-numbers in tests
    * Make usage info output responsive to the terminal width
    * `make format` should apply to all .cpp and .hpp files
    * Add test for duplicate section after use of fragment literal
    * Some RGBLINK refactoring
    * Don't comment "; Next fragment/union" in .map files for empty section pieces
    * Run `make tidy` with `Checks: '-*,misc-include-cleaner'` in .clang-tidy (IWYU)
    * Factor out `isBinDigit` and `parseHexDigit` utility functions
    * Fix formatting of very long fixed-point numbers
    * Avoid UB when checking truncation range
    * Add more test coverage
    * Try to optimize RPN expressions with `.emplace_back` instead of `.push_back`
    * Tell people to use character literals or `CHARVAL` instead of strings as numbers
    * Move RPN buffer encoding logic into rpn.cpp
    * Don't call `rpn.clear()` when we can safely `assume` it's already `empty()`
    * Use a vector of RPN values (#1820)
    * Fix RPN patches for all commands (#1819)
    * Document the stricter rules for lexing underscores in integer constants
    * Fix RGBLINK and RGBGFX warning/error message colors
    * Release v1.0.0-rc1
    * Add 0/1/2 warning levels to `rgblink -Wtruncation` (#1816)
    * Two small improvements
    * Simplify format specs to not use a per-character state machine
    * Require underscores to actually be digit separators (#1812)
    * Fix `q` format spec (#1811)
    * Separate RGBFIX header fixing from CLI option parsing (#1808)
    * Factor out `InsertionOrderedMap` to group an indexed list with a string-keyed map
    * More specific error message when an expression is not constant because a symbol is undefined
    * `-Wexport-undefined` warning for exporting undefined symbols
    * Add test for `UNION` without `NEXTU`
    * Use scoped blocks for `case`-specific variables
    * Suggest `DEF` when undefined macros look like definitions
    * Shorten lexing of simple tokens
    * Some refactoring and cleanup (#1806)
    * Support 32-bit addresses ("XL4") as of SDCC 4.4.0
    * Clarify `DAA` documentation
    * Add more character utility functions
    * Factor shared code out of `lexer_CaptureRept` and `lexer_CaptureMacro`
    * Add a little more test coverage (#1805)
    * More consistent documentation for NP-complete heuristics
    * Implement `?` suffix to "quiet" a context and exclude it from backtraces (#1800)
    * Mention the "first-fit bin packing" algorithm of RGBLINK
    * Downgrade FreeBSD release used for testing from 15 to 14.3
    * Add more tests for edge-case macro and interpolation expansion behavior
    * Fix line numbers from nested expansions (#1802)
    * Don't count single quote `'` as garbage (#1801)
    * Predef `std::pair` to two-element `std::tuple`
    * Increase RGBASM test coverage
    * Move some static variables into the only functions that use them
    * Factor out shared backtrace code (#1793)
    * Format linker script error backtraces the same way as others (#1792)
    * Factor out shared `--color`-parsing code
    * Make quote marks consistent in error/warning messages (#1791)
    * Fix division and modulo for very large negative numbers (#1790)
    * Format RGBFIX and RGBGFX warnings/errors the same way as RGBASM and RGBLINK
    * Suggest `ld` and `call` when failing to link `ldh` and `rst`
    * Add `-B/--backtrace` option to RGBASM and RGBLINK (#1787)
    * Deprecate `__DATE__` and `__TIME__` (#1786)
    * Avoid the need to repeat `-Weverything` in test .flags
    * Allow `::` to join instructions *and* data declarations (#1785)
    * Error messages refer to "undefined" symbols and sections
    * Make `rgbasm -Wlarge-constant` enabled by default
    * Only print one warning for too-large integer constants, not one per digit (#1781)
    * Test the behavior of `ds N, @`
    * Ensure that alignment is at most 16 and we do not cause UB
    * Allow `OPT` to accept optional dashes before flags
    * Deprecate treating strings as numbers (#1780)
    * Add zsh completions for `--color` flag
    * Document the deprecated `rgbfix -O` and string functions
    * Add `-Wobsolete` to RGBFIX and RGBGFX, and deprecate `rgbfix -O`
    * Deprecate 1-indexed string functions
    * Remove previously deprecated features (#1777)
    * Support `rgbgfx -c dmg` to imply `-c dmg=e4`
    * Reuse `isWhitespace` and `isNewline`, also refactoring `readAtFile`
    * Support `rgbgfx -c auto` for automatic palette generation
    * Make `struct Uppercase` have `constexpr` methods
    * Color "warning:" yellow in `warnx`
    * More consistent missing-input error messages
    * More consistent man pages
    * Don't bother searching the `keywordDict` for local labels
    * Color verbose output as magenta
    * Refactor `lexer_CaptureRept` and `lexer_CaptureMacro`
    * Refactor some redundant lexer code
    * Use colored/styled text output for diagnostics and usage info (#1775)
    * Fix man page syntax for `Fl`ags
    * Fully support `rgbasm -MC` in Bash completion script
    * Allow the index of `CHARVAL` to be optional
    * Use `std::nothrow` for the only `new` expression
    * Move or remove some redundant information from the README
    * Move more RGBASM parser action code out of the Bison file
    * Factor out more shared math operations between RGBASM and RGBLINK
    * Show contributors' avatars with contrib.rocks
    * Extend RGBASM and RGBLINK verbosity flags to have multiple levels like RGBGFX (#1772)
    * Fix "while expanding symbol" error message
    * Use `std::numbers::pi` instead of nonstandard `M_PI`
    * Factor out a single `consumeChar` function
    * Fix interpolation after empty string literal
    * Release v0.9.4
    * Simplify toggling of enabling/disabling expansions
    * Expand the test for `{interpolation}` after two double quotes
    * Add test for `{interpolation}` after two double quotes
    * Update test dependencies
    * Exclude `verboseOutputAssignments` from LCOV coverage testing
    * Fix RGBGFX "decanting" on "components" (color sets sharing colors) (#1768)
    * Reduce deep nesting in gfx/pal_packing.cpp
    * Remove a little no-longer-necessary header boilerplate
    * Mention palette filenames in `rgbgfx -c` error messages
    * Use `UpperMap` for `rgblink -S` scramble spec matching
    * Add test case for some macro+interpolation behavior
    * Unrefactor `peek()` to use tail recursion instead of a loop
    * Replace platform-specific `mmap` with reading the entire .asm file
    * Factor out our manual `std::filesystem::path.replace_extension` replacement into its own function
    * Encapsulate access to `sectionList` and `currentSection`
    * Factor out an `UpperMap` for case-insensitive matching
    * Avoid hard-coding a redundant "FATAL:" in RGBLINK
    * Avoid hard-coding a redundant "FATAL:" in RGBFIX
    * Factor out common usage-help code
    * Split up the linkerscript lexer and layout actions
    * Split RGBLINK linkerscript parser functions into their own file
    * Split RGBASM parser action functions into their own file
    * Handle unknown MBCs, since raw numeric values are accepted
    * Use `unordered_map` lookups instead of manual `switch`es for `MbcType` data
    * Implement a single `nbErrors` counter inside generic diagnostic code
    * RGBFIX returns 1 if there was a `-Werror` before processing any files
    * Implement warning diagnostic flags for RGBFIX (#1766)
    * Add test case for block comments after line continuations
    * Prefer pre-increment/decrement operators in `for` loops
    * Improve some error messages
    * Avoid non-ASCII characters when not necessary
    * Rename proto-palettes to color sets (copied from rsgbds)
    * Replace `vector`s with `unordered_set`s
    * Factor out a single PNG-reading function to encapsulate the libpng API (#1765)
    * Reduce deep nesting some more, including larger refactors to assign.cpp
    * Make `sectionMap` not `extern`
    * Make all non-`extern` globals `static`
    * Initialize `maxRecursionDepth` with other options
    * Make `nbErrors` not `extern`
    * Make `failedOnMissingInclude` not `extern`
    * More refactoring around `extern` variables
    * Group `extern` RGBASM variables in an `Options` struct
    * Group `extern` RGBLINK variables in an `Options` struct, like RGBGFX
    * Use a `patch_AddAssertion` function instead of `extern assertions`
    * Remove unnecessary `extern` from `nbSectionsToAssign`
    * Support PNG-format palette spec files (#1764)
    * Combine two places that did `REPT` chain printing
    * Increase parser test coverage
    * Improve RGBASM test coverage
    * Miscellaneous refactoring
    * Restore blue-painting of macro arg expansions to prevent recursion
    * Refactor `peek()` to use a loop instead of tail recursion
    * Refactor peeking at macro args to be like peeking at interpolations
    * Use `nextChar()` for `shiftChar()` and then `peek()`
    * Rename `nextChar` to `bumpChar` in the RGBASM lexer for symmetry with `std::filebuf` in the RGBLINK lexer
    * Refactor `peek()` some more
    * Small lexer refactors, commenting when tail recursion occurs
    * Allow multiple preinclude files (#1763)
    * Reduce nesting depth some more
    * Fix `-W` parameter parsing
    * Prefer pre-inc/dec unless post-inc/dec are necessary
    * Reduce deep nesting some more
    * Document that `-MG` and `-MC` count `READFILE`
    * Implement `READFILE` function (#1759)
    * A little refactoring
    * Refactor code that handles when included files are missing
    * Ensure that `INCBIN` parameters are non-negative
    * Run `clang-tidy` with `make tidy`
    * Remove rgbasm-only `-lm` from Makefile
    * Replace test comments with assertions
    * Use more concrete types instead of `auto`
    * Use separate caches for zlib and libpng on Windows 2022 vs 2025
    * Fix order of sentences
    * Support `SIZEOF(reg)` to distinguish 8- and 16-bit registers (#1758)
    * Use concrete types instead of `auto` when convenient and not redundant (#1757)
    * Run all CMake commands in bash (#1755)
    * Implement warning diagnostic flags for RGBLINK (#1754)
    * Update libpng to 1.6.50 (#1750)
    * Add gb-starter-kit to test suite, excluding it on Windows, macOS, and BSD (#1753)
    * Support more syntax in linkerscripts (#1752)
    * Fix unterminated strings in linkerscripts consuming their newline
    * Add `TODO` comment for SDAS XL4 support
    * Remove unplanned `TODO` comments
    * Refactor parsing of `ld hl, sp + e8`
    * Abbreviate RGBLINK errput that includes a src+lineNo
    * Reduce some more deep nesting
    * Document more deprecated/removed features
    * Implement 'character' literals (#1747)
    * Implement `BYTELEN` and `STRBYTE` (#1744)
    * Fix string function behavior with NUL characters (#1746)
    * Note how to print lexed token names for future reference
    * Add test for labels when expecting symbols
    * Clarify comment
    * Simplify `switch` with one `case` to `if`
    * Use `std::tie` for sort comparator functions
    * Simplify `readString`
    * Simplify `appendCharInLiteral`
    * Use `Defer` instead of relying on a "Don't return before this" comment
    * Exclude Bison-generated files from coverage report, and use dark theme (#1742)
    * Reduce more nesting depth, and fix an error message
    * Reduce nesting depth in lexer.cpp
    * Use `verbosePrint` in rgbasm as well as rgblink
    * Simplify `appendCharInLiteral`
    * Consolidate `readString` and `appendStringLiteral`
    * Factor out common code from `readString` and `appendStringLiteral`
    * Refactor for better formatting
    * Add RGBASM `-MC` flag to continue `-MG` after missing dependency files (#1687)
    * Implement warning diagnostic flags for RGBGFX (#1738)
    * A few miscellaneous edits
    * Update the UTF-8 decoder (#1741)
    * Refactor to reduce nesting depth some more (#1740)
    * Reduce nesting depth in diagnostics.cpp
    * Reduce nesting depth in some functions (#1739)
    * Implement `[[ fragment literals ]]` (#1614)
    * Remove `errx` and errors.hpp (#1737)
    * Generate a coverage report in CI (#1736)
    * Miscellaneous updates
    * Ignore errors to allow lcov 2.3 to work
    * Make file.hpp independent of gfx (#1733)
    * Replace `DefaultInitVec` with `std::vector` (#1732)
    * Replace `Either` with `std::variant` (#1731)
    * Refactor warnings and errors (#1728)
    * Fix segfault with invalid RGBLINK scramble spec (#1730)
    * Fix UBSan error with overflowing exponent operator (#1727)
    * Factor out program-independent warning diagnostic code (#1725)
    * Fix alignment compatibility with current lower alignment
    * Improve error message for `align` failure (#1721)
    * Implement base palette ID
    * Document `%` changing from remainder to modulo in 0.5.0
    * "The windows-2019 runner image is being deprecated"
    * Fix out-of-bounds image slices
    * ci: tag rgbds:latest before pushing it
    * Clarify release procedure checklist
    * Release v0.9.3
    * Implement grayscale DMG palette specs (#1709)
    * Avoid generating phony dependencies for files that don't exist (#1708)
    * Format `rgbgfx -vvvvvv` string visually
    * Encode reversed PNG images as grayscale or indexed when possible (#1703)
    * Only define `parse.lac` for Bison 3.5 or greater (#1702)
    * Fix some formatting
    * Implement `CHARVAL` function (#1701)
    * Implement `++` operator for string concatenation (#1698)
    * ci container build: when pushing a version-tagged build, overwrite 'latest' as well
    * Handle missing newline at EOF for linkerscript `INCLUDE`d files (#1691)
    * Restrict custom binary and graphics digits (#1693)
    * Reuse `startsIdentifier` and `continuesIdentifier` functions (#1695)
    * Hint to {interpolate} names when EQUS expanding does not occur (#1692)
    * Dockerfile: explain commands
    * Dockerfile: install the compiled tools after the compilation (#1690)
    * Omit the version number from distrbuted release archive filenames (#1685)
    * .sym file sorting accounts for local labels' parents' addresses and names (#1684)
    * Recover from errors even inside `REPT`/`FOR` loops (#1683)
    * Fix `STRSLICE` with no stop index argument (#1682)
    * Release v0.9.2
    * Update test dependency
    * Show specific messages for some more invalid instructions, not just "syntax error" (#1679)
    * Remove a TODO comment about overlapping proto-palettes
    * Remove unplanned TODO comments in src/gfx/pal_spec.cpp
    * Clear some more TODO comments (#1677)
    * Take care of miscellaneous commented TODOs (#1676)
    * Implement `--background-color` (#1508)
    * Don't output anonymous labels in map files (#1674)
    * Group sequences of garbage characters (#1672)
    * Update test dependencies
    * Fix two RGBGFX bugs (#1671)
    * Avoid using indirect C++ types
    * Add test case for `FOR` loop variable reusing an existing one
    * Allow negative values to count macro arguments from the end (#1670)
    * Consistently use `PRId*` not `PRIi*`
    * Add `-o` / `--output` option to `rgbfix` to write separate output files (#1666)
    * Don't use tabs for alignment
    * Fix rgblink(5) man page syntax error
    * Avoid use of `goto` in `nextLine`
    * Avoid use of `goto` in `shiftChar`
    * Avoid use of `goto` in `FormatSpec::useCharacter`
    * Fix double negative
    * Exclude more lines from test coverage (#1663)
    * Use `LCOV_EXCL` comments to exclude some lines from test coverage (#1662)
    * Increase test coverage (#1661)
    * Derive `operator!=` from `operator==` (#1660)
    * Define `operator!=` in terms of `operator==` (#1659)
    * Disable `EQUS` expansion for raw symbols (by parsing them as strings) (#1648)
    * Implement new string functions (#1655)
    * Remove unnecessary default constructor definitions
    * Use more const references when possible
    * Allow the `bit`/`res`/`set` bit index to be determined at link time (#1654)
    * Some miscellaneous refactoring and copy-editing
    * Fix bug where macro names can be treated as numeric symbols (#1653)
    * Parser refers to "symbol"s, "label"s, and "local label"s, not "identifier"s (#1652)
    * Refactor the parser to have fewer `*_no_str` intermediate rules
    * Add contrib/checkformat.bash to check for clang-formatting (#1646)
    * Update the post-release checklist to mention rgbds-live (#1647)
    * Release 0.9.1
    * Mention ASMotor's continued development (#1643)
    * Allow `git describe` to get the version for FreeBSD and Cygwin in CI (#1640)
    * Remove redundant `@`-style doc comment tags (#1641)
    * Add more RGBLINK tests (#1639)
    * Add more RGBLINK test coverage (#1637)
    * Fix failing assertion with backslash at EOF in macro arguments (#1634)
    * Consistently use LF line endings in expected .out and .err output (#1635)
    * Fix `STRLEN` and `STRSUB` on incomplete UTF-8 (#1633)
    * Fix `CHARLEN` and `CHARSUB` on invalid UTF-8 (#1630)
    * Remove `colNo` column tracking from lexer
    * Refactor `readUTF8Char` into `charmap_ConvertNext`
    * Add some more string test cases
    * Remove unused `fix_PrecisionFactor` function
    * Add braces inside `#define` macro bodies
    * Add braces to Bison .y files
    * Always use braces with `InsertBraces: true` in .clang-format
    * Add more rules to .clang-format
    * Include `windows.h` before other Win32 header files
    * Run clang-format on some Bison .y file contents
    * Zero-initialize `trimmedTile` array
    * Fix clang-format of `sectionTypeInfo` array
    * Use `//` line comments not `/*` block comments
    * Get rid of unnecessary `extern "C"` blocks
    * Reformat source files with clang-format 19.1.7
    * Avoid errors after missing `INCLUDE` with `-MG` (#1627)
    * Prefer C++ constructs to C-style `sizeof`-based macros
    * Rename `Z80` prefix to `SM83`
    * Add test case for expansions changing context
    * Support `-h/--help` for all programs (#1620)
    * Support `fetch-test-deps.sh --get-deps debian`
    * Update help and error messages in run-tests.sh
    * Allow running external tests against installed rgbds (#1621)
    * Add test to cover RGBLINK behavior for patch overflow
    * Run internal tests in FreeBSD (#1616)
    * Undeprecate `ld [$ff00+c]` (#1619)
    * Document more obsolete syntax (#1618)
    * Correct the `DAA` documentation (#1617)
    * Run internal tests in Cygwin (#1592)
    * Update libpng to 1.6.45 (#1615)
    * Move all common error checks together inside `mergeSections`
    * Don't output sections in reverse order (#1613)
    * Prefer empty braces to semicolons for empty loop bodies
    * Remove unused `readMagic` function
    * Remove unnecessary semicolons after closing braces
    * Use `const` reference
    * Replace old-style cast in Windows-only code with `static_cast`
    * Update Dockerfile to use Debian 12 slim (#1599)
    * Remove the 99999 macro arg limit (#1597)
    * Use a constant for 0x8001 (#1596)
    * `RGBDS_OBJECT_VERSION_STRING` is a literal
    * Replace some `#define` with `constexpr`
    * Define the default `-r`ecursion depth in main.cpp with other default values
    * Fix the node type for "file" nodes in object files (#1593)
    * Update test dependencies
    * Only define `__asan_default_options` in `make develop` builds
    * Enable more sanitizers in `make develop` (#1588)
    * Use `if constexpr` to guarantee compile-time simplification (#1590)
    * Include <signal.h> in rgbgfx_test.cpp (#1589)
    * Allow deduplicating tiles with neither an input nor output tileset (#1585)
    * Run gcc static analysis in CI (#1587)
    * Fix RGBFIX writing bytes when one syscall is not sufficient
* Wed Jan 01 2025 stigpro@outlook.fr
  - Update to version 0.9.0:
    * Release 0.9.0
    * Update man page dates
    * Update CI test project commits
    * Using C++20 `[[unlikely]]` here would be excessive micro-optimization
    * Remove redundant 0xC7 masking for RST values (the parser handles it)
    * Sorting RGB palettes by luminance is not a "legacy" feature
    * Rename parser value `const` to `iconst` to distinguish it from C++ keyword
    * Fix man page formatting
    * List LDHL as an unsupported instruction alias
    * Deprecate `LDH` with $00-$FF (#1575)
    * Deprecate `LD` with `[C]` (#1574)
    * Consistently use UINT32_MAX, not -1, for uint32_t values
    * List post-release steps to take for other gbdev projects
    * Document obsolete syntax in rgbasm-old(5) (#1571)
    * Use C++-style casts (#1576)
    * Consistently capitalize C
    * Deprecate `LDIO` (#1567)
    * Remove sample comments in workflow
    * ci: re-trigger build-container.yml with fine-grained PAT
    * ci: clean up untagged artifacts
    * Fix `**` right-associativity, and clarify docs (#1566)
    * Improve the instruction documentation (#1561)
    * Remove the use of floating-point for palette packing (#1565)
    * Explain the DAA instruction algorithm (#1564)
    * Implement `-Wunmatched-directive`
    * Add TRACE-level verbose logging for efficiency calculations
    * Avoid precision loss from floating-point division in calculating efficiency
    * Add `color_curve` RGBGFX test
    * Add `reverse_1bit` RGBGFX test (#1555)
    * Fix rgbasm(1) formatting
    * Document the RGBGFX `-X` and `-Y` options
    * contributing: add paragraph regarding the container image
    * Add more RGBGFX test coverage (#1553)
    * Allow `LOAD FRAGMENT` (#1552)
    * Refactor how map file sections are printed
    * Escape characters in section names in map files
    * Correctly recover from syntax errors at the first token of a line (#1549)
    * Clean up some man pages (#1547)
    * Release 0.9.0-rc2
    * Fix detection of tiles with too many colors (#1546)
    * `LOAD FRAGMENT` is not allowed (#1536)
    * Swap manpage descriptions of HIGH(n) and LOW(n) (#1545)
    * Make `ENDL` optional like `ENDSECTION` (#1538)
    * Update some RGBLINK error messages (#1544)
    * Make tests work with CTest (#1539)
    * Fix nested undefined interpolation segfault (#1542)
    * Implement `0x/0o/0b` number prefixes (#1533)
    * Refactoring and enhancements to RGBASM warnings (#1526)
    * Allow tab character after backslash line continuation
    * ci: run only the "build tagged container image" step on tag pushes
    * ci: add descriptions to built container images
    * Process the last line of textual palette specs even without a trailing newline
    * Correct some documentation of RGBASM warnings
    * `-Wall` enables `-Wcharmap-redef`, and document `-Wnested-comment` (#1528)
    * Remove duplicated condition check
    * Move definition of `_POSIX_C_SOURCE` to `include/platform.hpp` (#1524)
    * Use `setmode` instead of `fdopen` (#1520)
    * Simplify some C++ abstractions (#1518)
    * Run clang-format
    * Fix swapped warning comments
    * Refer to "end of line", not "newline" (#1517)
    * Avoid treating labels and macros differently in column 1 (#1515)
    * Add test to demonstrate lack of expansions in `skipIfBlock` (#1516)
    * ci: give packages/write permission to build container image action
    * ci: tag release container images
    * ci: add explicit write permission to the build container image job
    * Refactor some workflows for consistency (#1510)
    * Only publish container for gbdev
    * Use latest docker/login-action
    * ci: build "master" container image and publish it to ghcr on every push
    * Document extra pre-release updates
    * Clarify when to manually publish prerelease docs
    * Give release workflow permission to create a release
    * Update release instructions
    * Release 0.9.0-rc1
    * Update man page and license copyright dates
    * Update test dependencies
    * Track local label scope, string equated as `..` (#1504)
    * No need for `.c_str()` with `keywordDict` lookups (#1505)
    * Prefer `snprintf` to `sprintf`
    * `\#` will always be defined inside macros
    * Implement `.` string constant for the current label scope (#1499)
    * Make error messages for "undefined" built-ins more accurate (#1501)
    * Refer to "label scope", not "symbol scope"
    * More asserts like the one in `addLabel`
    * Consistently handle auto-scoping of local symbols
    * Remove redundant and sometimes inaccurate comments
    * Rename variables to avoid C++ reserved "_[A-Z]" prefix
    * Refactor symbol value getters for less redundancy
    * Rephrase error messages for consistency
    * Store a pointer to the scoped label, not just its name
    * Report locations for RGBLINK errors with conflicting objects (#1494)
    * Revert "Implement `INCLUDE_ONCE` directive (#1481)"
    * Implement `INCLUDE_ONCE` directive (#1481)
    * Factor out common sanity checks for section union and fragment
    * Use `camelCase` instead of `lowercase` for static functions
    * RGBLINK lists local symbols when encountering an unknown symbol reference (#1496)
    * These extensions should be binary
    * Allow syntax `cpl a`
    * Fix condition for assuming at EOF
    * Avoid attempting to link if assembling fails
    * Implement `--input-tileset` (#1464)
    * Allow dollar signs in identifiers (#1493)
    * Rearrange switches so default cases are last
    * Improve string/interpolation formatting (#1491)
    * Traverse the charmap trie to reconstruct mappings instead of saving them (#1487)
    * Replace `unmangle` with `cygpath` (#1490)
    * Revert "Show test issues as annotations in the GitHub Actions job summary"
    * Update some names and comments
    * Run clang-format
    * Show test issues as annotations in the GitHub Actions job summary
    * A few more rgbasm documentation tweaks
    * Rewrite and rearrange some rgbasm docs
    * Forward declare `struct Section` to avoid a nested header `include`
    * Avoid bogus comparisons when linking fails
    * Check that there is enough room to write a patch when linking
    * Remove outdated "absolute data" terminology in function names
    * Update the best proto-pal relative size when a new best is found
    * Fix a false positive reported by `scan-build`
    * Charmaps cannot map an empty string (#1486)
    * Enable more testing of RGBGFX output (#1473)
    * Report any section overflows at the end of assembly (#1482)
    * Edit some documentation of unions and macros
    * Implement a '#' prefix for raw identifiers that may alias keywords (#1480)
    * Test RGBLINK on SDCC object files (#1479)
    * Use a custom generic tagged union `Either` instead of `std::variant` for efficiency (#1476)
    * Add RGBFIX tests for MBC names (#1477)
    * Improve some documentation (#1474)
    * Test the RGBASM state file output (#1472)
    * Document `!cc` support alongside `HIGH(r16)` and `LOW(r16)` support (#1475)
    * Allow mirroring only the X or Y axes (#1468)
    * Reword some RGBASM docs
    * Refactor test.sh scripts for consistency
    * Add some more tests, and fix some existing ones
    * Test macro args `\0` and `\<0>`
    * Pass `RGBDS=` to `make clean` as well in downstream tests
    * Correctly apply section fragment offsets to contained symbols
    * Avoid softlock if linker script contains a comment but no newline
    * Trap bad `__at()` values too
    * Implement floating bank in linker script
    * Clarify error message when a section lacks a type
    * Trap invalid section types in RGBDS objs
    * Report attempts to assign a SDCC area in a way inconsistent with its data
    * Reserve space to avoid file sym array realloc
    * Clear the old line buffer when filling the next one in nextLine
    * Use line.reserve in sdobj_ReadFile instead of constructor
    * Add a contrib script for visualising the generated palettes as a PNG
    * Fix `ProtoPalette::compare`
    * Fix charmap state output for inherited characters
    * Comment the parsers better (#1463)
    * Build “fat binaries” for macOS (#1461)
    * Fix constant expression detection functions (#1462)
    * Fix incorrect name of `macos-static` artifact
    * Use macOS 14 in CI (#1335)
    * Sync warning flags between Makefile and CMakeLists.txt
    * Enforce C++ compiler when building test binaries in CI too
    * Pass CXX env var through when compiling RGBGFX test binaries
    * Be verbose about building the RGBGFX test binaries
    * Be stricter in test scripts
    * Pass libpng CFLAGS when building `rgbgfx_test.cpp` too
    * Improve fixed-point documentation (#1455)
    * Advise on how to use `-x` to make `-r` work (#1459)
    * Fix RGBGFX reversal (#1425)
    * Make `test/gfx/at-file-ref` consistent
    * Sort proto-palettes by decreasing size when refitting overloaded palettes
    * Fix ineffective sorting of palettes pre-packing
    * Disable optimisations in `make debug`
    * Document the behavior of `FMOD`, and other man page cleanup (#1458)
    * Implement `BITWIDTH` and `TZCOUNT` functions (#1450)
    * Error messages note when a symbol has been purged (#1453)
    * Output exported numeric constants to sym file (#1439)
    * Rephrase `numeric-string` warning to not be identical to another one (#1449)
    * Multiple fixes and enhancements to RPN behavior: (#1448)
    * Implement `-Wpurge=` (#1443)
    * Implement state file output for RGBASM (#1435)
    * Deprecate treating multi-unit strings as numbers (#1438)
    * Remove redundant "unknown option" error messages (#1441)
    * Update the 'ucity' commit used for testing
    * Update test deps (#1440)
    * Implement multi-value charmaps (#1429)
    * Consistently use "palette spec" not "color spec"
    * Add `rgbgfx -r 0` to infer a width (#1437)
    * Run clang-format
    * With `-r`, print both palettes if `-c` and `-p` mismatch
    * Fix parsing of GPL files
    * Fix parsing of textual colours
    * Fix textual palettes not accepting to be filled
    * Ignore empty lines in HEX files
    * Distinguish EOF and empty lines when parsing text pal files
    * "Write" to files, "print" to console
    * Use appropriate format specifier for number of palettes
    * Fix max number of palettes wrapping around after 255
    * Remove outdated RGBASM options from man page
    * More refactoring and renaming
    * Some refactoring and reformatting (#1431)
    * Implement `EXPORT DEF` to define and export symbols (#1422)
    * Improve the error messages for interpolating undefined or invalid symbols (#1423)
    * Add syntax to push and modify stacks in one line (#1421)
    * Fix use-after-free when keeping pointers to args from at-files (#1426)
    * Fix bison.sh for patch-less bison versions (#1416)
    * Release 0.8.0
    * Fix generating a palette overriding a previous pal spec (#1415)
    * Keep the object version as RGB9; only increment the revision to 10 (#1413)
    * Allow a suffix (e.g. the version) to be added when installing (#1406)
    * Miscellaneous refactoring of code and docs (#1411)
    * Allow NUL characters in strings (#1405)
    * Specify a custom logo file to use instead of the Nintendo logo (#1400)
    * Add more test cases (#1409)
    * Remove unsupported macOS 11 from CI (#1410)
    * Give names to links in man pages (#1407)
    * Fix reading ACO palette files (#1404)
    * `X && 0` and `X & 0` are constant 0; `X || 1` is constant 1 (#1399)
    * Refactor macros for fixing/trashing header values (#1401)
    * Use a smaller size for the lexer buffer
    * Allow padding to coexist with overlay file (#1395)
    * Use the standard stream buffer size for the lexer buffer (#1396)
    * Make some error messages more consistent (#1393)
    * Fix rectangular rgbgfx --reverse --columns (#1392)
    * Use consistent `RGBDS_<PROG>_<NAME>_HPP` header guard convention
    * Replace `assert` with `assume` for release build optimization (#1390)
    * Use `std::variant` for RPN expression value (#1389)
    * Fix two bugs with RGBASM fixed-point math (#1388)
    * Add a build target for `include-what-you-use`
    * Rename some variables left from the C parser (e.g. `yylval`)
    * Update the 'ucity' commit used for testing
    * Add more RGBLINK tests (#1386)
    * Update the 'libbet' commit used for testing
    * Make test built of 'libbet' reproducible with old Pillow versions (#1385)
    * Verify ROM hashes for all CI test projects (#1384)
    * Patch test projects so they build without deprecated features
    * Remove documentation of already-removed RGBGFX options
    * Remove the deprecated RGBGFX `--output-*` options (use `--auto-*`)
    * Remove deprecated `-i` for `--include` (use `-I`)
    * Remove deprecated `DEF`-less definitions
    * Remove the deprecated `-H/-h/-L/-l` options
    * Split the `.peek()` method into its next-char and lookahead cases
    * Remove the suboptimal `.canPeek()` and `.peek()` methods
    * Refactor `peekInternal` to be a `LexerState` method
    * Refactor `BufferedContent` and `Expansion` to have methods
    * Run clang-format 14 on everything
    * Run clang-format
    * Report as many build errors as possible in CI
    * Disable some spurious MSVC warnings
    * Clean up `#include`s
    * Use standard attribute syntax instead of IBM `__attribute__`
    * Refactor to avoid redundant `obj_CheckAssertions` function
    * Use `QUOTEDSTRLEN` macro instead of `sizeof` or `strlen`
    * Defer closing of depend file
    * No more memory leaks!
    * Remove now-redundant `MmappedContent` struct
    * Group pointer and size as a `ContentSpan` struct
    * Use `std::shared_ptr` for lexer capture buffers
    * Use a `Defer` struct to close files and restore lexer state with RAII (#1379)
    * Rename `CaptureBody` to `Capture`, and refactor its methods
    * Use content-specific destructors for lexer state
    * Use `STR` and `CAT` macros for `#` and `##`
    * Rename a few variables
    * Remove RGBLINK's unimplemented '-s' "smart linking" placeholder flag
    * Use automatically-allocated `std::string_view` for macros
    * Make `CaptureBuf`s be parser values instead of a single `static` global
    * Refactor to keep `lexerState` and `lexerStateEOL` static
    * Update test project commits (#1377)
    * Remove .simple.err files, since we require Bison 3.0 (#1373)
    * Use RAII to unmap or close the lexer states' files automatically
    * Refactor macro args to be owned collectively by their fstack contexts
    * Use `std::shared_ptr` for `MacroArgs`
    * Do not limit strings to 255 characters
    * Use `std::shared_ptr<std::string>` for lexed/parsed strings
    * Refactor string-formatting routines to append to an existing string
    * Simplify `\@` handling by using `std::shared_ptr<std::string>`
    * Use `std::shared_ptr` for fstack nodes (#1371)
    * Use methods for RPN `Expression` (#1372)
    * Remove unused `Visitor` template
    * Only restore parent context's `\@` value if it had one defined (#1366)
    * Convert bison.sh to posix shell (#1369)
    * Fix some header `#include`s with `clangd` LSP (#1370)
    * Use "snake_case" consistently in parsers
    * Add `make profile`, optimized for callgrind
    * Use `std::get_if` instead of `std::visit` (#1367)
    * Remove workaround for GitHub Actions issue (#1368)
    * Built-in symbols are "<builtin>", not "<command-line>" (#1362)
    * Use `std::string` for string-formatted values (#1360)
    * Fix CI builds for Ubuntu 22.04 (#1361)
    * Use `sed` instead of `awk` to extract Bison version
    * Use `std::string` for lexer state paths
    * Pass `std::string` references to RPN functions
    * Pass `std::string` references to fstack functions
    * Pass `std::string` references to symbol functions
    * Pass `std::string` references to output functions
    * Pass `std::string` references to section functions
    * Pass `std::string` references to charmap functions
    * Pass `std::string` references to parser semantic functions instead of `.c_str()` pointers
    * Use `std::string` for most intermediate parsed strings
    * Run `clang-format` on everything
    * Use `std::unordered_map` and `std::vector` for sections
    * Use `std::unordered_map` for symbols
    * Use `std::unordered_map` for charmaps
    * Fix build failure with GCC 13
    * Use a `std::unordered_map` for looking up sections by name (#1357)
    * Sort .sym files in ascending order, and test for it (#1355)
    * Move a SECTION FRAGMENT test to the test/link/section-fragment folder (#1354)
    * Strip CI binaries built with `make` (#1345)
    * Allow multiple identical exported numeric constants (#1341)
    * Add test cases for SECTION UNION defining multiple identical labels (#1349)
    * Add license header to test/CMakeLists.tst like the rest
    * Refactor link/test.sh to avoid repeating test names (#1353)
    * Fix a reference being used after being invalidated (#1352)
    * Use a unique name to upload W32/W64 binaries in CI
    * Update Actions to Node 20
    * Disable a Clang warning
    * Refactor `FileStackNode::dump` to not need a helper function
    * Avoid a couple of clang-format quirks
    * Consistently format type qualifiers like `const` on the right (#1347)
    * Use move semantics for more parsed values
    * No need to manually do the `Expression` destructor's job
    * Refactor `mapFile` for Windows
    * Remove RPN symbol name length limit
    * Reduce the header declarations (#1342)
    * Make enum patterns more explicit (#1343)
    * Use automatic allocation and `std::move` for RPN bytes (#1336)
    * Use `std::unique_ptr` for rgblink sections (#1337)
    * Fix `-O` being always ignored (#1339)
    * Remove an unnecessary `.close()` call that the destructor handles
    * Fix enum: REG_SP == REG_AF == 3
    * Remove unused `yyerror` declaration
    * Remove now-unnecessary `enum` keyword (#1338)
    * Fix a typo bug in sdas_obj.cpp
    * Use `std::optional` for fstack paths
    * Avoid an extra operation if `!labelScope` (thanks, ISSOtm)
    * Print summaries at the end of test.sh scripts
    * Replace some macros with static functions or constants
    * Remove unused `#define`
    * Ignore `callgrind` output files
    * Use `std::reverse` for binary digits
    * Get rid of some fixed-size char buffers
    * Use `fwrite` and `fputs` instead of multiple `putc`
    * Remove 255-character limit on symbol names
    * Use `std::string` for symbol names
    * Run clang-format to fix some inconsistent style
    * Use automatic allocation for RPN reasons
    * Use `std::nothrow` from `<new>` with every `new` allocation
    * Use automatic allocation for some parser values
    * Stop explicitly passing zlib/libpng path to CMake in Windows CI
    * Update Windows libpng to 1.6.43
    * Adapt the RGBASM parser to C++ (#1333)
    * Remove declaration for compatibility with macOS bison 2.3
    * Update to use winflexbison 2.5.25 (bison 3.8.2)
    * Fix some numeric bases in RGBLINK output
    * Make sure that parsed subexpressions are fully defined
    * Fix a latent bug with parsing macro args
    * Avoid using Bison's typed mid-rule actions
    * Refactor `case`s for simplicity, and remove redundant comments
    * Improve some const correctness in RGBASM
    * Rename `fail` to `sectError`, since it increments `nbSectErrors`
    * Use `FileStackNode` constructor to avoid `std::monostate` possibility
    * Add some more trailing commas
    * Run `clang-format` on everything (#1332)
    * Use `std::variant` for symbol values (#1331)
    * Avoid using `std::get` except in `holds_alternative`-`assert`ing accessors
    * Remove EQUS callbacks for symbols
    * Update contributors
    * Use `std::variant` for symbol values (#1330)
    * Use uncommented sizes for pointer-to-array arguments (#1329)
    * Improve tests a little (#1324)
    * Use `std::variant` for lexer mmap/buffer state (#1328)
    * Implement `-c #none` (#1301)
    * Replace RGBLINK non-null pointers with references
    * Replace RGBFIX non-null pointers with references
    * Replace RGBASM non-null pointers with references
    * Check RGBGFX warning/error format strings with `format_` macro
    * Remove commented-out C-only macro features
    * We do not call `malloc/free` any more
    * Use `new` allocation for expanding `\#`
    * Use `std::vector` for capture buffer
    * Use `std::string_view` for macro bodies (#1326)
    * Use `std::string` for macro args
    * Use `std::string` for STRFMT spec and args
    * Use `std::string` for section names
    * Use `std::optional<std::string>` for lexer expansion names
    * Use RAII `std::string` and `std::vector` in randtilegen (#1325)
    * Use `std::deque<std::vector>` for free space (#1323)
    * Refactor structs to use methods instead of functions (#1322)
    * Remove redundant `(void)` parameter declarations
    * Reorganize the asm parser to be more like the linker script parser
    * Replace `NULL` with `nullptr` (#1321)
    * Remove now-unnecessary `struct` keyword (#1320)
    * Use `std::visit` with `Visitor` helper instead of `std::holds_alternatve`
    * Use `std::vector` for SDCC object section data
    * Use `std::vector` for SDCC object line buffer
    * Rename `isWRA0Mode` to `isWRAM0Mode`
    * Use `std::vector` for rgbfix ROMX data
    * Use `vec.data()` instead of `&vec[0]`
    * Rename `lexer_DeleteState` to `lexer_CleanupState`
    * Remove now-unnecessary cleanup functions
    * Use automatic allocation for section data
    * Use automatic allocation for `tryReadstring`
    * Use automatic allocation for assertion error messages
    * Use automatic allocation for symbol names
    * Use automatic allocation for section symbols
    * Use automatic allocation for section names
    * Use automatic allocation for patches
    * Clarify comment explaining how `referenced` works
    * Refactor to avoid repeating `rpn_isKnown(expr)`
    * `struct Section`'s `src` can be `const`
    * Use `std::variant` and automatic allocation for file stack node data
    * Use `std::vector`'s `.size()` for SDCC sections and symbols
    * Use copy constructor for file stack node
    * Use move semantics for the union stacks
    * Use `std::variant` for `STRFMT` arguments
    * Use `std::unordered_map` for the keyword dict
    * Use `std::string` for `PURGE` args
    * Use `std::string` for `FOR` loop variables
    * Use `std::string` for symbol/section/node names and assertion messages
    * Use `std::vector` for charmap output
    * Use `std::vector` for section data
    * Use automatic allocation for object file symbols
    * Use `std::vector` for section symbols
    * Use `std::vector` for reading object file symbols
    * Use `std::vector` for file stack nodes
    * Use `std::vector` for reading object file sections
    * Use automatic allocation for IF stacks and expansions
    * Use automatic allocation for lexer states
    * Use `std::string` for RPN error reasons
    * Use `std::variant` for file stack nodes
    * Use `std::string` for target file name
    * Use automatic allocation for fstack nodes' iters/names
    * Use `std::vector` for RPN expressions
    * Use `std::vector` for section patches
    * Use `std::vector` for fstack REPT nodes
    * Use automatic allocation for symbols
    * Use `std::vector` for include paths
    * Use `std::stack` for fstack contexts
    * Use `std::vector` for SDAS file sections
    * Use `std::vector` for RPN data
    * Use automatic allocation for RPN stack
    * Use automatic allocation for `DS` args
    * Use automatic allocation for `PURGE` args
    * Use automatic allocation for `STRFMT` args
    * Use automatic allocation for macro args
    * Use automatic allocation for charmaps
    * Use automatic allocation for patch RPN
    * Use automatic allocation for section data
    * Use automatic allocation for patches
    * Use automatic allocation for sections
    * Use automatic allocation for assertions
    * Use `std::deque` for expansions
    * Use `std::deque` for unassigned sections
    * Use `std::deque` for file stack nodes
    * Use `std::deque` for assertions
    * Use `std::vector` for sorted symbols
    * Use `std::deque` for sorted sections
    * Remove our custom hashmap
    * Use `std::map` for rgbasm charmaps
    * Use `std::map` for rgbasm symbols
    * Use `std::map` for rgblink symbols and sections
    * Use `std::deque` for symbol lists
    * Use `std::deque` for sections
    * Use `std::stack` for unions
    * Use `std::deque` for section patches
    * Use `std::deque` for assertions
    * Use `std::vector` for symbols
    * Use `std::deque` (iterable) for section stack
    * Use `std::stack` for `IF` stack
    * Use `std::stack` for options
    * Use `std::stack` for charmaps
    * Document how to run the test suite
    * Give explicit test output if the scramble-romx size is wrong
    * Fix fstack traces for macro nodes (#1318)
    * Refactor some redundant error/warning-printing code
    * Remove `#include <stdbool.h>` (#1317)
    * Build with pedantically standard C++ (#1309)
    * No more flexible array members (not standard C++) (#1307)
    * Simplify `fstk_FindFile` usage (#1310)
    * Add missing license header
    * Remove unused struct definition
    * Remove obsolete `#undef fail`
    * Free all the charmaps after parsing
    * Clarify TODO comment
    * Separate union members for EQUS and MACROs
    * No more anonymous structs (not standard C++) (#1305)
    * Fix behavior of non-ASCII bytes with `INCHARMAP` (#1308)
    * Log indiviual rgblink test variants
    * Remove unused rgblink function `sym_ForEach`
    * .dockerignore is too trivial to license :P
    * Fix coverage script checking for `.c` files
    * Add a few more linker script tests
    * Reformat some deeply-indented lines
    * Ensure that mid-section `align 16` makes PC constant
    * Honor alignment offset for `ALIGN[16, N]`
    * Add several tests for linker script syntax
    * Report mismatched file better when diff fails
    * Only look for linkerscripts in the same dir as the asm file
    * Make sure to detect Git info from *our* Git repo (#1303)
    * Avoid links that just say "here"
    * Remove now-unnecessary indentation of code blocks
    * Refer to https URLs when applicable
    * Update some contributors
    * Convert reStructuredText to Markdown
    * Fix some reStructuredText
    * Report "<stdin>" or "<stdout>" when using "-" as a filename placeholder (#1297)
    * Provide guidance to remove the deprecated rgbasm flags (#1296)
    * Phrase error messages as "Failed to", not "Could not" or "Couldn't" (#1298)
    * Truncate long format spec strings before using them (#1299)
    * Use semicolons, not comma splices
    * Fix two instances of possible infinite loops in the linker (#1292)
    * Update to Zlib 1.3.1
    * Use `rgbasm -I`, not `-i`
    * Fix some usually disabled compiler warnings (#1286)
    * Increment object file revision number to 10 (#1287)
    * Gameboy -> Game Boy
* Wed May 22 2024 stigpro@outlook.fr
  - Update to version 0.7.0:
    * Move to cmake usage
    * Move to _service-based revision management
    * Release v0.7.0
    * Remove `.Tg` macro
    * Allow fewer tRNS entries than PLTE colors (#1284)
    * Get rid of macOS hack to try having the filesystem cake and eat it too
    * Revert "Switch to using `std::filesystem` (#1235)"
    * Generate macOS static bins under correct name
    * Fix build compatibility for macOS 10.14 and below (#1280)
    * Fix "build from source" link in README (#1281)
    * Improve linker scripts a little (#1275)
    * Fix documentation for ATAN2's (y, x) argument order
* Fri Apr 23 2021 Matthias Mailänder <mailaender@opensuse.org>
  - initial packaging of version 0.5.0

Files

/usr/bin/rgbasm
/usr/bin/rgbfix
/usr/bin/rgbgfx
/usr/bin/rgblink
/usr/share/man/man1/rgbasm.1.gz
/usr/share/man/man1/rgbfix.1.gz
/usr/share/man/man1/rgbgfx.1.gz
/usr/share/man/man1/rgblink.1.gz
/usr/share/man/man5/rgbasm-old.5.gz
/usr/share/man/man5/rgbasm.5.gz
/usr/share/man/man5/rgbds.5.gz
/usr/share/man/man5/rgblink.5.gz
/usr/share/man/man7/gbz80.7.gz
/usr/share/man/man7/rgbds.7.gz


Generated by rpm2html 1.8.1

Fabrice Bellet, Sat Aug 15 00:13:46 2026