{"uid":"cap_Le7qXU2Fk1Q1xBcuesTkV","slug":"forest-packages-github-release-change-detector-fa49abe1","name":"Forest Packages – GitHub Release Change Detector","description":"Machine-readable contract for active Forest paid capabilities. Unsigned paid calls return HTTP 402 with a PAYMENT-REQUIRED x402 challenge.","url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/changed?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"release":{"type":"string","maxLength":128,"minLength":1,"description":"Release identifier used to resolve a public asset."},"repository":{"type":"string","maxLength":300,"minLength":3,"description":"Public owner/name repository to inspect."},"previous_hash":{"type":["string","null"],"pattern":"^[a-fA-F0-9]{64}$","description":"Earlier result hash used to detect a material change."},"allow_prerelease":{"type":"boolean","description":"Public allow prerelease value used to scope this lookup."}}},"responseSchema":{"type":"json","example":{"ok":true,"data":{"scope":"github_release_metadata_only_no_asset_download","changed":false,"release":{"tag":"example","name":"example","draft":false,"prerelease":false,"asset_count":0,"published_at":"example"},"new_hash":"0000000000000000000000000000000000000000000000000000000000000000","repository":"example","previous_hash":"example","allow_prerelease":false,"requested_release":"example","fingerprint_fields":["tag","name","draft","prerelease","published_at","asset_count"]},"meta":{"cache":"miss","provider":"github-releases","checked_at":"2026-01-01T00:00:00.000Z","duration_ms":0},"version":"1","capability":"release.changed"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ZuNJgDnBVY3nw93PFHOMy","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fingerprints the normalized metadata state of a public GitHub release and optionally detects changes by comparing against a caller-provided previous SHA-256 hash.","exampleAgentPrompt":"Has the latest release of openai/openai-python on GitHub changed since my last check? Compare against previous hash a3f1c2e4b5d67890a3f1c2e4b5d67890a3f1c2e4b5d67890a3f1c2e4b5d67890 and include prereleases.","exampleUseCases":[{"title":"CI pipeline release change guard","prompt":"Check if the v2.1.0 release of hashicorp/terraform has changed since my last snapshot — compare against hash d4e5f6a7b8c90123d4e5f6a7b8c90123d4e5f6a7b8c90123d4e5f6a7b8c90123 and don't include prereleases."},{"title":"Dependency update monitor for automation","prompt":"Fingerprint the latest release of facebook/react and tell me if it's changed compared to previous hash 1a2b3c4d5e6f78901a2b3c4d5e6f78901a2b3c4d5e6f78901a2b3c4d5e6f7890, including prerelease versions."},{"title":"Security audit release integrity check","prompt":"I need to verify whether the v1.9.3 release of pallets/flask has been tampered with or updated — run a fingerprint on it with no previous hash so I get a fresh baseline."}],"resultDescription":"Returns a normalized SHA-256 fingerprint of the GitHub release metadata state, and if a previous_hash was provided, indicates whether a material change has occurred between the two snapshots. Does not download assets or inspect repository contents.","failureModes":["Repository not found or is private — returns an error indicating inaccessible repository","Release identifier not found — returns error when the specified tag or release name does not exist","Invalid previous_hash format — rejected if hash does not match 64-character hex pattern","GitHub API rate limiting — may return errors during high-traffic periods","Malformed repository string (not owner/name format) — validation error"],"whenToPreferThis":"Use this endpoint when you need to detect whether a specific public GitHub release has changed since a previous check, without downloading assets or modifying any state. Ideal for CI/CD pipelines, dependency monitoring agents, or security audits that need lightweight, read-only release integrity verification. Prefer over scraping GitHub directly when you need a normalized, hashable snapshot suitable for programmatic change detection.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T12:38:01.807Z","isFirstParty":false,"canonicalSlug":"forest-packages-github-release-change-detector-fa49abe1"}