Graphon Docs

Changelog

Graphon API changes since the beta launch, newest first, with how to update your code.

  1. November 12, 2026Breakingstorage · mcp · cli

    Read and write object bytes with the storage API, and copy returns the new version

    The storage API reads and writes object bytes: GET …/objects/{keyToken}/content downloads an object, and PUT …/objects/{keyToken}/content uploads one up to the request limit. Delete a prefix deletes every object under a key prefix, as a job. Get and Set object tags read and replace the tags of an object, and Set object retention protects a version. Delete an object takes versionId, and Copy an object takes destinationBucketId and sourceVersionId. graphon objects delete takes several keys, --version-id, or --prefix, and graphon objects tags and graphon objects retain are new. The MCP tools read_object, write_object, and replace_object send one storage API request in place of a presigned S3 request.

    How to update

    • storage Copy an object returns 200 and the new version, not 202 and a job. Read the new version from the response, and stop polling Get a job for a copy.
      // Before
      const { job } = await copy(key); await waitForJob(job.id);
      // After
      const copied = await copy(key); use(copied.versionId);
    • storage Delete an object answers a version under retention with 409 object_locked, not 403 forbidden. A 403 now means the role of the key or an offline bucket.
    • storage A storage fault on Copy an object or Create a bucket returns 500 internal_error, or a code such as object_not_found, no_such_version, or slow_down, where it returned 400 invalid_request. Send the same request again after a 5xx.
    • storage The storage API refuses a keyToken that is not the canonical base64url of the key, such as one with = padding, with 400 invalid_object_key. Encode the key as base64url with no padding.
      // Before
      const token = btoa(key); // can end with =
      // After
      const token = Buffer.from(key).toString('base64url');
    • mcp read_object, write_object, and replace_object return the storage API error codes, such as plan_limit_reached and slow_down, in place of the S3 codes QuotaExceeded and SlowDown.
    • cli Update the CLI. graphon objects copy prints the new version, and its --json output is the version in place of a job.
  2. November 12, 2026api · mcp · cli

    The changelog is in the API, the MCP server, and the CLI

    GET /v1/changelog, the list_changelog MCP tool, and graphon changelog return this changelog, with the steps to update code for each breaking change. Filter by since, breaking, or surface. Every API and storage API response carries x-graphon-last-breaking-change, the date of the newest breaking change, and the CLI tells you to update it when it is older than that date.

  3. November 12, 2026api · storage · s3 · mcp · cli · webhooks · plugin

    The Graphon API is in beta

    The Graphon API, the storage API, the MCP tools, and the CLI are in beta until version 1.0. Before 1.0, a release can make a small breaking change, such as a renamed field or a new error code. Each breaking change appears in this changelog with how to update your code. A larger breaking change gets a deprecation with a calendar end-of-life date first. This list starts at the beta launch.

Was this page helpful?
View as Markdown