|
1 | 1 | # Release Notes — v0.11.2 (2026-04-11) |
2 | 2 |
|
3 | | -This version represents a significant hardening and refinement of the media encoding pipelines (HEVC, AV1, and JXL), transitioning the codebase to a convergent search model that prioritizes precision and visual fidelity. |
| 3 | +This release marks the culmination of the "Architecture Unification & Pipeline Hardening" cycle. It consolidates all improvements made since version **0.11.0** (2026-03-28), transitioning the project into a single, high-precision media workstation. |
4 | 4 |
|
5 | | -## ✨ Highlights |
| 5 | +## 🚀 Key Highlights (Since 0.11.0) |
6 | 6 |
|
7 | | -### 🎞️ Video Pipeline Overhaul (HEVC / AV1) |
8 | | -- **Simplified HEVC Ultimate Logic**: Removed over 360 lines of complex candidate ranking logic in favor of a streamlined two-step process: efficiently converging at a search preset (`slow`) and finalizing with the high-fidelity delivery preset (`slower`). |
9 | | -- **Stage 5 Downward Exploration**: Implemented a post-search "boundary push" that prods the finalized CRF at 0.01 precision. It extracts every possible bit of quality until the file size matches the original input, ensuring users get the absolute best output for their budget. |
10 | | -- **Baseline-Aware Quality Gates**: Replaced static quality thresholds with adaptive, per-file baselines (VMAF-Y, PSNR-UV, and CAMBI). The system now dynamically detects and rejects pathological quality drops while remaining permissive for already degraded source material. |
11 | | -- **Improved Loop Stability**: Added iteration caps and tightened failure budgets (from 8 to 2) to prevent infinite oscillations on "uncompressible" source material. |
| 7 | +### 🏗️ 1. Unified Media Architecture (v0.11.1 Milestone) |
| 8 | +The project structure has been completely overhauled to eliminate redundancy and simplify deployment: |
| 9 | +- **Binary Consolidation**: Merged `vid_hevc`/`vid_av1` into a single `vid` binary and `img_hevc`/`img_av1` into a single `img` binary. Users can now toggle between strategies using `--codec <hevc|av1>`. |
| 10 | +- **Workspace Modernization**: Core Logic moved to a managed `crates/` workspace (`shared_utils`, `vid`, `img`), ensuring sub-100ms incremental build times and shared dependency management. |
12 | 11 |
|
13 | | -### 🖼️ JXL (JPEG XL) Encoding Optimization |
14 | | -- **Rebuilt Exploration Algorithm**: Introduced an adaptive planning system that selects from four exploration profiles (MicroAdjust to CeilingSweep) based on the image's initial compression ratio. |
15 | | -- **Binary Search Convergence**: Replaced heuristic "jogging" with a high-precision binary search (0.0001 delta) for sub-0.01 distance values. |
16 | | -- **Stage 5 Sidekick**: Mirrored the video pipeline's "boundary push" to squeeze maximum quality from JXL finalization. |
| 12 | +### 🎞️ 2. Video Pipeline Hardening & "Stage 5" Exploration |
| 13 | +- **Stage 5 Downward Exploration**: After finding the optimal CRF, the system now performs a high-precision "boundary push" (0.01 delta) to extract every possible bit of quality until the file size matches the input budget. |
| 14 | +- **HEVC Ultimate Simplification**: Replaced over 360 lines of candidate-ranking logic with a streamlined two-step encode: Search (`slow`) → Render (`slower`). This provides identical archival quality with significantly higher predictability. |
| 15 | +- **Adaptive Quality Gates**: Replaced static VMAF/PSNR floors with per-file adaptive baselines. The system now dynamically detects and rejects quality regressions based on the source's native fidelity. |
17 | 16 |
|
18 | | -### 🛡️ Core Hardening |
19 | | -- **Logic Unification**: Standardized all size-comparison semantics to **strictly less than (<)** across all modules. If an output isn't smaller than the input, it is now discarded as a failed compression. |
20 | | -- **Dependency Stabilization**: Migrated the production `main` branch to use stable `crates.io` dependency sources, resolving several nightly-only API breakages in the process. |
21 | | -- **Source Directory Protection**: Hardened "source immutability" logic to ensure files are never modified or renamed in the input directory when a separate output directory is configured. |
| 17 | +### 🖼️ 3. JXL (JPEG XL) Next-Gen Exploration |
| 18 | +- **Adaptive Probing**: Introduced a profile-driven exploration model (MicroAdjust to CeilingSweep) that adapts its search strategy based on the image's "oversize pressure." |
| 19 | +- **Binary Search Convergence**: Replaced heuristic "jogging" with an high-precision binary search (0.0001 delta) for sub-0.01 distance values. |
| 20 | +- **Continuous Quality Sweep**: Implemented a JXL-specific "Stage 5 Sidekick" that Steps downward to explore higher visual fidelities until the first size regression. |
22 | 21 |
|
23 | | -## 🔧 Maintenance |
24 | | -- Structural migration of core crates into a managed workspace (`crates/`). |
25 | | -- Resolved all floating-point comparison warnings and Python linting violations. |
26 | | -- Fixed a data-loss bug in the GIF skip-and-copy pipeline. |
| 22 | +### 🧠 4. Intelligence & Decision Flow (Loop Intent v3) |
| 23 | +- **7-Layer Loop Intent System**: A multi-tiered heuristic+ML tree that accurately distinguishes between "sticker-like" loops and "narrative-like" clips. |
| 24 | +- **pgvector HNSW Integration**: Migrated KNN similarity search from in-memory Euclidean math to PostgreSQL's HNSW vector index, enabling millisecond-level retrieval across thousands of labeled samples. |
| 25 | +- **Level 4 Inference Logging**: The system now logs every internal signal and final decision to a structured forensic table, enabling data-driven tuning of the Active Learning loop. |
| 26 | + |
| 27 | +### 🛡️ 5. UltraHDR & Media Integrity |
| 28 | +- **Gainmap Resilience**: Implemented a four-strategy "candidate recovery" system for Google UltraHDR JPEGs, supporting malformed MPF segments and XMPF identifiers. |
| 29 | +- **Baseline-Safe Synthesis**: Corrected transfer curve tagging (PQ/ST2084) for JXL HDR synthesis, ensuring proper "glow" and brightness in macOS Preview and web browsers. |
| 30 | +- **Path Safety Shield**: Hardened all external tool calls (FFmpeg, ExifTool, cjxl) with standardized `./` prefixing and shell-escaping to defend against malicious filenames and protocol hijacking. |
| 31 | + |
| 32 | +## 🔧 Core Maintenance |
| 33 | +- **100% Health Milestone**: The entire codebase (Rust, Python, Shell) now passes the strict `check_all.py` quality suite with zero warnings/failures. |
| 34 | +- **Logic Unification**: Standardized all efficiency metrics to **strictly less than (<)**. |
| 35 | +- **Dependency Stabilization**: Reverted the production `main` branch to stable `crates.io` sources (fixing API breakages in `quick-xml` and `image`). |
| 36 | +- **macOS App Wrapper**: Re-engineered the entry-point script with robust Python discovery and improved AppleScript escaping for drag-and-drop workflows. |
27 | 37 |
|
28 | 38 | --- |
29 | | -*For full technical details, see the detailed CHANGELOG.md.* |
| 39 | +*For a full itemized list of every commit and fix, please refer to the primary CHANGELOG.md.* |
0 commit comments