Skip to content

[FSSDK-13297] prep for release 4.0.0 - #125

Merged
muzahidul-opti merged 1 commit into
masterfrom
muzahidul-islam/prep-4.0.0
Oct 15, 2026
Merged

muzahidul-opti merged 1 commit into
masterfrom
muzahidul-islam/prep-4.0.0

Conversation

@muzahidul-opti

Copy link
Copy Markdown
Contributor

Summary

Release PR for 4.0.0. It's the first release through the automated pipeline from #122.

 pubspec.yaml            version: 3.8.0 -> 4.0.0
 lib/package_info.dart   version = '3.8.0' -> '4.0.0'
 README.md               optimizely_flutter_sdk: ^3.8.0 -> ^4.0.0
 CHANGELOG.md
+## 4.0.0
+### Breaking Changes   SPM-only iOS (#119), iOS 15 / Flutter 3.44 (#119), Swift SDK 6.0.0 (#124)
+### Migration          4 steps + link to README "Migrating from CocoaPods"
sequenceDiagram
    participant PR as This PR
    participant R as release.yml
    participant P as publish.yml
    PR->>R: pull_request: validate (versions, CHANGELOG, dry-run)
    PR->>R: merge
    R->>P: push tag v4.0.0
    Note over P: waits for approval (pub.dev environment)
    P->>P: publish → GitHub release "Release 4.0.0"
Loading

Evidence

  • Before: 3.8.0 in all version files; no ## 4.0.0 section.
    After (local, release.yml checks):
    validate ok: 4.0.0          # pubspec, package_info, README, CHANGELOG agree
    no v4.0.0 tag yet           # release.yml will tag on merge
    release-note lines: 19      # notes publish.yml will extract
    flutter pub publish --dry-run → Package has 0 warnings.
    
  • Setup done: pub.dev environment (required reviewers, tags v* only) and pub.dev Automated publishing (repo, v{{version}}, push events, environment pub.dev).

Merge Danger

Door: one-way. Merging tags v4.0.0, and once approved, 4.0.0 is on pub.dev for good (it can be retracted but not deleted). The approval in Actions is the last point where you can still stop it.
Blast Radius:

  • 4.0.0 is a major version, so consumers on ^3.x don't get it automatically. Anyone upgrading needs SPM, iOS 15+ and Flutter 3.44+.
  • First run of publish.yml: if OIDC or CI_USER_TOKEN misconfiguration fails a step, nothing is published. Fix the setting, then "Re-run failed jobs".
  • After release: notify the documentation team and update the Confluence release page.

Issues

  • FSSDK-13297

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@pvcraven pvcraven left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update to version 4.0.0. Looks good to me. Claude didn't come up with much:

  1. P2: The CHANGELOG is dated October 16th, and the GitHub release notes copy that section. Merge and approve on the 16th, or update the date right before merging.
  2. P2: As soon as the PR merges, the tag is pushed without waiting for CI on master. The two pub.dev approvers should check master is green before approving, since the publish can't be undone.
  3. P3: The CHANGELOG doesn't mention that the experimental macOS plugin is also SPM-only now.
  4. P3, can be a follow-up: The example app's pubspec.yaml still caps Dart below 3.0, so it fails flutter pub get on Flutter 3.44. pub.dev shows the example on the package page, but this doesn't affect customers who just depend on the package.
  5. P4, nits:
    • The iOS CI job still doesn't compile iOS, though the integration tests now cover that.
    • The Dart lower bound of 2.16.2 is misleading now that Flutter 3.44 is required.

@muzahidul-opti
muzahidul-opti merged commit 6d18d33 into master Oct 15, 2026
10 checks passed
@muzahidul-opti
muzahidul-opti deleted the muzahidul-islam/prep-4.0.0 branch October 15, 2026 19:24
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