From c957db7f615be06fab907707baca706bec2eb285 Mon Sep 17 00:00:00 2001 From: rays Date: Thu, 15 Oct 2026 13:25:18 +0000 Subject: [PATCH] ipx 1.2.0, ipx-directory 1.1.1, ipx-web 1.0.2 Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 4 ++-- crates/directory/CHANGELOG.md | 11 +++++++---- crates/directory/Cargo.toml | 2 +- crates/ipx/CHANGELOG.md | 14 ++++++++++---- crates/ipx/Cargo.toml | 2 +- package.json | 2 +- web/CHANGELOG.md | 11 +++++++---- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3b0dd26..35af06d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1820,7 +1820,7 @@ checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0" [[package]] name = "ipx" -version = "1.1.1-dev" +version = "1.2.0" dependencies = [ "ammonia", "anyhow", @@ -1856,7 +1856,7 @@ dependencies = [ [[package]] name = "ipx-directory" -version = "1.1.1-dev" +version = "1.1.1" dependencies = [ "ammonia", "anyhow", diff --git a/crates/directory/CHANGELOG.md b/crates/directory/CHANGELOG.md index 8a9fe13..5750dfd 100644 --- a/crates/directory/CHANGELOG.md +++ b/crates/directory/CHANGELOG.md @@ -10,15 +10,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Security - -- A failed feed check is logged without its address's query or password (#238). +## [1.1.1] - 2026-10-15 ### Changed - The directory checks five feeds at a time, so a publisher that does not answer no longer holds up the rest of its round (#227). - A feed's server that takes 10 s to connect, or sends nothing for 15 s, is given up on (#230). +### Security + +- A failed feed check is logged without its address's query or password (#238). + ## [1.1.0] - 2026-10-13 ### Added @@ -43,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `ipx-directory`, a directory of public podcasts that ipx servers share: each sends the public feeds its people subscribe to, and any server with a token browses them, each feed listed once it has been read. Tokens are in its config file, each read-only, read-write or admin, and revoked one at a time (#204, #205). - Traces: a span a request, joining the trace of the ipx server that called, and a trace a refresher round with a span a feed (#213). -[unreleased]: https://git.sdf1.net/rays/ipx/compare/directory-v1.1.0...main +[unreleased]: https://git.sdf1.net/rays/ipx/compare/directory-v1.1.1...main +[1.1.1]: https://git.sdf1.net/rays/ipx/compare/directory-v1.1.0...directory-v1.1.1 [1.1.0]: https://git.sdf1.net/rays/ipx/compare/directory-v1.0.0...directory-v1.1.0 [1.0.0]: https://git.sdf1.net/rays/ipx/releases/tag/directory-v1.0.0 diff --git a/crates/directory/Cargo.toml b/crates/directory/Cargo.toml index 45ba019..0b56e60 100644 --- a/crates/directory/Cargo.toml +++ b/crates/directory/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ipx-directory" -version = "1.1.1-dev" +version = "1.1.1" edition.workspace = true [[bin]] diff --git a/crates/ipx/CHANGELOG.md b/crates/ipx/CHANGELOG.md index 45301f1..8af8822 100644 --- a/crates/ipx/CHANGELOG.md +++ b/crates/ipx/CHANGELOG.md @@ -12,16 +12,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Security +## [1.2.0] - 2026-10-15 -- A failure's words, and the addresses in an event, go to the log and to every open page without their query or password, where a private feed keeps its key: a failed fetch of a Patreon feed logged its `auth` key (#238). +### Added + +- `scan_done` on the event stream says which feed or folder the scan was limited to and whether someone asked for it (`only`, `forced`), so a page can tell the end of its own scan from a scheduled one's (#233). ### Changed - Check every feed looks up the site icons of feeds without artwork a few at a time, alongside the fetches, instead of one after another (#228). - A feed's server that sends nothing for 15 s is given up on, instead of holding a scan for the full 30 s; a feed that keeps sending still has 30 s (#230). - A scan's trace names the feed each fetch is for (#229). -- `scan_done` on the event stream says which feed or folder the scan was limited to and whether someone asked for it (`only`, `forced`), so a page can tell the end of its own scan from a scheduled one's (#233). + +### Security + +- A failure's words, and the addresses in an event, go to the log and to every open page without their query or password, where a private feed keeps its key: a failed fetch of a Patreon feed logged its `auth` key (#238). ## [1.1.0] - 2026-10-13 @@ -827,7 +832,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Torrent enclosures through librqbit, seeding to a ratio or a time, with a stall timeout. - `ipx import` and `ipx export` for OPML, and systemd units in `contrib/`. -[unreleased]: https://git.sdf1.net/rays/ipx/compare/v1.1.0...main +[unreleased]: https://git.sdf1.net/rays/ipx/compare/v1.2.0...main +[1.2.0]: https://git.sdf1.net/rays/ipx/compare/v1.1.0...v1.2.0 [1.1.0]: https://git.sdf1.net/rays/ipx/compare/v1.0.0...v1.1.0 [1.0.0]: https://git.sdf1.net/rays/ipx/compare/v0.12.0...v1.0.0 [0.12.0]: https://git.sdf1.net/rays/ipx/compare/v0.11.0...v0.12.0 diff --git a/crates/ipx/Cargo.toml b/crates/ipx/Cargo.toml index f391849..3f8c71e 100644 --- a/crates/ipx/Cargo.toml +++ b/crates/ipx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ipx" -version = "1.1.1-dev" +version = "1.2.0" edition.workspace = true [dependencies] diff --git a/package.json b/package.json index 9556caa..ec8586d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipx-web", - "version": "1.0.2-dev", + "version": "1.0.2", "private": true, "description": "Builds the ipx web pages from web/src (web/build.mjs, run by build.rs) and tests them. The Rust tests cover the server.", "scripts": { diff --git a/web/CHANGELOG.md b/web/CHANGELOG.md index efd6dcd..2109f18 100644 --- a/web/CHANGELOG.md +++ b/web/CHANGELOG.md @@ -11,15 +11,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Security - -- The ipx-web image no longer carries curl, which Caddy's base image shipped and nothing used: 8.22.0 there is affected by CVE-2026-92392 (#237). +## [1.0.2] - 2026-10-15 ### Fixed - The refresh buttons turn from the moment they are pressed until the scan they asked for has finished, smoothly, instead of jerking back upright between one feed and the next (#231, #233). - A feed's unread count stays put while a scan checks it quickly; the spinner takes its place only when a check takes a moment (#232). +### Security + +- The ipx-web image no longer carries curl, which Caddy's base image shipped and nothing used: 8.22.0 there is affected by CVE-2026-92392 (#237). + ## [1.0.1] - 2026-10-13 ### Fixed @@ -47,6 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - On a phone, the Subscribe button on a Directory feed's page is full size again, not squashed to a sliver (#212). -[unreleased]: https://git.sdf1.net/rays/ipx/compare/web-v1.0.1...main +[unreleased]: https://git.sdf1.net/rays/ipx/compare/web-v1.0.2...main +[1.0.2]: https://git.sdf1.net/rays/ipx/compare/web-v1.0.1...web-v1.0.2 [1.0.1]: https://git.sdf1.net/rays/ipx/compare/web-v1.0.0...web-v1.0.1 [1.0.0]: https://git.sdf1.net/rays/ipx/releases/tag/web-v1.0.0