You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by julio cesar sanchez <jc...@gmail.com> on 2020/07/14 12:09:04 UTC

plugin engines

Historically we have only used/updated plugin engines when a certain
cordova-cli/android/ios version was needed because of a new
feature required by the plugin.

Nowadays, most plugins still (technically) support
old cordova-cli/android/ios versions, but we don't really test on those
versions, so can't be sure. And a few recent PRs I've sent are technically
breaking because I removed old iOS code for iOS 6-8 support. Those versions
have not been supported in cordova-ios for a long time, but the plugins
still supported them as they didn't have engines or the cordova-ios version
used as min supported version still supported them.

So, what I'm proposing is to add engines to all the plugins to require at
least
cordova 9
cordova ios 5.1.0
cordova-android 8.0.0

We should do it before we do a major release of any plugin, but don't mean
we need to do a major release of all plugins right now, just have it in
mind before we do a major release of any plugin.

And I would also like to remove the "protective" engine all plugins have
that points the next major version to cordova >= 100

thoughts?

Network information plugin was updated to require cordova 9
https://github.com/apache/cordova-plugin-network-information/pull/118
camera plugin has a PR to require cordova 9 and cordova-android 9
https://github.com/apache/cordova-plugin-camera/pull/628

Re: plugin engines

Posted by julio cesar sanchez <jc...@gmail.com>.
>  > And I would also like to remove the "protective" engine all plugins have
> that points the next major version to cordova >= 100
>
> +1. I never really understood the rationale behind this. I think it's
> safe to assume that a next plugin major will continue to support the
> cordova cli that it used to support. If it does not, then we can update
> the engines accordingly.
>

The idea was, if a breaking change was introduced that required updating
engines, but we forgot to update the engines, it would prevent the plugin
to install and break user's projects.
But in most cases it ended in cases where breaking changes were introduced,
but they didn't need updating engines and the "protective" entry ended
blocking the plugin install for no reason, so instead of saving us from
trouble, it caused trouble.


>  > So, what I'm proposing is to add engines to all the plugins to require
> at
> least
> cordova 9
> cordova ios 5.1.0
> cordova-android 8.0.0
>
> I think an argument could be made that adding these could be breaking in
> itself and thus warrant a major release, but at the same time, in
> addition to what Julio said, anything pre cordova-android@8 will not be
> accepted by Google Play store due to target API requirements, and the
> same for pre cordova-ios@5.10 because of the wkwebview requirement. So I
> still give a +1 on this.
>

It's not really a breaking change if we replace the existing protective
entry with these new requirements, since the new requirements are only for
the next major release, and won't have any effect until we release a major
version.

Re: plugin engines

Posted by Norman Breau <no...@normanbreau.com>.
 > And I would also like to remove the "protective" engine all plugins have
that points the next major version to cordova >= 100

+1. I never really understood the rationale behind this. I think it's 
safe to assume that a next plugin major will continue to support the 
cordova cli that it used to support. If it does not, then we can update 
the engines accordingly.

 > So, what I'm proposing is to add engines to all the plugins to require at
least
cordova 9
cordova ios 5.1.0
cordova-android 8.0.0

I think an argument could be made that adding these could be breaking in 
itself and thus warrant a major release, but at the same time, in 
addition to what Julio said, anything pre cordova-android@8 will not be 
accepted by Google Play store due to target API requirements, and the 
same for pre cordova-ios@5.10 because of the wkwebview requirement. So I 
still give a +1 on this.

On 2020-07-14 9:09 a.m., julio cesar sanchez wrote:
> Historically we have only used/updated plugin engines when a certain
> cordova-cli/android/ios version was needed because of a new
> feature required by the plugin.
>
> Nowadays, most plugins still (technically) support
> old cordova-cli/android/ios versions, but we don't really test on those
> versions, so can't be sure. And a few recent PRs I've sent are technically
> breaking because I removed old iOS code for iOS 6-8 support. Those versions
> have not been supported in cordova-ios for a long time, but the plugins
> still supported them as they didn't have engines or the cordova-ios version
> used as min supported version still supported them.
>
> So, what I'm proposing is to add engines to all the plugins to require at
> least
> cordova 9
> cordova ios 5.1.0
> cordova-android 8.0.0
>
> We should do it before we do a major release of any plugin, but don't mean
> we need to do a major release of all plugins right now, just have it in
> mind before we do a major release of any plugin.
>
> And I would also like to remove the "protective" engine all plugins have
> that points the next major version to cordova >= 100
>
> thoughts?
>
> Network information plugin was updated to require cordova 9
> https://github.com/apache/cordova-plugin-network-information/pull/118
> camera plugin has a PR to require cordova 9 and cordova-android 9
> https://github.com/apache/cordova-plugin-camera/pull/628
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org