Skip to content

Releases: ZaparooProject/zaparoo-core

v2.10.0

29 Mar 10:44
Immutable release. Only release title and notes can be modified.
a33e896

Choose a tag to compare

What's Changed

Full Changelog: v2.9.1...v2.10.0

v2.10.0-beta2

28 Mar 11:34
Immutable release. Only release title and notes can be modified.
56ef5ab

Choose a tag to compare

v2.10.0-beta2 Pre-release
Pre-release

What's Changed

  • fix(helpers): remove backslash escape from SplitCommand by @wizzomafizzo in #582
  • feat(mister): add 3DO core support by @wizzomafizzo in #583
  • fix: audio crash resilience, tag matching, and mediadb query performance by @wizzomafizzo in #584
  • fix(zapscript): add filesystem fallback for launch.random absolute paths by @wizzomafizzo in #585
  • fix(mister): write CURRENTPATH/FULLPATH for arcade .mra launches by @wizzomafizzo in #586

Full Changelog: v2.10.0-beta1...v2.10.0-beta2

v2.10.0-beta1

27 Mar 12:20
Immutable release. Only release title and notes can be modified.
d724984

Choose a tag to compare

v2.10.0-beta1 Pre-release
Pre-release

What's Changed

  • feat(api): add media history, lookup, control endpoints and MediaDB performance by @wizzomafizzo in #543
  • feat(api): add auth.toml credential claim and apply to all HTTP paths by @wizzomafizzo in #546
  • feat: add self-update system with graceful restart by @wizzomafizzo in #547
  • fix(mediascanner): prevent indefinite hangs on stale network mounts by @wizzomafizzo in #549
  • perf(mediascanner): use fastwalk for parallel directory walking by @wizzomafizzo in #550
  • feat: add Kodi and RetroArch playback controls by @wizzomafizzo in #554
  • fix(zapscript): normalize path prefix in launch.random command by @wizzomafizzo in #555
  • feat(batocera): enrich custom launchers with ES overlay config by @wizzomafizzo in #556
  • fix(ndef): support long NDEF records in tag parsing by @wizzomafizzo in #557
  • fix: convert launcher paths to OS-native format by @wizzomafizzo in #558
  • feat(database): disambiguate ZapScript tags by sibling comparison by @wizzomafizzo in #559
  • feat(config): add ignore_on_connect option to suppress initial reader scans by @wizzomafizzo in #560
  • feat(batocera): add .squashfs and .zcci extensions for 3DS by @wizzomafizzo in #562
  • fix(database): add fallback systems for media types by @wizzomafizzo in #564
  • feat(pn532): skip re-probing failed serial ports by @wizzomafizzo in #563
  • feat(api): return relative paths with system ID in media.search and media.lookup by @wizzomafizzo in #565
  • fix: selectively downgrade expected errors from Error to Warn by @wizzomafizzo in #568
  • feat(tui): add first-run error reporting opt-in prompt by @wizzomafizzo in #566
  • feat(bench): add benchmark infrastructure and optimization targets by @wizzomafizzo in #569
  • perf: optimize media indexing pipeline for ARM by @wizzomafizzo in #572
  • perf(mediadb): add trigram index and system-range sorting to slug search cache by @wizzomafizzo in #573
  • feat(api): add media.browse endpoint by @wizzomafizzo in #577
  • feat(api): add input.keyboard and input.gamepad endpoints by @wizzomafizzo in #578
  • feat(api): add cross-platform screenshot endpoint and ZapScript command by @wizzomafizzo in #579
  • feat(zapscript): add mister.wallpaper command by @wizzomafizzo in #580

Full Changelog: v2.9.1...v2.10.0-beta1

v2.9.1

12 Feb 11:36
Immutable release. Only release title and notes can be modified.
a1e7185

Choose a tag to compare

What's Changed

  • feat(tui): replace termbin with self-hosted log upload service by @wizzomafizzo in #500
  • feat(mediascanner): add lazy loading for resume and centralize composite keys by @wizzomafizzo in #511
  • refactor: improve nested playlist command handling by @wizzomafizzo in #513
  • feat(mister): installer context propagation and MGL improvements by @wizzomafizzo in #516
  • feat: Added Github Issue forms by @Anime0t4ku in #519
  • refactor(logging): improve log quality and add mDNS retry by @wizzomafizzo in #501
  • fix(readers): preserve prevToken on reader error to prevent false re-scans by @wizzomafizzo in #520
  • fix(publishers): add connection retry to MQTT publisher by @wizzomafizzo in #521
  • fix(mediascanner): load tag maps during selective indexing to prevent silent tag loss by @wizzomafizzo in #522
  • fix(api): refresh launcher cache on settings reload and fix disk reload by @wizzomafizzo in #523
  • fix(audio): add Player interface, file cache, and fix feedback sound bugs by @wizzomafizzo in #524
  • fix: normalize VDF keys to lowercase for case-insensitive lookups by @wizzomafizzo in #525
  • fix(batocera): skip hotkeygen exit when no launcher is active by @wizzomafizzo in #528
  • fix(readers): clear PN532 detection cache on close by @wizzomafizzo in #529
  • fix(mister): embed ArcadeDB CSV as fallback for offline first boot by @wizzomafizzo in #530
  • fix(mediascanner): add diagnostic logging and tests for custom launcher file matching by @wizzomafizzo in #531
  • fix(readers): libnfc connection strings, double-close race, and NTP false wake by @wizzomafizzo in #532
  • docs: tidy up documentation and fix scan behavior bugs by @wizzomafizzo in #533
  • refactor: remove duplicate zapscript code after go-zapscript migration by @wizzomafizzo in #534
  • fix(mediascanner): isolate SkipFilesystemScan scanners to prevent file wipe by @wizzomafizzo in #536
  • fix: select most specific launcher instead of first match by @wizzomafizzo in #537

Full Changelog: v2.9.0...v2.9.1

v2.9.1-beta1

08 Feb 11:36
Immutable release. Only release title and notes can be modified.
5b2f069

Choose a tag to compare

v2.9.1-beta1 Pre-release
Pre-release

What's Changed

  • feat(tui): replace termbin with self-hosted log upload service by @wizzomafizzo in #500
  • feat(mediascanner): add lazy loading for resume and centralize composite keys by @wizzomafizzo in #511
  • refactor: improve nested playlist command handling by @wizzomafizzo in #513
  • feat(mister): installer context propagation and MGL improvements by @wizzomafizzo in #516
  • feat: Added Github Issue forms by @Anime0t4ku in #519
  • refactor(logging): improve log quality and add mDNS retry by @wizzomafizzo in #501
  • fix(readers): preserve prevToken on reader error to prevent false re-scans by @wizzomafizzo in #520
  • fix(publishers): add connection retry to MQTT publisher by @wizzomafizzo in #521
  • fix(mediascanner): load tag maps during selective indexing to prevent silent tag loss by @wizzomafizzo in #522
  • fix(api): refresh launcher cache on settings reload and fix disk reload by @wizzomafizzo in #523
  • fix(audio): add Player interface, file cache, and fix feedback sound bugs by @wizzomafizzo in #524
  • fix: normalize VDF keys to lowercase for case-insensitive lookups by @wizzomafizzo in #525
  • fix(batocera): skip hotkeygen exit when no launcher is active by @wizzomafizzo in #528
  • fix(readers): clear PN532 detection cache on close by @wizzomafizzo in #529
  • fix(mister): embed ArcadeDB CSV as fallback for offline first boot by @wizzomafizzo in #530
  • fix(mediascanner): add diagnostic logging and tests for custom launcher file matching by @wizzomafizzo in #531

Full Changelog: v2.9.0...v2.9.1-beta1

v2.9.0

22 Jan 12:22
Immutable release. Only release title and notes can be modified.
b2bcc16

Choose a tag to compare

What's Changed

  • feat(readers): stable reader IDs and improved management by @wizzomafizzo in #461
  • build(deps): upgrade go-pn532 to v0.15.1 by @wizzomafizzo in #466
  • fix(playtime): use polling instead of sleep in cooldown timer test by @wizzomafizzo in #467
  • fix: pn532 token scanning reliability by @wizzomafizzo in #480
  • fix(zapscript): add Action field to LaunchTitleArgs for title format launches by @wizzomafizzo in #481
  • fix(tags): parse mixed tag types and improve bracket handling by @wizzomafizzo in #483
  • feat(zapscript): make year tags soft preferences and add zapScript to media.active by @wizzomafizzo in #482
  • fix(mister): resolve alt core RBF paths by launcher ID by @wizzomafizzo in #484
  • fix: PN532 reader reconnection and hold mode reliability by @wizzomafizzo in #485
  • feat(batocera): add hotkeygen as primary exit mechanism by @wizzomafizzo in #486
  • feat: add Kodi launchers to Steam-based platforms by @wizzomafizzo in #488
  • feat(batocera): auto-discover ROM paths from EmulationStation config by @wizzomafizzo in #489
  • fix(retrobat): remove strict API pre-check causing false "not running" errors by @wizzomafizzo in #490
  • fix(batocera): correct Windows game launcher file extensions by @wizzomafizzo in #491
  • feat: add groups, schemes, lifecycle, and restricted options to custom launchers by @wizzomafizzo in #492
  • feat(api): add API key authentication for remote connections by @wizzomafizzo in #493
  • refactor: migrate to go-zapscript external module by @wizzomafizzo in #494
  • refactor(tui): overhaul settings UI with API integration and improved UX by @wizzomafizzo in #496
  • feat: expose error reporting setting via API and TUI by @wizzomafizzo in #498
  • feat(launchbox): add platform discovery and merged games support by @wizzomafizzo in #495
  • docs(api): add missing methods and notifications to API documentation by @wizzomafizzo in #499

Full Changelog: v2.8.0...v2.9.0

v2.9.0-beta1

17 Jan 15:40
Immutable release. Only release title and notes can be modified.
337b666

Choose a tag to compare

v2.9.0-beta1 Pre-release
Pre-release

What's Changed

Full Changelog: v2.8.0...v2.9.0-beta1

v2.8.1-beta4

14 Jan 01:27
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.8.1-beta4 Pre-release
Pre-release

v2.8.1-beta1

05 Jan 02:33
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.8.1-beta1 Pre-release
Pre-release

Full Changelog: v2.8.0...v2.8.1-beta1

v2.8.0

01 Jan 09:38
Immutable release. Only release title and notes can be modified.
17d8c9e

Choose a tag to compare

What's Changed

  • feat(linux): initial restructure into base linux package by @wizzomafizzo in #404
  • refactor(steam): merge all steam code into shared launcher by @wizzomafizzo in #405
  • feat(steam): add action option to show game details page by @wizzomafizzo in #406
  • feat(zapscript): type-safe advanced arguments by @wizzomafizzo in #409
  • feat(api): parse and handle json-rpc IDs as per spec by @wizzomafizzo in #392
  • feat(api): add centralized request parameter validation by @wizzomafizzo in #410
  • feat: improve reader connection management and sleep/wake detection by @wizzomafizzo in #411
  • feat(steam): add game lifecycle tracking for Linux platforms by @wizzomafizzo in #412
  • build(deps): update go-pn532 to v0.11.0 by @wizzomafizzo in #413
  • feat(steamos): add EmuDeck and RetroDECK launcher support by @wizzomafizzo in #414
  • build(deps): update go-pn532 to v0.11.1 by @wizzomafizzo in #415
  • fix(mister): correct alt-core RBF paths and add fuzzy system ID matching by @wizzomafizzo in #416
  • feat(hooks): add blocking hooks with ZAPAROO_ENVIRONMENT context by @wizzomafizzo in #417
  • feat(zaplinks): add headers, pre-warming, and auto-pruning by @wizzomafizzo in #418
  • feat(api): add mDNS service discovery for network advertising by @wizzomafizzo in #419
  • fix(mister): filter Neo Geo zip contents when zip is a game by @wizzomafizzo in #420
  • feat(mister): add RBF path cache for flexible core locations by @wizzomafizzo in #421
  • feat(api): add root redirect and improve missing app error message by @wizzomafizzo in #422
  • feat(api): add persistent inbox for system notifications by @wizzomafizzo in #423
  • fix(mister): filter Neo Geo game folder contents from scan results by @wizzomafizzo in #424
  • ci: fix Windows Go cache paths not being set by @wizzomafizzo in #425
  • fix(readers): external drive stale mount handling and reader improvements by @wizzomafizzo in #426
  • feat(ci): re-enable Windows code signing with release certificate by @wizzomafizzo in #427
  • feat(logging): add diagnostic logging for NDEF reading and media indexing by @wizzomafizzo in #428
  • feat(ci): enable Bazzite and ChimeraOS as published release builds by @wizzomafizzo in #429
  • fix(batocera): sanitize version for pacman package naming by @wizzomafizzo in #430
  • fix(ci): fix Windows installer signing artifact upload by @wizzomafizzo in #431
  • feat(testing): add fuzz tests for NDEF, filename, and barcode parsers by @wizzomafizzo in #433
  • fix: add consistent panic recovery with stack traces across all platforms by @wizzomafizzo in #434
  • perf(lint): add perfsprint linter for performance optimizations by @wizzomafizzo in #435
  • feat(testing): add property-based testing with rapid by @wizzomafizzo in #436
  • feat(testing): add mutation testing task and goleak leak detection by @wizzomafizzo in #437
  • feat(telemetry): add opt-in Sentry crash reporting by @wizzomafizzo in #438
  • fix(api): wait for server goroutine cleanup in tests by @wizzomafizzo in #439
  • build(deps): upgrade go-pn532 to v0.13.0 by @wizzomafizzo in #440
  • feat(pn532): add tag info logging and upgrade go-pn532 to v0.13.1 by @wizzomafizzo in #441
  • fix(zaplinks): prevent transient errors from permanently disabling hosts by @wizzomafizzo in #442
  • fix(config): add fallback matching for auth credentials lookup by @wizzomafizzo in #443
  • fix: reduce Sentry noise by downgrading non-critical errors by @wizzomafizzo in #444
  • fix(config): add validation for API port and listen address settings by @wizzomafizzo in #445
  • feat: add launch guard to prevent concurrent media launches by @wizzomafizzo in #446
  • fix(steam): make shortcuts.vdf parsing tolerant of missing optional fields by @wizzomafizzo in #453
  • fix(mister): add fallback filter for Neo Geo scanning when romsets.xml is invalid by @wizzomafizzo in #454
  • fix: stop service on API bind failure and improve GitHub API error handling by @wizzomafizzo in #455
  • ci: improve build workflow reliability and efficiency by @wizzomafizzo in #457
  • build(deps): upgrade go-pn532 to v0.14.0 by @wizzomafizzo in #458
  • fix(ci): skip codecov upload on tag pushes by @wizzomafizzo in #459
  • fix(ci): upload signing bundle as directory for correct SignPath structure by @wizzomafizzo in #460

Full Changelog: v2.7.1...v2.8.0