Repository navigation
v1.2.1
PageSift 1.2.1 Release Notes
Release Version:
v1.2.1
License: AGPL-3.0-only (Commercial licensing available)
Changes since 1.2.0.
Security
- Identity-scoped API requests (
ownerset by an authenticated API caller) no longer read from or write to the shared result cache. Previously the cache key had no caller, egress or fingerprint dimension, so a page fetched with one API key's session cookies could be returned to another key. Anonymous requests keep the existing cache behavior. - The result cache is unchanged for requests without a caller identity. Per-owner session isolation in the identity pool is not affected.
Fixed
- A 503 response with
Retry-Afteris now classified asthrottledin the itna attempt trace and in egress-pool outcomes. The header was present in the response but never reachedclassify, so the trace saidotherwhile the classifier's contract saidthrottled. The status of the returned page does not change. - A 503 response without
Retry-Afteris still classified asother.
MCP
pagesift_crawl_statusis renamed topagesift_poll_job. The tool polls both crawl and batch scrape jobs, and the new name pairs withpagesift_cancel_job. There is no old-name alias. Migration: change the tool name in the client; arguments are unchanged.- New
pagesift_cancel_jobstops a running crawl or batch scrape job. Pages collected before the cancel stay available throughpagesift_poll_job; work that finishes after the cancel is discarded. Cancelling an already finished job returns its current status, and an unknown or expired id is an error. - Every MCP tool now publishes an
outputSchemawith field descriptions for its structured result. - Input schemas now describe every parameter, including nested action, viewport, location, chunking and scrape-option fields, and document defaults, limits and sitemap enum values.
- Tool descriptions state cache lifetime,
keepSessionlifetime, prompt-versus-actions usage, partial-failure behavior, polling and cancellation rules. - Read-only tools set
idempotentHint: true;pagesift_cancel_jobis idempotent and non-destructive.
Compatibility
- No configuration or data migration is required.
- The MCP rename is a breaking change for clients that hard-code
pagesift_crawl_status. No alias is kept because a duplicate tool would enter the tool set under two names. - HTTP APIs, the CLI, Python, Node and other language bindings are unchanged.
Verification
- Added engine tests for owner-scoped cache isolation (anonymous hit, owner bypass, no owner write-back) and for 503 with and without
Retry-After. - Added MCP tests that every definition has an output schema and every input parameter has a description.
cargo fmt --check,git diff --check, the release identity check and the README checks pass.