diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 404071c..33af41f 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.1.13 + +- Fixed Swift Package Manager support for iOS and macOS: the package now uses the layout Flutter 3.44+ expects (#213) +- Allow `flutter_fgbg` 0.8.x, which adds Swift Package Manager support, on Dart 3.8+ (#218) +- Android: changed the plugin namespace to `com.segment.analytics.flutter` so it no longer collides with analytics-kotlin under AGP 9 (#215) +- Web: the anonymousId read from analytics.js localStorage no longer includes surrounding quotes. Affected users' anonymousId will now match analytics.js (#197) +- Fixed `context.library.version` and the User-Agent reporting 1.1.11 in 1.1.12 + ## 1.1.12 - Added Swift Package Manager support for iOS and macOS diff --git a/packages/core/lib/version.dart b/packages/core/lib/version.dart index d2e2607..03bddbe 100644 --- a/packages/core/lib/version.dart +++ b/packages/core/lib/version.dart @@ -1 +1 @@ -const segmentVersion = "1.1.11"; +const segmentVersion = "1.1.13"; diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml index b290428..5f64517 100644 --- a/packages/core/pubspec.yaml +++ b/packages/core/pubspec.yaml @@ -1,6 +1,6 @@ name: segment_analytics description: The hassle-free way to add Segment analytics to your Flutter app. -version: 1.1.12 +version: 1.1.13 homepage: https://github.com/segmentio/analytics_flutter#readme repository: https://github.com/segmentio/analytics_flutter/tree/main/packages/core#readme issue_tracker: https://github.com/segmentio/analytics_flutter/issues diff --git a/packages/core/test/version_test.dart b/packages/core/test/version_test.dart new file mode 100644 index 0000000..22e117a --- /dev/null +++ b/packages/core/test/version_test.dart @@ -0,0 +1,15 @@ +import 'dart:io'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:segment_analytics/version.dart'; + +void main() { + // segmentVersion is sent as context.library.version and in the User-Agent, + // and is bumped by hand alongside pubspec.yaml at release time. + test('segmentVersion matches the pubspec version', () { + final pubspec = File('pubspec.yaml').readAsStringSync(); + final match = RegExp(r'^version:\s*(\S+)', multiLine: true).firstMatch(pubspec); + expect(match, isNotNull); + expect(segmentVersion, match!.group(1)); + }); +} diff --git a/packages/plugins/plugin_idfa/CHANGELOG.md b/packages/plugins/plugin_idfa/CHANGELOG.md index 2de6d4c..60291d1 100644 --- a/packages/plugins/plugin_idfa/CHANGELOG.md +++ b/packages/plugins/plugin_idfa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.3 + +- Fixed Swift Package Manager support for iOS: the package now uses the layout Flutter 3.44+ expects + ## 1.0.2 - Added Swift Package Manager support for iOS diff --git a/packages/plugins/plugin_idfa/build_pigeon_plugins.sh b/packages/plugins/plugin_idfa/build_pigeon_plugins.sh index 8e2b17e..6ab03e9 100755 --- a/packages/plugins/plugin_idfa/build_pigeon_plugins.sh +++ b/packages/plugins/plugin_idfa/build_pigeon_plugins.sh @@ -1,6 +1,6 @@ -mkdir -p ios/Classes +mkdir -p ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa flutter pub run pigeon \ --input pigeon/idfa.dart \ --dart_out lib/native_idfa.dart \ - --experimental_swift_out ios/Classes/Idfa.swift \ No newline at end of file + --experimental_swift_out ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/Idfa.swift \ No newline at end of file diff --git a/packages/plugins/plugin_idfa/ios/.gitignore b/packages/plugins/plugin_idfa/ios/.gitignore index 0c88507..7b634ab 100644 --- a/packages/plugins/plugin_idfa/ios/.gitignore +++ b/packages/plugins/plugin_idfa/ios/.gitignore @@ -35,4 +35,7 @@ Icon? /Flutter/Generated.xcconfig /Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file +/Flutter/flutter_export_environment.sh + +.build/ +.swiftpm/ \ No newline at end of file diff --git a/packages/plugins/plugin_idfa/ios/Package.swift b/packages/plugins/plugin_idfa/ios/Package.swift deleted file mode 100644 index 5b31d4b..0000000 --- a/packages/plugins/plugin_idfa/ios/Package.swift +++ /dev/null @@ -1,26 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "segment_analytics_plugin_idfa", - platforms: [ - .iOS("12.0"), - ], - products: [ - .library(name: "segment-analytics-plugin-idfa", type: .static, targets: ["segment_analytics_plugin_idfa"]) - ], - targets: [ - .target( - name: "segment_analytics_plugin_idfa", - dependencies: [], - path: "Classes", - linkerSettings: [ - .linkedFramework("Flutter", .when(platforms: [.iOS])), - .linkedFramework("AdSupport", .when(platforms: [.iOS])), - .linkedFramework("AppTrackingTransparency", .when(platforms: [.iOS])), - ] - ) - ] -) diff --git a/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa.podspec b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa.podspec index e9dc088..2248d07 100644 --- a/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa.podspec +++ b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa.podspec @@ -13,7 +13,7 @@ The hassle-free way to add Segment analytics to your Flutter app. s.license = { :file => '../LICENSE' } s.author = { 'Segment' => 'support@segment.com' } s.source = { :path => '.' } - s.source_files = 'Classes/**/*' + s.source_files = 'segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/**/*.swift' s.dependency 'Flutter' s.platform = :ios, '9.0' diff --git a/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Package.swift b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Package.swift new file mode 100644 index 0000000..6f04671 --- /dev/null +++ b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Package.swift @@ -0,0 +1,29 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "segment_analytics_plugin_idfa", + platforms: [ + .iOS("13.0"), + ], + products: [ + .library(name: "segment-analytics-plugin-idfa", targets: ["segment_analytics_plugin_idfa"]), + ], + dependencies: [ + .package(name: "FlutterFramework", path: "../FlutterFramework"), + ], + targets: [ + .target( + name: "segment_analytics_plugin_idfa", + dependencies: [ + .product(name: "FlutterFramework", package: "FlutterFramework"), + ], + linkerSettings: [ + .linkedFramework("AdSupport"), + .linkedFramework("AppTrackingTransparency"), + ] + ), + ] +) diff --git a/packages/plugins/plugin_idfa/ios/Classes/Idfa.swift b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/Idfa.swift similarity index 100% rename from packages/plugins/plugin_idfa/ios/Classes/Idfa.swift rename to packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/Idfa.swift diff --git a/packages/plugins/plugin_idfa/ios/Classes/PluginIdfaPlugin.swift b/packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/PluginIdfaPlugin.swift similarity index 100% rename from packages/plugins/plugin_idfa/ios/Classes/PluginIdfaPlugin.swift rename to packages/plugins/plugin_idfa/ios/segment_analytics_plugin_idfa/Sources/segment_analytics_plugin_idfa/PluginIdfaPlugin.swift diff --git a/packages/plugins/plugin_idfa/pubspec.yaml b/packages/plugins/plugin_idfa/pubspec.yaml index 4c66d4b..93a15f1 100644 --- a/packages/plugins/plugin_idfa/pubspec.yaml +++ b/packages/plugins/plugin_idfa/pubspec.yaml @@ -1,6 +1,6 @@ name: segment_analytics_plugin_idfa description: The hassle-free way to add Segment analytics to your Flutter app. -version: 1.0.2 +version: 1.0.3 homepage: https://github.com/segmentio/analytics_flutter#readme repository: https://github.com/segmentio/analytics_flutter/tree/main/packages/plugins/plugin_idfa#readme issue_tracker: https://github.com/segmentio/analytics_flutter/issues