Skip to content

0.1.1

Choose a tag to compare

@Hospes Hospes released this 22 Sep 12:25
· 36 commits to main since this release

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 matchConfidence score in the internal data models has been changed from Int to Double to allow for more granular scoring.
  • The .gitignore file has been updated to ignore the templates/ 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