Releases: tablackburn/PlexAutomationToolkit
v0.11.2
What's Changed
- feat: Retry WSANO_DATA DNS errors and surface recovery guidance by @tablackburn in #45
Full Changelog: v0.11.1...v0.11.2
v0.11.1 - Add-PatServer -Force overwrite
Changed
-
Add-PatServer -Forcenow overwrites an existing entry with the same-Nameinstead of throwing, matching the conventional PowerShell-Forcesemantics established byNew-Item -Force,Copy-Item -Force, andRegister-PSRepository -Force. Replace is wholesale: fields not supplied on the new call (e.g.localUri,preferLocal,default) are not preserved, and any vault-stored token for the old entry is removed before the new entry is written. UseUpdate-PatServerTokenfor in-place token rotation that preserves other fields. The duplicate-name error without-Forcenow points to both recovery paths.
v0.11.0
What's Changed
- test: improve code coverage with streaming download tests by @tablackburn in #25
- fix: resolve PowerShell 5.1 test compatibility issues by @tablackburn in #26
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #28
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #29
- feat: Add Update-PatServerToken command and CI token validation by @tablackburn in #31
- fix: Disable PSScriptAnalyzer in build on macOS due to settings bug by @tablackburn in #30
- ci: bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #32
- ci: bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #33
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #34
- fix: Skip PSScriptAnalyzer install on cache hit by @tablackburn in #35
- fix: Validate PSScriptAnalyzer availability and harden WhatIf tests by @tablackburn in #36
- ci: Add integration test timeouts and download progress monitoring by @tablackburn in #37
- ci: bump dependabot/fetch-metadata from 2 to 3 by @dependabot[bot] in #38
- feat: Replace 401 errors with actionable token recovery guidance by @tablackburn in #39
- chore: release v0.11.0 by @tablackburn in #41
New Contributors
- @pre-commit-ci[bot] made their first contribution in #28
Full Changelog: v0.10.3...v0.11.0
v0.10.3
What's Changed
- feat: add formatted output properties to Get-PatMediaInfo by @tablackburn in #24
Full Changelog: v0.10.2...v0.10.3
v0.10.2
What's Changed
- test: improve Invoke-PatFileDownload coverage (51.8% → 57.9%) by @tablackburn in #17
- refactor: extract helper functions from Sync-PatMedia by @tablackburn in #18
- refactor: extract helper functions from Get-PatSyncPlan by @tablackburn in #19
- refactor: extract helper functions from Add-PatServer by @tablackburn in #20
- refactor: extract helper functions from Get-PatCollection by @tablackburn in #21
- refactor: extract helper functions from Compare-PatWatchStatus by @tablackburn in #22
- feat: add extended media details to Search-PatMedia output by @tablackburn in #23
Full Changelog: v0.10.1...v0.10.2
v0.10.1
What's Changed
- refactor: extract Format-ByteSize and improve test coverage by @tablackburn in #15
- test: add completer execution tests for pre-bound parameters by @tablackburn in #16
Full Changelog: v0.10.0...v0.10.1
v0.10.0
What's Changed
- Add tests for Wait-PatLibraryScan coverage gaps by @tablackburn in #10
- ci: bump actions/checkout from 4 to 6 by @dependabot[bot] in #11
- ci: bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #12
- ci: bump actions/cache from 4 to 5 by @dependabot[bot] in #13
- feat: add ServerName parameter to public functions by @tablackburn in #14
New Contributors
- @dependabot[bot] made their first contribution in #11
Full Changelog: v0.9.0...v0.10.0
v0.9.0 - Local Network Detection
What's New
Intelligent Local Network Detection
The module can now automatically detect and prefer local network connections to your Plex server for better performance. When configured, it will:
- Automatically detect local URIs from the Plex.tv API
- Test reachability and prefer local connections when available
- Fall back to remote URIs when local is unreachable
New parameters on Add-PatServer:
-LocalUri- Explicit local network URI-PreferLocal- Enable automatic local/remote selection-DetectLocalUri- Auto-detect local URI from Plex.tv API
Enhanced Progress Reporting
Sync-PatMedia now shows detailed download progress:
- Download speed (e.g., "1.5 GB / 4.2 GB @ 25.3 MB/s")
- Estimated time remaining for each file
- Nested progress bars for overall sync and current file
Security Improvements
- TLS certificate validation skip is now opt-in via
-SkipCertificateCheck - Prevents man-in-the-middle attacks by default
Bug Fixes
- PowerShell 5.1 compatibility for HTTPS certificate validation
- Properly restores certificate callback even when original was null
Installation
Install-Module -Name PlexAutomationToolkit -Scope CurrentUserFull Changelog
See CHANGELOG.md for complete details.
v0.8.3
Fixed
- Add retry logic with exponential backoff to
Invoke-PatApifor transient network errors- Retries DNS failures, connection timeouts, 503/429 status codes
- Does not retry permanent errors (401, 403, 404)
- Default 3 retries with exponential delays (1s, 2s, 4s)
- Fix path validation in
Test-PatLibraryPathto use correct property- Plex browse API returns
key(API endpoint) andpath(filesystem path) - Was incorrectly matching against
key, now correctly usespath
- Plex browse API returns
Added
- Integration tests for path validation using
PLEX_TEST_LIBRARY_PATHenvironment variable - CI workflow support for
PLEX_TEST_LIBRARY_PATHsecret - Regression tests to verify
pathvskeyproperty handling
v0.8.2
Changed
- Refactor ArgumentCompleters to use testable helper functions
- Extract duplicated quote handling into
ConvertFrom-PatCompleterInputprivate function - Extract CompletionResult creation into
New-PatCompletionResultprivate function - Remove ~430 lines of duplicated code across 15 public functions
- Add 46 unit tests for the extracted logic
- Extract duplicated quote handling into