From 147f9406c8ea7f72347e579d8197046611e6d6d1 Mon Sep 17 00:00:00 2001 From: asonix Date: Mon, 24 Jun 2024 17:10:13 -0500 Subject: [PATCH] Prepare v0.5.17-pre.1 --- .forgejo/workflows/publish.yaml | 1 + Cargo.lock | 11 ++++---- Cargo.toml | 6 ++--- pict-rs.nix | 2 +- releases/0.5.17-pre.1.md | 46 +++++++++++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 releases/0.5.17-pre.1.md diff --git a/.forgejo/workflows/publish.yaml b/.forgejo/workflows/publish.yaml index 0f07f31..b852f54 100644 --- a/.forgejo/workflows/publish.yaml +++ b/.forgejo/workflows/publish.yaml @@ -225,6 +225,7 @@ jobs: direction: upload token: ${{ secrets.GITHUB_TOKEN }} release-dir: artifacts/ + prerelease: true publish-crate: needs: [build] diff --git a/Cargo.lock b/Cargo.lock index c7b8043..36d2253 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -771,11 +771,12 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.5.3" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -1970,7 +1971,7 @@ dependencies = [ [[package]] name = "pict-rs" -version = "0.5.16" +version = "0.5.17-pre.1" dependencies = [ "actix-form-data", "actix-web", @@ -2934,9 +2935,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" diff --git a/Cargo.toml b/Cargo.toml index b418032..a73aba0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pict-rs" description = "A simple image hosting service" -version = "0.5.16" +version = "0.5.17-pre.1" authors = ["asonix "] license = "AGPL-3.0" readme = "README.md" @@ -30,7 +30,7 @@ clap = { version = "4.5.7", features = ["derive"] } color-eyre = "0.6.3" config = { version = "0.14.0", default-features = false, features = ["json", "ron", "toml", "yaml"] } console-subscriber = "0.3" -dashmap = "5.5.3" +dashmap = "6.0.1" diesel = { version = "2.1.6", features = ["postgres_backend", "serde_json", "time", "uuid"] } diesel-async = { version = "0.4.1", features = ["bb8", "postgres"] } diesel-derive-enum = { version = "2.1.0", features = ["postgres"] } @@ -64,7 +64,7 @@ serde_urlencoded = "0.7.1" sha2 = "0.10.8" sled = { version = "0.34.7" } streem = "0.2.0" -subtle = { version = "2.6.0", default-features = false } +subtle = { version = "2.6.1", default-features = false } thiserror = "1.0.61" time = { version = "0.3.36", features = ["serde", "serde-well-known"] } tokio = { version = "1.38.0", features = ["full", "tracing"] } diff --git a/pict-rs.nix b/pict-rs.nix index d76165d..452db2a 100644 --- a/pict-rs.nix +++ b/pict-rs.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage { pname = "pict-rs"; - version = "0.5.16"; + version = "0.5.17-pre.1"; src = ./.; cargoLock = { diff --git a/releases/0.5.17-pre.1.md b/releases/0.5.17-pre.1.md new file mode 100644 index 0000000..9a65485 --- /dev/null +++ b/releases/0.5.17-pre.1.md @@ -0,0 +1,46 @@ +# pict-rs 0.5.17-pre.1 + +pict-rs is a simple image hosting microservice, designed to handle storing and retrieving images, +animations, and videos, as well as providing basic image processing functionality. + +## Overview + +pict-rs 0.5.17-pre.1 is a dependency upgrade release. The primary change is the object storage +implementation has been swapped from rusty-s3 with custom reqwest code, to an off-the-shelf option +called object_store. Because this change is significant and might not fully respect existing +configurations, I've decided to put out a prerelease. + + +### Changes + +- [Object Storage Rewrite](#object-storage-rewrite) +- [Dependency Upgrades](#dependency-upgrades) + + +## Upgrade Notes + +The object storage backend has been rewritten since 0.5.16, and existing configurations are not +guaranteed to work. If this release breaks your setup, please let me know. + +## Descriptions + +### Object Storage Rewrite + +In order to improve compatibility with existing implementations, and reduce maintenance burden, most +of the object-storage code has been removed in favor of using an off-the-shelf library. The +underlying technologies are largely the same as the previous implementation, so the impact on +pict-rs' dependency tree is minimal. + +That said, object_store enforces the use of rustls-native-tls with reqwest, which could potentially +cause issues in some environments. If this change breaks anyone I will work with upstream to resolve +this. + + +### Dependency Upgrades + +Outside of the object storage changes, various dependencies have been updated to their latest +versions. Notably, reqwest 0.12.5 removes the last dependency on rustls 0.22, allowing pict-rs to +fully migrate to rustls 0.23. Additionally, pict-rs has dropped aws-lc-rs in favor of ring after the +previous release which introduced aws-lc-rs. My reasoning is that the new object_store dependency +pulls in ring anyway and there's no real reason to have two crypto providers in the same +application.