Fix repeated event config diffs when API versions are inherited - #8690
Merged
Merged
Conversation
cdarne
force-pushed
the
events-api-version-alignment
branch
from
September 28, 2026 19:01
dd137de to
472ddc3
Compare
Core fills [events].api_version into event subscriptions that omit it, so the remote config carries a version the local TOML doesn't. Drop a subscription api_version equal to the events default when reading remote config. Deploy compares both sides through this transform, so unchanged events no longer show as updated, and config link only writes overrides. Co-Authored-By: Pierre-Olivier Bédard <pobed2@gmail.com>
cdarne
force-pushed
the
events-api-version-alignment
branch
from
September 28, 2026 21:34
472ddc3 to
e2e1eec
Compare
cdarne
marked this pull request as ready for review
September 28, 2026 21:46
rezaansyed
approved these changes
Sep 28, 2026
rezaansyed
left a comment
Contributor
There was a problem hiding this comment.
🎩 'd the changes and work as expected
dpeacock
approved these changes
Sep 28, 2026
isaacroldan
reviewed
Sep 29, 2026
isaacroldan
approved these changes
Sep 29, 2026
4 tasks done
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.
WHY are these changes introduced?
Supersedes #8677, co-authored with @pobed2: same fix, applied only when reading remote config (see below). Its deploy regression tests are kept.
When an events subscription inherits
[events].api_version,shopify app deployreportsevents (updated)on every deploy (or requires--allow-updatesin CI), andshopify app config linkwrites the version into every subscription. Core stores the inherited version on each subscription, but the CLI compares it with a TOML that omits it.Example
shopify.app.toml:WHAT is this pull request doing?
When reading remote config (
transformToEventsConfig), drops a subscriptionapi_versionequal to[events].api_versionand keeps overrides. Deploy compares local and remote config through this same transform, so this one change fixes both commands.app deploy, events unchangedevents (updated)every timeapp config linkapi_versionwritten on every subscriptionconfig linkalso removes an explicitapi_versionequal to the default: Core stores it the same way as an inherited one, so such subscriptions follow later[events].api_versionbumps.[[events.subscription]]) is handled; single-subscription modules follow with Support single-subscription events modules when reading remote configuration #8425.How to manually test your changes?
With an app whose
shopify.app.tomlsets[events].api_versionand omitsapi_versionon a subscription:eventsupdate.config linkdoesn't addapi_versionto subscriptions using the default; an overridingapi_versionis kept.Checklist
patchfor bug fixes ·minorfor new features ·majorfor breaking changes) and added a changeset withpnpm changeset add