This is the most significant update since the 2.0 rewrite. While the interface and workflows you know remain familiar, nearly every component under the hood has been modernized, streamlined, and polished.
Redundant third-party dependencies have been cut in favour of lightweight native web standards, sped up bulk audio/subtitle updates with 5× concurrent processing, added batch cancellation, and introduced long-awaited connection recovery tools - including configurable server timeouts and a direct reconnect option. Whether you run PASTA via Docker, host it locally, or access it on the web, this release should be faster, leaner, and more resilient.
New Features
- Configurable Connection Timeout: Added a slider in Settings (2-15 seconds, default 5s) to control how long PASTA waits before timing out when connecting to a server, with strict timeout enforcement (resolves #140).
- Server Connection Recovery Screen: If a server is offline or unreachable, PASTA now presents a clear recovery card showing the attempted address, with Retry Connection, Change Server, and Logout buttons, plus troubleshooting guidance (resolves #140).
- Quick Reconnect Server: Added a Reconnect Server action to the user profile menu to easily re-verify and refresh server connectivity (resolves #140).
- Batch Update Cancellation: Added a Cancel button to the batch progress dialog to safely halt running updates at any time.
- Application Version Display: Added a version indicator next to the header logo and in the Help & About dialog with direct links to release notes (closes #141).
Improvements & Bug Fixes
- Faster Batch Updates: Episode track updates across shows and libraries now process 5 episodes concurrently, and seasons are fetched in parallel, drastically reducing run times on larger libraries.
- Smart Stream Matching Accuracy:
- Empty stream properties no longer count as matches on their own (preventing streams with missing titles from incorrectly matching).
- Title and display title matches now strictly enforce matching languages (preventing shared generic titles like "Stereo" from selecting the wrong language audio).
- Enhanced Progress Dialog Details:
- Shows current streams for skipped items with clearer status badges ("No Match", "No Match (Keyword)", "Already Set").
- Sections default to collapsed for faster overview rendering.
- Connection Probing & Sanitization: Improved URL cleaning (whitespace and trailing slash removal) and parallel server address probing. Addresses connection and blank library issues discussed in #86 (kept open for community verification).
- Security Check for Managed Users: Switching to a PIN-protected managed user now directly verifies the entered PIN against Plex before switching accounts.
- PIN Login Fixes: Login polling stops immediately when the authentication popup is closed, and timers clear on success to prevent false timeout messages.
- Theme & Modal Polish:
- Dialogs now shrink responsively on small and resized browser windows.
- Background scrolling is frozen during active modals with dynamic scrollbar detection, eliminating layout jumps and empty reserved gutter strips.
Architecture & Maintenance
- Reduced Dependency Footprint: Removed obsolete and heavy dependencies (
axios,uuid,react-router-dom,react-window,react-virtualized-auto-sizer,prettier), moving to native browser APIs and a custom zero-dependency<VirtualList>. - Docker Modernization: Upgraded Docker container builds to lightweight multi-platform Alpine images (
linux/amd64,linux/arm64) on Node 24. - Dependency Updates: Updated
brace-expansionto 5.0.12 (#153).
What's Changed
- Bump brace-expansion from 5.0.8 to 5.0.12 by @dependabot[bot] in #153
- Modernization, performance improvements, and connection enhancements by @cglatot in #154
- Bump the actions group with 5 updates by @dependabot[bot] in #155
Full Changelog: 2.2.15...2.3.0