To Update to 2.6.0

Embark’s npm package has changed from embark-framework to embark, this sometimes can create conflicts. To update, first uninstall embark-framework 1 to avoid any conflicts with npm uninstall -g embark-framework followed by npm install -g embark

to update from 2.5.2:

npm install -g [email protected]

afterwards make sure embark version returns 2.6.0.

In this release

You no longer need to wait for new releases of embark when a new version of web3.js or solc comes out as this can be now configured. Embark will take care of downloading and using the new versions. You can specify a list of nodes the dapp should attempt to connect to (instead of being limited 1). Whisper 5 is now supported.

Support for web3.js 1.0 and (nearly) ANY web3.js version

Embark now supports web3.js 1.0 by default, however you can now also specify exactly which version of web3.js you want to use so you can still use 0.19.0 or newer versions of 1.0.

in config/contracts.json

{
"default": {
....
"versions": {
"web3.js": "1.0.0-beta"
}
...
}

If ,for example, you wish to use 0.19.0 you can specify it in the config as "web3.js": "0.19.0"

Support for ANY solc version

You can also configure the solc compiler you wish to use and it should work, so long that solc release does not contain breaking API changes.

config/contracts.json

{
"default": {
....
"versions": {
"solc": "0.4.17"
}
...
}

Specify nodes DApp should attempt to connect to

You can specify which nodes your dapp should try to connect in each enviroment. “$WEB3” is a special keyword to specify the existing web3 object.
The following config would attempt to use the existing web3 object and if unavailable attempt to connect to localhost:8545

config/contracts.json

{
"development": {
...
"dappConnection": [
"$WEB3",
"http://localhost:8545"
],
...
}

Specify node to deploy to

Before Embark would assume this would be the same as the one configured in blockchain.json which could lead to some ackward configs for some devs, this has now been changed so you can specify it in the contracts config.

config/contracts.json

{
"development": {
...
"deployment": {
"host": "localhost",
"port": 8545,
"type": "rpc"
},
...
}

Specify node to connect whisper to

config/communication.json

{
"default": {
"enabled": true,
"provider": "whisper",
"available_providers": ["whisper", "orbit"],
"connection": {
"host": "localhost",
"port": 8546,
"type": "ws"
}
}
}

Specify url to get assets

You can specify for each environment what IPFS node to get the assets from

config/storage.json

{
...
"development": {
....
"getUrl": "http://localhost:8080/ipfs/"
},
...
"livenet": {
....
"getUrl": "https://gateway.ipfs.io/ipfs/"
}
}

Plugin API changes

plugin

The following events are deprecated: abi-vanila, abi, abi-contracts-vanila, abi-vanila-deployment and have been renamed to code-vanila, code, code-contracts-vanila, code-vanila-deployment

plugins that use these events will get deprecation warnings, the deprecated events will be removed in 2.7.0

New Blockchain options

geth

The following fields are now available at config/blockchain.json to enhance embark blockchain:

Misc Bugfixes and Improvements

bug fixes

Thank you

A big thanks to all that contributed to this release including Todd Baur and Jacob Beauchamp.

Chatroom

To discuss about Embark or Dapp development, please join us at the gitter channel