Skip to content

0.9 Release Testing

Nick Hamze edited this page Jul 29, 2026 · 4 revisions

SwanSong 0.9 Release Testing

SwanSong 0.9.2 is the current stable release. Test only games, translation packages, homebrew, projects, cartridges, and save data you own or are authorized to use. Never attach ROMs, patches whose distribution is not authorized, saves, private screenshots or audio, manuscripts, or Translation Lab evidence to a public report.

Expected app identity: SwanSong 0.9.2 (20).

Translation Shelf

  • Choose a package folder and, separately, its release/release.json. Both paths must resolve to the same safe source-free release.
  • Install with the exact requested .ws, .wsc, or one-game ZIP. Confirm the selected original is unchanged and only the finished translated copy enters SwanSong's private managed library.
  • Try a wrong revision, wrong byte count, changed IPS, malformed manifest, unsupported patch format, unsafe relative path, link, special file, oversized input, mismatched finished digest, invalid WonderSwan structure, and invalid cartridge checksum. Every case must fail before installation.
  • Confirm the translated game has its own library identity, badge, saves, states, artwork, favorite, and play history. Playing or saving it must not change the original entry's history.
  • Import the exact finished build first, then install the release and confirm SwanSong can adopt that entry rather than create a duplicate.
  • Remove or change the managed translated copy, choose Rebuild Translation…, and confirm the same package and original restore the exact bytes while preserving saves, states, artwork, favorite, and play history.
  • Observe network activity during package selection, verification, installation, adoption, launch, and rebuild. Translation Shelf must make no request.
  • Verify the package never gains an original or finished ROM and the selected original's timestamp and bytes remain unchanged.

Developer-only surfaces

  • With Developer Tools off, confirm Homebrew omits the SwanSong Fun Tester banner and per-game Agent Playtest card.
  • With Developer Tools on, copy the all-games and single-game requests. Confirm they name $playtest-swansong-fun, preserve the selected title, and request separate discovery, competence, replay, functional, frame, audio, and input evidence.
  • Disable Developer Tools again. The Fun Tester, Picture Appeared, Not Tested Yet, Needs Attention, Game Confidence controls, and diagnostic accessibility wording must all disappear without deleting saved evidence.

Player and library regression

  • Add local .ws, .wsc, .pc2, .pcv2, and supported one-game ZIP fixtures; launch horizontal and vertical titles through SwanSong Open IPL.
  • Exercise keyboard and controller play, focus recovery, display profiles, visual save states, Time Ribbon, save import/export, favorites, artwork, repair, removal, relaunch, and Safe Mode.
  • Confirm the refreshed Homebrew title screens remain crisp at nearest-neighbor scale and catalog network access occurs only after Browse, Refresh, or a selected Add action.

Stable update

  • Begin with the signed SwanSong 0.9.1 stable release on the default channel.
  • Check manually, install 0.9.2, relaunch, and confirm SwanSong 0.9.2 (20) plus unchanged libraries, saves, states, settings, projects, and catalog consent.
  • Test opt-in automatic checks and automatic download/install separately. Opted-out clients must make no background update request.
  • An unreachable feed, tampered signature, interrupted download, cancellation, and failed installation must leave 0.9.1 working.

Release evidence

  • Run the full Quality workflow on main and require Apple silicon, Intel, and release-preflight success.
  • Verify the exact public app archive is universal, Developer ID signed, hardened, notarized, stapled, and accepted by Gatekeeper.
  • Verify the privacy manifest, exact source archive, SPDX SBOM, release manifest, checksums, GitHub artifact/SBOM attestations, and stable Sparkle signatures as one release set.
  • Download the five public assets again, recheck them, install that exact archive, launch it from Applications, and repeat the final-path checks.
  • Publish the repo-backed Wiki from the exact merged main revision and confirm every public page matches docs/wiki/.

Report the Mac model, macOS version, architecture, installed and offered version/build, selected update channel, and sanitized result. For Translation Shelf, report only the manifest schema, platform, declared sizes, and visible error—never the game, patch, fingerprints, private paths, saves, or captures.

Clone this wiki locally