Source: docs/integration/compatibility-and-versioning.md

Compatibility and versioning

Forgium versions its published public contract with

Semantic Versioning. The authoritative version is

info.version in the OpenAPI contract, which must match

contract_version in agent-manifest.json.

The changelog records every released public-contract change. It is not a

deployment log and does not describe internal-only changes.

Compatibility policy

Within a major version, existing clients that send valid requests and consume

documented responses continue to work without a code change.

ChangeVersion increment
Documentation clarification or internal implementation change that does not alter the public contractPatch
Backward-compatible addition, such as a new optional request property that the service does not require existing clients to sendMinor
Removal or rename of a route, operation, property, enum value, error code, or capability lifecycle valueMajor
Change to a property's type, format, validation bounds, required status, default, or semanticsMajor
New property emitted in a response object with additionalProperties: falseMajor
New required property in any closed object, or rejecting a previously accepted propertyMajor

Enum additions follow the same rule as response-shape additions when the enum

is published as a closed OpenAPI enum. Protocol enums (for example action and

capability lifecycle states) are therefore not extended within a major

version. Diagnostic codes are intended to be parsed tolerantly: their stable

catalog may grow without changing the meaning of existing codes, but clients

must not treat an unknown diagnostic code as impossible.

Closed objects (additionalProperties: false) are intentionally strict. A

client may validate response objects as strictly as the published schema, so a

new response property can break it even when that property is optional in the

new schema. Such changes require a new major contract version, a migration

guide, and a supported coexistence period or replacement route.

For a minor release, consumers should still regenerate types and review the

changelog before adopting optional additions. Clients must not rely on

undocumented fields, ordering, or platform-default text.

Contract 5 capability boundary

Contract 5 capabilities are read-only. Forgium rejects mutation capabilities,

approval metadata, candidate-resolution metadata, and legacy action or

resolution workflows. Use result_handling: "host_interaction" when a host

application needs a bounded preparation result; the host owns confirmation,

selection, authorization, idempotency, and any mutation.

Changelog

[7.0.0] - 2026-09-11

[6.0.1] - 2026-09-08

[6.0.0] - 2026-09-05

[5.2.0] - 2026-09-03

[5.1.1] - 2026-09-03

[5.1.0] - 2026-09-02

[5.0.1] - 2026-09-01

[5.0.0] - 2026-08-31

[4.1.0] - 2026-08-31

[4.0.0] - 2026-08-28

[3.0.0] - 2026-08-28

[2.7.2] - 2026-08-25

unresolved safe fallback; account authorization and policy remain

authoritative.

[2.7.1] - 2026-08-25

[2.7.0] - 2026-08-24

[2.6.0] - 2026-08-19

[2.5.0] - 2026-08-19

[2.4.1] - 2026-08-12

Upgrade process

Before using a new contract version:

  1. Retrieve agent-manifest.json from the supplied Forgium base URL and
    compare contract_version with the version your integration supports.
  2. Read the changelog and any linked migration guide.
  3. Retrieve and validate the matching
    OpenAPI contract.
  4. Run contract tests in staging before production rollout.

If a major version is not supported by your integration, keep using the

documented compatible version during its announced support window and contact

the Forgium administrator for the migration path.