Skip to content

v2.1.5

Latest

Choose a tag to compare

@ssh4net ssh4net released this 01 Jul 08:38

Changes from v2.1 to 2.15

Highlights

  • Moved the project to a CMake-only workflow.
  • Added embedded GUI font support, removing the need to load the font from disk.
  • Added user config, LUT, preset, and ImGui state folders.
  • Added direct OpenColorIO LUT processing.
  • Added local and portable preset support.
  • Added native file dialogs for preset import/export.
  • Added encoder settings UI.
  • Added HTJ2K export support.
  • Improved UTF-8 path handling across the app.
  • Hardened crop/write logic, including half-size RAW output cases.
  • Added macOS packaging support.
  • Improved Windows runtime packaging for OpenMP.

Added

  • Embedded FiraSans GUI font through CMake/resource generation.
  • Runtime app path management:
    • user config folder
    • user LUT folder
    • user presets folder
    • user imgui.ini
    • first-run copy of default config and LUTs
  • Default LUT files:
    • identity.cube
    • linear.clf
    • 14bit_linear.clf
    • 14bit_sRGB_gamma.clf
  • Direct OCIO LUT transform path using OpenColorIO FileTransform.
  • Cached OCIO CPU processors for LUT application.
  • Multithreaded LUT application over image rows.
  • Presets menu in the GUI.
  • Local .toml presets.
  • Portable .unrwpreset zip presets with bundled LUT files.
  • Native file dialogs through nfd when available.
  • Console enable/disable implementation on Windows.
  • New encoding controls for:
    • TIFF compression
    • OpenEXR compression
    • PNG strategy/level
    • JPEG quality/subsampling
    • JPEG-2000/HTJ2K qstep
    • HEIC quality
    • JPEG XL quality/effort/speed
  • macOS packaging files and packaging script.

Changed

  • Removed the old Visual Studio solution/project files.
  • CMake is now the main build system.
  • Runtime config and default LUTs are copied beside the executable.
  • Install layout now places:
    • unrw_config.toml beside the executable
    • default LUTs in LUTs/ beside the executable
  • OpenColorIO is linked directly when available as a CMake target.
  • minizip-ng and nfd are discovered through CMake config packages when available.
  • DNG SDK discovery now supports dng_sdk::dng_sdk.
  • OpenImageIO/fmt handling was improved for package compatibility.
  • Output format list now includes HTJ2K.
  • Encoder-specific settings replaced some older fixed output compression behavior.
  • LUT folder config is now resolved relative to the active config file.
  • Drag-and-drop helper files were reformatted and adjusted.

Fixed

  • Hardened image write crop normalization.
  • Fixed crop handling for half-size RAW output.
  • Added checks for invalid crop sizes and out-of-buffer writes.
  • Improved write error reporting from OpenImageIO.
  • Fixed UTF-8/non-ASCII path handling in file IO, CLI paths, presets, processors, and GUI paths.
  • Improved RAW memory write path to use OIIO output instead of manual raw byte writing.
  • Fixed Windows OpenMP runtime bundling for MSVC builds.
  • Filtered stale debug LCMS library references leaking from some OIIO package exports.
  • Improved LibRaw OpenMP detection/linking.
  • Removed unused GLEW dependency handling.