# Forest Packages – GitHub Release Change Detector

> Forest Packages – GitHub Release Change Detector is a paid API for AI agents from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-20).

Fingerprints the normalized metadata state of a public GitHub release and optionally detects changes by comparing against a caller-provided previous SHA-256 hash.

## Facts

- Endpoint: POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/changed?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forest-packages-github-release-change-detector-fa49abe1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Le7qXU2Fk1Q1xBcuesTkV

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability forest-packages-github-release-change-detector-fa49abe1 -d '<json body>'
```

Example prompt: Has the latest release of openai/openai-python on GitHub changed since my last check? Compare against previous hash a3f1c2e4b5d67890a3f1c2e4b5d67890a3f1c2e4b5d67890a3f1c2e4b5d67890 and include prereleases.

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

Machine-readable contract for active Forest paid capabilities. Unsigned paid calls return HTTP 402 with a PAYMENT-REQUIRED x402 challenge.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "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"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forest-packages-github-release-change-detector-fa49abe1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run](https://www.zero.xyz/host/http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/llms.txt)
