Skip to content

fix(generator): restore JSON helper compatibility on supported SDKs - #248

Draft
leoafarias wants to merge 1 commit into
mainfrom
fix/generator-source-helper
Draft

leoafarias wants to merge 1 commit into
mainfrom
fix/generator-source-helper

Conversation

@leoafarias

@leoafarias leoafarias commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bound source_helper to >=1.3.10 <1.4.0 so json_serializable 6.14 compiles on the supported Dart 3.9–3.11 SDKs. Helper 1.4 exports names that conflict with that generator's local helpers. The upstream generator fix requires Dart 3.12.

Keep SDK floors, every test/assertion, and coordinated package versions unchanged. Newer SDKs can still select json_serializable 6.15; this does not cap or downgrade that generator. Add Unreleased notes without editing published release sections. Release workflows stay unchanged. Published 1.7.0 remains immutable; normal coordinated release preparation is separate.

This compatibility fix is separate from the test-startup optimization in #247.

Validation

  • Dart 3.9 strict generator analysis — passed.
  • Dart 3.9 existing real-consumer JSON build tests — all 3 passed, no skips, including ordinary JSON-generator coexistence and generated-code runtime checks.
  • dart run melos run analyze --no-select on Dart 3.13.7 — passed.
  • dart run melos run test --no-select — passed, including root, pure-Dart, full generator, and Flutter suites.
  • dart run melos run test:gen --no-select — all 394 cases passed, no skips.
  • git diff --check — passed.

Four unchanged credential-gated Firebase live tests were skipped in the full workspace run. No skip condition, fixture, or assertion changed. Local Flutter's automatic analyzer-file migration was restored; it is not part of this PR.

Fresh CI and release preflight passed at exact head 60aa99f2180790c8ccf35fd050b99bbad68dbc2e. All nine observed jobs passed: full packages/Chrome, minimum Dart and Flutter, API compatibility, deterministic generation, publish dry-run, JSON Schema batch validation, and two managed security analyses. Final strict workspace analysis also passed after restoring the original analyzer configuration.

Fresh independent final-diff review remains pending. Keep this PR as a draft until that review passes. No SDK-floor or failing-check exemption.

Compatibility

The helper bound is temporary. Consumers that separately require source_helper 1.4 cannot resolve until a compatible older-SDK upstream fix is available or maintainers separately revise supported SDKs. Revert this isolated manifest/changelog change if it causes a regression; the original older-SDK compiler failure would then remain.

Bound source_helper below 1.4 to avoid ambiguous helper imports with json_serializable 6.14 on Dart 3.9 through 3.11. Keep modern JSON generator selection, SDK floors, coordinated versions, and release safeguards unchanged.

This branch has not been deployed

No deployments
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