Changelog
1.0.0
26 July 2026
Pipeline
- New custom image pipeline: no ImageMagick or other image-processing dependencies required
- Parallel conversion across CPU cores
- Direct buffer path to processing engine, no intermediate TIFF files
- Around 50x faster than legacy negfix8 + ImageMagick pipeline
- Automatic scan-size and rotation detection for standard 35mm, half-frame, XPan, panoramic, and other non-standard frame sizes
Inversion
- Custom inversion engine replaces negfix8 (no more ImageMagick dependency)
- Roll-level analysis: computes a shared color profile across all frames for consistent results
- Automatic outlier frame rejection: backlit or unusual frames are excluded from the shared profile so they don't skew the rest of the roll
- Percentile-based pixel rejection: ignores brightest/darkest pixels (default 0.1%) to prevent dust and specular highlights from affecting the profile
- Border exclusion: ignores the outer edge (default 2%) so framing or minor sprocket presence doesn't skew the color analysis
- Independent shadow/highlight clipping:
--clip-blackand--clip-whitefor fine control over contrast stretch - Clipping risk detection: warns when narrow-density negatives may clip too aggressively, with suggested alternative settings
- LUT-based per-pixel inversion: ~26x faster than per-pixel
Math.pow() - Per-image balancing mode: optional per-frame profiling via
--per-image-balancing - Reusable inversion profiles: save and apply shared color analysis with
--save-profileand--profile - Output gamma control via
--output-gamma - Color-space controls for input, working, and output primaries: sRGB, Adobe RGB, Rec.2020, ProPhoto, and ACEScg
CLI & Configuration
- Unified
--modesystem for negative, raw, E-6, black and white, and RGB black and white output - Multiple modes can run in one pass, for example
--mode negative,raw --mode rawwrites uninverted linear 16-bit TIFFs for external finishing tools such as Negative Lab Pro or Grain2Pixel- macOS Finder Quick Action (
--install-quick-action) - Tells you when a new version is available
- Output directory auto-increment to avoid overwrites
--dir-outwithINPUT_DIRplaceholder support- Global config file support (
~/.pprc/configs/default.json) - Last-run config saved automatically: copy to reuse settings
License
- Switched from GPL-3.0 to PolyForm Noncommercial 1.0.0. Free for personal, educational, and non-commercial use.
0.x (Legacy)
Earlier releases between 2016 and 2026
- Inversion & balancing via third party negfix8 script (ImageMagick-based), each file inverted individually
- Basic planar raw to TIFF conversion
- Initial CLI