Remix IDE v0.7.5 Released

This release is deployed to https://remix.ethereum.org and is available on npm. The electron desktop app will soon be provided.

For more info:

https://github.com/ethereum/remix-ide/releases/tag/v0.7.5

This release beside some bug fixes includes following changes:

1. Solidity 0.5.0 support (Yann Levreau and Liana Husikyan)

Recently Solidity 0.5.0 was released with some major breaking changes. Remix now supports the new Solidity version and we’ve updated the code in tests and in examples. Check it out!

2. Plugins (Yann Levreau and GrandSchtroumpf)

In Settings tab you can find some new plugins

Oraclize: Oraclize provides oracle service to bring information to blockchain from outside sources. Use the Oraclize API in your smart contract with the plugin to send Oraclize queries and receive responses.

Solium : You can now use this linter for Solidity. Just open the plugin, set your rules, and lint your code.

EthDoc : Generate a documentation page for your contracts based on our Ethereum Natural Specification Format.(GrandSchtroumpf)

OpenZeppelin : Import any contract from OpenZepplin in one click!

Vyper : The Vyper plugin enables you to compile your Vyper contract right into Remix (it includes Ballot.vy as code sample). (Ryuya Nakamura)

Slither & Mythril : With Slither & Mythril you’ve got a new layer of static analysis for your contract.

Pipeline : Thanks to Pipeline (Which is like a brand new app :) ) you’ll be able to visually build smart-contracts, and import them into the remix IDE. Check out the demo for more details. (Loredana Cirstea)

If you’re interested in building your own plugin, please checkout this simple tutorial and join us on Gitter.

Plugins are still a WIP, and we welcome any feedback!

3. Terminal

Solidity compiler can be used in JS scripts.(Yann Levreau)

let d = {
run: () => {
// code to deploy contract
console.log(arguments)
}
}
let solidity = compilers['solidity']
solidity.event.register('compilationFisnished', d, d.run)
solidity.compile({'Escrow.sol': { content: code }})

Use remix.loadgist('7d42ec4651990a1e536c0fe79f8448b5')in Remix IDE terminal to load an example script, and run with remix.execute()

4. remixd

remixd, the tool which allows Remix IDE to access your local file via websocket connection, has a --read-onlyflag now, to run it in read-only mode. (Yann Levreau)

This is very helpful if you usually use another editor.

Read more about how to install and use remixd module here.

5. Debugger

We did a heavy refactoring of the debugger code to extract the logic from views and moved it to separate module to prepare for the API improvements.(Iuri Matias and Yann Levreau)

6. Breaking change

The format of the metadata file has been changed (see settings tab/contract metadata)(Yann Levreau)

Instead of containing only data for linking libraries, we’ve added additional information coming from the compilation result like bytecode, deployedBytecode, gasEstimates, methodIdentifiers, abi :

This metadata file allows you to

  • use the bytecodefor deploying contract
  • verify contract using the deployedBytecode
  • call / transact with a contract using the abi and web3 (or ethers.js)
  • use Solidity gas estimation and methodIdentifiers

within the terminal.

remix.loadurl(‘https://github.com/ethereum/remix-workshops/proxyContractAwardToken/global.js')
remix.loadurl(‘https://github.com/ethereum/remix-workshops/proxyContractAwardToken/deploy.js')
remix.loadurl(‘https://github.com/ethereum/remix-workshops/proxyContractAwardToken/AwardTokenProxy.json')

The next release will likely come in a few weeks with Constantinople hard fork support and some UI improvements.

Many thanks to all our contributors for their effort!