# [15.0.0](https://github.com/streamich/react-use/compare/v14.3.0...v15.0.0) (2020-05-16)
* v15 release ([0f82ba6](0f82ba650e))
### Bug Fixes
* 🐛 better serialization handling in useLocalStorage hook ([68fb835](68fb835ea6))
* 🐛 correctly test if env is browser in useMeasure ([9ae494f](9ae494fc18))
* 🐛 make useMeasure work on server ([2daf769](2daf76990d))
* 🐛 remove set dependencies in useSet hook ([90ba9d0](90ba9d000f))
* 🐛 revert useMeasure defaults to zeros ([dc92b64](dc92b646d0))
* remove console log 🤓 ([f17c8a0](f17c8a0f8e))
* **useLocalStorage:** using undefined for empty value instead of null ([1620e01](1620e019ff))
* use latest set object in useSet "has" method ([41f9452](41f9452722))
### Features
* 🎸 add useScratch() sensor hook ([58db2f9](58db2f989d))
* 🎸 catch up with v14 ([be69035](be69035caf))
* 🎸 improve implementation of useMeasure() hook ([a164843](a164843902))
* 🎸 improve implementation of useMeasure() hook ([4d88240](4d8824064a))
* 🎸 mock useMeasure() hook on server and w/o ResizeObserver ([866f3d7](866f3d740b))
* 🎸 mock useMeasure() hook on server and w/o ResizeObserver ([2bbc73a](2bbc73a5f0))
* 🎸 remove resize-observer-polyfill from useMeasure ([2a13fba](2a13fbae45))
* 🎸 remove resize-observer-polyfill from useMeasure ([bf11131](bf11131052))
* Dependencies inference for useCustomCompareEffect ([477c164](477c1644a7))
* improve useAsyncFn and useAsync typings ([85967e2](85967e294c))
* keep previous state in useAsyncFn ([54ac91b](54ac91b28d))
* use useReducer in useUpdate hook, instead of useState + useCallback ([6575b14](6575b14985))
* **useLocalStorage:** add remove feature. ([#229](https://github.com/streamich/react-use/issues/229)) ([587de16](587de16ef5))
### BREAKING CHANGES
* implementation of useMeasure and useLocalStorage changed
* resize-observer-polyfill package is not used with useMeasure() hook
anymore.
* useMeasure() now defaults all values to -1, if they were not set and
internal implementation heavily refactored.
* useAsyncFn now keeps hold of old result/error when called multiple times
* resize-observer-polyfill package is not used with useMeasure() hook
anymore.
* useMeasure() now defaults all values to -1, if they were not set and
internal implementation heavily refactored.