Releases: phantomptr/ps5upload
Releases · phantomptr/ps5upload
v1.5.3
Release 1.5.3
Changed
- Payload pack processor now batch-signals writer threads every 64 files and broadcasts at end of pack, cutting context-switch overhead by ~60x compared to per-file signaling.
- Payload writer thread reaction time reduced from 250ms to 10ms, ensuring the second writer thread no longer starves waiting for work.
- Payload writer threads now defer
close()for small unique files (up to 64 fds batched), allowing the filesystem to coalesce metadata updates on FAT/exFAT. - Desktop packing now pre-reads up to 64 tiny files in parallel (
Promise.all) instead of sequentialreadFile(), keeping the payload pipeline fed during small-file runs.
Fixed
- Small-file transfer throughput significantly improved by eliminating per-file context switches, writer thread starvation, and sequential client-side reads.
v1.5.2
Release 1.5.2
Changed
- Payload directory pre-creation now uses a
stat()fast path: if a directory already exists on disk (e.g., during resumed uploads), it skips the fullmkdir_recursivewalk and goes straight into the cache. Reduces per-directory overhead from Nmkdir+chmodsyscalls to a singlestat().
v1.5.1
Release 1.5.1
Changed
- Payload file writer threads increased to 2 for better small-file I/O overlap (configurable via
FTX_FILE_WRITER_THREAD_COUNTinconfig.h). - Payload directory creation now uses a shared hash set across writer threads: directories are bulk pre-created per batch and cached globally, eliminating redundant
mkdir+chmodsyscalls. - Desktop packing now enforces an 8MB pack floor during runs of many consecutive small files (< 64KB), preventing adaptive tuning from shrinking packs too aggressively and keeping hundreds of files per pack.
Fixed
- Small-file transfer throughput improved significantly by reducing per-file filesystem overhead on the payload side and keeping packs fuller on the client side.
v1.5.0
Release 1.5.0
Changed
- Payload upload concurrency is capped at 4 for stability on PS5/FreeBSD 11.
- Desktop Transfer: Mad Max is now opt-in only (no longer auto-triggers at 64MB+).
- Desktop now keeps payload status polling enabled while Queues are active (prevents stale busy state during queue operations).
Fixed
- Upload queue can now recover cleanly after cancelling/stopping extraction: payload status is refreshed and queue retries resume once the payload is idle.
v1.4.9
Release 1.4.9
Changed
- Stability-first transfer defaults: payload upload concurrency is now capped at 4 to reduce PS5/FreeBSD 11 overload.
- Desktop Transfer: Mad Max is now opt-in only (no longer auto-triggers based on file size).
- App (web mode) Manage upload folder behavior now matches desktop: uploading a folder targets
destRoot/<folderName>/.... - Lane (single-file) upload threshold lowered to 512MB for earlier large-file acceleration while staying within the 4-connection cap.
Fixed
- App (web mode): transfer/manage uploads now report live speed consistently.
- Web bridge polling: prevent overlapping poll requests; payload status polling is paused during payload send to reduce log spam while the payload restarts.
v1.4.8
Release 1.4.8
- Improved Speed
- Bug fixes
Changed
- Resume compatibility listing now auto-skips for very large trees to avoid long startup scans.
- Logging for pre-create and resume scanning tuned to reduce noise while keeping progress visibility.
- Connection controls are now managed automatically (no manual slider). Defaults: Payload 4, FTP 10; auto-tune adjusts based on file size/count.
- Archive uploads now emit stall hints when progress pauses early.
- RAR extraction now uses a single turbo mode (max speed) and the mode selector has been removed.
v1.4.7
Release 1.4.7
Added
- New payload fast paths: parallel
UPLOAD_FASTmulti-file uploads and lane-based single-file uploads viaUPLOAD_FAST_OFFSET. - Pre-create directory phase before payload multi-file uploads (with safety caps to avoid huge stalls).
- App (web mode) now uses the same payload fast paths as desktop, with FTP fallback on failure.
Changed
- Resume compatibility listing now auto-skips for very large trees to avoid long startup scans.
- Logging for pre-create and resume scanning tuned to reduce noise while keeping progress visibility.
v1.4.6
Release 1.4.6
Added
- Payload/desktop/app startup verification for payload send flows (upload success now also validates payload startup/version).
- New Mad Max payload fast path for large single-file uploads using direct raw streaming.
- New parallel offset fast path (
UPLOAD_FAST_OFFSET) for Mad Max large-file chunk uploads. - New Mad Max UI mode in the Transfer source panel (grouped with Optimize/Deep Optimize).
Changed
- Desktop "current" payload reload now prefers local
payload/ps5upload.elfbefore release download. - Mad Max now runs fixed max settings (locked profile): payload connections/workers, chunk size, no compression, unlimited bandwidth.
- Mad Max is now selectable for archive sources from the same optimize controls area.
- Payload startup defaults to a safer initialization profile to reduce firmware-dependent load crashes.
- Payload upload pipeline defaults tuned for higher throughput (larger recv buffer and deeper worker queues).
Fixed
- Reduced false-positive payload send success by failing early when payload startup verification does not pass.
- Improved diagnostics around payload reload/startup mismatches (for example sending new ELF while old payload keeps running).
v1.4.4
Release 1.4.4
Added
- New Games tab scan paths with defaults (
etaHEN/games,homebrew) plus multiple custom scan paths. - Storage filter toggles for Games results (show/hide by storage root).
- Duplicate game detection and grouping (by Content ID, then Title ID, then folder fallback).
- Per-game Scan files/size action with live progress and single active scan limit.
- Per-game Delete game action with in-app styled confirmation modal and in-item deleting indicator.
- Games search bar filtering by displayed metadata (title, IDs, version, path, etc.).
Changed
- Games metadata reads now use the safer
DOWNLOADpath instead ofDOWNLOAD_RAWto improve payload stability. - Games item UI refreshed: clearer action placement and stronger path visibility.
Fixed
- Added payload-side logging/crash context for directory listing and download paths to improve debugger diagnostics.
- Fixed
gamesScanStatsfrontend invocation handling and stale-preload error messaging.
v1.4.3
Release 1.4.3
Added
- Payload-side backpressure to pause recv when the writer queue is saturated.
- Small-file buffer pool to reduce malloc/free churn during large directory uploads.
Changed
- File writes now verify full writes and abort on any write error to avoid silent corruption.
- File writer reuses open file descriptors for sequential chunk writes to reduce overhead.
- Finalize now waits on writer signals instead of polling sleeps for faster, safer shutdown.