Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: qarmin/czkawka

11.0.0

14 Feb 11:16
8bd6fb8

Choose a tag to compare

Version 11.0.0 - 14.02.2026r

Breaking changes

Users

  • The Czkawka GUI config file was migrated from a custom, broken format to JSON. All settings must be configured again. The old TXT file is not removed and can be used as a reference.
  • In broken files mode, file type is no longer stored in cache. Existing cache files are incompatible with this version and will be automatically regenerated.
  • The Similarity Preset enum in similar images mode was replaced with an integer argument Max Difference in range 0-40.
  • HEIF images are now rotated only once instead of twice. Existing cache may contain incorrectly rotated images and should be regenerated by removing cache(but this requires manual intervention).

Devs

  • Public API functions were slightly adjusted to avoid unnecessary cloning and referencing of copyable types.
  • Similarity variables were renamed to Difference.
  • Applications must call register_image_decoding_hooks(); at startup to enable reading HEIF and JXL images.

Core

  • In similar images mode and previews, extension validation was removed in most cases - #1623
  • Build-time and runtime versions of Musl and Glibc are now printed to logs - #1604
  • Destination file removal during symlinking is now delayed to prevent data loss in case of failure - #1672
  • Fixed invalid path canonicalization on Windows - #1604
  • Comparison results are now deterministic - #1654
  • Built-in JPEG previews are now read from RAW images when available - #1655
  • Fixed silent panics when the logger could not write to the terminal - #1658
  • Commit hash is now included in logs - #1672
  • Improved and fixed logic for grouping similar images by similarity level - #1685
  • Added scan time measurement - #1674, #1685
  • Added support for detecting broken video files in the broken files tool, via external ffmpeg and ffprobe - #1745
  • Added new video optimizer mode to reencode videos with more efficient codecs and crop black/static bars, via external ffmpeg and ffprobe - #1726, #1745
  • Added new exif remover mode to remove selected EXIF tags from files - #1745
  • Added new bad names mode to find and rename files with problematic names, e.g. non-ASCII characters or uppercase extensions - #1754
  • Added ability to scan individual files, not only folders - #1745
  • Limited supported image size to 2000 MP - #1748
  • Automatic cleanup of outdated entries now runs at most once per week - #1748
  • Added a function to manually remove outdated entries from cache files - #1748
  • Added video property information, bitrate, codec, FPS, dimensions, duration for similar videos tool - #1748
  • Fixed double rotation of HEIF images - #1783
  • Fixed incorrect handling of some HEIF images by using built-in libheif-rs decoding methods - #1783

CLI

  • Enabled colored terminal output by default, can be disabled via feature flag - #1672
  • Fixed a regression where results were not printed to the terminal - #1672
  • Added dry_run and move_to_trash options to most of tools - #1685
  • Fixed unbound --excluded-extensions option - #1748
  • Added new modes: video optimizer, exif remover, and bad names - #1760

GTK GUI

  • Restored the sort button and fixed crashes related to sorting - #1623
  • Configuration now uses JSON format instead of a custom one - #1623
  • Added multithreaded creation of hard links, symbolic links, and file removal - #1672
  • Fixed a GTK regression that caused image previews to appear extremely small - #1658
  • Added a button to easily swap between compared images - #1658
  • Performed refactoring to evaluate possible migration to GTK 5, currently not very feasible - #1658
  • Fixed sorting by size in big files mode - #1691
  • Fixed freezes caused by an invalid function declaration in gtk4-rs - #1691
  • Added an About popup informing that Krokiet is the successor application - #1718
  • Added --cache and --config CLI options to open cache and config paths - #1745
  • Added shortest and longest path selection modes - #1738

Krokiet

  • Added a new logo - #1726
  • Added video thumbnails, single and grid view - #1714
  • Displayed cache, thumbnails, and logs size in settings - #1714
  • Added sorting by clicking column headers - #1718
  • Introduced a default limit of 500 message lines to prevent freezes caused by slow TextEdit performance - #1718
  • Slightly increased font sizes to improve readability - #1726
  • Added runtime application scaling, with some limitations - #1726
  • Cleared messages in the bottom panel when a new scan starts - #1726
  • Fixed a crash when clicking previous results while a new scan was in progress - #1726
  • Changed default behavior to move files to trash instead of permanently deleting them - #1726
  • Added a notification dialog when the application cannot be opened - #1745
  • Added --cache and --config CLI options to open cache and config paths - #1745
  • Added new modes: video optimizer, exif remover, and bad names - #1726, #1745, #1754
  • Modification dates are now displayed in local time instead of UTC - #1748
  • Added a new menu option to manually remove outdated cache entries - #1748
  • Added an optional scan completion sound, hidden behind the audio feature flag - #1754
  • Fixed an issue where sort options were not updating due to multiple invalid signal connections - #1760
  • Added support for creating hard links and symbolic links - #1760
  • Added shortest and longest path selection modes - #1738
  • Fixed crashes caused by selection cache desynchronization - #1783

External

  • Wine 10.20 includes a bugfix that resolves crashes when opening file dialogs in Czkawka GUI - Wine 49987 issue

Prebuilt binaries

  • Krokiet Windows binaries with the Skia backend are now available, this only works with MSVC build and requires Visual C++ Redistributable
  • Intel Mac binaries are now built with the latest available macOS version, currently 15
  • Windows prebuilt binaries now bundle libEGL and libGLES, which fixes issues running GTK 4.12 builds on some systems, GTK 4.6 builds are no longer provided
  • Krokiet macOS OpenGL binaries are deprecated due to outdated and broken Apple OpenGL drivers, Skia Vulkan binaries are now provided and recommended
  • Some Linux binaries are now built on Ubuntu 24.04 to support a newer libheif-rs with improvements, including reading images with pixel formats other than rgb8
  • Windows binaries now use an 8 MB stack size to match Linux, fixing stack overflows in debug builds
  • Windows binaries now include built-in icons

Virustotal

Read more

10.0.0

18 Aug 15:03
73afe0f

Choose a tag to compare

Version 10.0.0 - 18.08.2025r

Breaking changes

Users

  • Some languages now have unified names in Crowdin (e.g. es β†’ es-ES). The GUI may not find them and will fall back to the default language.
  • Cache files now use memory limits and are incompatible with previous versions.
  • Cli image filter argument changed from faussian to gaussian

Devs

  • stop_flag is now required argument in most of the core functions
  • Visibility of some core functions has been reduced to pub(crate)
  • The modules in czkawka_core have been split and reorganized a bit β€” imports need to be adjusted, although the actual behavior and item names should not be changed too much

Core

  • Replaced println/eprintln with logging functions - #1478
  • Slightly improved cache loading and saving speed - #1478
  • Messages and panics are now also logged to a file (can be disabled by setting the DISABLE_FILE_LOGGING environment variable) - #1508
  • Added a 8GB memory limit when loading or saving cache to avoid out-of-memory crashes with broken cache files - #1508
  • Czkawka binaries are now reproducible - #1565
  • Added protection against deleting a folder that is no longer empty since the scan - #1566
  • Replaced pdf-rs with the more popular lopdf library, which also has fewer dependencies - #1566
  • Replaced imagepipe + rawloader with rawler which is still supported and faster to decode raw files - #1572
  • Added more configuration options in video finder - #1578
  • fast_image_resize feature is removed and image_hasher/fast_resize_unstable is enabled unconditionally - #1586

CLI

  • Improved logic for deleting files and added progress bar for this operation - #1571

GTK GUI

  • New icons β€” less visually appealing, but created by me and released under a truly free CC BY license - #1478
  • Fixed crash when removing outdated cache - #1508
  • Fixed missing file and folder names for similar videos in reference folders - #1520
  • Fixed crashes when the SVG pixbuf loader is not available - #1565
  • Fixed using custom select on referenced folders - #1581

Krokiet

  • Added the ability to select multiple items with mouse and keyboard - #1478
  • Added sort button - #1501
  • Window size is now remembered - #1508
  • Added translations - #1508, #1513
  • Improved popup styling - #1520
  • Dark and light themes can now be switched at runtime - #1520
  • Changed icon color to white for dark theme to improve visibility - #1520
  • Added the ability to hide text on buttons - #1520
  • Multithreaded removing, moving, and renaming of files - #1565
  • Files that fail to be removed, renamed, or moved are no longer deleted from the results list - #1565
  • Progress information is shown when removing, renaming, or moving files, with the ability to stop the process - #1565
  • Folders to scan can be now set via cli e.g. krokiet /home/rafal - for more info see krokiet --help - #1566
  • Improved appearance of bottom directories panel - #1569
  • Some buttons, are disabled, when there is no files selected - #1586
  • Added info about the number of items selected to delete - #1589
  • Limit image preview to max 1024 width/height, to speedup preview loading and fixing crash in software renderer - #1590

External

  • There is a new unofficial Tauri-based frontend for Czkawka - Czkawka Tauri
  • Czkawka 8.0.0 is now available in Debian Sid - Cli/Gui Gtk

CI

  • Compilation for 32-bit targets is now checked in CI
  • Czkawka binaries are now checked for reproducibility in CI

Prebuilt binaries

  • AppImage binaries are no longer provided due to random bugs (not present in other packaging formats) and minimal added value compared to prebuilt Linux binaries or Flatpak
  • HEIF Mac binaries are now provided
  • CI now builds Linux binaries on Ubuntu 22.04 instead of 20.04(github removed 20.04 images)
  • musl builds of czkawka_cli are now provided instead of eyra builds (slightly easier to maintain). GUI builds are not included due to limitations of musl and eyra :(
  • Prebuilt Windows console binaries are no longer provided β€” logs are now saved to a file, which is easier to read than terminal output
  • Skia opengl and vulkan backends are provided for Krokiet on Linux(no binaries on Windows, because don't know how to replace sed)
  • Prebuilt binaries are now build with lto fat instead lto thin and codegen-units=1 to greatly reduce binary size(~25% smaller binaries)

Virustotal

Legend:

  • If you are a beginner and don't know which version to use, start with one of these depending on your OS (if they don’t work, try different builds):
    • Windows – windows_krokiet_on_linux, windows_czkawka_gui_gtk_46
    • Mac – mac_krokiet_x86_64, mac_krokiet_arm, mac_czkawka_gui_x86_64, mac_czkawka_gui_arm
    • Linux – linux_krokiet_skia_opengl_x86_64, linux_krokiet_x86_64, linux_czkawka_gui_x86_64
  • krokiet – graphical version of the app (recommended over the GTK version)
  • gtk_gui – graphical GTK version of the app
  • cli – command-line version of the app
  • gtk_46, gtk_412 – GTK versions used to build the Windows app. On some systems gtk_46 works, on others gtk_412, so choose the one that works on your computer.
  • arm, x86_64 – CPU architecture. Most Windows/Linux uses x86_64, while on Mac the arm version is becoming the most common choice. (To run the app, you need to use the correct one.)
  • heif, raw, avif – additional features that require extra libraries installed on the OS
  • skia_opengl, skia_vulkan – alternative Linux backends for Krokiet; may fix some issues like blurry fonts

You can read more about this version on Medium:

9.0.0

16 Mar 07:59
5dc8d38

Choose a tag to compare

Version 9.0.0 - 16.03.2025r

Breaking changes

  • Video, Duplicate (smaller prehash size), and Image cache (EXIF orientation + faster resize implementation) are incompatible with previous versions and need to be regenerated.

Core

  • Automatically rotating all images based on their EXIF orientation - #1368
  • Fixed a crash caused by negative time values on some operating systems - #1369
  • Updated vid_dup_finder; it can now detect similar videos shorter than 30 seconds - #1425
  • Added support for more JXL image formats (using a built-in JXL β†’ image-rs converter) - #1425
  • Improved duplicate file detection by using a larger, reusable buffer for file reading - #1425
  • Added an option for significantly faster image resizing to speed up image hashing - #1458
  • Logs now include information about the operating system and compiled app features(only x86_64 versions) - #1458
  • Added size progress tracking in certain modes - #1458, #1464
  • Ability to stop hash calculations for large files mid-process - #1458
  • Implemented multithreading to speed up filtering of hard links - #1458
  • Reduced prehash read file size to a maximum of 4 KB - #1458
  • Fixed a slowdown at the end of scans when searching for duplicates on systems with a high number of CPU cores - #1460
  • Improved scan cancellation speed when collecting files to check - #1460
  • Added support for configuring config/cache paths using the CZKAWKA_CONFIG_PATH and CZKAWKA_CACHE_PATH environment variables - #1464
  • Fixed a crash in debug mode when checking broken files named .mp3 - #1464
  • Catching panics from symphonia crashes in broken files mode - #1466
  • Printing a warning, when using panic=abort(that may speedup app and cause occasional crashes) - #1466

Krokiet

  • Changed the default tab to "Duplicate Files" - #1368

GTK GUI

  • Added a window icon in Wayland - #1400
  • Disabled the broken sort button - #1400

CLI

  • Added -N and -M flags to suppress printing results/warnings to the console - #1464
  • Fixed an issue where messages were not cleared at the end of a scan - #1464
  • Ability to disable cache via -H flag(useful for benchmarking) - #1466

Prebuild-binaries

  • This release is last version, that supports Ubuntu 20.04 - github actions drops this OS in its runners
  • Linux and Mac binaries now are provided with two options x86_64 and arm64
  • Arm linux builds needs at least Ubuntu 24.04
  • Gtk 4.12 is used to build windows gtk gui instead gtk 4.10
  • Dropping support for snap builds - too much time-consuming to maintain and testing(also it is broken currently)
  • Removed native windows build krokiet version - now only the cross-compiled version from Linux is available (there should be no difference)

VirusTotal

(it seems that some lesser-known antivirus programs don’t like Rust with LTO – if you're unsure, you can compare the hashes of this binaries with artifacts from - 5dc8d38)

Legend:

  • libraw in name - app is compiled with libraw feature and require libraw package sudo apt install libraw on ubuntu
  • heif in name - require libheif-dev to be installed to be able to read use heif images
  • gtk_gui - gtk version of app
  • cli - command line version of app
  • krokiet_gui - slint version of app
  • console - windows version, that shows console in background - usable to find problems
  • gtk_46, gtk_412 - gtk version used to build the app. It is provided as two separate packages, giving a choice in case one of them does not work for them (gtk 4.16 is available which may fix some bugs, if you are interested in it, please contribute and docker in - https://github.com/MGlolenstine/gtk4-cross)
  • minimial appimage - this version does not contain gtk-related libraries and they are taken from the system, so it has requirements almost identical to the regular version. Use only if you have problems with the regular version or know what you are doing

You can read more about this version on Medium:

8.0.0

11 Oct 07:26
db164d3

Choose a tag to compare

Version 8.0.0 - 11.10.2024r

Breaking changes

  • Due to the removal image_type from image struct, old cache files are incompatible with new version and should be regenerated from scratch(it uses new name)
  • Some CLI arguments could change short name, due fixing ambiguous names

Known regressions

  • Slint 1.8 which Krokiet uses requires femtovg 0.9.2 which broke font rendering - slint-ui/slint#6298

CI

Core

  • Removed some unnecessary panics - #1354
  • Simplified usage of structures when sending/receiving progress information - #1354
  • Added Median hash algorithm - #1354
  • Fixed compilation with Rust >=1.80 - #1354
  • Extracted tool input parameters, that helped to find not used parameters - #1354
  • Added new mod to find similar music only in groups with similar title tag - #1354
  • Printing to file/console no longer uses two backslashes in windows paths - #1354
  • Fixed panic when failed to decode raw picture - #1355
  • Remove useless saving/loading cache when there is no files to check - #1358
  • Filtering hard links on windows - #1316
  • Added jxl support - #1358
  • Added avif support(via external C library, not enabled by default) - #1358
  • Integer overflow are enabled by default(prepare for reporting bugs, slower performance and general unstability) - #1358
  • Fixed crash when loading invalid image cache - #1230

Krokiet

  • Fixed invalid default hash size in similar images - #1354
  • Fixed and added more input parameters to the application - #1354
  • Fixed problem with loading invalid preset - #1226
  • Fixed crash when using 8 hash size with small similarity - #1359
  • Disabling buttons when no files were found - #1359
  • Changed way to close/open panel at bottom - #1359
  • Modify logo a little - #1359
  • Avoid errors when trying to load preview of not supported file - #1359
  • Added ability to show preview of referenced folders - #1359
  • Enable selecting with space and jumping over entries with arrows and opening with enter - #1359
  • Added button to rename files with invalid extension -#1364

GTK GUI

  • Fixed and added more input parameters to the application - #1355
  • Added option to use external libraries instead gtk pixbuf loader for previews - #1358
  • Using static runtime with zstd compression in appimage - #1350
  • Restoring flatpak builds - #1275
  • [External] Mac homebrew version of app - https://formulae.brew.sh/formula/czkawka

CLI

  • Added options to find/remove images by size - #1255
  • Fixed and added more input parameters to the application - #1354
  • Fixed crash when stopping scan multiple times - #1355
  • Print results also in debug build - #1355
  • Added support for selecting reference directories -#1364

Virustotal:

Legend:

  • libraw in name - app is compiled with libraw feature and require libraw package sudo apt install libraw on ubuntu
  • heif in name - require libheif-dev to be installed to be able to read use heif images
  • gui - gtk version of app
  • cli - command line version of app
  • krokiet - slint version of app
  • console - windows version, that shows console in background - usable to find problems
  • gtk_46, gtk_410 - gtk version used to build
  • minimial appimage - this version does not contain gtk-related libraries and they are taken from the system, so it has requirements almost identical to the regular version. Use only if you have problems with the regular version or know what you are doing
  • winversion, linversion - the application has been compiled on Windows or cross-compiled on Linux. Both versions should work exactly the same, but the Windows version requires the Microsoft Visual C++ Redistributable package to be installed (it should be already installed on most Windows OS)

Other:

Nightly

06 Oct 18:22
b3ff7e3

Choose a tag to compare

Nightly Pre-release
Pre-release

Nightly version of app.

New version should be added automatically by CI

7.0.0

19 Feb 11:41
8109a82

Choose a tag to compare

Version 7.0.0 - 19.02.2024r

BREAKING CHANGES

  • Reducing size of cache files, made old cache files incompatible with new version
  • -C in CLI now saves as compact json

GTK GUI

  • Added drag&drop support for included/excluded folders - #1106
  • Added information where are saved scan results - #1102

CLI

  • Providing full static rust binary with Eyra - #1102
  • Fixed duplicated -c argument, now saving as compact json is handled via -C - #1153
  • Added scan progress bar - #1183
  • Clean and safe cancelling of scan - #1183
  • Unification of CLI arguments - #1183
  • Hardlink support for similar images/videos - #1201

Krokiet GUI

  • Initial release of new gui - #1102

Core

  • Using normal crossbeam channels instead of asyncio tokio channel - #1102
  • Fixed tool type when using progress of empty directories - #1102
  • Fixed missing json support when saving size and name duplicate results - #1102
  • Fix cross-compiled debug windows build - #1102
  • Added bigger stack size by default(fixes stack overflow in some musl apps) - #1102
  • Added optional libraw dependency(better single-core performance and support more raw files) - #1102
  • Speedup checking for wildcards and fix invalid recognizing long excluded items - #1152
  • Big speedup when searching for empty folders(especially with multithreading + cached FS schema) - #1152
  • Collecting files for scan can be a lot of faster due lazy file metadata gathering - #1152
  • Fixed recognizing not accessible folders as non-empty - #1152
  • Unifying code for collecting files to scan - #1159
  • Decrease memory usage when collecting files by removing unused fields in custom file entries structs - #1159
  • Decrease a little size of cache by few percents and improve loading/saving speed - #1159
  • Added ability to remove from scan files with excluded extensions - #1184
  • Fixed not showing in similar images results, files with same hashes when using reference folders - #1184
  • Optimize release binaries with LTO(~25/50% smaller, ~5/10% faster) - #1184

Virustotal:

Legend:

  • libraw in name - app is compiled with libraw feature and require libraw package sudo apt install libraw on ubuntu
  • heif in name - require libheif-dev to be installed to be able to read use heif images
  • gui - gtk version of app
  • cli - command line version of app
  • krokiet - slint version of app
  • console - windows version, that shows console in background - usable to find problems
  • gtk_46, gtk_410 - gtk version used to build

6.1.0

15 Oct 08:24

Choose a tag to compare

Version 6.1.0 - 15.10.2023r

  • BREAKING CHANGE - Changed cache saving method, deduplicated, optimized and simplified procedure(all files needs to be hashed again) - #1072, #1086
  • Remove up to 340ms of delay when waiting for results - #1070
  • Added logger with useful info when debugging app (level can be adjusted via e.g. RUST_LOG=debug env) - #1072, #1070
  • Core code cleanup - #1072, #1070, #1082
  • Updated list of bad extensions and support for finding invalid jar files - #1070
  • More default excluded items on Windows(like pagefile) - #1074
  • Unified printing/saving method to files/terminal and fixed some differences/bugs - #1082
  • Uses fun_time library to print how much functions take time - #1082
  • Added exporting results into json file format - #1083
  • Added new test/regression suite for CI - #1083
  • Added ability to use relative paths - #1083
  • Allowed removing similar images/videos/music from cli - #1087
  • Added info about saving/loading items to cache in duplicate and music mode - #1091
  • Fixed number of files to check in duplicate mode - #1091
  • Added support for qoi image format(without preview yet) - e92a
  • Fixed stability problem, that could remove invalid file in CLI - #1083
  • Fix Windows gui crashes by using gtk 4.6 instead 4.8 or 4.10 - #992
  • Fixed printing info about duplicated music files - #1016
  • Fixed printing info about duplicated video files - #1017

Virustotal

6.0.0

11 Jun 07:23
7cb355a

Choose a tag to compare

Version 6.0.0 - 11.06.2023r

  • Add finding similar audio files by content - #970
  • Allow to find duplicates by name/size at once - #956
  • Fix, simplify and speed up finding similar images - #983
  • Fixed bug when cache for music tags not worked - #970
  • Allow to set number of threads from CLI - #972
  • Fix problem with invalid item sorting in bad extensions mode - #972
  • Big refactor/cleaning of code - #956/#970/#972
  • Use builtin gtk webp loader for previews - #923
  • Fixed docker build - #947
  • Restore snap builds broken since GTk 4 port - #965
  • Instruction how to build native ARM64 binaries on Mac - #945/#971

Virustotal:

5.1.0

19 Feb 12:29

Choose a tag to compare

Version 5.1.0 - 19.02.2023r

  • Added sort button - #894
  • Allow to set number of thread used to scan - #839
  • Faster similar images comparing with reference folders - #826
  • Update to clap 4 - #878
  • Use FileChooserNative instead FileChooserDialog - #894
  • Fix invalid music tags in music files when using reference folders - #894
  • Updated pdf dependency(a lot of less amount of broken pdf false positives) - #894
  • Changed strange PDF error message - "Try at" - #894
  • Treat extensions Mp4 and m4v as identical - #834
  • Improve thumbnail quality - #895
  • Verify if hardlinking works, and if not, disable button with proper message - #881
  • Apply some pedantic clippy lints on project - #901

Virustotal:

5.0.2

30 Aug 18:23

Choose a tag to compare

Version 5.0.2 - 30.08.2022r

  • Fixed problem with missing some similar images when using similarity > 0 - #799
  • Prebuilt Linux binaries are compiled without heif support - 24b
  • Similar videos stops to proceed video after certain amount of time(fixes freezes) - #815
  • Add --version argument for czkawka_cli - #806
  • Rewrite a little nonsense message about minimal file size - #807

Virustotal: