Currently the main branch is pinned for next major release 4.0.0 and is quite 
outdated.

Looking at some options.

Release what is currently in the main branch. I believe you can test the 
current main branch by installing nightly. Again, nightly not recommend in 
production. It could be unstable, constantly changing, and has not been 
reviewed or voted on.
Update to the latest Electron and then prepare a release. 
https://github.com/apache/cordova-electron/pull/263
Release multiple majors…

Follow up with last two options..

There is a lot of breaking changes between our last release, what’s in our main 
branch, and what’s in the latest release Electron.

To sum up some of the main breaking points:

Our current release version uses Electron is 14.2.9
Our current main branch, nightly-4.0.0, has already bumped to 19.0.3

19.0
Removes of Linux IA32 Binary
20.0
Removes macOS 10.11 (El Capitan) and macOS 10.12 (Sierra)
23.0
Removes Windows 7, Windows 8, and Windows 8.1
25.0
Deprecated: 
protocol.{register,intercept}{Buffer,String,Stream,File,Http}Protocol - This is 
something we used to support custom scheme but there is a replacement.
27.0
Removes macOS 10.13 (High Sierra) and macOS 10.14 (Mojave)

There is plenty of other breaking changes (deprecation), but in terms of what 
APIs Cordova uses, its not an issue. You would need to investigate and resolve 
on your end if your using any of the APIs they deprecated.

Full Breaking Changes: https://www.electronjs.org/docs/latest/breaking-changes

I am leaning more towards a single release and just bump to the latest.  The 
main branch already contains the feature to allow custom Electron versions 
<https://github.com/apache/cordova-electron/pull/230>. The above PR #263 should 
support the use of older Electron versions, if people wish to use an older 
versions to build for older OS. The only downside I foresee would come from 
plugins if they choose to use a deprecated or new API.

Also does anyone develop/maintain plugins made for Cordova Electron? Using the 
plugin ecosystem that was introduced in version 2.0.0?

There was a bad pattern that was added accidentally. It doubled wrap the 
arguments that were passed to the native side. This multidimensional array is 
not needed and should be resolved.  As the fix would be breaking change I just 
wanted to hear what others think.

I did an npmjs search for the keyword cordova-electron and it yielded 37 
modules. 

Not all modules maybe be valid. 

Some didn’t appear to have a source folder for electron. 26 of them appear to 
be some variations of one plugin.

Since the number of plugins are small, and possibly still maintained, it might 
be best to make this change now.

Let me know if anyone has thoughts:

-> Merge in PR #263
-> Remove the accidental multidimensional array from plugin.
-> Include an upgrade for all the other dependencies
-> Release a single release with Electron bumped to its latest 28.x


Reply via email to