From 1153228f13d197fdbdeb6890d370d6e01ade1f86 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 24 May 2026 14:30:14 +0300 Subject: [PATCH] chore: tag v0.4.0-dev; bump dependencies Signed-off-by: NotAShelf Change-Id: Ic8de4ee50c15874ed695ed0812a55b866a6a6964 --- Cargo.lock | Bin 256995 -> 256995 bytes Cargo.toml | 251 ++++++++++++++++++++++++++--------------------------- 2 files changed, 124 insertions(+), 127 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fc842dc01ec17784deeae8e53558f2ae6f62f7ca..735750e0e456d7a24132e47c8bf573e721aaf199 100644 GIT binary patch delta 3681 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 diff --git a/Cargo.toml b/Cargo.toml index a52b16f..eef9a81 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,4 @@ [workspace] -members = ["crates/*", "packages/*", "xtask"] exclude = [ "crates/pinakes-core/tests/fixtures/test-plugin", "examples/plugins/auto-tagger", @@ -7,88 +6,61 @@ exclude = [ "examples/plugins/subtitle-detector", "examples/plugins/cbz-comics", ] +members = [ "crates/*", "packages/*", "xtask" ] resolver = "3" [workspace.package] -edition = "2024" # keep in sync with .rustfmt.toml -version = "0.3.0-dev" -license = "EUPL-1.2" -readme = true -rust-version = "1.95.0" # follows nightly Rust +edition = "2024" # keep in sync with .rustfmt.toml +license = "EUPL-1.2" +rust-version = "1.95.0" +version = "0.4.0-dev" +readme = true [workspace.dependencies] # Crate components for Pinakes. Those are the internal dependencies that are built # while building any package. -pinakes-core = { path = "./crates/pinakes-core" } -pinakes-plugin-api = { path = "./crates/pinakes-plugin-api" } -pinakes-migrations = { path = "./crates/pinakes-migrations" } -pinakes-types = { path = "./crates/pinakes-types" } -pinakes-metadata = { path = "./crates/pinakes-metadata" } -pinakes-plugin = { path = "./crates/pinakes-plugin" } +pinakes-core = { path = "./crates/pinakes-core" } pinakes-enrichment = { path = "./crates/pinakes-enrichment" } -pinakes-sync = { path = "./crates/pinakes-sync" } +pinakes-metadata = { path = "./crates/pinakes-metadata" } +pinakes-migrations = { path = "./crates/pinakes-migrations" } +pinakes-plugin = { path = "./crates/pinakes-plugin" } +pinakes-plugin-api = { path = "./crates/pinakes-plugin-api" } +pinakes-sync = { path = "./crates/pinakes-sync" } +pinakes-types = { path = "./crates/pinakes-types" } # Pinakes itself is a REST API server. UI and TUI are official visual components # that connect to the server. Using the API documentation, the user can write # their own clients, but we separate "crates" and "packages" to establish the # distinction properly. pinakes-server = { path = "./packages/pinakes-server" } -pinakes-ui = { path = "./packages/pinakes-ui" } -pinakes-tui = { path = "./packages/pinakes-tui" } +pinakes-tui = { path = "./packages/pinakes-tui" } +pinakes-ui = { path = "./packages/pinakes-ui" } # Other dependencies. Declaring them in the virtual manifests lets use reuse the crates # without having to track individual crate version across different types of crates. This # also includes *dev* dependencies. -tokio = { version = "1.52.3", features = ["full"] } -tokio-util = { version = "0.7.18", features = ["rt"] } -serde = { version = "1.0.228", features = ["derive"] } -serde_json = "1.0.149" -toml = "1.1.2" -clap = { version = "4.6.1", features = ["derive", "env"] } -chrono = { version = "0.4.44", features = ["serde"] } -uuid = { version = "1.23.1", features = ["v7", "serde"] } -thiserror = "2.0.18" +ammonia = "4.1.2" anyhow = "1.0.102" -tracing = "0.1.44" -tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } -blake3 = "1.8.5" -rustc-hash = "2.1.2" -ed25519-dalek = { version = "2.2.0", features = ["std"] } -lofty = "0.24.0" -lopdf = "0.40.0" -epub = "2.1.5" -matroska = "0.30.1" -gray_matter = "0.3.2" -kamadak-exif = "0.6.1" -rusqlite = { version = "0.39.0", features = ["bundled", "column_decltype"] } -tokio-postgres = { version = "0.7.17", features = [ - "with-uuid-1", - "with-chrono-0_4", - "with-serde_json-1", -] } -deadpool-postgres = "0.14.1" -postgres-types = { version = "0.2.13", features = ["derive"] } -postgres-native-tls = "0.5.3" -native-tls = "0.2.18" -refinery = { version = "0.9.1", features = ["tokio-postgres"] } -rusqlite_migration = "2.5.0" -walkdir = "2.5.0" -notify = { version = "8.2.0", features = ["macos_fsevent"] } -winnow = "1.0.3" -axum = { version = "0.8.9", features = ["macros", "multipart"] } -axum-server = { version = "0.8.0" } -tower = "0.5.3" -tower-http = { version = "0.6.11", features = ["cors", "trace", "set-header"] } -governor = "0.10.4" -tower_governor = "0.8.0" -reqwest = { version = "0.13.3", features = ["json", "query", "blocking"] } -url = "2.5" -ratatui = "0.30.0" -crossterm = "0.29.0" -dioxus = { version = "0.7.9", features = ["desktop", "router"] } -dioxus-core = { version = "0.7.9" } +argon2 = { version = "0.5.3", features = [ "std" ] } async-trait = "0.1.89" +axum = { version = "0.8.9", features = [ "macros", "multipart" ] } +axum-server = { version = "0.8.0" } +blake3 = "1.8.5" +chrono = { version = "0.4.44", features = [ "serde" ] } +clap = { version = "4.6.1", features = [ "derive", "env" ] } +crossterm = "0.29.0" +deadpool-postgres = "0.14.1" +dioxus = { version = "0.7.9", features = [ "desktop", "router" ] } +dioxus-core = { version = "0.7.9" } +dioxus-free-icons = { version = "0.10.0", features = [ "font-awesome-solid" ] } +ed25519-dalek = { version = "2.2.0", features = [ "std" ] } +epub = "2.1.5" futures = "0.3.32" +gloo-timers = { version = "0.4.0", features = [ "futures" ] } +governor = "0.10.4" +gray_matter = "0.3.2" +http = "1.4.0" +http-body-util = "0.1.3" image = { version = "0.25.10", default-features = false, features = [ "jpeg", "png", @@ -97,72 +69,97 @@ image = { version = "0.25.10", default-features = false, features = [ "tiff", "bmp", ] } -pulldown-cmark = "0.13.4" -ammonia = "4.1.2" -argon2 = { version = "0.5.3", features = ["std"] } -mime_guess = "2.0.5" -regex = "1.12.3" -dioxus-free-icons = { version = "0.10.0", features = ["font-awesome-solid"] } -rfd = "0.17.2" -gloo-timers = { version = "0.4.0", features = ["futures"] } -rand = "0.10.1" -moka = { version = "0.12.15", features = ["future"] } -urlencoding = "2.1.3" image_hasher = "3.1.1" +kamadak-exif = "0.6.1" +lofty = "0.24.0" +lopdf = "0.40.0" +matroska = "0.30.1" +mime_guess = "2.0.5" +moka = { version = "0.12.15", features = [ "future" ] } +native-tls = "0.2.18" +notify = { version = "8.2.0", features = [ "macos_fsevent" ] } percent-encoding = "2.3.2" -http = "1.4.0" -wasmtime = { version = "44.0.1", features = ["component-model"] } -wit-bindgen = "0.57.1" +postgres-native-tls = "0.5.3" +postgres-types = { version = "0.2.13", features = [ "derive" ] } +pulldown-cmark = "0.13.4" +rand = "0.10.1" +ratatui = "0.30.0" +refinery = { version = "0.9.1", features = [ "tokio-postgres" ] } +regex = "1.12.3" +reqwest = { version = "0.13.3", features = [ "json", "query", "blocking" ] } +rfd = "0.17.2" +rusqlite = { version = "0.39.0", features = [ "bundled", "column_decltype" ] } +rusqlite_migration = "2.5.0" +rustc-hash = "2.1.2" +serde = { version = "1.0.228", features = [ "derive" ] } +serde_json = "1.0.150" tempfile = "3.27.0" -utoipa = { version = "5.5.0", features = ["axum_extras", "uuid", "chrono"] } +thiserror = "2.0.18" +tokio = { version = "1.52.3", features = [ "full" ] } +tokio-postgres = { version = "0.7.17", features = [ "with-uuid-1", "with-chrono-0_4", "with-serde_json-1" ] } +tokio-util = { version = "0.7.18", features = [ "rt" ] } +toml = "1.1.2" +tower = "0.5.3" +tower-http = { version = "0.6.11", features = [ "cors", "trace", "set-header" ] } +tower_governor = "0.8.0" +tracing = "0.1.44" +tracing-subscriber = { version = "0.3.23", features = [ "env-filter", "json" ] } +url = "2.5" +urlencoding = "2.1.3" +utoipa = { version = "5.5.0", features = [ "axum_extras", "uuid", "chrono" ] } utoipa-axum = { version = "0.2.0" } -utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } -http-body-util = "0.1.3" +utoipa-swagger-ui = { version = "9.0.2", features = [ "axum" ] } +uuid = { version = "1.23.1", features = [ "v7", "serde" ] } +walkdir = "2.5.0" +wasmtime = { version = "45.0.0", features = [ "component-model" ] } +winnow = "1.0.3" +wit-bindgen = "0.57.1" # See: # [workspace.lints.clippy] -cargo = { level = "warn", priority = -1 } +cargo = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } -nursery = { level = "warn", priority = -1 } -pedantic = { level = "warn", priority = -1 } -perf = { level = "warn", priority = -1 } -style = { level = "warn", priority = -1 } +nursery = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +perf = { level = "warn", priority = -1 } +style = { level = "warn", priority = -1 } # The lint groups above enable some less-than-desirable rules, we should manually # enable those to keep our sanity. -absolute_paths = "allow" -arbitrary_source_item_ordering = "allow" -clone_on_ref_ptr = "warn" -dbg_macro = "warn" -empty_drop = "warn" -empty_structs_with_brackets = "warn" -exit = "warn" -filetype_is_file = "warn" -get_unwrap = "warn" -implicit_return = "allow" -infinite_loop = "warn" +absolute_paths = "allow" +arbitrary_source_item_ordering = "allow" +clone_on_ref_ptr = "warn" +dbg_macro = "warn" +empty_drop = "warn" +empty_structs_with_brackets = "warn" +exit = "warn" +filetype_is_file = "warn" +get_unwrap = "warn" +implicit_return = "allow" +infinite_loop = "warn" map_with_unused_argument_over_ranges = "warn" -missing_docs_in_private_items = "allow" -multiple_crate_versions = "allow" # :( -non_ascii_literal = "allow" -non_std_lazy_statics = "warn" -pathbuf_init_then_push = "warn" -pattern_type_mismatch = "allow" -question_mark_used = "allow" -rc_buffer = "warn" -rc_mutex = "warn" -rest_pat_in_fully_bound_structs = "warn" -similar_names = "allow" -single_call_fn = "allow" -std_instead_of_core = "allow" -too_long_first_doc_paragraph = "allow" -too_many_lines = "allow" -undocumented_unsafe_blocks = "warn" -unnecessary_safety_comment = "warn" -unused_result_ok = "warn" -unused_trait_names = "allow" -too_many_arguments = "allow" +missing_docs_in_private_items = "allow" +multiple_crate_versions = "allow" # :( +non_ascii_literal = "allow" +non_std_lazy_statics = "warn" +pathbuf_init_then_push = "warn" +pattern_type_mismatch = "allow" +question_mark_used = "allow" +rc_buffer = "warn" +rc_mutex = "warn" +rest_pat_in_fully_bound_structs = "warn" +significant_drop_tightening = "allow" # rusqlite Statement<'conn> borrows the guard; cannot drop early +similar_names = "allow" +single_call_fn = "allow" +std_instead_of_core = "allow" +too_long_first_doc_paragraph = "allow" +too_many_arguments = "allow" +too_many_lines = "allow" +undocumented_unsafe_blocks = "warn" +unnecessary_safety_comment = "warn" +unused_result_ok = "warn" +unused_trait_names = "allow" # False positive: # clippy's build script check doesn't recognize workspace-inherited metadata @@ -170,23 +167,23 @@ too_many_arguments = "allow" cargo_common_metadata = "allow" # In the honor of a recent Cloudflare regression -panic = "deny" +panic = "deny" unwrap_used = "deny" # Less dangerous, but we'd like to know # Those must be opt-in, and are fine ONLY in tests and examples. -expect_used = "warn" -print_stderr = "warn" -print_stdout = "warn" -todo = "warn" +expect_used = "warn" +print_stderr = "warn" +print_stdout = "warn" +todo = "warn" unimplemented = "warn" -unreachable = "warn" +unreachable = "warn" [profile.dev.package] -blake3 = { opt-level = 3 } -image = { opt-level = 3 } -regex = { opt-level = 3 } -argon2 = { opt-level = 3 } +argon2 = { opt-level = 3 } +blake3 = { opt-level = 3 } +image = { opt-level = 3 } +lofty = { opt-level = 3 } +lopdf = { opt-level = 3 } matroska = { opt-level = 3 } -lopdf = { opt-level = 3 } -lofty = { opt-level = 3 } +regex = { opt-level = 3 }