From 5a328e739ad276d84764d0df536184b16039be47 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:18:45 -0500 Subject: [PATCH 1/8] ci: use dtolnay/rust-toolchain for stable environment --- .github/workflows/ci.yml | 4 ++++ Cargo.lock | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b552a855..0603f554 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,10 @@ jobs: name: "build" steps: - uses: actions/checkout@v4 + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + components: clippy, rustfmt - name: Check formatting run: cargo fmt --check - name: Check clippy diff --git a/Cargo.lock b/Cargo.lock index 8ae8a30d..70850d11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2322,7 +2322,7 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hub" -version = "0.7.1" +version = "0.7.2" dependencies = [ "anyhow", "async-stream", From ae6d86a92ab09109942414bccb0e21af2c6056db Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:18:56 -0500 Subject: [PATCH 2/8] ci: enable dependency caching --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0603f554..a6a77e1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,8 @@ jobs: uses: dtolnay/rust-toolchain@stable with: components: clippy, rustfmt + - name: Cache dependencies + uses: swatinem/rust-cache@v2 - name: Check formatting run: cargo fmt --check - name: Check clippy From df63d090a799e8a2029f1b5ee94d03b69ae9f4c6 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:19:06 -0500 Subject: [PATCH 3/8] ci: add security audit step --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6a77e1b..d95ba57d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,8 @@ jobs: components: clippy, rustfmt - name: Cache dependencies uses: swatinem/rust-cache@v2 + - name: Install cargo-audit + uses: config-inspector/cargo-audit-action@main - name: Check formatting run: cargo fmt --check - name: Check clippy From d8df038c73c4b150e1e6ac4cbcb40cfcc7388358 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:19:22 -0500 Subject: [PATCH 4/8] fix(providers): migrate openai to structured logging --- src/providers/openai/provider.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/providers/openai/provider.rs b/src/providers/openai/provider.rs index 52f611ff..7c82ec2f 100644 --- a/src/providers/openai/provider.rs +++ b/src/providers/openai/provider.rs @@ -11,7 +11,7 @@ use axum::http::StatusCode; use reqwest::Client; use reqwest_streams::*; use serde::{Deserialize, Serialize}; -use tracing::info; +use tracing::error; #[derive(Serialize, Deserialize, Clone)] struct OpenAIChatCompletionRequest { @@ -101,7 +101,7 @@ impl Provider for OpenAIProvider { .send() .await .map_err(|e| { - eprintln!("OpenAI API request error: {e}"); + error!("OpenAI API request error: {e}"); StatusCode::INTERNAL_SERVER_ERROR })?; @@ -117,12 +117,12 @@ impl Provider for OpenAIProvider { .await .map(ChatCompletionResponse::NonStream) .map_err(|e| { - eprintln!("OpenAI API response error: {e}"); + error!("OpenAI API response error: {e}"); StatusCode::INTERNAL_SERVER_ERROR }) } } else { - info!( + error!( "OpenAI API request error: {}", response.text().await.unwrap() ); @@ -143,18 +143,18 @@ impl Provider for OpenAIProvider { .send() .await .map_err(|e| { - eprintln!("OpenAI API request error: {e}"); + error!("OpenAI API request error: {e}"); StatusCode::INTERNAL_SERVER_ERROR })?; let status = response.status(); if status.is_success() { response.json().await.map_err(|e| { - eprintln!("OpenAI API response error: {e}"); + error!("OpenAI API response error: {e}"); StatusCode::INTERNAL_SERVER_ERROR }) } else { - eprintln!( + error!( "OpenAI API request error: {}", response.text().await.unwrap() ); @@ -175,18 +175,18 @@ impl Provider for OpenAIProvider { .send() .await .map_err(|e| { - eprintln!("OpenAI API request error: {e}"); + error!("OpenAI API request error: {e}"); StatusCode::INTERNAL_SERVER_ERROR })?; let status = response.status(); if status.is_success() { response.json().await.map_err(|e| { - eprintln!("OpenAI API response error: {e}"); + error!("OpenAI API response error: {e}"); StatusCode::INTERNAL_SERVER_ERROR }) } else { - eprintln!( + error!( "OpenAI API request error: {}", response.text().await.unwrap() ); From 61ab819dad9a308e1ebe393a4283480e6b5f7438 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:19:29 -0500 Subject: [PATCH 5/8] docs: update changelog for v0.7.2-dev --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86d7841a..31d3e339 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## v0.7.2-dev + +### Ci + +- add security audit step +- enable dependency caching +- use dtolnay/rust-toolchain for stable environment + +### Fix + +- **providers**: migrate openai to structured logging + ## v0.7.1 (2025-08-10) ### Fix From bebf86d73363327b263d6c671519fe093048b316 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:33:37 -0500 Subject: [PATCH 6/8] ci: switch to maintained cargo-audit action --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d95ba57d..0d157f0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,8 +22,8 @@ jobs: components: clippy, rustfmt - name: Cache dependencies uses: swatinem/rust-cache@v2 - - name: Install cargo-audit - uses: config-inspector/cargo-audit-action@main + - name: Security Audit + uses: actions-rust-lang/audit@v1 - name: Check formatting run: cargo fmt --check - name: Check clippy From f1a3a304c4b72e2e40ac7abdef11b17885b56c09 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 06:38:05 -0500 Subject: [PATCH 7/8] ci: pin rust toolchain to 1.87.0 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d157f0d..88aa6629 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@1.87.0 with: components: clippy, rustfmt - name: Cache dependencies From 508a68fb0b586bc8d92e28fcd92015f5ab4cf969 Mon Sep 17 00:00:00 2001 From: Lingikaushikreddy Date: Fri, 2 Jan 2026 17:02:44 -0500 Subject: [PATCH 8/8] ci: fix invalid rust-toolchain action tag --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88aa6629..0d157f0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Rust - uses: dtolnay/rust-toolchain@1.87.0 + uses: dtolnay/rust-toolchain@stable with: components: clippy, rustfmt - name: Cache dependencies