Our Blog

Full-stack development and intelligence for blockchains

web3j 4.0 Released

 

Building on the fantastic work of our community, we have taken web3j-4.0.0 out of alpha and made it available as a full release.

As you may recall web3j-4.0.0-alpha was released in time for Devcon4, to provide our community with some sought after features, such as Reactive Streams 2.0, a BIP44 implementation, plus support for PegaSys’ Pantheon client and many other neat changes.

 
web3j is now using Rx Java 2
web3j is now using Rx Java 2

Changeset

  • Improvements to the Solidity code generation: #672
  • Remove deprecated methods: #508
  • Improve implementation of MnemonicUtils: #665
  • Update to CLI usage string: #660
  • Updated OkHttp CipherSuites to include all INFURA CiperSuites: #757
  • Remove *.bin file requirement for contract wrapper generation: #408
  • Prefix message signing according to eth_sign: #761
  • Support for Pantheon specific RPC calls #767#792
  • Exception logging and format #746#784#785
  • NPE for logs without topics #708
  • NPE when an error is encountered before a listener is set #731
  • Allow use of Java keywords as Solidity function names #776
  • Add support for CLEARTEXT HTTP communication #718
  • Publish/subscribe documentation for #458 — #768
  • Fix invalid index error on node disconnection #713
  • Make “crypto” module less dependent on 3rd party libraries (ease Android integration) #618
  • Change the visibility of some methods to ease hardware integration #679

Thank you to all our community and contributors for making this possible.

What do I need to do?

If you were on 3.6 or a slightly older release then you will need to regenerate your smart contract wrappers to use this release, in addition to migrating across your method calls to use the updated function names as per the RxJava 2.0 section; refer to the blog post on the 4.0.0-alpha release for further detail.

What’s next?

We are also working with our community on getting the Android release of web3j up onto 4.0.

For 5.x and beyond we will be looking to streamline our libraries and use Java 9’s Flows.

Thanks

Stay tuned, more exciting news coming soon!

The blk.io team.