0.1.1
Intelligent Matching & Performance Boost
This release marks a significant leap forward for Plexify, introducing a completely revamped media matching engine for superior accuracy and a new caching layer for a dramatic performance increase, especially when processing TV shows.
🚀 Features & Enhancements
🧠 Intelligent Media Matching Algorithm
The core logic for identifying movies and TV shows has been rebuilt from the ground up. Instead of a simple scoring system, Plexify now uses a sophisticated confidence scoring algorithm to find the best possible match for your media files.
- Title Similarity Scoring: The new engine calculates the Levenshtein distance between the filename and the search results, ensuring that titles like "The Dark Knight" and "Batman The Dark Knight" are correctly identified as strong matches.
- Multi-Factor Confidence: The final score is a weighted calculation based on:
- Title similarity.
- A significant bonus for matching the year parsed from the filename.
- A bonus for consensus between multiple metadata providers (e.g., TMDB and IMDb).
- Minimum Confidence Threshold: To prevent false positives, a minimum confidence score is now required. Files that don't find a sufficiently high-quality match will be skipped, avoiding incorrect organization.
- Enhanced Logging: The console output is now more verbose during the matching process, showing the different candidates and their calculated scores so you can see exactly why a specific match was chosen.
⚡ Performance Boost with Metadata Caching
Plexify is now much faster when processing directories containing multiple episodes of the same TV show.
- In-Memory Cache: A new in-memory caching layer has been introduced. When the first episode of a show is processed, its metadata is fetched and cached.
- Reduced API Calls: Subsequent episodes from the same show will use the cached data, eliminating redundant API calls and significantly speeding up the overall process. The cache is active for a single run of the application.
📺 Expanded Media Support
- IMDb TV Mini-Series: Plexify now correctly identifies and processes "TV Mini-Series" from IMDb, treating them as standard TV Shows for organizational purposes.
⚠️ BREAKING CHANGES
Configuration Variable Renamed
The configuration property for the TMDB Access Token has been renamed for clarity and consistency.
- Old Name:
TMDB_API_READ_ACCESS_TOKEN - New Name:
TMDB_API_ACCESS_TOKEN
Action Required: You must update your local.properties file and any environment variables you have set.
Example local.properties update:
# Required for TMDB (The Movie Database)
TMDB_API_KEY="your_tmdb_api_key"
-TMDB_API_READ_ACCESS_TOKEN="your_tmdb_access_token"
+TMDB_API_ACCESS_TOKEN="your_tmdb_access_token"⚙️ Other Changes & Fixes
- Command-line arguments can now be supplemented or overridden by environment variables (e.g.,
TMDB_API_KEY,TMDB_API_ACCESS_TOKEN). - The
matchConfidencescore in the internal data models has been changed fromInttoDoubleto allow for more granular scoring. - The
.gitignorefile has been updated to ignore thetemplates/directory. - Internal code has been hardened to prevent incorrect object types from being passed to certain functions.
Full Changelog: 0.1.0...0.1.1