From a643898ea0ca28045280afcf8ce4b1d5a870600a Mon Sep 17 00:00:00 2001 From: rhigman <73792779+rhigman@users.noreply.github.com> Date: Mon, 13 Jan 2025 12:00:45 +0000 Subject: [PATCH 01/13] Fix new Clippy lint under rustc 1.84.0: remove unnecessary map_or() --- thoth-api/src/graphql/model.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thoth-api/src/graphql/model.rs b/thoth-api/src/graphql/model.rs index 339ff4e1c..b79a1f119 100644 --- a/thoth-api/src/graphql/model.rs +++ b/thoth-api/src/graphql/model.rs @@ -1985,7 +1985,7 @@ impl MutationRoot { Some(vec![LocationPlatform::Thoth]), )? .first() - .map_or(false, |location| location.canonical); + .is_some_and(|location| location.canonical); // Only superusers can update the canonical location when a Thoth Location Platform canonical location already exists if has_canonical_thoth_location && data.canonical && !context.account_access.is_superuser { return Err(ThothError::ThothUpdateCanonicalError.into()); From 030406f182b7bd9e0e4aaa31d68e3ba5aa50b93c Mon Sep 17 00:00:00 2001 From: rhigman <73792779+rhigman@users.noreply.github.com> Date: Mon, 13 Jan 2025 12:04:08 +0000 Subject: [PATCH 02/13] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79af24cc7..773fdfb14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + - [665](https://github.com/thoth-pub/thoth/pull/665) - Removed unnecessary map_or() to comply with [`rustc 1.84.0`](https://github.com/rust-lang/rust/releases/tag/1.84.0) ## [[0.13.4]](https://github.com/thoth-pub/thoth/releases/tag/v0.13.4) - 2024-12-11 From 4c40edd79a2bcbceb10b10db7d0edd5647b72ca6 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:32:42 +0000 Subject: [PATCH 03/13] Upgrade rust 1.84.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f78b75152..43d236068 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG MUSL_IMAGE=clux/muslrust:1.83.0-stable +ARG MUSL_IMAGE=clux/muslrust:1.84.0-stable FROM ${MUSL_IMAGE} as build From 97c5aac40c6e2a7d993eea129ffb1bc8bf2fdf6b Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:37:13 +0000 Subject: [PATCH 04/13] Update changelog --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 773fdfb14..558866835 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] - - [665](https://github.com/thoth-pub/thoth/pull/665) - Removed unnecessary map_or() to comply with [`rustc 1.84.0`](https://github.com/rust-lang/rust/releases/tag/1.84.0) +### Changed + - [665](https://github.com/thoth-pub/thoth/pull/665) - Removed unnecessary `map_or()` to comply with [`rustc 1.84.0`](https://github.com/rust-lang/rust/releases/tag/1.84.0) + - Upgrade rust to `1.84.0` in production `Dockerfile` +### Added + - CLI subcommand `thoth cache delete` to delete cached metadata records by specification ID ## [[0.13.4]](https://github.com/thoth-pub/thoth/releases/tag/v0.13.4) - 2024-12-11 ### Added From b832dd914257ac488ade819530b000fc742ab83e Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:37:34 +0000 Subject: [PATCH 05/13] Add tokio --- Cargo.lock | 13 +++++++------ Cargo.toml | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 95e3e3ecc..4b93031be 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2133,9 +2133,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.166" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "linux-raw-sys" @@ -3469,6 +3469,7 @@ dependencies = [ "thoth-app-server", "thoth-errors", "thoth-export-server", + "tokio", ] [[package]] @@ -3661,9 +3662,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.41.1" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "bytes", @@ -3679,9 +3680,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index a7c2cb5b8..a7a2578b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,3 +23,4 @@ thoth-export-server = { version = "=0.13.4", path = "thoth-export-server" } clap = { version = "4.5.21", features = ["cargo", "env"] } dialoguer = { version = "0.11.0", features = ["password"] } dotenv = "0.15.0" +tokio = { version = "1.43.0", features = ["rt", "rt-multi-thread", "macros"] } From 365c75d2b62e252883457dfe0796f7efce90ae7b Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:37:55 +0000 Subject: [PATCH 06/13] Expose all specifications --- thoth-export-server/src/data.rs | 2 +- thoth-export-server/src/lib.rs | 1 + thoth-export-server/src/specification/model.rs | 8 +++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/thoth-export-server/src/data.rs b/thoth-export-server/src/data.rs index da2f232c3..ef832d9b3 100644 --- a/thoth-export-server/src/data.rs +++ b/thoth-export-server/src/data.rs @@ -6,7 +6,7 @@ use crate::platform::model::Platform; use crate::specification::model::Specification; lazy_static! { - pub(crate) static ref ALL_SPECIFICATIONS: Vec> = vec![ + pub static ref ALL_SPECIFICATIONS: Vec> = vec![ Specification { id: "onix_3.0::thoth", name: "Thoth ONIX 3.0", diff --git a/thoth-export-server/src/lib.rs b/thoth-export-server/src/lib.rs index 2778a7c98..6b90c3241 100644 --- a/thoth-export-server/src/lib.rs +++ b/thoth-export-server/src/lib.rs @@ -3,6 +3,7 @@ use std::time::Duration; use actix_cors::Cors; use actix_web::{middleware::Logger, web::Data, App, HttpServer}; +pub use data::ALL_SPECIFICATIONS; use paperclip::actix::{web, web::HttpResponse, OpenApiExt}; use paperclip::v2::models::{Contact, DefaultApiRaw, Info, License, OperationProtocol, Tag}; use thoth_api::redis::init_pool; diff --git a/thoth-export-server/src/specification/model.rs b/thoth-export-server/src/specification/model.rs index eed8c07c3..2603d358f 100644 --- a/thoth-export-server/src/specification/model.rs +++ b/thoth-export-server/src/specification/model.rs @@ -3,9 +3,15 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Serialize, Deserialize, Apiv2Schema)] #[serde(rename_all = "camelCase")] -pub(crate) struct Specification<'a> { +pub struct Specification<'a> { pub(crate) id: &'a str, pub(crate) name: &'a str, pub(crate) format: &'a str, pub(crate) accepted_by: Vec<&'a str>, } + +impl std::fmt::Display for Specification<'_> { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "{}", self.id) + } +} From fb1743b9ac14a2596c460b541af4346195086082 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:38:11 +0000 Subject: [PATCH 07/13] Add scan_match api --- thoth-api/src/redis.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/thoth-api/src/redis.rs b/thoth-api/src/redis.rs index 4ad2fbb61..04ea75d81 100644 --- a/thoth-api/src/redis.rs +++ b/thoth-api/src/redis.rs @@ -1,4 +1,5 @@ use deadpool_redis::{redis::AsyncCommands, Config, Connection, Pool}; +use futures::StreamExt; use thoth_errors::ThothResult; pub type RedisPool = Pool; @@ -31,6 +32,12 @@ pub async fn del(pool: &RedisPool, key: &str) -> ThothResult { con.del(key).await.map_err(Into::into) } +pub async fn scan_match(pool: &RedisPool, pattern: &str) -> ThothResult> { + let mut con = create_connection(pool).await?; + let keys: Vec = con.scan_match(pattern).await?.collect().await; + Ok(keys) +} + #[cfg(test)] mod tests { use super::*; @@ -73,4 +80,31 @@ mod tests { let get_result = get(&pool, test_key).await; assert!(get_result.is_err()); } + + #[tokio::test] + async fn test_del() { + let pool = get_pool().await; + let test_key = "test_key_to_delete"; + let test_value = "test_value"; + set(&pool, test_key, test_value).await.unwrap(); + + let del_result = del(&pool, test_key).await; + assert!(del_result.is_ok()); + let get_result = get(&pool, test_key).await; + assert!(get_result.is_err()); + } + + #[tokio::test] + async fn test_scan_match() { + let pool = get_pool().await; + set(&pool, "onix_3.0::key1", "value1").await.unwrap(); + set(&pool, "onix_3.0::key2", "value2").await.unwrap(); + set(&pool, "onix_3.0::key3", "value3").await.unwrap(); + + let keys = scan_match(&pool, "onix_3.0::*").await.unwrap(); + assert_eq!(keys.len(), 3); + assert!(keys.contains(&"onix_3.0::key1".to_string())); + assert!(keys.contains(&"onix_3.0::key2".to_string())); + assert!(keys.contains(&"onix_3.0::key3".to_string())); + } } From 2b6e6b8e3f0c1a9b568dc3268014a9367b0f85e0 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:38:25 +0000 Subject: [PATCH 08/13] Add cache delete subcommand --- src/bin/thoth.rs | 49 +++++++++++++++++++++++++++++++++++++++--------- src/lib.rs | 2 +- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/bin/thoth.rs b/src/bin/thoth.rs index c89731b8a..93da788c2 100644 --- a/src/bin/thoth.rs +++ b/src/bin/thoth.rs @@ -2,12 +2,15 @@ use clap::{crate_authors, crate_version, value_parser, Arg, ArgAction, Command}; use dialoguer::{console::Term, theme::ColorfulTheme, Input, MultiSelect, Password, Select}; use dotenv::dotenv; use std::env; -use thoth::api::account::model::{AccountData, LinkedPublisher}; -use thoth::api::account::service::{all_emails, all_publishers, register, update_password}; -use thoth::api::db::{init_pool, revert_migrations, run_migrations}; -use thoth::api_server; -use thoth::app_server; -use thoth::export_server; +use thoth::api::{ + account::{ + model::{AccountData, LinkedPublisher}, + service::{all_emails, all_publishers, register, update_password}, + }, + db::{init_pool as init_pg_pool, revert_migrations, run_migrations}, + redis::{del, init_pool as init_redis_pool, scan_match}, +}; +use thoth::{api_server, app_server, export_server, ALL_SPECIFICATIONS}; use thoth_errors::ThothResult; fn database_argument() -> Arg { @@ -220,9 +223,18 @@ fn thoth_commands() -> Command { .subcommand(Command::new("register").about("Create a new user account")) .subcommand(Command::new("password").about("Reset a password")), ) + .subcommand( + Command::new("cache") + .about("Manage cached specifications") + .arg(redis_argument()) + .subcommand_required(true) + .arg_required_else_help(true) + .subcommand(Command::new("delete").about("Delete cached specifications")), + ) } -fn main() -> ThothResult<()> { +#[tokio::main] +async fn main() -> ThothResult<()> { // load environment variables from `.env` dotenv().ok(); @@ -326,7 +338,7 @@ fn main() -> ThothResult<()> { let database_url = account_matches.get_one::("db").unwrap(); match account_matches.subcommand() { Some(("register", _)) => { - let pool = init_pool(database_url); + let pool = init_pg_pool(database_url); let name = Input::new() .with_prompt("Enter given name") @@ -383,7 +395,7 @@ fn main() -> ThothResult<()> { register(account_data, linked_publishers, &pool).map(|_| ()) } Some(("password", _)) => { - let pool = init_pool(database_url); + let pool = init_pg_pool(database_url); let all_emails = all_emails(&pool).expect("No user accounts present in database."); let email_selection = Select::with_theme(&ColorfulTheme::default()) @@ -402,6 +414,25 @@ fn main() -> ThothResult<()> { _ => unreachable!(), } } + Some(("cache", cache_matches)) => match cache_matches.subcommand() { + Some(("delete", _)) => { + let redis_url = cache_matches.get_one::("redis").unwrap(); + let pool = init_redis_pool(redis_url); + let chosen: Vec = MultiSelect::new() + .items(&ALL_SPECIFICATIONS) + .with_prompt("Select cached specifications to delete") + .interact_on(&Term::stdout())?; + for index in chosen { + let specification = ALL_SPECIFICATIONS.get(index).unwrap(); + let keys = scan_match(&pool, &format!("{}*", specification)).await?; + for key in keys { + del(&pool, &key).await?; + } + } + Ok(()) + } + _ => unreachable!(), + }, _ => unreachable!(), } } diff --git a/src/lib.rs b/src/lib.rs index 0db852fe4..c5b145034 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ pub use thoth_api as api; pub use thoth_api_server::start_server as api_server; pub use thoth_app_server::start_server as app_server; -pub use thoth_export_server::start_server as export_server; +pub use thoth_export_server::{start_server as export_server, ALL_SPECIFICATIONS}; From 6ad70645dd384c7599ca02aa5f2f79e908e93c82 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:39:26 +0000 Subject: [PATCH 09/13] Update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 558866835..3f224c830 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed - [665](https://github.com/thoth-pub/thoth/pull/665) - Removed unnecessary `map_or()` to comply with [`rustc 1.84.0`](https://github.com/rust-lang/rust/releases/tag/1.84.0) - - Upgrade rust to `1.84.0` in production `Dockerfile` + - [666](https://github.com/thoth-pub/thoth/pull/666) - Upgrade rust to `1.84.0` in production `Dockerfile` ### Added - - CLI subcommand `thoth cache delete` to delete cached metadata records by specification ID + - [666](https://github.com/thoth-pub/thoth/pull/666) - CLI subcommand `thoth cache delete` to delete cached metadata records by specification ID ## [[0.13.4]](https://github.com/thoth-pub/thoth/releases/tag/v0.13.4) - 2024-12-11 ### Added From ba53252ef9f30a374fd1ac5d84273d4139bd04d7 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 12:40:47 +0000 Subject: [PATCH 10/13] Update help message --- src/bin/thoth.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/thoth.rs b/src/bin/thoth.rs index 93da788c2..763322d6d 100644 --- a/src/bin/thoth.rs +++ b/src/bin/thoth.rs @@ -225,11 +225,11 @@ fn thoth_commands() -> Command { ) .subcommand( Command::new("cache") - .about("Manage cached specifications") + .about("Manage cached records") .arg(redis_argument()) .subcommand_required(true) .arg_required_else_help(true) - .subcommand(Command::new("delete").about("Delete cached specifications")), + .subcommand(Command::new("delete").about("Delete cached records")), ) } From 3f452b726c3648a180dd2d865d0bcd30632eef62 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Thu, 16 Jan 2025 14:25:19 +0000 Subject: [PATCH 11/13] Use tokio runtime only for cache subcommand --- src/bin/thoth.rs | 43 ++++++++++++++++++++++++++----------------- src/lib.rs | 1 + 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/bin/thoth.rs b/src/bin/thoth.rs index 763322d6d..78b560d58 100644 --- a/src/bin/thoth.rs +++ b/src/bin/thoth.rs @@ -2,16 +2,19 @@ use clap::{crate_authors, crate_version, value_parser, Arg, ArgAction, Command}; use dialoguer::{console::Term, theme::ColorfulTheme, Input, MultiSelect, Password, Select}; use dotenv::dotenv; use std::env; -use thoth::api::{ - account::{ - model::{AccountData, LinkedPublisher}, - service::{all_emails, all_publishers, register, update_password}, +use thoth::{ + api::{ + account::{ + model::{AccountData, LinkedPublisher}, + service::{all_emails, all_publishers, register, update_password}, + }, + db::{init_pool as init_pg_pool, revert_migrations, run_migrations}, + redis::{del, init_pool as init_redis_pool, scan_match}, }, - db::{init_pool as init_pg_pool, revert_migrations, run_migrations}, - redis::{del, init_pool as init_redis_pool, scan_match}, + api_server, app_server, + errors::{ThothError, ThothResult}, + export_server, ALL_SPECIFICATIONS, }; -use thoth::{api_server, app_server, export_server, ALL_SPECIFICATIONS}; -use thoth_errors::ThothResult; fn database_argument() -> Arg { Arg::new("db") @@ -233,8 +236,7 @@ fn thoth_commands() -> Command { ) } -#[tokio::main] -async fn main() -> ThothResult<()> { +fn main() -> ThothResult<()> { // load environment variables from `.env` dotenv().ok(); @@ -422,14 +424,21 @@ async fn main() -> ThothResult<()> { .items(&ALL_SPECIFICATIONS) .with_prompt("Select cached specifications to delete") .interact_on(&Term::stdout())?; - for index in chosen { - let specification = ALL_SPECIFICATIONS.get(index).unwrap(); - let keys = scan_match(&pool, &format!("{}*", specification)).await?; - for key in keys { - del(&pool, &key).await?; + // run a separate tokio runtime to avoid interfering with actix's threads + let runtime = tokio::runtime::Builder::new_multi_thread() + .worker_threads(1) + .enable_all() + .build()?; + runtime.block_on(async { + for index in chosen { + let specification = ALL_SPECIFICATIONS.get(index).unwrap(); + let keys = scan_match(&pool, &format!("{}*", specification)).await?; + for key in keys { + del(&pool, &key).await?; + } } - } - Ok(()) + Ok::<(), ThothError>(()) + }) } _ => unreachable!(), }, diff --git a/src/lib.rs b/src/lib.rs index c5b145034..b0e60dc41 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ pub use thoth_api as api; pub use thoth_api_server::start_server as api_server; pub use thoth_app_server::start_server as app_server; +pub use thoth_errors as errors; pub use thoth_export_server::{start_server as export_server, ALL_SPECIFICATIONS}; From 7baea8c13f4aa2a2f7db37dd5e4d0765be4648e8 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Fri, 17 Jan 2025 07:19:06 +0000 Subject: [PATCH 12/13] Bump v0.13.5 --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 12 ++++++------ thoth-api-server/Cargo.toml | 6 +++--- thoth-api/Cargo.toml | 4 ++-- thoth-app-server/Cargo.toml | 2 +- thoth-app/Cargo.toml | 6 +++--- thoth-client/Cargo.toml | 8 ++++---- thoth-errors/Cargo.toml | 2 +- thoth-export-server/Cargo.toml | 8 ++++---- 9 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b93031be..2b2fcaede 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3459,7 +3459,7 @@ dependencies = [ [[package]] name = "thoth" -version = "0.13.4" +version = "0.13.5" dependencies = [ "clap", "dialoguer", @@ -3474,7 +3474,7 @@ dependencies = [ [[package]] name = "thoth-api" -version = "0.13.4" +version = "0.13.5" dependencies = [ "actix-web", "argon2rs", @@ -3503,7 +3503,7 @@ dependencies = [ [[package]] name = "thoth-api-server" -version = "0.13.4" +version = "0.13.5" dependencies = [ "actix-cors", "actix-http", @@ -3521,7 +3521,7 @@ dependencies = [ [[package]] name = "thoth-app" -version = "0.13.4" +version = "0.13.5" dependencies = [ "chrono", "dotenv", @@ -3546,7 +3546,7 @@ dependencies = [ [[package]] name = "thoth-app-server" -version = "0.13.4" +version = "0.13.5" dependencies = [ "actix-cors", "actix-web", @@ -3556,7 +3556,7 @@ dependencies = [ [[package]] name = "thoth-client" -version = "0.13.4" +version = "0.13.5" dependencies = [ "chrono", "graphql_client", @@ -3572,7 +3572,7 @@ dependencies = [ [[package]] name = "thoth-errors" -version = "0.13.4" +version = "0.13.5" dependencies = [ "actix-web", "chrono", @@ -3595,7 +3595,7 @@ dependencies = [ [[package]] name = "thoth-export-server" -version = "0.13.4" +version = "0.13.5" dependencies = [ "actix-cors", "actix-web", diff --git a/Cargo.toml b/Cargo.toml index a7a2578b0..2c57467c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -15,11 +15,11 @@ maintenance = { status = "actively-developed" } members = ["thoth-api", "thoth-api-server", "thoth-app", "thoth-app-server", "thoth-client", "thoth-errors", "thoth-export-server"] [dependencies] -thoth-api = { version = "=0.13.4", path = "thoth-api", features = ["backend"] } -thoth-api-server = { version = "=0.13.4", path = "thoth-api-server" } -thoth-app-server = { version = "=0.13.4", path = "thoth-app-server" } -thoth-errors = { version = "=0.13.4", path = "thoth-errors" } -thoth-export-server = { version = "=0.13.4", path = "thoth-export-server" } +thoth-api = { version = "=0.13.5", path = "thoth-api", features = ["backend"] } +thoth-api-server = { version = "=0.13.5", path = "thoth-api-server" } +thoth-app-server = { version = "=0.13.5", path = "thoth-app-server" } +thoth-errors = { version = "=0.13.5", path = "thoth-errors" } +thoth-export-server = { version = "=0.13.5", path = "thoth-export-server" } clap = { version = "4.5.21", features = ["cargo", "env"] } dialoguer = { version = "0.11.0", features = ["password"] } dotenv = "0.15.0" diff --git a/thoth-api-server/Cargo.toml b/thoth-api-server/Cargo.toml index f3ccc6d8f..53238b16a 100644 --- a/thoth-api-server/Cargo.toml +++ b/thoth-api-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-api-server" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -9,8 +9,8 @@ repository = "https://github.com/thoth-pub/thoth" readme = "README.md" [dependencies] -thoth-api = { version = "=0.13.4", path = "../thoth-api", features = ["backend"] } -thoth-errors = { version = "=0.13.4", path = "../thoth-errors" } +thoth-api = { version = "=0.13.5", path = "../thoth-api", features = ["backend"] } +thoth-errors = { version = "=0.13.5", path = "../thoth-errors" } actix-web = "4.9" actix-cors = "0.7.0" actix-http = "3.9.0" diff --git a/thoth-api/Cargo.toml b/thoth-api/Cargo.toml index 3173979a2..aa05f876f 100644 --- a/thoth-api/Cargo.toml +++ b/thoth-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-api" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -15,7 +15,7 @@ maintenance = { status = "actively-developed" } backend = ["diesel", "diesel-derive-enum", "diesel_migrations", "futures", "actix-web", "jsonwebtoken", "deadpool-redis"] [dependencies] -thoth-errors = { version = "=0.13.4", path = "../thoth-errors" } +thoth-errors = { version = "=0.13.5", path = "../thoth-errors" } actix-web = { version = "4.9", optional = true } argon2rs = "0.2.5" isbn2 = "0.4.0" diff --git a/thoth-app-server/Cargo.toml b/thoth-app-server/Cargo.toml index 703edbd49..010bd6063 100644 --- a/thoth-app-server/Cargo.toml +++ b/thoth-app-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-app-server" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" diff --git a/thoth-app/Cargo.toml b/thoth-app/Cargo.toml index 025145caa..314018911 100644 --- a/thoth-app/Cargo.toml +++ b/thoth-app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-app" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -29,8 +29,8 @@ semver = "1.0.23" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" uuid = { version = "1.11.0", features = ["serde", "v4", "js"] } -thoth-api = { version = "=0.13.4", path = "../thoth-api" } -thoth-errors = { version = "=0.13.4", path = "../thoth-errors" } +thoth-api = { version = "=0.13.5", path = "../thoth-api" } +thoth-errors = { version = "=0.13.5", path = "../thoth-errors" } [build-dependencies] dotenv = "0.15.0" diff --git a/thoth-client/Cargo.toml b/thoth-client/Cargo.toml index cc338b305..a36709797 100644 --- a/thoth-client/Cargo.toml +++ b/thoth-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-client" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -10,8 +10,8 @@ readme = "README.md" build = "build.rs" [dependencies] -thoth-api = {version = "=0.13.4", path = "../thoth-api" } -thoth-errors = {version = "=0.13.4", path = "../thoth-errors" } +thoth-api = {version = "=0.13.5", path = "../thoth-api" } +thoth-errors = {version = "=0.13.5", path = "../thoth-errors" } graphql_client = "0.14.0" chrono = { version = "0.4.38", features = ["serde"] } reqwest = { version = "0.12", features = ["json"] } @@ -22,4 +22,4 @@ serde_json = "1.0" uuid = { version = "1.11.0", features = ["serde"] } [build-dependencies] -thoth-api = { version = "=0.13.4", path = "../thoth-api", features = ["backend"] } +thoth-api = { version = "=0.13.5", path = "../thoth-api", features = ["backend"] } diff --git a/thoth-errors/Cargo.toml b/thoth-errors/Cargo.toml index ea64f255b..6cee52f9b 100644 --- a/thoth-errors/Cargo.toml +++ b/thoth-errors/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-errors" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" diff --git a/thoth-export-server/Cargo.toml b/thoth-export-server/Cargo.toml index 5aa215fa1..47de15ea5 100644 --- a/thoth-export-server/Cargo.toml +++ b/thoth-export-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-export-server" -version = "0.13.4" +version = "0.13.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2021" license = "Apache-2.0" @@ -10,9 +10,9 @@ readme = "README.md" build = "build.rs" [dependencies] -thoth-api = { version = "=0.13.4", path = "../thoth-api" } -thoth-errors = { version = "=0.13.4", path = "../thoth-errors" } -thoth-client = { version = "=0.13.4", path = "../thoth-client" } +thoth-api = { version = "=0.13.5", path = "../thoth-api" } +thoth-errors = { version = "=0.13.5", path = "../thoth-errors" } +thoth-client = { version = "=0.13.5", path = "../thoth-client" } actix-web = "4.9" actix-cors = "0.7.0" cc_license = "0.1.0" From ca01090611d960293d4de26448d299e5b93f7276 Mon Sep 17 00:00:00 2001 From: Javier Arias Date: Fri, 17 Jan 2025 07:19:53 +0000 Subject: [PATCH 13/13] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f224c830..efc153707 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [[0.13.5]](https://github.com/thoth-pub/thoth/releases/tag/v0.13.5) - 2025-01-17 ### Changed - [665](https://github.com/thoth-pub/thoth/pull/665) - Removed unnecessary `map_or()` to comply with [`rustc 1.84.0`](https://github.com/rust-lang/rust/releases/tag/1.84.0) - [666](https://github.com/thoth-pub/thoth/pull/666) - Upgrade rust to `1.84.0` in production `Dockerfile`