View Source Changelog
[0.3.0] - Unreleased
Added
Introduced a Funx.Tap protocol and migrated all monads to use protocol-based tap.
Changed
tap implementations for Identity, Maybe, Either, Reader, and Effect now delegate through the Funx.Tap protocol.
Breaking
Existing direct tap/2 implementations have been removed. Code relying on the previous module-specific tap implementations require updates.
[0.2.3] - Unreleased
Updated
- Refactored the Either DSL implementation to make it safer and easier to maintain.
[0.2.2] - Unreleased
Added
- Add
tapbehavior across Identity, Maybe, Either, Reader, and Effect Monads - Add
tapbehavior to Either DSL
[0.2.0] - Unreleased
Added
- Either DSL for writing declarative error-handling pipelines with support for
bind,map,ap,validate, and Either functions (filter_or_else,or_else,map_left,flip)
Beta Status (v0.1.x)
โ ๏ธ Funx is in active development. APIs may change until version 1.0.
We're currently in beta, focusing on:
- Core functionality implementation and stabilization
- Comprehensive usage rules and documentation for humans and LLMs
- Real-world testing and feedback incorporation
- API refinement based on practical usage patterns
Current Status: Feature-complete beta with comprehensive documentation. Ready for experimentation and feedback, but expect potential API changes before 1.0.
Feedback Welcome
- ๐ Issues: Report bugs and suggest improvements
- ๐ Documentation: Help us improve usage rules and examples
- ๐งช Real-world usage: Share your experience using Funx in projects
- ๐ฌ Discussion: Join conversations about functional programming patterns in Elixir
Detailed changelog will begin with version 1.0. Until then, see GitHub releases for version-specific changes.