Skip to content

Commit 5dc8d38

Browse files
authored
9.0 version (#1473)
1 parent 60dae5a commit 5dc8d38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1602
-820
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,12 @@ Very helpful in this situation will be logs from czkawka run with RUST_LOG envir
3131
```
3232

3333
**System**
34+
<!-- OS and Czkawka/Krokiet version, you can just copy from logs, if you run app from terminal. -->
35+
<!-- Example of logs: -->
36+
<!-- Czkawka gtk version: 9.0.0, debug mode, rust 1.85.0 (2025-02-17), os Ubuntu 24.10.0 [x86_64 64-bit], 24 cpu/threads, features(1): [fast_image_resize], app cpu version: [x86-64-v3 (AVX2) or x86-64-v4 (AVX-512)], os cpu version: [x86-64-v4 (AVX-512)] !-->
3437

35-
- Czkawka/Krokiet version: <!-- e.g. 8.0.0 cli/gui -->
38+
39+
- Czkawka/Krokiet version: <!-- e.g. 9.0.0 cli/gui -->
3640
- OS version: <!-- e.g Ubuntu 22.04, Windows 11, Mac 15.1 ARM -->
3741
- Installation method: <!-- e.g. github binaries, snap, flatpak, msys2 -->
3842

Cargo.lock

+39-28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Changelog.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
## Version 9.0.0 - ?
1+
## Version 9.0.0 - 16.03.2025r
22

33
## Breaking changes
44

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

77
### Core
88
- Automatically rotating all images based on their EXIF orientation - [#1368](https://github.com/qarmin/czkawka/pull/1368)
@@ -21,7 +21,7 @@
2121
- Added support for configuring config/cache paths using the `CZKAWKA_CONFIG_PATH` and `CZKAWKA_CACHE_PATH` environment variables - [#1464](https://github.com/qarmin/czkawka/pull/1464)
2222
- Fixed a crash in debug mode when checking broken files named `.mp3` - [#1464](https://github.com/qarmin/czkawka/pull/1464)
2323
- Catching panics from symphonia crashes in broken files mode - [#1466](https://github.com/qarmin/czkawka/pull/1466)
24-
- Printing a warning, when using `panic=abort`(this may cause ocassional crashes) - [#1466](https://github.com/qarmin/czkawka/pull/1466)
24+
- Printing a warning, when using `panic=abort`(that may speedup app and cause occasional crashes) - [#1466](https://github.com/qarmin/czkawka/pull/1466)
2525

2626
### Krokiet
2727
- Changed the default tab to "Duplicate Files" - [#1368](https://github.com/qarmin/czkawka/pull/1368)
@@ -38,8 +38,10 @@
3838
### Prebuild-binaries
3939
- This release is last version, that supports Ubuntu 20.04 - github actions drops this OS in its runners
4040
- Linux and Mac binaries now are provided with two options x86_64 and arm64
41+
- Arm linux builds needs at least Ubuntu 24.04
4142
- Gtk 4.12 is used to build windows gtk gui instead gtk 4.10
4243
- Dropping support for snap builds - too much time-consuming to maintain and testing(also it is broken currently)
44+
- Removed native windows build krokiet version - now it is available only cross-compiled version from linux(should not be any difference)
4345

4446
## Version 8.0.0 - 11.10.2024r
4547

@@ -55,7 +57,7 @@
5557
### CI
5658

5759
- Providing nightly builds - [#1360](https://github.com/qarmin/czkawka/pull/1360) - https://github.com/qarmin/czkawka/releases/tag/Nightly
58-
- Added finding duplicated options in CLI -[#1364](https://github.com/qarmin/czkawka/pull/1364)
60+
- Added finding duplicated options in CLI - [#1364](https://github.com/qarmin/czkawka/pull/1364)
5961

6062
### Core
6163

@@ -86,7 +88,7 @@
8688
- Avoid errors when trying to load preview of not supported file - [#1359](https://github.com/qarmin/czkawka/pull/1359)
8789
- Added ability to show preview of referenced folders - [#1359](https://github.com/qarmin/czkawka/pull/1359)
8890
- Enable selecting with space and jumping over entries with arrows and opening with enter - [#1359](https://github.com/qarmin/czkawka/pull/1359)
89-
- Added button to rename files with invalid extension -[#1364](https://github.com/qarmin/czkawka/pull/1364)
91+
- Added button to rename files with invalid extension - [#1364](https://github.com/qarmin/czkawka/pull/1364)
9092

9193
### GTK GUI
9294

@@ -102,7 +104,7 @@
102104
- Fixed and added more input parameters to the application - [#1354](https://github.com/qarmin/czkawka/pull/1354)
103105
- Fixed crash when stopping scan multiple times - [#1355](https://github.com/qarmin/czkawka/pull/1355)
104106
- Print results also in debug build - [#1355](https://github.com/qarmin/czkawka/pull/1355)
105-
- Added support for selecting reference directories -[#1364](https://github.com/qarmin/czkawka/pull/1364)
107+
- Added support for selecting reference directories - [#1364](https://github.com/qarmin/czkawka/pull/1364)
106108

107109
## Version 7.0.0 - 19.02.2024r
108110

@@ -138,7 +140,7 @@
138140
- Added bigger stack size by default(fixes stack overflow in some musl apps) - [#1102](https://github.com/qarmin/czkawka/pull/1102)
139141
- Added optional libraw dependency(better single-core performance and support more raw files) - [#1102](https://github.com/qarmin/czkawka/pull/1102)
140142
- Speedup checking for wildcards and fix invalid recognizing long excluded items - [#1152](https://github.com/qarmin/czkawka/pull/1152)
141-
- Big speedup when searching for empty folders(especially with multithreading + cached FS schema) - [#1152](https://github.com/qarmin/czkawka/pull/1152)
143+
- Big speedup when searching for empty folders(especially with multithreading + cached FS schema) - [#1152](https://github.com/qarmin/czkawka/pull/1152)
142144
- Collecting files for scan can be a lot of faster due lazy file metadata gathering - [#1152](https://github.com/qarmin/czkawka/pull/1152)
143145
- Fixed recognizing not accessible folders as non-empty - [#1152](https://github.com/qarmin/czkawka/pull/1152)
144146
- Unifying code for collecting files to scan - [#1159](https://github.com/qarmin/czkawka/pull/1159)
@@ -203,7 +205,7 @@
203205

204206
- Fixed problem with missing some similar images when using similarity > 0 - [#799](https://github.com/qarmin/czkawka/pull/799)
205207
- Prebuilt Linux binaries are compiled without heif support - [24b](https://github.com/qarmin/czkawka/commit/24b64a32c65904c506b54270f0977ccbe5098cc8)
206-
- Similar videos stops to proceed video after certain amount of time(fixes freezes) - [#815](https://github.com/qarmin/czkawka/pull/815)
208+
- Similar videos stops to proceed video after certain amount of time(fixes freezes) - [#815](https://github.com/qarmin/czkawka/pull/815)
207209
- Add --version argument for czkawka_cli - [#806](https://github.com/qarmin/czkawka/pull/806)
208210
- Rewrite a little nonsense message about minimal file size - [#807](https://github.com/qarmin/czkawka/pull/807)
209211

@@ -281,7 +283,7 @@
281283
- Add support for raw images(NEF, CR2, KDC...) - [#532](https://github.com/qarmin/czkawka/pull/532)
282284
- Image compare performance and usability improvements - [#529](https://github.com/qarmin/czkawka/pull/529), [#528](https://github.com/qarmin/czkawka/pull/528), [#530](https://github.com/qarmin/czkawka/pull/530), [#525](https://github.com/qarmin/czkawka/pull/525)
283285
- Reorganize(unify) saving/loading data from file - [#524](https://github.com/qarmin/czkawka/pull/524)
284-
- Add "reference folders" - [#516](https://github.com/qarmin/czkawka/pull/516)
286+
- Add "reference folders" - [#516](https://github.com/qarmin/czkawka/pull/516)
285287
- Add cache for similar music files - [#558](https://github.com/qarmin/czkawka/pull/558)
286288

287289
## Version 3.3.1 - 22.11.2021r

czkawka_cli/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "czkawka_cli"
3-
version = "8.0.0"
3+
version = "9.0.0"
44
authors = ["Rafał Mikrut <[email protected]>"]
55
edition = "2024"
66
rust-version = "1.85.0"
@@ -16,7 +16,7 @@ clap = { version = "4.5", features = ["derive"] }
1616
image_hasher = "3.0"
1717

1818
log = "0.4.22"
19-
czkawka_core = { path = "../czkawka_core", version = "8.0.0", features = [] }
19+
czkawka_core = { path = "../czkawka_core", version = "9.0.0", features = [] }
2020
indicatif = "0.17"
2121
crossbeam-channel = { version = "0.5", features = [] }
2222
ctrlc = { version = "3.4", features = ["termination"] }

czkawka_cli/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn main() {
4040
let command = Args::parse().command;
4141

4242
setup_logger(true);
43-
print_version_mode();
43+
print_version_mode("Czkawka cli");
4444
set_config_cache_path("Czkawka", "Czkawka");
4545

4646
if cfg!(debug_assertions) {

czkawka_core/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "czkawka_core"
3-
version = "8.0.0"
3+
version = "9.0.0"
44
authors = ["Rafał Mikrut <[email protected]>"]
55
edition = "2024"
66
rust-version = "1.85.0"
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Core
2+
core_similarity_original = 原始
3+
core_similarity_very_high = 極高
4+
core_similarity_high =
5+
core_similarity_medium = 中等
6+
core_similarity_small =
7+
core_similarity_very_small = 非常小
8+
core_similarity_minimal = 最小
9+
core_cannot_open_dir = 無法開啟目錄 { $dir },原因是 { $reason }
10+
core_cannot_read_entry_dir = 無法讀取目錄 { $dir } 中的項目,原因是 { $reason }
11+
core_cannot_read_metadata_dir = 無法讀取目錄 { $dir } 的中繼資料,原因是 { $reason }
12+
core_file_not_utf8_name = 檔案 { $name } 名稱非有效的 UTF-8 格式(部分字元可能無法顯示)
13+
core_file_modified_before_epoch = 檔案 { $name } 似乎在 Unix Epoch 之前就已被修改
14+
core_folder_modified_before_epoch = 資料夾 { $name } 似乎在 Unix Epoch 之前就已被修改
15+
core_file_no_modification_date = 無法取得檔案 { $name } 的修改日期,原因是 { $reason }
16+
core_folder_no_modification_date = 無法取得資料夾 { $name } 的修改日期,原因是 { $reason }
17+
core_missing_no_chosen_included_directory = 必須至少選擇一個目錄
18+
core_directory_wildcard_no_supported = 目錄:不支援路徑中的萬用字元,已忽略 { $path }
19+
core_directory_must_exists = 目錄:所提供的資料夾路徑必須存在,已忽略 { $path }
20+
core_directory_must_be_directory = 目錄:所提供的路徑必須為目錄,已忽略 { $path }
21+
core_included_directory_zero_valid_directories = 包含目錄錯誤:未找到任何有效的包含路徑
22+
core_excluded_directory_pointless_slash = 目錄:排除 / 是無意義的,因為這意味著不會有任何檔案被掃描
23+
core_directory_overlap = 目錄:所有搜尋目錄與排除目錄均有重疊
24+
core_directory_unable_to_get_device_id = 目錄:無法從資料夾 { $path } 取得裝置 ID
25+
core_ffmpeg_not_found = 找不到已正確安裝的 FFmpeg
26+
core_ffmpeg_not_found_windows = 請確保 ffmpeg.exe 和 ffprobe.exe 在 PATH 中可用,或者直接將它們放在與可執行應用程式的同一個資料夾中
27+
core_ffmpeg_missing_in_snap = 快照中目前無法使用相似影片功能,如需協助,請參考 { $url }
28+
core_saving_to_cache = 已將 { $number } 個項目儲存至快取
29+
core_loading_from_cache = 已從快取載入 { $number } 個項目

czkawka_core/src/common.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,15 @@ pub fn get_all_available_threads() -> usize {
171171
}
172172

173173
#[allow(clippy::vec_init_then_push)]
174-
pub fn print_version_mode() {
174+
#[allow(unused_mut)]
175+
pub fn print_version_mode(app: &str) {
175176
let rust_version = env!("RUST_VERSION_INTERNAL");
176177
let debug_release = if cfg!(debug_assertions) { "debug" } else { "release" };
177178

178179
let processors = get_all_available_threads();
179180

180181
let info = os_info::get();
181182

182-
#[allow(unused_mut)]
183183
let mut features: Vec<&str> = vec![];
184184
#[cfg(feature = "heif")]
185185
features.push("heif");
@@ -190,7 +190,6 @@ pub fn print_version_mode() {
190190
#[cfg(feature = "fast_image_resize")]
191191
features.push("fast_image_resize");
192192

193-
#[allow(unused_mut)]
194193
let mut app_cpu_version = "Baseline";
195194
let mut os_cpu_version = "Baseline";
196195
if cfg!(target_feature = "sse2") {
@@ -231,7 +230,7 @@ pub fn print_version_mode() {
231230
// TODO - probably needs to add arm and other architectures, need help, because I don't have access to them
232231

233232
info!(
234-
"App version: {CZKAWKA_VERSION}, {debug_release} mode, rust {rust_version}, os {} {} [{} {}], {processors} cpu/threads, features({}): [{}], app cpu version: [{}], os cpu version: [{}]",
233+
"{app} version: {CZKAWKA_VERSION}, {debug_release} mode, rust {rust_version}, os {} {} [{} {}], {processors} cpu/threads, features({}): [{}], app cpu version: [{}], os cpu version: [{}]",
235234
info.os_type(),
236235
info.version(),
237236
std::env::consts::ARCH,

czkawka_core/src/tools/duplicate.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use crate::common_tool::{CommonData, CommonToolData, DeleteMethod};
2828
use crate::common_traits::*;
2929
use crate::progress_data::{CurrentStage, ProgressData};
3030

31-
pub const PREHASHING_BUFFER_SIZE: u64 = 1024 * 8;
31+
pub const PREHASHING_BUFFER_SIZE: u64 = 4 * 1024;
3232
pub const THREAD_BUFFER_SIZE: usize = 2 * 1024 * 1024;
3333

3434
thread_local! {

0 commit comments

Comments
 (0)