Skip to content

spec: add compatibility property to Release Document#89

Open
toderash wants to merge 1 commit into
mainfrom
spec/compatibility
Open

spec: add compatibility property to Release Document#89
toderash wants to merge 1 commit into
mainfrom
spec/compatibility

Conversation

@toderash
Copy link
Copy Markdown
Member

@toderash toderash commented May 8, 2026

Summary

  • Adds an optional compatibility map to the Release Document
  • Complements requires (hard floor) with a tested range, using the same key format (env:* / DID) and value syntax (version constraint strings)
  • Clients MUST NOT block installation when the environment exceeds the compatibility ceiling — it is informational, not a hard constraint

Motivation

requires expresses minimum versions needed for the package to function. It cannot express the tested ceiling — the upper bound of platform versions against which the publisher has verified correct behaviour. Without a structured field for this, clients have no machine-readable way to warn users that their environment is beyond the tested range.

The WordPress approach (Tested up to: in readme.txt) is a single free-form string with no ability to express PHP or other platform ceilings, and is frequently stale. This field uses the same structured format as requires, making it straightforward for clients and build tools that already handle requires to support compatibility with minimal additional work.

Test plan

  • Review property definition against requires and suggests for consistency
  • Confirm example JSON is valid and illustrates floor/ceiling relationship clearly
  • Confirm _links row alignment in updated property table

🤖 Generated with Claude Code

Adds an optional `compatibility` map to the Release Document for declaring
the tested and verified version range of a release against its platform
dependencies. Complements `requires` (hard floor) with a tested ceiling,
enabling clients and aggregators to surface informed warnings when the
environment exceeds the verified range without blocking installation.

Signed-off-by: toderash <brent@toderash.net>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant