Releases: Tom94/tev
Releases · Tom94/tev
Version 2.9.0
Changes Since Last Release
New features
- New support for JPEG2000 files (.j2k, .j2c, .jp2, .jpf)
- New support for ICO (.ico) and CUR (.cur) image files
- Extended BMP (.bmp) format support: all versions/codecs & color profiles; no longer via stb_image
- Extended DNG / TIFF (.dng, .tif) format support:
- JPEG XL and JPEG 2000 encoded data
- More DNG color profile & HDR metadata being recognized and applied
- Extended JPEG (.jpg, .jpeg) format support: Apple-style gain maps such as iPhotos JPG exports in the ~2021--2024 timeframe
- Extended HEIF (.heif) format support: JPEG and JPEG 2000 encoded data
- Added maker note metadata to the EXIF image info tab (if available)
Bugfixes & improvements
- Very large AVIF & HEIC files now decode significantly faster on multi-core systems (measured up to 8x)
- Windows & Linux: selecting large images for the first time is now much faster (measured up to 5x)
- tev feels a lot more responsive when navigating sets of huge images on those systems
- Windows: removed accidental DLL dependency on MSVC redistributable's OpenMP (tev.exe should be truly portable again)
- Fixed rare cases where auxiliary layers had incorrect colors if their color space differed from the primary layer
- Fixed rare crash when ICC profiles contained bogus rendering intent metadata
- Fixed rare crash then EXIF or XMP metadata contained bogus orientation tags
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.8.2
Changes Since Last Release
This is a hotfix release for images with gainmaps not loading correctly on Windows (#411)
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.8.1
Changes Since Last Release
This is a hotfix release for
- Some MPF JPEG images not being loaded correctly
- Gainmaps in certain HEIC/AVIF files not being loaded correctly
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.8.0
Changes Since Last Release
New features
- A new GUI for picking an inspection color space:
- The inspection color space is used in the histogram and when inspecting pixel values (by zoom or hover). It allows users to analyze images in other color spaces than tev's default (linear sRGB).
- The inspection color space does not affect rendering. Like before this update, tev always displays colors faithfully, regardless of inspection color space, by interfacing with the OS/compositor.
- Better Gainmap support:
- tev can now load ISO 21496-1 gainmaps embedded in JXL, AVIF, HEIC, and JPEG images.
- Gainmaps are applied with maximum gain by default, but can be adjusted via the new CLI flag
--gainmap-headroom(use--helpfor more info). - Gainmaps can be inspected like any other auxiliary channel/layer.
- A new CLI command
--convert-tofor (batch) conversion of images (use--helpfor more info). - A new CLI flag
--no-resize-windowto disable tev resizing itself to fit the loaded image. - Images load up to 2x faster on most machines (misc. optimizations) and up to 8x faster on machines with many cores (optimized thread pooling; benefits start at ~16 cores)
- HDR / wide color capabilities are now tracked at run time:
- Meaning tev behave correctly when changing the system's HDR settings while tev is running or moving tev across monitors with different HDR capabilities.
- Support for AVIFS/HEICS image sequences.
- Support for multi-picture format JPEGs.
- Extended EXR metadata handling:
- Images with
adoptedNeutralnow have appropriate white point adaptation performed. - Images with
whiteLuminancehave their best-guess white level set accordingly.
- Images with
Bugfixes & improvements
- The selected background color is now blended onto the image before exposure, transfer, and other operations, rather than after. This includes saving an image, which now bakes in the selected background color, if any.
- Fixed crash on startup on certain KDE configurations.
- Fixed over/underflow when computing sRGB bytes.
- Fixed various contrived situations where IPC could send incomplete data.
- Fixed JXL image loader loading only one metadata box rather than all of them.
- Fixed logs going to stdout instead of stderr.
- Fixed unintuitive alpha handling when saving images: saving an image with an alpha channel to a format without one (like JPEG), now has all alpha removed by blending with opaque black (after the user-selected background color got blended).
- Fixed missing XMP metadata when loading JPEG images with gainmaps (was a limitation of libultrahdr which is no longer a dependency).
- Fixed ICC profile in JPEGs taking precedence over EXIF sRGB key.
- Fixed various inconsistencies in part/layer/channel naming scheme across image formats.
- Fixed window resizing on Windows and X11 when using secondary monitors and/or fractional content scaling.
- The default crop/save area is now the display window, not the data window.
- IPC data is now interpreted/sent in little endian format, even when tev is compiled for big endian.
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.7.0
Changes Since Last Release
New features
- Reading of XMP metadata from all of tev's supported image formats. Viewable in the image info window (press
ito toggle)- tev now also reads other exotic metadata, such as PNG's tIME and pHYs chunks
- Better support for "portable anymap" images
- All features of PFM, PAM, PNM, PGM, PBM, and PPM images are now supported. This includes animation, higher bit depths, ASCII encoding, and comments (fixed long-standing issue #86)
Bugfixes & improvements
- Image loading became ~20% faster on machines with many threads
- tev now remembers the selected tab in the image info window when selecting new images
- Better behavior when the system's HDR setting is changed while tev is running
- Fixed too dark appearance on Hyprland >0.53 (working around a bug in Hyprland's new handling of SDR PQ rendering)
- Fixed tone mapping of images encoded with HLG transfer function
- Fixed tone mapping of images encoded with the extended sRGB transfer function and values below zero (I have never encountered one of these in the wild, so this fix is rather theoretical)
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.6.3
Changes Since Last Release
Here is yet another minor release, mostly following up the previous ones with small improvements and bugfixes.
Improvements
- Improved tev's new handling of the display white level:
- tev now detects reliably whether it is in HDR or "merely" wide-gamut SDR environments. And also whether the HDR environment supports absolute or only relative brightness.
- tev makes an informed best guess about each image's intended white level (image formats generally have no reliable metadata in absolute units, hence the "guessing" part). When in an HDR environment with absolute brightness capability, you can then optionally render each image at absolute brightness (via
--white-level=imageor the GUI) rather than the default relative brightness behavior.
- tev now reads HDR10 metadata, if available, and displays it in the image info window (toggle by pressing
i). The metadata is purely informative and does not affect how tev actually renders/reads the image -- except that it may be used in the white level guessing process. - tev now distinguishes between scene- and display-referred image data in that scene-referred data (like OpenEXR images) have their colors transformed without white point adaptation ("absolute colorimetric") and display-referred data (most formats based on a certain degree of guessing, in line with how major browsers work) with white point adaptation ("relative colorimetric"). This has no practical effect on 99.99% of images, because tev's previous behavior already somewhat resembled the new one with a few exceptions that are not worth getting into.
- A new
--size=<width>x<height>CLI argument for specifying the tev window's initial size.
Bugfixes
- Fixed a crash when loading JPEG-XL images with certain kinds of EXIF metadata.
- Fixed IPC over Unix sockets not working on Windows
- Fixed tev's temporary files not always getting cleaned up on exit.
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.6.2
Changes Since Last Release
Another hotfix release, this time to fix the following two issues:
- A sporadic crash on Windows when using the save file dialog
- IPC not working when running in a flatpak sandbox without network access
- tev now uses unix sockets instead of TCP/IP when it detects that it is in a flatpak sandbox without network access.
- Unix sockets can also be configured by passing
--hostname <socket name>when the socket name contains no:symbol. This is useful when a lot of image data has to be sent to tev very quickly, because unix sockets are much faster than going through the network stack. Curiously, unix sockets even work on Windows these days. SDKs for tev's IPC protocol (like tevclient) still need to be updated with unix socket support.
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.6.1
Changes Since Last Release
This is a hotfix release for incorrect color rendering of negative sRGB color values.
Two minor features are also included:
- Changed the "sRGB" tonemap label to "None" to better reflect end-to-end tonemapping behavior: colors are rendered faithfully according to the color space that the image was in -- no tonemapping is applied. This is the same as before; only the label changed.
- The former label "sRGB" referred to an internal tonemapping step that would get reverted later in the pipeline when displaying HDR. The label only made sense in SDR situations.
- Expanded on the "Gamma" tonemapping option and its use cases in the tooltip.
- Added a setting to override the automatically detected display reference white level.
- Useful for displaying images with known white level at absolute brightness instead of at the system's configured relative brightness level.
- IMPORTANT: this only works correctly when using a well-calibrated HDR display & when the OS/Compositor has HDR enabled. tev is currently unable to detect this reliably and the option might be available in wide color, SDR modes. In such situations, the setting will not work as intended.
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.6.0
Changes Since Last Release
New Features
- Various improvements to tev resizing itself to the loaded image's size.
- tev no longer becomes larger than current monitor (previously was total area across all monitors).
- tev no longer resizes itself when Auto Fit is toggled (or
--auto-fitflag is set). The image is scaled to fit tev's size instead. - Monitor size is now correctly detected on Wayland, particularly with fractional content scaling.
- Changed resizing operations to be (power of 2) roots of two. Meaning it is easy to reach 2x, 4x, 8x, ..., 0.5x, 0.25x, 0.125x, ... scales with the mouse wheel or the +/- buttons.
- Support loading EXIF data from camera RAW image files.
- Support loading of multi-part EXR files where some of the parts fail to load (e.g. corruption).
- The Windows installer can now overwrite a previous installation of tev.
Bugfixes
- Fixed inconsistent scroll wheel handling between Wayland and the rest.
- Fixed
tev -hhelp text for--maxand--no-maxflags. - Unexpected errors in EXIF parsing no longer crash tev.
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.
Version 2.5.2
Changes Since Last Release
Bugfixes
- Fixed "All Images" filter in file dialog. (Thanks to @Jebbly.)
Released Files
- Pre-built installer (.msi) and portable binary (.exe) for Microsoft Windows
- Pre-built installers (.dmg) for macOS: one for ARM (tev.dmg) and one for Intel (tev-intel.dmg)
- Pre-built binaries (.appimage) for Linux: one for x86_64 (tev.appimage) and one for ARM (tev-arm.appimage)
- Source code of tev excluding submodules. If you would like to build tev from source, please follow the build instructions in the project readme instead.