Skip to content

Releases: centrexity/GamePKG

GamePKG 0.1.14 — Independent storage

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 16:16

GamePKG now owns its complete storage integration. Start the local browser view with gamepkg web-library; it no longer requires a separately supplied storage package, script or package-source path.

The Rust host retains signed packages, settings, catalogs, ROM selections, native saves and play history in their existing locations. Its atomic metadata snapshot remains rebuildable from native records. The optional browser cache is GamePKG-owned code using the browser's standard IndexedDB API, in a new independent cache namespace. No native data migration or deletion is performed. Authenticated live metadata and icons remain available if browser caching is blocked or fails.

The external script loading route, source-hash allowlist, CLI package option and unrelated project references were removed from current code and documentation. Browser writes wait for transaction commit, failed writes preserve prior data, and metadata/icons remain scoped to a single library.

No native database crate was added: current bounded record storage does not require a database engine. docs/STORAGE.md reviews rusqlite/SQLite and pure-Rust redb for future query or transaction requirements, including the need to verify the supported platform targets before adoption.

Validation: 199 Rust tests, formatting and Clippy; cache persistence/isolation, transactional failure preservation, browser restart, blocked-cache live display, actual gameplay/achievement persistence, keyboard gameplay through the browser cache, native home-folder restart, extracted Linux build/play, Windows cross-build and CLI startup, archive checksums and private-file exclusions.

Direct native game compilation remains Linux-only; Windows retains its explicit Wasm workflow. No ROMs, WADs or signing keys are included.

GamePKG 0.1.13 — Signed game descriptions and metadata

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 16:03

Packages can now carry optional signed title, description, author, homepage and genre metadata. Game pages display the description and project details, library rows use friendly titles with IDs retained, CLI lists expose the fields, and the browser library persists them through Hindsight/IndexedDB.

Catalog entries can include unverified descriptions before downloading a game. Installed pages use the signed package metadata instead of catalog claims. Descriptions are bounded plain text with optional line breaks; markup is displayed literally. Metadata controls, unsafe homepage URLs, excessive lengths and duplicate genres are rejected. Existing packages without these fields continue to load and use their IDs as titles.

Require GamePKG 0.1.13 or newer when creating packages or catalogs with the new fields. Update the host before importing the Ports 0.1.4 catalog. Developer instructions and the format specification include examples and byte limits.

Validation: 199 Rust tests, metadata signature-tamper rejection, offline catalog persistence, signed-over-catalog desktop precedence, actual Hindsight/IndexedDB persistence and literal HTML/XSS handling, all 19 good/seven bad examples, formatting, Clippy, extracted Linux archive build/play, Windows cross-build/startup, checksums and private-file exclusions.

Direct native game compilation remains Linux-only; Windows retains its explicit Wasm workflow. No ROMs, WADs or signing keys are included.

GamePKG 0.1.12 — Clearer interface and licensed thumbnails

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 15:52

The desktop library now uses a high-contrast navy/teal dark theme and a readable light theme, larger text and controls, framed artwork rows, clear status colors and summary cards. Wide windows retain aligned table columns; compact windows use stacked rows. Pages and actions scroll or wrap at smaller sizes. Settings now saves an interface size of 80–160%, in addition to system display scaling.

Play remains in a separate game process and window. Package review puts creator details and the installation action near the top, and game pages expose selectable Credits and licenses.

Four freely licensed port thumbnails are included through the pinned Ports 0.1.3 recipes: the original MIT 2048 icon by Gabriele Cirulli, and attributed CC BY 3.0 icons from Game-icons.net by Lorc and Delapouite, composed into covers. Valid package artwork takes priority; older missing/placeholder thumbnails receive a host-provided cover without changing signed packages. Full license text, authors, source links, modification notes, editable SVGs and provenance hashes are included.

Validation: 195 Rust tests, formatting and Clippy; screenshots at 1280, 760 and 620 pixel widths, 140% text and both themes; Settings Save/Cancel; legacy placeholder fallback artwork; extracted Linux archive build/play; Windows cross-build and executable startup; archive checksums and private-file exclusions. The separate signed port packages and catalog are available at https://github.com/centrexity/GamePKG_Ports/releases/tag/v0.1.3.

Direct native game compilation remains Linux-only; Windows retains its explicit Wasm workflow. No ROMs, WADs or private signing keys are included.

GamePKG 0.1.11 — Separate game processes and windows

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 15:26

Play now opens each game in its own process and window, named for the game. The GamePKG library remains available, and closing the library leaves running games open. Both native and explicit Wasm playback use the separate player.

The player owns its renderer and audio. Native game code retains its restricted worker process. Closing the game normally finishes progress saving; the library refreshes play history when the player exits. Remembered ROM selections and explicit native/Wasm target choices are passed through the launcher.

Validated locally: 195 Rust tests, formatting and Clippy, separate process/window IDs, actual keyboard gameplay and achievement persistence, continued gameplay after the library process closes, normal OS window close with saved play time, remembered per-game ROMs, Vulkan shader/texture pixels, an extracted release build/play, and Windows CLI startup. Linux and Windows archives include matching checksums and dependency notices/source. No private ROMs or signing keys are included.

Direct native game compilation remains Linux-only. Windows retains explicit Wasm build/play with its configured Linux compiler exchange.

GamePKG 0.1.10 — Native Linux builds, Vulkan and networking

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 15:18

Build now targets the current Linux operating system and CPU directly. Build Wasm and Play Wasm are separate controls. Native C ports no longer need wasi-libc; the optional Wasm compiler has a saved C/WASI tools folder setting.

Desktop rendering defaults to Vulkan. OpenGL remains selectable in Settings. Signed network permissions now enable bounded HTTPS GET and TCP/UDP multiplayer connections, including explicitly declared TCP listeners. Games use host services and receive no direct sockets or filesystem access.

Native Linux games run in a separate isolated worker with a mandatory syscall allowlist, memory ceilings, tick deadlines and integrity-checked executable snapshots. The source policy still prohibits guest crates, macros, aliases and indirect calls. ROMs remain selected per game and are read in place.

Validation: 195 Rust tests, formatting, Clippy, 19 good/seven bad examples, native and core/component networking, Vulkan shader/texture pixels, native DOOM and Zelda gameplay, remembered ROM selections, native 2048 and Windows executable smoke check. Both archives include dependency source/notices and matching checksums; no ROMs or private keys are included.

Platform limit: direct native game compilation currently requires Linux. The Windows app retains explicit Wasm build/play controls and its configured Linux compiler exchange. This release does not provide a Windows native game compiler.

GamePKG 0.1.9 — Native ROM file picker

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 05:43

Click a ROM file field on a game’s page to open the system file picker. Each named ROM slot has its own picker, and the chosen file location is remembered for that game. Cancelling preserves the previous choice. ROM files stay in their original locations.

The picker runs separately from the app’s drawing loop. Its result is checked against the original library, creator and ROM requirements before saving. The dialog library is a host-only dependency; game source still cannot use external crates.

Validation: 190 Rust tests passed, including cancellation, named-slot preservation, changed creator/requirements and missing-file rejection. Linux desktop tests selected multiple ROMs through actual system dialogs and checked cancellation, separate per-game choices, persistence across restart and real guest playback. Formatting, Clippy, website checks and archive checksums passed. Linux and Windows x86_64 CLI/GUI executables were built, and the Windows CLI was smoke-tested under Wine. The Windows GUI picker was not tested locally.

Linux uses the desktop file portal with a Zenity fallback; the included installation guide lists these runtime packages. Windows uses its native file dialog. Verify the archive with its accompanying SHA-256 file, follow INSTALL.md, and restart an already-running app after replacing its files. Windows source compilation continues to use the documented matching Linux compiler setup.

GamePKG 0.1.8 — Dedicated game pages

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 05:34

Click a game’s name or icon in the library to open a dedicated game page. Play, Build/Rebuild, remembered ROM locations, update checks, integrity tools, previews, achievements and verified package details now live together on that page. Back to game returns there from gameplay; Back to library returns to browsing.

Catalog entries open their own pages without downloading anything. Download / inspect and creator approval remain explicit steps. Package drops open the verified package review on its page, and cancelling or returning to the library discards the staged review.

Validation: 188 Rust tests passed; Linux desktop checks exercised installation, building, gameplay, navigation, catalog pages without automatic downloads, remembered per-game ROMs across restart, multiple ROM slots, native file drops, achievements, video previews and an existing port’s gameplay/web export. Formatting, Clippy and public-site checks passed. Linux and Windows x86_64 CLI/GUI binaries were built; the Windows CLI version check passed under Wine. Native Windows GUI behavior was not tested locally.

Verify the archive with its accompanying SHA-256 file and follow the included INSTALL.md. Restart any running app after replacing its files. Windows source compilation continues to use the matching Linux compiler through the documented WSL 2 setup; playback uses the native app. Player ROM files and signing keys are not included.

GamePKG 0.1.7 — remembered ROMs and updated desktop player

Choose a tag to compare

@jeff8j jeff8j released this 16 Oct 05:21

GamePKG 0.1.7 updates the desktop app and CLI together. Close older running copies before launching this release.

  • Each game's ROM/WAD locations are remembered independently across game switches and app restarts, including games requiring multiple files. Use ROM files on its row once, then Play. Same-creator updates retain paths while ROM requirements stay unchanged; missing files must be reselected. Files remain read-only and their contents are never added to packages or compiler requests.
  • Native drag-and-drop opens .gamepkg packages for verified creator review and imports .gamepkglist catalogs without downloading games. Package installation still requires approval.
  • The library has more space between rows, a cleaner status column and a More menu for integrity checks, repair and browser export.
  • Current signed port packages download and parse correctly; this resolves the older client's missing field fuel error. Instruction metering remains disabled; time and memory limits remain enforced.
  • Includes the pinned DOOM engine, dependency-free gamepkg:: APIs, and current GamePKG_Ports catalog integration.

Import the ports by pasting https://github.com/centrexity/GamePKG_Ports in Library and choosing Import .gamepkglist (no game downloads). ROM/WAD-required games need your own selected files; none are included.

Validation: 186 Rust tests; real native package/list drops; separate ROMs across game switching, process restart and direct launch; named multiple-ROM reads; live port downloads/signatures/update URLs; desktop gameplay and More-menu export; lint and site checks. Linux CLI/GUI interaction was tested locally. Windows x86-64 executables were cross-built and the Windows CLI version/package verification smoke-tested under Wine.

Windows Build/Rebuild needs the matching 0.1.7 Linux compiler worker through the existing opt-in WSL 2 setup. Use matching host/compiler versions. Playback runs in the native app. Players need no Python or private signing key.

Download the archive and checksum for your platform, verify, and extract. Original dependency notices, corresponding engine sources and setup instructions are included. Keep your existing library and settings; there is no need to remove your games or saves.

GamePKG 0.1.6 Zelda3 native preview

Pre-release

Choose a tag to compare

@jeff8j jeff8j released this 14 Oct 19:56

GamePKG 0.1.6 adds a signed, ROM-required Zelda3 package backed by the complete pinned engine. Select your own supported USA A Link to the Past ROM in its original location. Graphics, music, dialogue and level resources are decoded in RAM; no ROM or extracted game assets are distributed or written to disk. Original SRAM progress uses creator-scoped save storage.

ROM decoding is built into the host in Rust. Zelda builds invoke the native compilers directly. Players need no Python, separate decoder or signing key.

Set the fuel ceiling to 100,000,000 in Settings before playing Zelda. Its combined Wasm memory limit is 32 MiB. Install zelda3.gamepkg, Build, select your ROM, then Play. Arrows/WASD move; Z/X are B/Y, C/V are A/X, Enter is Start, Tab is Select, and Q/E are L/R.

The catalog and portable store include Zelda plus three updated demos. Demo version 0.1.3 keeps each original creator and update endpoint while following the current source rules. Authentic older packages can upgrade to verified, same-creator replacements; rejected old source remains unavailable for play.

Linux source builds need Rust, Slang, bubblewrap, Clang 18 and a Wasm C sysroot. Windows plays in the native app and uses the matching Linux compiler through the existing opt-in WSL 2 connection for source builds. Read the included INSTALL.md and the Zelda port guide.

Local verification covers all 165 resources and the complete packed resource blob against the reference loader, headered/wrong ROMs, title/file registration, opening gameplay, movement, audio, save reload, Linux GUI play and actual Windows CLI/GUI play under Wine. Wine evidence does not constitute a test on Windows hardware. Zelda browser export remains unsupported.

Verify host archives with their .sha256 files and game packages/catalog/store with demo-packages.sha256. The host distributions include CLI/GUI executables, source examples and original dependency/license notices.

GamePKG 0.1.4 Linux and Windows preview

Pre-release

Choose a tag to compare

@jeff8j jeff8j released this 12 Oct 00:15

GamePKG 0.1.4 provides matching Linux and Windows development previews with command-line and desktop entry points.

Windows builds signed source through an explicitly configured WSL 2 Linux compiler. Only the verified game and its shared assets enter the private compiler request. Returned Wasm and shader caches must match the package, backend, runtime profile and checksums before publication. Saves, play history, user ROMs and creator keys are excluded. Windows gameplay stays in the native Windows app.

Download the archive and checksum for your platform. Windows also needs a matching Linux 0.1.4 compiler installed inside WSL 2, the Linux build prerequisites, pinned Slang, and a working OpenGL driver. Follow the archive's INSTALL.md. Linux requires Ubuntu 24.04 or compatible glibc 2.39+, plus the documented build/runtime prerequisites.

The three signed demos are game version 0.1.2 and keep their established creator. Their update checks use stable project-site URLs so later signed revisions can be discovered without replacing release archives. Import demos.gamepkglist to add them without downloading, or import demos.gamepkgstore for offline installation. Players never enter a signing key.

Source compilation remains offline and isolated. Runtime permissions, memory/fuel ceilings, scoped ROM/save access, integrity checks and repairs remain enforced. Dependency sources and license notices accompany both host archives.

This is a development preview. Windows setup is explicit. Desktop rendering uses the documented OpenGL paths; native Metal/DXIL playback and isolated macOS builds remain unfinished. Hindsight Database/IndexedDB is supplied separately for the browser metadata library.