Skip to content

chore(release): prepare v0.4.0#136

Merged
chaliy merged 1 commit into
mainfrom
chore/release-v0.4.0
Jun 12, 2026
Merged

chore(release): prepare v0.4.0#136
chaliy merged 1 commit into
mainfrom
chore/release-v0.4.0

Conversation

@chaliy

@chaliy chaliy commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Release v0.4.0

Breaking minor release: pluggable HTTP transport abstraction (#135).

Why 0.4.0 (not 0.3.1)

FetchOptions gained a public transport field and it is an exhaustive pub struct — formally breaking for exhaustive struct-literal construction. Cargo auto-upgrades within ^0.3, so the breaking change must move out of the 0.3.x range.

Changelog excerpt

Highlights

  • Pluggable HTTP transport: hosts route fetchkit HTTP through their own egress boundary (FetchOptions::transport / ToolBuilder::transport); fetchkit keeps URL validation, DNS pinning, redirect following, signing, body caps. Default unchanged (ReqwestTransport).
  • Hardening: YouTube/HackerNews API hosts DNS-pinned; Wikipedia/registry/arXiv/HackerNews redirects per-hop validated; specialized-fetcher JSON reads capped at max_body_size.
  • Local file saver symlink handling hardened.

Breaking Changes

  • FetchOptions new public transport field — add it or use ..Default::default().
  • FetchOptions/Tool/ToolBuilder Debug impls are now manual.

Verification

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace ✓ (all suites)
  • RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
  • cargo build --workspace --exclude fetchkit-python --release

After merge, release.yml creates the GitHub Release v0.4.0 and dispatches publish.yml (fetchkit → fetchkit-cli, in order).

Copilot AI review requested due to automatic review settings June 12, 2026 01:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the repository for the v0.4.0 release, aligning workspace/crate versions and documenting the release notes for the new pluggable HTTP transport abstraction introduced in #135.

Changes:

  • Bump workspace version to 0.4.0 and update dependent crate versions in the lockfile.
  • Update fetchkit-cli to depend on fetchkit v0.4.0.
  • Add 0.4.0 release notes and update changelog comparison links.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
crates/fetchkit-cli/Cargo.toml Updates the fetchkit dependency version to 0.4.0 for the CLI crate.
CHANGELOG.md Adds the 0.4.0 entry (highlights + breaking changes) and updates comparison links.
Cargo.toml Bumps the workspace package version to 0.4.0.
Cargo.lock Updates locked workspace crate versions to 0.4.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chaliy chaliy merged commit 69baf3e into main Jun 12, 2026
12 checks passed
@chaliy chaliy deleted the chore/release-v0.4.0 branch June 12, 2026 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants