matanshukry / flutter_google_places_sdk

Flutter plugin for google places native sdk
32 stars 68 forks source link

[flutter_google_places_sdk_ios] 0.1.3 contains a breaking change. It should have be versioned as 0.2.0 #68

Open sperochon opened 6 months ago

sperochon commented 6 months ago

Hello,

Thanks for your work on this lib πŸ‘

I've updated my whole Flutter app from 3.3 to 3.16 and all the packages (nearly 70 packages).

I'm now using Xcode 15 which is supporting iOS 12 as the Minimum Deployment target version. (was iOS 11 on Xcode 14)

So now, I would like to upgrade the Minimum Deployment target version of my app from 11 to 12.

But, it appears that the flutter_google_places_sdk package is the only one that requires my iOS app to upgrade the Minimum Deployment target version to 13.0

The root cause is in this commit ("Updating GooglePlaces version restrictions to minimum 7.1.0"): https://github.com/matanshukry/flutter_google_places_sdk/commit/a70d570b944fec240b9c2d35be01137c3f2f3515 which requires iOS 13 minimum (https://developers.google.com/maps/documentation/places/ios-sdk/release-notes#2022-06-27)

It is a breaking change since my app does not compile anymore.

I think the flutter_google_places_sdk_ios released as 0.1.3 should have been released as 0.2.0 instead to inform pubspec about this breaking change and to not upgrade this lib automatically.

Because, even if I set directly previous version number in my pubspec.yaml: flutter_google_places_sdk: 0.3.6

the pubspec.lock automatically specifies the last release of flutter_google_places_sdk_ios (0.1.3 instead of real last compatible one 0.1.2+4)

I think using 0.2.0 should have resolved this issue.

The workaround I have to use right now is to write into my pubspec:

dependency_overrides:
  flutter_google_places_sdk_ios: 0.1.2+4

but that's not really pretty πŸ˜‰

Thanks

sperochon commented 6 months ago

In fact, I had to set all those to make it compiling:

dependencies:
  flutter_google_places_sdk: 0.3.6

dependency_overrides:
  flutter_google_places_sdk_ios: 0.1.2+4
  flutter_google_places_sdk_platform_interface: 0.2.6
  flutter_google_places_sdk_web: 0.1.5
  flutter_google_places_sdk_android: 0.1.7
  flutter_google_places_sdk_windows: 0.1.3
  flutter_google_places_sdk_linux: 0.1.3
  flutter_google_places_sdk_macos: 0.1.3
  flutter_google_places_sdk_http: 0.1.3
Milvintsiss commented 3 months ago

And this one is also a breaking change. Please follow semantic versioning guidelines as it can be a lot of trouble for beginner developers to debug an issue like that.

Thanks for keeping your package up to date anyway :)

matanshukry commented 3 months ago

@Milvintsiss in the iOS package it will be more problematic, since I don't have a mac and future development and changes are likely to come from contributors.

I will make sure to follow the changes and prs more thoroughly to make sure to create the appropriate versioning though - thanks for pointing it out!

Milvintsiss commented 3 months ago

@matanshukry Yes it's not ideal if you cannot test contributions, if you want I can give a hand for the iOS side as long as it does not take too much time (but it seems there are a reasonable amount of PRs πŸ™‚ ). I will not be able to verify the quality of the code as I'm not a native iOS developer but I can ensure that the the code compiles and run as expected.