Skip to content

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 08 Nov 04:48
· 5 commits to main since this release

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 (owner set 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-After is now classified as throttled in the itna attempt trace and in egress-pool outcomes. The header was present in the response but never reached classify, so the trace said other while the classifier's contract said throttled. The status of the returned page does not change.
  • A 503 response without Retry-After is still classified as other.

MCP

  • pagesift_crawl_status is renamed to pagesift_poll_job. The tool polls both crawl and batch scrape jobs, and the new name pairs with pagesift_cancel_job. There is no old-name alias. Migration: change the tool name in the client; arguments are unchanged.
  • New pagesift_cancel_job stops a running crawl or batch scrape job. Pages collected before the cancel stay available through pagesift_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 outputSchema with 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, keepSession lifetime, prompt-versus-actions usage, partial-failure behavior, polling and cancellation rules.
  • Read-only tools set idempotentHint: true; pagesift_cancel_job is 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.