Releases: ZaparooProject/zaparoo-core
Releases · ZaparooProject/zaparoo-core
v2.10.0
Immutable
release. Only release title and notes can be modified.
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
- 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
- feat(mister): add Jaguar CD core support by @wizzomafizzo in #588
- fix(build): add retry logic to doc download in makezip by @wizzomafizzo in #590
Full Changelog: v2.9.1...v2.10.0
v2.10.0-beta2
Immutable
release. Only release title and notes can be modified.
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
Immutable
release. Only release title and notes can be modified.
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
Immutable
release. Only release title and notes can be modified.
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
Immutable
release. Only release title and notes can be modified.
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
Immutable
release. Only release title and notes can be modified.
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
Immutable
release. Only release title and notes can be modified.
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
Full Changelog: v2.8.0...v2.9.0-beta1
v2.8.1-beta4
Immutable
release. Only release title and notes can be modified.
Full Changelog: v2.8.1-beta1...v2.8.1-beta4
v2.8.1-beta1
Immutable
release. Only release title and notes can be modified.
Full Changelog: v2.8.0...v2.8.1-beta1
v2.8.0
Immutable
release. Only release title and notes can be modified.
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