Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

Releases: trufflesuite/drizzle-legacy

v1.4.0 - improved redux store configuration, bug fixes and more

05 Apr 19:28
13b183d
Compare
Choose a tag to compare

There's an old saying: April showers bring May flowers. Well, we don’t know much about flowers, though we hope this release will nurture your flourishing dapps! 🌼 We've spent the last few weeks improving Drizzle so your developer experience continues to be productive, efficient and fun.

Help us help you! 🤜🤛 It's the front-end's time to shine in the blockchain space and to that end, we'd appreciate getting your feedback both on Drizzle itself and the general state of dapp front-end dev through this brief survey.

What's new

Notable Improvements

Improved Redux State Creation

📖 Docs: Using Drizzle's Redux Store

Drizzle is ideal for synchronizing contract state with a user interface, but as Dapps grow in complexity we foresee growing demand for coordination with off-chain services. Dapps now have the ability to more easily integrate with Drizzle's redux store for state management and event notification.

Specifically generateStore can be configured to mange a Dapp's reducers and sagas for better state management, and it accepts redux middleware functions to handle use cases where the Dapp needs to integrate with other services based on Drizzle events. #147 is one compelling use case for this feature.

The New generateStore API

generateStore creates the Redux store by combining drizzleOptions, application reducers, sagas, and middlewares. You can pass these in via a configuration object.

Parameters:

  • config.drizzleOptions - drizzle configuration object, required
  • config.reducers - application specific reducers, defaults to {}
  • config.appSagas - application sagas, defaults to []
  • config.appMiddlewares - application middlewares, defaults to []
  • config.disableReduxDevTools - boolean to enable/disable Redux devtools hook, defaults to false

Return Value:

  • A configured Redux store

New Tutorial: Drizzle & Contract Events

👨‍🏫 Tutorial: Drizzle & Contract Events | :octocat: Repository

To show off our new middleware capabilities, we've written a tutorial that uses Drizzle to show a toast notification when a smart contract event fires. Check it out!

Watch the video

Changelog

New Features

  • Delegate concerns to Drizzle's store

Bug Fixes/Improvements

v1.3.3

01 Feb 18:12
Compare
Choose a tag to compare

Patch release to lock web3 to version 1.0.0-beta.35. 🔒 Later versions will cause test failure.

v1.3 - Tests, React Native Support & More!

31 Jan 21:43
a7851b1
Compare
Choose a tag to compare

Polar vortex got you stuck inside? ❄️ We've got you covered with some tasty new Drizzle features to keep you huddled up to that toasty computer! Beyond new features, we've also spent time improving overall code quality with linting and automated tests.

Help us help you! 🤜🤛 It's the front-end's time to shine in the blockchain space and to that end, we'd appreciate getting your feedback both on Drizzle itself and the general state of dapp front-end dev through this brief survey.

New Features

React Native & Server-side Rendering Support!

We're happy to announce that Drizzle now supports server-side rendering and React Native. Your dapps can now render more quickly and in more places than ever before!
👨‍🏫 Tutorial | 📦 Truffle Box

Bring Your Own Provider

You can now provide your own full web3 provider object via the web3.customProvider option.
📖 Docs

The Current Block is in the Store

New blocks are what make Drizzle tick and now we've made it easier to access the current block. The currentBlock key in the store will contain the latest block as and object result from web3.getBlock(), facilitated by the PROCESSING_BLOCK action.
📖 Docs

Track Cancelled/Failed Transactions More Easily

Transactions are now assigned a temporary ID when pushed onto the transactionStack. Once broadcasted, the temporary ID is overwritten with the transaction hash. If there's an error that results in no transaction being broadcasted (e.g. rejecting a transaction), you can now use the temp value as the key in transactions object to look up the error.
📖 Docs

Remove Contracts Dynamically

Now with the Drizzle.deleteContract() function, Drizzle will remove a contract's state from the store and stop synchronizing the contract's state on new blocks.
📖 Docs

Changelog

New Features

Bug Fixes/Improvements

Acknowledgements

Every member of the front-end team has touched this release and deserves a special thank you: Adrian Li (@adrianmcli), Heyse Li (@honestbonsai) and Amal Sudama (@cds-amal). We look forward to producing releases more frequently and with greater confidence. Happy coding! 😊

v1.2.5

11 Dec 20:33
Compare
Choose a tag to compare

Updates/Fixes:

  • Removes need to use generateStore() function outside of Drizzle initialization. Drizzle will now call this function internally when no store is passed. For now, the separate function is still exported for backward compatibility.
  • Better error messaging when contract not found on current network. Replaces "uncaught root@root" error when contract not found with "Contract ${contractName} not found on network ID: ${networkId}".
  • Removed unused import of getAbi (thanks @pors for #123 )

v1.2.4

22 Oct 15:31
Compare
Choose a tag to compare

Fixes:

  • Implements EIP-1102, adding support for ethereum.enable. Allows usage with MetaMask v4.14+. Fixes #125 #129 #126.

v1.2.3

27 Aug 16:11
0068607
Compare
Choose a tag to compare

Fixes:

v1.2.2

05 Jul 21:30
9d5a0e4
Compare
Choose a tag to compare

Fixes:

  • Updates to support Webpack 4 and React 16 (Thanks @dangell7 for #88).
  • Corrected import statement for generateContractInitialState(). Fixes #24 in drizzle-box.
  • syncAlways option not making it to Saga properly (Thanks @mnaamani for #94).
  • Added dependencies to package.json file for distribution. Fixes #59, #78.

v1.2.1

14 Jun 20:13
9d5a0e4
Compare
Choose a tag to compare

Updates:

  • Added MIT license.

Fixes:

  • Fixed an import/export error that led to problems with generateStore(). (Fixes #77)

v1.2 - Community Improvements and Greater Flexibility

31 May 17:34
0989444
Compare
Choose a tag to compare

FEATURES

FIXES

  • Transactions that are contract creation events (and other txs having no to field) no longer throw errors. Special thanks to @protolambda for #56.
  • Web3 init events now properly caught & Drizzle will now load asynchronously. Special thanks to @sklingler93 for #60.

v1.1.5

24 Apr 15:24
c32cfe5
Compare
Choose a tag to compare

Updates:

  • Bumped web3 to ^1.0.0-beta.34.

Fixes:

  • General transaction flow improvements; sometimes the CONTRACT_SYNCED event would fire before the final GOT_CONTRACT_VAR event.
  • When processing blocks, converts transaction addresses to lowercase. Checksums were sometimes causing false inequalities.