Skip to content

added support to SPM#72

Merged
taljacobson merged 1 commit into
taljacobson:masterfrom
david-nunes-leadtech:added-support-to-spm
Jul 7, 2026
Merged

added support to SPM#72
taljacobson merged 1 commit into
taljacobson:masterfrom
david-nunes-leadtech:added-support-to-spm

Conversation

@david-nunes-leadtech

Copy link
Copy Markdown
Contributor

Summary

This PR updates the Swift Package Manager configuration.

Changes

  • Updated Package.swift
  • Added missing targets
  • Fixed package dependency versions

Testing

  • Tested package integration in a sample project

@david-nunes-leadtech

Copy link
Copy Markdown
Contributor Author

Related issue: #70

@taljacobson

Copy link
Copy Markdown
Owner

thank you.

do you know if this needs to be a major version bump?, do users of the package need to do anything special, a configuration change? or can it be defined as a patch?

i will merge this PR, but will wait a few days before i upload it to pub.dev.

flutter_mailer:
    git:
      url: https://github.com/taljacobson/flutter_mailer.git

@taljacobson taljacobson merged commit 74f876c into taljacobson:master Jul 7, 2026
3 checks passed
@david-nunes-leadtech

Copy link
Copy Markdown
Contributor Author

thank you.

do you know if this needs to be a major version bump?, do users of the package need to do anything special, a configuration change? or can it be defined as a patch?

i will merge this PR, but will wait a few days before i upload it to pub.dev.

flutter_mailer:
    git:
      url: https://github.com/taljacobson/flutter_mailer.git

Hi @taljacobson

Change Consumer impact
Dart API (FlutterMailer, MailOptions, etc.) Unchanged — no major bump needed for the API
Android Unchanged
iOS native layout (Classes/ → SPM package) Internal to the plugin
iOS minimum raised 8.0 → 13.0 Breaking for apps still targeting iOS < 13

Suggested semver

  • Patch (3.0.3) — if we consider the iOS floor change negligible (most Flutter apps are already on iOS 12/13+).
  • Minor (3.1.0) — recommended: adds SPM support + raises the platform requirement, without breaking the Dart API.
  • Major (4.0.0) — only if we want strict semver and to signal that apps on iOS < 13 must stay on 3.0.x.

Recommendation: minor (3.1.0) is the most defensible choice for a PR like this.


Do package users need to do anything?

Usually no, for a typical modern Flutter app.

Flutter 3.44+ (SPM enabled by default)

  • No plugin-specific configuration required.
  • flutter pub get + a normal iOS build is enough.
  • Flutter resolves flutter_mailer via FlutterGeneratedPluginSwiftPackage when SPM is enabled.

Flutter with SPM disabled / CocoaPods-only apps

  • Still works via the updated podspec.
  • No extra setup beyond the existing pod install workflow.

When users might need to act

  1. iOS deployment target ≥ 13.0
    If the app still targets iOS < 13, they must raise the deployment target in Xcode / Podfile / project.pbxproj before upgrading.

  2. Very old Flutter versions
    SPM requires Flutter 3.16+ (experimental), 3.44+ recommended. Older apps can continue using CocoaPods with this plugin.

Users do not need to

  • add enable-swift-package-manager because of this plugin alone (that’s app-level, and often already enabled),
  • change any Dart code,
  • manually add the plugin to Xcode Package Dependencies.

Suggested CHANGELOG entry

### 3.1.0
  [iOS] add Swift Package Manager support while keeping CocoaPods compatibility
  [iOS] raise minimum iOS deployment target from 8.0 to 13.0

Bottom line

This should be a minor release, not a major one, unless we want to be strict about the iOS 13 requirement. For most users on modern Flutter/iOS, no special configuration is required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants