GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Tags · M5Devs/OpenROM

Tags

v4.1.0

Toggle v4.1.0's commit message
chore(release): bump version to 4.1.0

Co-authored-by: openhands <[email protected]>
  • Nov 10, 2026
  • df20a30
  • zip
  • tar.gz
  • Notes
  • Downloads

v4.0.0

Toggle v4.0.0's commit message
feat: desktop-only build, advanced skinning engine, and .orskin spec

Module 1 — Purge legacy Android artifacts. Android moves to the separate
OpenROM-Android repository; this repo is now desktop-only.

- Delete gui/android/** and .github/workflows/Android.yml
- core/lib/src/config.dart: drop initAndroid()/_androidNativeLibDir and the
  Android branches in getToolPath()/ensureExecutable()
- gui/lib/main.dart: remove the Android MethodChannel + initAndroid bootstrap
- gui/lib/app.dart: desktop-only layout detection
- scripts/fetch-binaries.sh: reject --os android; drop android from the test
  fixture and add a regression check
- Strip Android from docs/README/website, gui/.gitignore, gui/.metadata,
  gui/pubspec.yaml (launcher icons) and the deeplink service comments

Module 2 — Advanced UI skinning engine.

- ThemeConfig gains wallpaperPath/wallpaperOpacity/wallpaperBlur, skinId,
  accentSecondary and borderColor, all persisted through JSON/copyWith
- WallpaperBackground widget composites the wallpaper behind the shell with
  opacity + gaussian blur; every screen scaffold is transparent so it shows
- ThemeData is built from the palette's borderRadius (cards, dialogs, buttons,
  inputs) so skins control geometry, not just colours

Module 3 — Official .orskin bundle format + Theme Editor support.

- SkinManifest models the documented theme.json schema (portable `colors` +
  namespaced `openrom` extensions)
- SkinManager imports/exports .orskin ZIPs: Zip-Slip safe, refuses symlinks and
  null bytes, bounded entries/size, atomic (failed imports leave nothing)
- ThemeService.importSkin/exportSkin wire bundles into the live palette list;
  SkinManager.init() resolves the config dir at startup
- Theme Editor + Settings: import/export .orskin, wallpaper picker, radius /
  opacity / blur sliders
- docs/orskin-spec.md: the public specification

Tests: gui 81 pass (incl. 11 skin-bundle + 3 ThemeService skin + new
ThemeConfig cases); core 162 pass; dart/flutter analyze clean.

Co-authored-by: openhands <[email protected]>
  • Nov 6, 2026
  • eb5a876
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.9.9

Toggle v3.9.9's commit message
feat(core): streamed ROM hasher + orplug-builder CLI, bump to v3.9.9 (#…

…192)

Part 1 — ROM Hasher
- New `core/lib/src/hasher.dart`: memory-safe, single-pass streaming
  CRC32/MD5/SHA-1/SHA-256 over a 1 MiB buffer (never loads the whole ISO).
- New `openrom-core --hash <rom> [--json]` emitting progress + a `result`
  JSON event with crc32/md5/sha1/sha256/size/size_human.
- New GUI "ROM Hasher" tab (Tools): drag-and-drop or file picker, progress
  bar, results card with per-field copy buttons and a Copy All button.
- `ToolsService.hashRom()` streams CLI progress into the GUI.

Part 2 — orplug-builder
- New `core/lib/src/plugin/builder.dart` implementing the Manifest v2
  `.orplug` (ZIP) workflow against the existing plugin subsystem.
- `--plugin-init <dir>` scaffolds plugin.json/README/LICENSE/icon.png and
  the bin/<os>/<arch>/ tree.
- `--plugin-validate <dir|.orplug>` checks the manifest schema, SemVer,
  Zip-Slip containment and SHA-256 integrity of every declared executable.
- `--plugin-pack <dir> [--out …]` hashes binaries, injects the digests,
  validates, writes `<id>-<version>.orplug` and prints the marketplace
  entry for store_manifest.json.

Part 3 — v3.9.9
- Bump VERSION, core/pubspec.yaml (3.9.9), gui/pubspec.yaml (3.9.9+1),
  AppVersion.fallback and its test.
- Tests: core/test/hasher_test.dart (NIST "123456789" vectors, chunk-size
  equivalence, empty file, progress) and core/test/plugin_builder_test.dart
  (init/validate/pack end-to-end incl. Zip-Slip and install).

Co-authored-by: openhands <[email protected]>
  • Nov 4, 2026
  • 6e98d41
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.9.8

Toggle v3.9.8's commit message
fix(cli): recognize --help and print usage (#191)

* fix(cli): add --help/-h flag and print usage on no args

The CLI rejected --help with "Could not find an option named \"--help\"".
Add a --help/-h flag that prints the full usage, print usage instead of a
bare one-liner when no arguments are given, and print usage to stderr
alongside the error when parsing fails.

Also add regression tests and bump the version to 3.9.8.

Co-authored-by: openhands <[email protected]>

* fix(cli): exit --help/--version before loading plugins

loadInstalledPlugins() can log to stdout, which polluted --version output
when a plugin was installed. Handle both early-exit flags before any side
effects and tighten the regression test accordingly.

Co-authored-by: openhands <[email protected]>

---------

Co-authored-by: openhands <[email protected]>
  • Nov 2, 2026
  • c6abb9c
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.9.7

Toggle v3.9.7's commit message
fix: CUE platform detection, conversion hang, M3U multi-disc; add sys…

…tem theme; ship macOS .dmg

CUE detection
- Parse the FILE entry (quotes, spaces, apostrophes) and resolve the
  referenced BIN relative to the CUE's directory.
- Read magic bytes from the BIN (PS1, Dreamcast, Saturn, Sega CD,
  PC-Engine CD, Neo Geo CD, PS2) and return the genuine platform.
- Fall back to UNKNOWN without throwing when the BIN is unreadable.

Conversion
- _toChd: CD-based disc images (CUE/BIN/GDI/CDI) always map to createcd
  unless --media dvd is explicit, so an unassigned media type can no
  longer stall dispatch.
- CLI emits an explicit {"type":"error"} payload and fails cleanly
  instead of hanging when no job can be dispatched.

M3U generator
- Order all discs sequentially (Disc 1 -> 2 -> 3); previously only the
  first disc reached the playlist.
- Preserve the on-disk filename casing exactly (no toLowerCase), fixing
  case-sensitive filesystems.

Theme
- ThemeService follows ThemeMode.system by default, with a stored
  light/dark preference and resolvedTheme(brightness).
- MaterialApp wires light/dark ColorSchemes; Settings gains an
  Appearance (System/Light/Dark) selector; light-theme widget fixes.

Packaging
- Release workflow publishes the signed macOS .dmg directly instead of
  wrapping it in a .zip, for direct Homebrew cask use.
- Version bumped to 3.9.7; docs and README updated.

Tests
- core/test/cue_detection_test.dart, core/test/m3u_test.dart
- gui app_version_test updated to 3.9.7
  • Nov 2, 2026
  • b907d10
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.9.5

Toggle v3.9.5's commit message
fix(scripts): make fetch-binaries.sh macOS-compatible (drop bash-4 ma…

…pfile)

macOS ships bash 3.2 where mapfile is unavailable, so the macOS release job
failed with exit 127. Replace mapfile with a portable temp-file + while-read loop.

Co-authored-by: openhands <[email protected]>
  • Oct 31, 2026
  • f6dca82
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.9.0

Toggle v3.9.0's commit message
fix(ci): normalize CRLF line endings in checksum verification (#143)

Strip carriage returns (\r) from checksums.sha256 before passing to
sha256sum or shasum in build scripts and GitHub Actions workflows.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
  • Oct 9, 2026
  • d60206a
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.8.0

Toggle v3.8.0's commit message
Fix Node.js deprecation warnings in GitHub Actions workflows (#127)

* Fix Node.js deprecation warnings in GitHub Actions

Update actions/checkout and actions/download-artifact from v4 to v5
across workflow files in .github/workflows.

* Fix GitHub Actions deprecation and Flutter static analysis warnings

- Update actions/checkout and actions/download-artifact from v4 to v5 across workflows
- Ignore deprecated_member_use for onReorder in Flutter GUI screens
---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
  • Oct 5, 2026
  • 829441c
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.7.5

Toggle v3.7.5's commit message
feat: identify expected base ROMs in generated patches (#123)

* feat: add base ROM identity manifests

* style: auto format dart files

* fix: qualify SHA-256 helper

---------

Co-authored-by: ClausValcaTD <[email protected]>
  • Oct 3, 2026
  • bb1ec23
  • zip
  • tar.gz
  • Notes
  • Downloads

v3.7.0

Toggle v3.7.0's commit message
fix: replace FilePicker() with FilePicker.platform (#119)

Update file_picker usage across screen files in gui to static calls via FilePicker.platform, eliminating abstract class instantiation compilation errors.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
  • Oct 3, 2026
  • 24c6a4c
  • zip
  • tar.gz
  • Notes
  • Downloads
PreviousNext
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.