diff --git a/Cargo.lock b/Cargo.lock index 57c716960f..3ce5543469 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2484,7 +2484,7 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "lychee" -version = "0.19.1" +version = "0.20.0" dependencies = [ "anyhow", "assert-json-diff", @@ -2532,7 +2532,7 @@ dependencies = [ [[package]] name = "lychee-lib" -version = "0.19.1" +version = "0.20.0" dependencies = [ "async-stream", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 78993d5d64..b084fd0617 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["lychee-bin", "lychee-lib", "examples/*", "benches"] resolver = "2" [workspace.package] -version = "0.19.1" +version = "0.20.0" [profile.release] debug = true diff --git a/lychee-bin/CHANGELOG.md b/lychee-bin/CHANGELOG.md index cb34ff25d3..41ab9f3f45 100644 --- a/lychee-bin/CHANGELOG.md +++ b/lychee-bin/CHANGELOG.md @@ -7,6 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.20.0](https://github.com/lycheeverse/lychee/compare/lychee-v0.19.1...lychee-v0.20.0) - 2025-08-19 + +### Added + +- make wikilink extraction and checking opt-in ([#1803](https://github.com/lycheeverse/lychee/pull/1803)) +- skip fragment checking for unsupported MIME types ([#1744](https://github.com/lycheeverse/lychee/pull/1744)) +- add 'user-content-' prefix to support github markdown fragment ([#1750](https://github.com/lycheeverse/lychee/pull/1750)) + +### Fixed + +- do not check the fragment when http response err but accepted ([#1763](https://github.com/lycheeverse/lychee/pull/1763)) +- treat a fragment in an empty directory as an error ([#1756](https://github.com/lycheeverse/lychee/pull/1756)) +- resolve index file inside a directory ([#1752](https://github.com/lycheeverse/lychee/pull/1752)) +- skip fragment check if website URL doesn't contain fragment ([#1733](https://github.com/lycheeverse/lychee/pull/1733)) + +### Other + +- Refactor input dumping and path retrieval with extension filtering ([#1648](https://github.com/lycheeverse/lychee/pull/1648)) +- Use a HashSet to store inputs and avoid duplicates ([#1781](https://github.com/lycheeverse/lychee/pull/1781)) +- add `--index-files` flag, and turn off index file checking by default ([#1777](https://github.com/lycheeverse/lychee/pull/1777)) +- Cleanup input example ([#1792](https://github.com/lycheeverse/lychee/pull/1792)) +- FIx missing identifier in snap build action; add snap install to readme ([#1793](https://github.com/lycheeverse/lychee/pull/1793)) +- refactor `test_fragments` to clarify expected successes/fails ([#1776](https://github.com/lycheeverse/lychee/pull/1776)) +- Fix test +- Remove JSON output files even on test failures +- Add regression test +- Improve test +- Make excluded_paths part of Collector instead of Input +- Make regex field in RegexFilter private +- Apply clippy suggestions +- Test regex functionality in --exclude-path flag +- Update flag description & clean up +- Replace Vec with dedicated PathExcludes type +- Unwrap option type +- Replace unmaintained human-sort with numeric-sort ([#1759](https://github.com/lycheeverse/lychee/pull/1759)) +- Fix basic auth ([#1748](https://github.com/lycheeverse/lychee/pull/1748)) +- Update 'Users' section in the README +- Add ProseKit to users +- Migrate to Clippy 1.88 ([#1749](https://github.com/lycheeverse/lychee/pull/1749)) +- fix assertion in fragment checks +- Replace unreliable API URL +- display unsupported URLs ([#1727](https://github.com/lycheeverse/lychee/pull/1727)) + ## [0.19.1](https://github.com/lycheeverse/lychee/compare/lychee-v0.19.0...lychee-v0.19.1) - 2025-06-16 ### Other diff --git a/lychee-bin/Cargo.toml b/lychee-bin/Cargo.toml index 35a0894fac..f2b017b2ec 100644 --- a/lychee-bin/Cargo.toml +++ b/lychee-bin/Cargo.toml @@ -15,7 +15,7 @@ rust-version = "1.85.0" [dependencies] # NOTE: We need to specify the version of lychee-lib here because crates.io # requires all dependencies to have a version number. -lychee-lib = { path = "../lychee-lib", version = "0.19.1", default-features = false } +lychee-lib = { path = "../lychee-lib", version = "0.20.0", default-features = false } anyhow = "1.0.98" assert-json-diff = "2.0.2" diff --git a/lychee-lib/CHANGELOG.md b/lychee-lib/CHANGELOG.md index bbab21f9b8..64030920a2 100644 --- a/lychee-lib/CHANGELOG.md +++ b/lychee-lib/CHANGELOG.md @@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.20.0](https://github.com/lycheeverse/lychee/compare/lychee-lib-v0.19.1...lychee-lib-v0.20.0) - 2025-08-19 + +### Added + +- make wikilink extraction and checking opt-in ([#1803](https://github.com/lycheeverse/lychee/pull/1803)) +- skip fragment checking for unsupported MIME types ([#1744](https://github.com/lycheeverse/lychee/pull/1744)) +- add 'user-content-' prefix to support github markdown fragment ([#1750](https://github.com/lycheeverse/lychee/pull/1750)) + +### Fixed + +- fix comment for `ErrorKind::InvalidFragment` ([#1775](https://github.com/lycheeverse/lychee/pull/1775)) +- do not check the fragment when http response err but accepted ([#1763](https://github.com/lycheeverse/lychee/pull/1763)) +- treat a fragment in an empty directory as an error ([#1756](https://github.com/lycheeverse/lychee/pull/1756)) +- resolve index file inside a directory ([#1752](https://github.com/lycheeverse/lychee/pull/1752)) +- skip fragment check if website URL doesn't contain fragment ([#1733](https://github.com/lycheeverse/lychee/pull/1733)) + +### Other + +- Refactor input dumping and path retrieval with extension filtering ([#1648](https://github.com/lycheeverse/lychee/pull/1648)) +- Use a HashSet to store inputs and avoid duplicates ([#1781](https://github.com/lycheeverse/lychee/pull/1781)) +- add `--index-files` flag, and turn off index file checking by default ([#1777](https://github.com/lycheeverse/lychee/pull/1777)) +- Cleanup input example ([#1792](https://github.com/lycheeverse/lychee/pull/1792)) +- FIx missing identifier in snap build action; add snap install to readme ([#1793](https://github.com/lycheeverse/lychee/pull/1793)) +- Fix clippy lints; refactor code slightly +- refactor `test_fragments` to clarify expected successes/fails ([#1776](https://github.com/lycheeverse/lychee/pull/1776)) +- Revert to previous behaviour: linking to directories results in Status::Ok(StatusCode::OK) +- Make excluded_paths part of Collector instead of Input +- Minor improvements +- Make regex field in RegexFilter private +- Apply clippy suggestions +- Update flag description & clean up +- Replace Vec with dedicated PathExcludes type +- Unwrap option type +- Fix basic auth ([#1748](https://github.com/lycheeverse/lychee/pull/1748)) +- Update 'Users' section in the README +- Add ProseKit to users +- Migrate to Clippy 1.88 ([#1749](https://github.com/lycheeverse/lychee/pull/1749)) +- Add xml schema found in xsd files to list of exclusions ([#1735](https://github.com/lycheeverse/lychee/pull/1735)) + ## [0.19.1](https://github.com/lycheeverse/lychee/compare/lychee-lib-v0.19.0...lychee-lib-v0.19.1) - 2025-06-16 ### Fixed