Prepare v0.5.17-pre.1

This commit is contained in:
asonix 2024-06-24 17:10:13 -05:00
parent 175b0f962a
commit 147f9406c8
5 changed files with 57 additions and 9 deletions

View file

@ -225,6 +225,7 @@ jobs:
direction: upload direction: upload
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
release-dir: artifacts/ release-dir: artifacts/
prerelease: true
publish-crate: publish-crate:
needs: [build] needs: [build]

11
Cargo.lock generated
View file

@ -771,11 +771,12 @@ dependencies = [
[[package]] [[package]]
name = "dashmap" name = "dashmap"
version = "5.5.3" version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"crossbeam-utils",
"hashbrown 0.14.5", "hashbrown 0.14.5",
"lock_api", "lock_api",
"once_cell", "once_cell",
@ -1970,7 +1971,7 @@ dependencies = [
[[package]] [[package]]
name = "pict-rs" name = "pict-rs"
version = "0.5.16" version = "0.5.17-pre.1"
dependencies = [ dependencies = [
"actix-form-data", "actix-form-data",
"actix-web", "actix-web",
@ -2934,9 +2935,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]] [[package]]
name = "subtle" name = "subtle"
version = "2.6.0" version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]] [[package]]
name = "syn" name = "syn"

View file

@ -1,7 +1,7 @@
[package] [package]
name = "pict-rs" name = "pict-rs"
description = "A simple image hosting service" description = "A simple image hosting service"
version = "0.5.16" version = "0.5.17-pre.1"
authors = ["asonix <asonix@asonix.dog>"] authors = ["asonix <asonix@asonix.dog>"]
license = "AGPL-3.0" license = "AGPL-3.0"
readme = "README.md" readme = "README.md"
@ -30,7 +30,7 @@ clap = { version = "4.5.7", features = ["derive"] }
color-eyre = "0.6.3" color-eyre = "0.6.3"
config = { version = "0.14.0", default-features = false, features = ["json", "ron", "toml", "yaml"] } config = { version = "0.14.0", default-features = false, features = ["json", "ron", "toml", "yaml"] }
console-subscriber = "0.3" 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 = { version = "2.1.6", features = ["postgres_backend", "serde_json", "time", "uuid"] }
diesel-async = { version = "0.4.1", features = ["bb8", "postgres"] } diesel-async = { version = "0.4.1", features = ["bb8", "postgres"] }
diesel-derive-enum = { version = "2.1.0", features = ["postgres"] } diesel-derive-enum = { version = "2.1.0", features = ["postgres"] }
@ -64,7 +64,7 @@ serde_urlencoded = "0.7.1"
sha2 = "0.10.8" sha2 = "0.10.8"
sled = { version = "0.34.7" } sled = { version = "0.34.7" }
streem = "0.2.0" streem = "0.2.0"
subtle = { version = "2.6.0", default-features = false } subtle = { version = "2.6.1", default-features = false }
thiserror = "1.0.61" thiserror = "1.0.61"
time = { version = "0.3.36", features = ["serde", "serde-well-known"] } time = { version = "0.3.36", features = ["serde", "serde-well-known"] }
tokio = { version = "1.38.0", features = ["full", "tracing"] } tokio = { version = "1.38.0", features = ["full", "tracing"] }

View file

@ -11,7 +11,7 @@
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
pname = "pict-rs"; pname = "pict-rs";
version = "0.5.16"; version = "0.5.17-pre.1";
src = ./.; src = ./.;
cargoLock = { cargoLock = {

46
releases/0.5.17-pre.1.md Normal file
View file

@ -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.