Skip to content

Releases

Portcove application metadata renewal

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 07:36
Immutable release. Only release title and notes can be modified.
7d986e2

Portcove application preparation. No publication or acceptance is implied.

Portcove application metadata renewal

Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Nov 07:18
Immutable release. Only release title and notes can be modified.
3dfc18b

Portcove application preparation. No publication or acceptance is implied.

Portcove application metadata bootstrap

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:08
Immutable release. Only release title and notes can be modified.
9caa02c

Portcove application preparation. No publication or acceptance is implied.

NONPRODUCTION #534 rehearsal 41788540335/1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 07:54
Immutable release. Only release title and notes can be modified.
7a60432

Disposable Windows delivery/recovery rehearsal. Not an eligible Portcove production release. These public fixture keys and packages must never be appointed for production.

Portcove v0.1.0-alpha.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Sep 16:48
Immutable release. Only release title and notes can be modified.
27328c8

Portcove 0.1.0-alpha.2

Technical preview for maintainers and technically comfortable testers.
Use a disposable or fully backed-up Portcove library. Windows packages are
unsigned. Linux and macOS packages have hosted build and native-test coverage,
but do not have equivalent hands-on desktop or gameplay qualification.

This is the reviewed release-note source for Alpha 2. Its presence in the
repository does not mean the release is published. Packaged previews appear on
GitHub Releases.

What changed in Alpha 2

Alpha 2 focuses on getting a supported game from local source files into a safe,
understandable Portcove library:

  • source inspection now reports observed identity, expected variants, upstream
    support, admission, artifact/platform readiness, and recorded qualification as
    separate facts;
  • the Source Inbox can discover exact matches and supports reviewed use-current,
    default Copy, and separately authorized Move flows through the shared core,
    CLI, and desktop behavior;
  • Copy and Move stage and verify bytes on the destination volume before atomically
    claiming the reviewed final name without replacement. A destination that
    appears after review is retained and blocks publication. Move removes an
    original only after the durable registered copy is authoritative;
  • interrupted Source Inbox publication is recoverable even when rename succeeds
    before its journal transition is saved. Ambiguous, replaced, or redirected
    destinations remain blocked and are preserved for review;
  • the default library is a persisted host preference with explicit validation,
    reset, restart recovery, and safe switching while operations are active;
  • each game can inherit the library location or use a separately owned output
    root. Destination previews, capacity checks, relocation, and restart recovery
    use the same core contract in the CLI and desktop;
  • chdman and DolphinTool selection, bounded probing, saved configuration, and
    official/manual recovery links are shared across first setup and Settings.
    The fixed chdman probe accepts MAME's help exit status only when the
    expected identity and capability markers are complete;
  • managed PlayStation recompilations keep exact disc and BIOS configuration,
    input mappings, and memory-card data inside the managed game runtime. Catalog
    additions can preserve reviewed configuration from older installs, while
    executable or script companions remain blocked and restored data is verified
    again before launch, activation, rollback, or recovery publication;
  • archive-backed Libultraship ports materialize the exact admitted source into
    a private, temporary runtime cache for first launch. Generated game data stays
    in the authoritative user-data root. Core removes only its exact cache names,
    rematerializes from the admitted source, verifies the new file's identity, and
    publishes it without replacing unrelated content;
  • source, storage, tool, install, and adoption results are bound to the current
    review state so late responses cannot silently apply to a changed selection or
    library; and
  • Alpha 1 libraries and metadata remain accepted through the documented forward
    migration. Returning to Alpha 1 requires the unchanged complete pre-upgrade
    copy; replacing only the application cannot reverse a migrated database.

Portcove still does not distribute or download ROMs, disc images, BIOS files, or
other copyrighted game data. A catalog entry or available upstream package does
not establish gameplay support for every source variant, platform, or device.

Choose and verify a package

Download from the versioned prerelease entry, not GitHub's generated Source
code
archives. The desktop package and standalone CLI archive are separate.

System Desktop CLI
Windows x64 Portcove_0.1.0-alpha.2_x64-setup.exe portcove-windows-x86_64.zip
Linux x64, experimental Portcove_0.1.0-alpha.2_amd64.AppImage, Portcove_0.1.0-alpha.2_amd64.deb, or Portcove-0.1.0-alpha.2-1.x86_64.rpm portcove-linux-x86_64.tar.gz
macOS Intel, experimental Portcove_0.1.0-alpha.2_x64.dmg portcove-macos-x86_64.tar.gz
macOS Apple silicon, experimental Portcove_0.1.0-alpha.2_aarch64.dmg portcove-macos-aarch64.tar.gz

These names follow the release workflow; verify the later tag-generated draft
before publication. Use SHA256SUMS-<platform>.txt from the same release.
Compare the complete SHA-256 on the line whose filename exactly matches the
package. The aggregate
SHA256SUMS.txt covers the runnable packages from every platform. Stop on a
missing, duplicate, conflicting, or mismatched entry.

SHA-256 proves agreement with the release manifest. It does not provide an
operating-system publisher identity or establish gameplay qualification.
Windows packages have no Authenticode signature and may show unknown-publisher
or reputation warnings. macOS packages have no Developer ID signature or
notarization and may be blocked by platform policy. Keep operating-system
security protections enabled.

Upgrade from Alpha 1

Close Portcove and every game it started. Copy the complete Alpha 1 library to a
separate safe location and keep that copy unchanged. Verify the Alpha 2 package,
install or unpack it, open the existing library, and confirm installed games,
source registrations, saves, settings, backups, and active/previous versions.

The Alpha 2 database migration is forward-only and transactional. Alpha 1
cannot open the migrated database. Reinstalling the Alpha 1 application does
not reverse the migration. To return to Alpha 1, preserve the newer library and
open the unchanged complete pre-upgrade copy with the matching Alpha 1 binary.
Do not merge databases or copy an older database into a newer library tree.

Game release rollback, save restore, Portcove application replacement, and
whole-library recovery are different operations. Follow
docs/UPGRADING.md before upgrading or recovering a library.

Source and storage safety

Review the selected source variant and destination before applying a plan. Copy
is the default and leaves the selected original in place. Move requires a
separate authorization. If Portcove cannot prove publication, registration, or
cleanup state, it retains the available copies and records an actionable
recovery result rather than overwriting or deleting evidence.

Use-current keeps the source at its present path, so later unavailability can
block installation or launch. An Inbox copy is managed as source content and is
never removed by unregistering the source. Per-game output roots must be empty
or already owned by the same library and game; unrelated content, links,
insufficient capacity, and changed reviewed state are rejected.

Known limitations

  • The Windows qualification scope is intentionally limited to
    Lighthouse with the catalog's Banjo-Kazooie USA 1.0 source and Bomberman
    Party Edition: Recompiled with its accepted USA disc source. Final release
    evidence must bind the exact packaged application and backend for source intake,
    installation, launch/return,
    persistence, relocation, recovery, and Alpha 1 upgrade. It does not qualify
    the rest of the catalog or equivalent Linux and macOS desktop journeys.
  • Novice comprehension, subjective gameplay and audio quality, and physical
    controller feel remain Unassessed for this technical alpha and are tracked by
    issue #47 for later UX/beta
    qualification. Automated input and observable process, window, audio, and
    file state do not become human or physical-device evidence.
  • Exact source and gameplay qualification remains specific to the recorded port,
    source variant, upstream artifact, Portcove package, platform, and evidence.
    Synthetic recovery tests and a responsive window alone do not prove
    interaction, audio output, controller behavior, save compatibility, or human
    comprehension.
  • Application updates are manual. No signed updater or catalog feed is published
    as part of these notes.
  • Windows publisher signing, macOS signing/notarization, and hands-on Linux/macOS
    desktop-package qualification remain outstanding.
  • The Linux Tauri GTK3 dependency graph contains glib 0.18.5, affected by
    GHSA-wrw7-89jp-8q8g.
    Issue #49 tracks the
    upstream-constrained remediation. The alert remains visible and unsuppressed.
  • A selected external library, source, or per-game destination must remain
    available. Portcove reports unavailable locations; it cannot make disconnected
    or permission-denied storage accessible.

Report a problem safely

Search existing issues, then
report the Portcove version, operating system and architecture, exact package
filename, steps, expected result, and actual result. Review diagnostics before
sharing and remove usernames, local paths, account identifiers, tokens, and
other credentials. Never attach ROMs, game data, BIOS files, or a complete
library. Report vulnerabilities through
private vulnerability reporting.

Portcove v0.1.0-alpha.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Sep 14:33
Immutable release. Only release title and notes can be modified.
d10c331

Portcove 0.1.0-alpha.1

Technical preview for maintainers and technically comfortable testers.
Use a disposable or fully backed-up Portcove library. Windows has isolated
installer and replacement-lifecycle evidence. Linux and macOS have hosted
build/test evidence, but not equivalent hands-on desktop package qualification.
Desktop packages do not yet carry operating-system publisher signing.

This is the reviewed release-note source for Alpha 1. Its presence in the
repository does not mean the release is published. Packaged previews appear on
GitHub Releases.

What this alpha improves

Portcove provides a local desktop app and a separate CLI over the same core
installation, library, and launch behavior. Alpha 1 hardens controlled technical
testing with:

  • hosted release cache revalidation, bounded provider responses and pagination,
    explicit failure for tied runnable assets, and filename-bound aggregate checksums;
  • install-tree and executable verification before launch, safe Unix executable
    permissions, and refusal to fall back to an unmanifested executable;
  • current-byte source-health checks and content-bound preparation that reject
    changed source files, including changes during preparation;
  • durable, observable, cancellable launch requests, restart recovery, and save
    collection tied to the selected installation;
  • interrupted backup-deletion recovery and inventory that exposes damaged or
    unavailable backups without hiding healthy entries.

The implementation and integration record is issue #13.
Portcove does not distribute or download original ROMs, disc images, BIOS files,
or other copyrighted game data. Catalog membership and upstream release channels
do not establish hands-on support on every platform.

Choose a download

Download from the versioned prerelease entry, not GitHub's generated Source
code
archives. Those require a development build. The desktop and CLI are
separate downloads; a CLI archive is not a desktop installer.

System Desktop CLI
Windows x64 Portcove_0.1.0-alpha.1_x64-setup.exe portcove-windows-x86_64.zip
Linux x64, experimental Portcove_0.1.0-alpha.1_amd64.AppImage, Portcove_0.1.0-alpha.1_amd64.deb, or Portcove-0.1.0-alpha.1-1.x86_64.rpm portcove-linux-x86_64.tar.gz
macOS Intel, experimental Portcove_0.1.0-alpha.1_x64.dmg portcove-macos-x86_64.tar.gz
macOS Apple silicon, experimental Portcove_0.1.0-alpha.1_aarch64.dmg portcove-macos-aarch64.tar.gz

Names above follow the current workflow and the historical Alpha 1 package run;
the actual tag-generated draft must be checked before publication. Each platform
has SHA256SUMS-<platform>.txt, using the CLI's platform label. The aggregate
SHA256SUMS.txt covers the runnable packages across all platforms.

Windows has no Authenticode publisher signature and can display unknown-publisher
or reputation warnings. macOS has no Developer ID signature or notarization and
can prevent the app from opening. This alpha does not provide a qualified
workaround for those restrictions. Keep operating-system security protections
enabled. Linux and macOS desktop installation, runtime, and upgrades remain
experimental even when hosted compilation and native tests pass.

Verify the downloaded bytes

Download the checksum manifest from the same release as the package. Compare
the entire SHA-256 against the line whose filename exactly matches your download.
Stop on a missing or conflicting entry or a hash mismatch. The examples below
use one actual package per platform; substitute your exact filename when using
another package. Keep the package and manifest in the same directory.

PowerShell, Windows installer:

$asset = 'Portcove_0.1.0-alpha.1_x64-setup.exe'
(Get-FileHash -Algorithm SHA256 -LiteralPath $asset).Hash.ToLowerInvariant()
Get-Content -LiteralPath 'SHA256SUMS-windows-x86_64.txt' |
  Where-Object { $_.EndsWith('  ' + $asset) }

Compare the first output with the 64-character hash on the matching manifest
line. Exactly one matching line is expected.

Linux, AppImage (check this package only, without requiring other downloads):

awk '$2 == "Portcove_0.1.0-alpha.1_amd64.AppImage"' SHA256SUMS-linux-x86_64.txt | sha256sum --check --strict -

macOS, Apple silicon disk image (use x64 and macos-x86_64 for Intel):

awk '$2 == "Portcove_0.1.0-alpha.1_aarch64.dmg"' SHA256SUMS-macos-aarch64.txt | shasum -a 256 --check -

Expect the exact filename followed by OK; no match or any other result is not
a successful verification. These commands require the normal host checksum
tools. SHA-256 establishes agreement with the published manifest, not an
independent publisher identity, full security assurance, or gameplay qualification.

First setup, manual upgrades, and recovery

After verifying the package, use the Windows installer, or the package appropriate
to your experimental Linux/macOS host. Extract the CLI archive if you want the
command-line interface; start with portcove about and portcove doctor.
Use --library <path> or PORTCOVE_LIBRARY to select an isolated test library.
Register only the original files required by your chosen port, review its source
and setup requirements, and use the install plan before installation. See the
CLI guide.

Application upgrades are manual in this alpha. Close Portcove and all managed
games before copying a backup of the complete library to a separate location.
Retain the previous application package and record the version and checksum.
Verify the new package before replacing the application. A game update in
Portcove is separate from an upgrade of Portcove itself; no desktop in-app updater
or updater feed ships here.

The recorded Windows test covers one isolated predecessor-to-candidate installer
replacement with a preserved database and test-data marker, followed by uninstall.
It does not qualify arbitrary application downgrades, every future schema
migration, or Linux/macOS upgrades. If an application upgrade fails, stop using
the affected library, preserve it for diagnosis, and recover only from a complete
pre-upgrade copy with its matching earlier application. Test that recovery on a
copy first; do not open a migrated library with an older app based on this alpha's
installer evidence alone.

For managed games, retained-version rollback and persistent-data backup/restore
are separate operations. Review the selected version and any backup/restore
preview. A game rollback is not a rollback of the Portcove application or its
database. Do not manually delete damaged recovery state to make an operation pass.

Known limitations

  • The Linux Tauri GTK3 dependency graph contains glib 0.18.5, affected by
    GHSA-wrw7-89jp-8q8g.
    The first patched version is 0.20.0; the current graph cannot directly accept
    that upgrade. Issue #49
    tracks the upstream blocker. The alert remains open, without a suppression or
    fork. Lack of direct Portcove API use is not proof of non-exploitability.
  • Windows publisher signing, macOS signing/notarization, and hands-on Linux/macOS
    package qualification remain outstanding. Hosted tests cannot replace them.
  • Port qualification is specific to the platform and recorded scenario in the
    catalog. No universal gameplay, audio, controller, or save/load claim is made.
  • Later onboarding, storage, integrations, and updater work remain on the
    live roadmap.

Report a problem safely

Search existing issues, then report
the Portcove version, operating system and architecture, exact package filename,
steps to reproduce, expected result, and actual result. Review diagnostic text
before sharing: redact usernames, local paths, private logs, account identifiers,
tokens, and other credentials. Never attach ROMs, game data, BIOS files, or a
complete library. Share only the minimum redacted excerpt needed to explain the
failure. Report vulnerabilities through
private vulnerability reporting,
following SECURITY.md.