Skip to content

fix: bypass plugin compatibility check for integration branch versions#281

Open
ariane-emory wants to merge 1 commit into
devfrom
fix/integration-version-plugin-compatibility
Open

fix: bypass plugin compatibility check for integration branch versions#281
ariane-emory wants to merge 1 commit into
devfrom
fix/integration-version-plugin-compatibility

Conversation

@ariane-emory
Copy link
Copy Markdown
Owner

Fix: Plugin compatibility check fails for integration branch versions

Problem

Integration branches use a YYYY-MM-DD-HH-MM version format (e.g., 2026-05-19-16-17) instead of SemVer. The checkPluginCompatibility function in packages/opencode/src/plugin/shared.ts detects integration versions but still calls semver.satisfies() on them. Since this format is not valid SemVer, satisfies() always returns false, causing plugins to fail loading with a "plugin incompatible" error.

Impact

Any plugin that declares an engines.opencode version range in its package.json will be rejected when running an integration branch build. This prevents plugins from registering their providers, models, or other features.

Fix

Integration branch versions now bypass the compatibility check entirely. This treats integration branches like full release builds where all plugins load normally, which is the expected behavior for integration testing.

Files Changed

  • packages/opencode/src/plugin/shared.ts — Added early return for integration versions in checkPluginCompatibility

Testing

  • Typecheck passes
  • Verified that semver.satisfies("2026-05-19-16-17", ">=0.2.0") returns false (the bug)
  • After fix, integration versions skip the check and plugins load normally

Integration branches use YYYY-MM-DD-HH-MM version format which is not
valid SemVer. The previous code detected integration versions but still
called semver.satisfies() which always returned false, causing plugins
to fail loading with 'plugin incompatible' errors.

Since integration branches should act like full release builds with all
features enabled, we now skip the compatibility check entirely for
integration versions, allowing plugins to load normally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant