Repository navigation
Releases: pingw33n/openrb-338
Releases · pingw33n/openrb-338
Release list
OpenRB-338 2026.1103.0917
Changes since v2026.1031.0830 up to v2026.1103.0917: 5 commits, 2 listed (backlog commits are left out).
tools
- sort the Mods menu by name, ASCII case folded, lowercase first (task-167)
tests
- regenerate third-party manifests: 9 new mods, 2 repaired songs (task-168)
OpenRB-338 2026.1031.0830
Changes since v2026.1030.1842 up to v2026.1031.0830: 2 commits, 1 listed (backlog commits are left out).
tools
- bundle the xkbcommon libraries in the AppImage (task-166)
OpenRB-338 2026.1030.1842
Changes since v2026.1029.1619 up to v2026.1030.1842: 29 commits, 13 listed (backlog commits are left out).
engine
- song-mode save writes the pattern-mode copies, not live values (task-159)
- AIFF chunk walk stops at the wanted chunk, as the DLL does (task-155)
cli
- recrypt recovers files stored unscrambled, per file (task-161)
- recrypt refuses mods scrambled with another key file (task-160)
- mods sharing an INFO name: byte-order default, UI variants (task-151)
tools
- repaint the panel only while it moves, cheaper frames (task-153)
- UI panic writes a crash log and shows a native error box (task-157)
- a switch value out of 0..1 draws, a missing part is not fatal (task-156)
- Song Information 1.5x wider, fields fill it, shorter count (task-154)
- file dialogs remember the last folder, songs and mods apart (task-144)
- CI skips pushes and PRs that change only non-build files (task-152)
tests
- regenerate the third-party manifests for the grown collections (task-165)
docs
- the original loads the mods orb recrypt recovers (task-163)
OpenRB-338 2026.1029.1619
Changes in the first release (all of the history) up to v2026.1029.1619: 268 commits, 135 listed (backlog commits are left out).
engine
- one-pass recording merge, 1.8 ms -> 0.13 ms on 10000 nodes (task-084)
- msg 37 refuses a batch above the pool's free count (task-083)
- rb-player preview player, the mod's startup sound (msg 58) (task-074)
- one shared node pool per song for the track lists (task-082)
- recording - Record button, the record hook and the merge (task-057)
- the PCF's stale step slot on the 303 channels (task-072)
- the Mods menu's mod change of an open song (song msg 19) (task-056)
- the PCF's stale step slot is the 808/909 audio's return address (task-069)
- the panel's live device messages (msg 41 sub ids) (task-055)
- import ReBirth 1.x MIDI-file songs as Rebirth.exe 2.01 does (task-060)
- rb recrypt and a 2047-byte embedded key window for mods (task-059)
- third-party mods load as in the original (task-058) (task-058)
- real-time player crate rb-player and rb play (task-043)
- rbm crate, mod container, descrambling and samples (task-032)
- mixer ctor track events; song-creation defaults documented (task-034)
- msg 53 skips the refill over a playing song (task-050)
- the PCF and the compressor (task-027)
- the distortion and the delay (task-026)
- the TR-909 device (task-025)
- drum voices and the TR-808 device (task-024)
- built-in drum samples loader and rb --rebirth-dll (task-020)
- TB-303 devices, ReBirth 2.0 and Vintage sound (task-023)
- sequencer clock, track events, chase, shuffle and loop (task-022)
- frame, mixer, int16 output and export driver (task-021)
- lookup tables generated and checked against the DLL (task-019)
- song-to-engine model conversion and load message stream (task-018)
- rbs crate, RBS 4.2 reader and writer (task-017)
- Rust workspace scaffold (rbs, rb-engine, rb-cli) (task-015)
cli
- find a song's mod by INFO name only, ignoring ASCII case (task-150)
- orb play survives transient audio stream errors (task-139)
- hide the developer options from the orb and OpenRB-338 help (task-137)
- rename the project to OpenRB-338, binary orb, ORB_ variables (task-068)
- rb info SONG prints the song's metadata (task-122)
- rb mod recrypt and pack-standard read the CD image (--iso) (task-065)
- rb mod recrypt verifies the DAT, checks files, takes many mods (task-064)
- embed assets/Standard.rbm as the built-in kit (task-067)
- rb mod group: pack-standard, recrypt, unpack and pack (task-097)
- rb standard-mod, the built-in kit and panel as a mod (task-036)
- rb loads only recrypted mods; recrypt the user's and shipped mods (task-063)
- mods by name from --mod-dir, --mod, --rb20ful, --standard-kit (task-033)
- rb render to WAV, FLAC and Ogg Vorbis (task-028)
tools
- build.sh mounts DIST into the Docker build, checks the result (task-142)
- drop the copyright note in Song Information (task-140)
- release.yml fails prepare on a bad tag (pipefail) (task-141)
- Song Information edits the title, text, web page and copyright (task-117)
- About links to the new repository URL and the collections (task-138)
- animate the logo at startup and in About (task-114) (task-114)
- panel art clean-up (3D keys, LEDs, headers, new icon) (task-115)
- one single-architecture .dmg per macOS target (task-136)
- untrack original/ and ida/, document them as local only (task-066)
- Linux UI GL fallback needs libegl1, smoke tests it (task-135)
- draft release on a release tag, changelog and checksums (task-113)
- Linux AppImage of OpenRB-338 (x86_64, aarch64), release.yml job (task-112)
- Windows NSIS installers, GUI-subsystem UI exe with icon (task-111)
- one version form YYYY.MMDD.HHMM in bundle, packages, tag, About (task-133)
- packages build with a dist profile (fat LTO, stripped) (task-132)
- macOS OpenRB-338.app in a universal .dmg, versions by build time (task-110)
- rb-ui colors in one palette module (task-128)
- rb-ui Song Information shows the last event (task-124)
- rb-ui errors in a modal message box (task-130)
- rb-ui File > Info and Save keep a 1.x song's facts (task-123)
- rb-ui always draws the dark theme (task-127)
- rb-ui saves a 1.x song with the engine's sorted tracks (task-125)
- build scripts and CI for the six targets (task-108)
- cap the panel's SVG raster size at the GPU texture limit (task-119)
- enforce 100 columns with nightly rustfmt (task-120)
- rb-ui Mods menu groups Refresh List, Info drops size note (task-118)
- rb-ui logo is its own part, shown in About (task-116)
- rb-ui settings file is TOML (rb/ui.toml) (task-107)
- rb-ui Mods > Info shows the splash at 2000-era physical size (task-106)
- rb-ui starts maximized; 808 mod name centered in its strip (task-103)
- Help > Keyboard Shortcuts window (task-105)
- Help > About with the logo, version, git hash and project link (task-102)
- name the desktop app OpenRB-338 (binary, window title, app id) (task-104)
- rb-ui Mods menu caches the mod list, Refresh List (task-101)
- rb-ui File > Info opens centered in the window (task-100)
- rb-ui plays the startup sound only when the kit changes (task-099)
- rb-ui 808 shows the mod's splash and name in place of the selector (task-098)
- rb-ui file dialog sidebar headings and buttons at normal size (task-096)
- rb-ui File > Info shows the current song's information (task-095)
- rb-ui Mods > Demo Song opens the current mod's Demo.rbs (task-094)
- rb-ui Mods menu checks the current song's mod (task-093)
- rb-ui shortcut texts say Cmd on macOS (task-092)
- rb-ui File > New resets to the start state (task-091)
- rb-ui open stops the playing song (task-090)
- rb-ui Options checkbox 'Play Mod Startup Sound' (task-089)
- the player, rb-ui and rb play refuse a song the pool refuses (task-088)
- rb-ui plays the mod's startup sound on a song open and at start (task-087)
- rb-ui panel redesign from the design session, app icon (task-085)
- rb-ui wind, bar and loop arrows do nothing in pattern mode (task-081)
- UI menu - load, save, export, choose mod, Vintage flag (task-047)
- rb-ui no longer panics on pattern 32 of a 303 (task-077)
- computer-keyboard control of the panel (spec section 10) (task-070)
- in-app file browser (open/save song, export, choose mod) (task-046)
- wire the panel to the real-time player (rb-ui) (task-045)
- rb-ui, the panel window with the original's widgets (egui) (task-044)
- SVG art set for the panel (assets/ui) and its generator (task-042)
- rbsmsg.py converts RBS 4.0 songs (4.0 mixer converter) (task-061)
- rb_export.py restores the user's ReBirth prefs after every run (task-062)
- mod references in the corpus (mod, modapp sets) (task-031)
- faster app export and N fit (fit.py, polled waits) (task-038)
- rbm.py, rbhost mod loading, docs of the RBM format and key table (task-030)
- rebirth_pids fails when tasklist cannot be parsed (task-035)
- rbhost, an offline host for the original ReBirth.dll (task-011)
- rb_export.py, the original app's export runner (task-008)
- rbcmp.py, a render comparator (task-007)
- rbs.py, an RBS 4.x song reader and writer (task-005)
tests
- drop the removed 8-Track mod from the mods manifest (task-149)
- pin rbhost's render of every third-party song (task-129)
- rb-ui second Save of a 4.1 or 1.x song is byte-identical (task-131)
- three external inputs, a CD-image test kit, synthetic recrypts (task-121)
- find Python 3 portably; CI runs every test with --no-fail-fast (task-126)
- resolve relative RB_* env paths against the workspace root (task-079)
- song msg 19, the mod change, equals the DLL's in a live session (task-076)
- rb-player live test waits by wall clock, no song-mode replay (task-073)
- diag README says the wave-127 PCF songs export silence (task-039)
- golden test over the whole corpus, rb compare (task-029)
- corpus device tests against the engine's delay, drop TestDelay (task-049)
- reference corpus (145 diag FLAC, 11 app FLAC, shipped hashes) (task-014)
- diagnostic song set for the reference corpus (task-009)
docs
- README with the logo animation, quick start and mod notes (task-109)
- the local checkout folder is now openrb-338 too (task-068)
- the GitHub repository is now pingw33n/openrb-338 (task-068)
- drop original/ and ida/ from the repo; task-066 rewrite done (task-066)
- mod change with several songs open sends msg 53 round trip (task-075)
- UI spec of the original panel (layout, controls, behavior) (task-041)
- original_bugs.md, the original's defects in one place (task-051)
- Python test command in the brief, attribution rule for reviewers
- rbhost reproduces the app's exports of all 145 diag songs (task-012)
- determinism of the original's export per capture protocol (task-010)
- engine state at export start and the app's realtime driving (task-004)
- song load path from .rbs to engine messages (task-003)
- rcs reaches the installation by absolute path
- test machine guide, screenshots and shipped songs (task-002)
- push main to origin after each merge