Files
dp-modq-helper/CHANGELOG.md

96 lines
6.0 KiB
Markdown

# Changelog
All notable changes to the DarkPeers Mod Queue Helper will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
## [0.5.0] - 2026-04-06
### Added
- **Preferred indexer selection** — new `preferredIndexers` setting (comma-separated list in Settings panel) allows moderators to specify trusted indexers. When multiple indexers return the same release (tied relevance scores), preferred indexers are selected first. Preference is strictly a tiebreaker — never overrides a clearly better match from a non-preferred indexer.
- **Best match link** — best match title now links to the source tracker page via Prowlarr's `infoUrl` field (opens in new tab). Link omitted gracefully when URL unavailable.
- **Field comparison detail** — collapsible "Comparison details" section shows per-field match status (title, year, resolution, source, video codec, audio codec), self-consistency check results (folder ✓/✗, filename ✓/✗), and alternative indexers.
- **Alternative indexers** — up to 3 alternative indexers shown in detail section ("Also found on: BLU, TL")
### Changed
- **Explainability rewrite** — replaced vague "Title consistent with indexed release" with specific moderation summaries:
- `match`: "Name matches release on {indexer} — title, year, resolution, codecs all consistent"
- `likely_match`: "Name likely matches release on {indexer} — minor field differences"
- `uncertain`: "No strong match found — cannot verify release name automatically"
- `likely_renamed`: "Possible rename — {specific issue}"
- `renamed`: "Likely renamed — folder and filename both differ from torrent name"
- **Rename issue labels** — replaced misleading "expected/found" framing with "Torrent name: / Folder name:" to avoid implying the torrent name is the authoritative source
- **Header wording** — "Found on N indexer(s)" replaced with "Found on {indexer}" (single) or "Best match from {indexer} (N indexers total)" (multiple)
- **Match selection algorithm** — replaced single-pass highest-score selection with candidate-based ranking: relevance score (descending, 0.01 epsilon for ties) → preferred indexer rank → seeders (descending)
## [0.4.1] - 2026-04-06
### Fixed
- **Separator normalization in rename detection** — dot-separated filenames (e.g. `DTS-HD.MA.5.1`) now parse identically to space-separated titles (e.g. `DTS-HD MA 5.1`), eliminating false positives when the only difference is formatting
- Dots between words are normalized to spaces before tokenization
- Codec dots preserved (H.264, H.265)
- Channel dots preserved (5.1, 2.0, 7.1)
- Fixes false positive on: `The Indian Runner 1991 1080p BluRay REMUX AVC DTS-HD MA 5.1-TDD` vs `The.Indian.Runner.1991.BluRay.Remux.1080p.AVC.DTS-HD.MA.5.1-TDD.mkv`
## [0.4.0] - 2026-04-06
### Changed
- **Rename detection rewrite** — replaced brittle word-overlap scoring and stripped-string cross-seed comparison with confidence-based `RenameDetector` module
- Weighted field-based scoring using `H.extractTitleElements` (title, year, resolution, source, codecs)
- Release group differences no longer penalize relevance score
- Codec alias matching (x264 = H.264, DD = AC-3, etc.)
- TV scope awareness — MediaInfo filename comparison skipped for season packs to prevent false positives
- Self-consistency checks (folder/file vs torrent name) as primary rename signal
- Five-level confidence model: `match`, `likely_match`, `uncertain`, `likely_renamed`, `renamed`
- Prowlarr results are now advisory (maximum: warn) — never auto-recommend REJECT
- Element ordering and file extension differences no longer cause false positives
### Fixed
- **False positive on element ordering** — `BluRay.1080p` vs `1080p.BluRay` no longer flagged as renamed
- **False positive on group name differences** — different release group on indexer no longer treated as rename evidence
- **TV season pack false positives** — single-episode MediaInfo filename no longer compared against season-level Prowlarr results
## [0.3.2] - 2026-04-05
### Fixed
- **Container format check** — allow MP4 alongside MKV for non-Full Disc releases (DarkPeers does not enforce MKV-only)
## [0.3.1] - 2026-04-05
### Fixed
- **BB-Code URL tag** — corrected `[url=...]Upload Rules[/url]` to `[url]...[/url]` in the corrective message builder
## [0.3.0] - 2026-04-05
### Changed
- **Rule engine readability** — un-minified the quality-gate rule engine (`k`) and its `resolutionTypeMatch` extension from dense single-line blocks into properly indented, multi-line JavaScript
## [0.2.0] - 2026-04-05
### Changed
- **Configuration readability** — un-minified the quality-gate configuration object (`g`) from a single 20KB line into properly indented, multi-line JavaScript for easier review and maintenance
## [0.1.0] - 2026-04-05
### Added
- **Quality-gate rule engine** — automated checks for resolution, audio/video codecs, HDR formats, sources, screenshots, media info, and subtitles
- **DarkPeers-specific checks** — extended moderation rules tailored to DarkPeers upload standards (banned groups, tiered release groups, naming conventions)
- **Title validator** — template-based title validation enforcing correct element order for Full Disc/Remux, Encode, and WEB releases
- **SRRDB integration** — scene release verification via SRRDB API lookup
- **Prowlarr integration** — cross-seed and duplicate detection through Prowlarr search
- **Cross-seed rename detection** — flags potential cross-seed renames by comparing against Prowlarr results
- **Corrective message builder** — generates pre-formatted moderation messages listing detected issues
- **Settings panel** — persistent user configuration via Tampermonkey storage (Prowlarr URL/API key, rules URL, feature toggles)
- **Configurable selectors** — DOM abstraction layer supporting custom CSS selectors per instance
- **Multi-instance support** — instance configuration system for site-specific feature flags and settings