Skip to content

v0.9.0 - Windows Support

Compare
Choose a tag to compare
@belemaire belemaire released this 24 Oct 05:56
· 2260 commits to master since this release

This new version does not contain any breaking change.

This release contains many internal refactorings not surfaced to the user (and therefore not part of the release notes) but contributing to the effort of making the platform more stable overall.

This release brings Electrode Native to Windows 🎉 !

It is now be possible to install and use Electrode Native on Windows and Linux in addition to Mac.
The only restriction is the run-ios command that is disabled on Linux and Windows platforms. All other ern commands are available on these platforms.

This release marks the initial one for Windows / Linux (linux was already somewhat supported), therefore some bugs might still be present. Do not hesitate to open an issue to let us know of any bugs you might face on these platforms.

Improvements

APIs

  • [Android] Add proper API implementation project generation along with API implementation project Container injection support. Remaining vague for now, but this is a big one. We are waiting for iOS to be on parity to announce it in more details and update our Getting Started guide with some more magic ! Looking forward to Electrode Native 0.10.0 to reveal more about this exciting feature. #210 #221

Container

  • [iOS] addProject plugin injection directive now allow adding projects that have a Framework target (in addition to project having a static lib (.a) target). #224

  • [Android] A Maven publisher is not required anymore. It is now possible to use GitHub publisher only for Android Container publication #180

  • The replaceInFile plugin injection configuration directive now does a global replace (i.e it replaces all occurences matching a string and not only the first match) #199

Commands

  • Thecreate-miniapp, create-api and create-api-impl commands are now checking if the name used for the project npm package already exists in npm registry to avoid name collisions upon publication #181

  • It is now possible to provide extra JavaScript dependencies to be added to the MiniApps Composite project created through start command. It can be useful to pass in some development dependencies that otherwise wouldn't be included, because devDependencies of MiniApps are not part of the MiniApps Composite. #183

  • A new option flag, --usePreviousEmulator/-u can be passed to run-ios and run-android commands to use the same emulator that was used on previous run of the command and bypass emulator selection prompt. If this option is not provided, the emulator selection prompt will still be shown. #207

New features

Container

  • [iOS] Add new addFrameworkSearchPath plugin injection directive. #224

  • [iOS] Add new plugin injection directive addFrameworkReference to allow injecting external Frameworks references in a Container #182

Commands

  • Introduce cauldron regen-container command. This command can be used to trigger the generation and publication of a new Container version for a native application version stored in the Cauldron. This command can be useful during development, or in case a Container generation failed (maybe because of an invalid plugin configuration). It allows triggering container generation even if there is no state change to the Container (no MiniApp(s) added/removed/updated and/or no Dependency(ies) added/removed/updated) #191

Platform

  • Improve shelljs usage. #197

  • All shell commands executed via shelljs are now logged in trace log level. (by default ern log level is set to info. Log level can be changed through ern --log-level <level>). #204

  • Spinners are now disabled for debug and trace log level as they are not adding any valuable log information and pollute the log output. #201

Thanks

Kudos to all external contributors to this version (code, doc or bug reports) 👏

@sachinjha1
@wbowlin
@anthonywebb
@caoyangs
@swashcap
@jyaunches
@minsoe
@kevinlho
@briviere