Skip to content

Commit e030b91

Browse files
authored
chore(release): prepare v0.2.0 (#85)
## What Prepare release v0.2.0 — bump workspace version, update internal dependency, and write changelog. ## Why 30 commits since v0.1.3 including 10 new pluggable fetchers, batch fetching, content extraction, conditional fetching, quality signals, bot-auth support, and security hardening. ## How - Bumped `[workspace.package].version` to `0.2.0` in root `Cargo.toml` - Updated `fetchkit` dependency version in `fetchkit-cli/Cargo.toml` - Wrote `CHANGELOG.md` entry with highlights, breaking changes, and full PR list ## Risk - Low — version bump and changelog only, no code changes ### Checklist - [x] Unit tests passed - [x] Smoke tests passed (`cargo build --workspace --exclude fetchkit-python --release`) - [x] Clippy clean (`-D warnings`) - [x] Docs build without warnings - [x] Formatting verified
1 parent f795d02 commit e030b91

File tree

4 files changed

+54
-10
lines changed

4 files changed

+54
-10
lines changed

CHANGELOG.md

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.0] - 2026-03-27
11+
1012
### Highlights
1113

12-
- Added a hardened outbound profile for cluster and data-plane deployments
13-
- Ambient proxy environment variables are now ignored by default
14-
- Added hostname, port, and redirect restrictions for tighter egress policy
14+
- Pluggable fetchers for GitHub, Wikipedia, YouTube, ArXiv, StackOverflow, HackerNews, RSS, package registries, docs sites, and Twitter
15+
- Batch fetching for concurrent multi-URL requests
16+
- Content-focused extraction with boilerplate stripping and structured metadata
17+
- Conditional fetching with ETag and If-Modified-Since support
18+
- Improved HTML-to-Markdown conversion quality
19+
- Content quality signals: word count, redirect chain, paywall detection
20+
- Optional Web Bot Authentication support
21+
- Hardened outbound fetch policy with proxy isolation and SSRF mitigations
22+
- Live integration test suite behind feature flag
23+
24+
### Breaking Changes
25+
26+
- Ambient proxy environment variables are now ignored by default; set them explicitly if needed
1527

1628
### What's Changed
1729

18-
- `fix(security): harden outbound fetch policy and add deployment guidance`
30+
* test(fetchers): add live integration tests behind feature flag ([#84](https://github.com/everruns/fetchkit/pull/84))
31+
* chore: periodic maintenance — deps update and spec sync ([#83](https://github.com/everruns/fetchkit/pull/83))
32+
* feat(fetch): add content quality signals (word_count, redirect_chain, is_paywall) ([#82](https://github.com/everruns/fetchkit/pull/82))
33+
* feat(client): add batch_fetch for concurrent multi-URL fetching ([#81](https://github.com/everruns/fetchkit/pull/81))
34+
* feat(fetch): add conditional fetching with ETag and If-Modified-Since ([#80](https://github.com/everruns/fetchkit/pull/80))
35+
* feat(convert): improve HTML-to-Markdown conversion quality ([#79](https://github.com/everruns/fetchkit/pull/79))
36+
* feat(convert): add content-focused extraction with boilerplate stripping ([#78](https://github.com/everruns/fetchkit/pull/78))
37+
* feat(convert): add structured metadata extraction from HTML pages ([#77](https://github.com/everruns/fetchkit/pull/77))
38+
* feat(fetchers): add RSSFeedFetcher for structured feed parsing ([#70](https://github.com/everruns/fetchkit/pull/70))
39+
* feat(fetchers): add HackerNewsFetcher for structured thread extraction ([#69](https://github.com/everruns/fetchkit/pull/69))
40+
* feat(fetchers): add ArXivFetcher for paper metadata and abstract ([#68](https://github.com/everruns/fetchkit/pull/68))
41+
* feat(fetchers): add YouTubeFetcher for video metadata extraction ([#67](https://github.com/everruns/fetchkit/pull/67))
42+
* feat(fetchers): add WikipediaFetcher for article extraction ([#66](https://github.com/everruns/fetchkit/pull/66))
43+
* feat(fetchers): add PackageRegistryFetcher for PyPI, crates.io, npm ([#65](https://github.com/everruns/fetchkit/pull/65))
44+
* feat(fetchers): add StackOverflowFetcher for clean Q&A extraction ([#64](https://github.com/everruns/fetchkit/pull/64))
45+
* feat(fetchers): add DocsSiteFetcher with llms.txt support ([#63](https://github.com/everruns/fetchkit/pull/63))
46+
* feat(fetchers): add GitHubCodeFetcher for source file fetching ([#62](https://github.com/everruns/fetchkit/pull/62))
47+
* feat(fetchers): add GitHubIssueFetcher for structured issue/PR fetching ([#61](https://github.com/everruns/fetchkit/pull/61))
48+
* feat: add process-issues skill for e2e GitHub issue resolution ([#60](https://github.com/everruns/fetchkit/pull/60))
49+
* feat: add optional Web Bot Authentication support ([#49](https://github.com/everruns/fetchkit/pull/49))
50+
* feat(fetchers): add TwitterFetcher for tweet URL handling ([#47](https://github.com/everruns/fetchkit/pull/47))
51+
* feat: skip HTML conversion for non-HTML responses ([#48](https://github.com/everruns/fetchkit/pull/48))
52+
* chore(deps): update workspace dependencies and fix flaky proxy tests ([#46](https://github.com/everruns/fetchkit/pull/46))
53+
* feat(toolkit): align fetchkit with toolkit library contract ([#45](https://github.com/everruns/fetchkit/pull/45))
54+
* fix(security): harden outbound fetch policy ([#43](https://github.com/everruns/fetchkit/pull/43))
55+
* docs: clarify latest-main requirement for worktrees ([#44](https://github.com/everruns/fetchkit/pull/44))
56+
* fix(security): isolate proxy env in shared runtimes ([#42](https://github.com/everruns/fetchkit/pull/42))
57+
* fix(security): block IPv4-compatible and 6to4 IPv6 addresses in SSRF protection ([#41](https://github.com/everruns/fetchkit/pull/41))
58+
* fix(security): sanitize reqwest error messages to prevent hostname leakage ([#40](https://github.com/everruns/fetchkit/pull/40))
59+
* fix: resolve threat model issues ([#37](https://github.com/everruns/fetchkit/pull/37))
60+
61+
**Full Changelog**: https://github.com/everruns/fetchkit/compare/v0.1.3...v0.2.0
1962

2063
## [0.1.3] - 2026-03-12
2164

@@ -96,7 +139,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
96139

97140
**Full Changelog**: https://github.com/everruns/fetchkit/commits/v0.1.0
98141

99-
[Unreleased]: https://github.com/everruns/fetchkit/compare/v0.1.3...HEAD
142+
[Unreleased]: https://github.com/everruns/fetchkit/compare/v0.2.0...HEAD
143+
[0.2.0]: https://github.com/everruns/fetchkit/compare/v0.1.3...v0.2.0
100144
[0.1.3]: https://github.com/everruns/fetchkit/compare/v0.1.2...v0.1.3
101145
[0.1.2]: https://github.com/everruns/fetchkit/compare/v0.1.1...v0.1.2
102146
[0.1.1]: https://github.com/everruns/fetchkit/compare/v0.1.0...v0.1.1

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ resolver = "2"
33
members = ["crates/*"]
44

55
[workspace.package]
6-
version = "0.1.3"
6+
version = "0.2.0"
77
edition = "2021"
88
license = "MIT"
99
authors = ["Everruns"]

crates/fetchkit-cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ default = []
2121
bot-auth = ["fetchkit/bot-auth"]
2222

2323
[dependencies]
24-
fetchkit = { path = "../fetchkit", version = "0.1.3" }
24+
fetchkit = { path = "../fetchkit", version = "0.2.0" }
2525
tokio = { workspace = true }
2626
clap = { workspace = true }
2727
serde = { workspace = true }

0 commit comments

Comments
 (0)