Skip to content

fix(deps): relax meta constraint to ^1.15.0 for Flutter 3.24.x-3.37.x compat#82

Merged
ab1470 merged 1 commit into
masterfrom
ab/MAGE-499/fix-meta-constraint
Apr 20, 2026
Merged

fix(deps): relax meta constraint to ^1.15.0 for Flutter 3.24.x-3.37.x compat#82
ab1470 merged 1 commit into
masterfrom
ab/MAGE-499/fix-meta-constraint

Conversation

@ab1470

@ab1470 ab1470 commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Description

Relax the meta constraint in pubspec.yaml from ^1.17.0 to ^1.15.0 so the SDK resolves cleanly against Flutter 3.24.x–3.37.x, which pin meta via flutter_test (e.g. Flutter 3.35.4 pins meta: 1.16.0).

Fixes MAGE-499 / #79.

Due Diligence

  • I have tested this on a simulator/emulator or a physical device, on iOS and Android (if applicable).
  • I have added sufficient unit/integration tests of my changes.
  • I have adjusted or added new test cases to team test docs, if applicable.
  • I am confident these changes are implemented with feature parity across iOS and Android (if applicable).

N/A — dependency-only change. Verified via flutter pub get in the example app.

Release/Versioning Considerations

  • Patch Contains internal changes or backwards-compatible bug fixes.
  • Minor Contains changes to the public API.
  • Major Contains breaking changes.
  • Contains readme or migration guide changes.
  • This is planned work for an upcoming release.

Changelog / Code Overview

Problem: Flutter 3.24.x–3.37.x pin meta via flutter_test (Flutter 3.24.0 ships meta: 1.15.0; Flutter 3.35.4 ships meta: 1.16.0). Our caret constraint ^1.17.0 rejected those pinned versions, breaking flutter pub get for anyone on Flutter < 3.x-latest.

Fix: Lower the constraint to ^1.15.0.

Why ^1.15.0 is the right floor:

  • The SDK only uses the @internal annotation from meta (two sites: klaviyo_native_wrapper.dart:274, klaviyo_sdk.dart:294).
  • @internal was introduced in meta 1.3.0 — so any modern version works functionally.
  • Flutter 3.24.0 (our declared minimum via flutter: ">=3.24.0") pins meta: 1.15.0 — so ^1.15.0 is the accurate lower bound. Users never pick their own meta version; Flutter pins it transitively.

Test Plan

  • flutter pub get in example/ resolves cleanly (was failing with ^1.17.0 on Flutter 3.35.4).
  • Reporter (#79) confirms fix on Flutter 3.35.4.

Related Issues/Tickets

… compat

Flutter 3.24.x-3.37.x pin meta via flutter_test (e.g. Flutter 3.35.4 pins
1.16.0), so ^1.17.0 caused dependency resolution failures for anyone on
those Flutter versions.

The SDK only uses the @internal annotation from meta (introduced in 1.3.0),
and Flutter 3.24.0 ships meta 1.15.0 — so ^1.15.0 is the accurate lower
bound matching our declared flutter: >=3.24.0 floor.

Fixes MAGE-499

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ab1470
ab1470 marked this pull request as ready for review April 17, 2026 14:03
@ab1470
ab1470 requested a review from a team as a code owner April 17, 2026 14:03
@klaviyoit
klaviyoit requested a review from amber-klaviyo April 17, 2026 14:03
@ab1470
ab1470 merged commit 13cddb6 into master Apr 20, 2026
11 checks passed
@ab1470
ab1470 deleted the ab/MAGE-499/fix-meta-constraint branch April 20, 2026 17:18
@ab1470 ab1470 mentioned this pull request May 4, 2026
12 tasks
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.

2 participants