fix: bypass plugin compatibility check for integration branch versions#281
Open
ariane-emory wants to merge 1 commit into
Open
fix: bypass plugin compatibility check for integration branch versions#281ariane-emory wants to merge 1 commit into
ariane-emory wants to merge 1 commit into
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix: Plugin compatibility check fails for integration branch versions
Problem
Integration branches use a
YYYY-MM-DD-HH-MMversion format (e.g.,2026-05-19-16-17) instead of SemVer. ThecheckPluginCompatibilityfunction inpackages/opencode/src/plugin/shared.tsdetects integration versions but still callssemver.satisfies()on them. Since this format is not valid SemVer,satisfies()always returnsfalse, causing plugins to fail loading with a "plugin incompatible" error.Impact
Any plugin that declares an
engines.opencodeversion range in itspackage.jsonwill 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 incheckPluginCompatibilityTesting
semver.satisfies("2026-05-19-16-17", ">=0.2.0")returnsfalse(the bug)