- 📚 Documentation fixes and cleanup
- Do not use monadic lenses any more.
- References with inherent identity (makes defining auto-sensitive buttons easier)
- Lots of inner changes.
- ⚡️ Updated semantics which make possible onChange without an Eq constraint This semantics handles more tricky situations than the previous one.
- Data.LensRef provides a restricted (and probably less confusing) interface The hidden functions can be accessed via Data.LensRef.Class
- 📇 Renamed onChange combinators
- onChange don't have the Eq constraint; there is an new onChangeEq function with the interface of the previous onChange function
- Most of the methods of the MonadRegister type class went to the MonadRefCreator type class
- Simplification: provide askPostpone instead of registerCallback
- Correction references (still experimental)
- Completed fast implementation
- 🐎 Fast implementation was tuned for performance It is now just ~10 times slower than IORefs.
- The pure implementation is also quite fast now (but asymptotically slower than the fast implementation)
- ✅ More test cases
- 👉 Use Applicative instead of Monad in ReadRef where possible
- Eliminate lens dependency, use a compatible custom module instead
- Begin to write an introduction to state-based FRP (still under construction)
- 📚 graphviz support for documentation
- ➕ Added a criterion performance test
- 🏗 Do not always build tests
- ✅ 'cabal test' support
- 📦 Eliminate dependency on lens, operational and containers packages
- ➕ Add lower bound to transformers package dependency
🎉 Initial separated version. 📦 The content of lensref was detached from the lgtk package on 10 May, 2014.
Compared to the previously announced version, lgtk-0.5.3, the changes are the following:
- Generalized and cleaned up interface
- Cleand up pure implementation
- First version of the fast implementation
- Switch from data-lens to Edward Kmett's lens library
- ⬆️ Upgrade to work with GHC 8.2
- 🚚 Repository moved to GitHub
🛠 another bugfix for hackagedb
😌 Relax dependencies