Releases: reazen/relude
Releases · reazen/relude
v0.66.1
🧹 Housekeeping
- This is a tiny release to remove the
engines
field from the package.json. I had added this to clearly convey the expected Node version for CI and other developers, but it turns out this field can actually prevent Relude from being installed in projects with mismatched Node versions. My bad.
v0.66.0
🚨 Breaking changes
- The flip-map operator (previously
<#>
) is now<$$>
. This allows for compatibility with Melange and newer OCaml versions! 🥳 h/t @anmonteiro, and sorry it took so long to get a release out with this change!
✨ New stuff
- Optionally append and prepend values to lists via
List.consOption
andList.appendOption
. h/t @cakekindel - Named tuple accessors (e.g.
first
,second
,third
...) were added to the Tuple module. h/t @maxkorp - Construct a
Set
from a single value viaSet.singleton
- Given two
AsyncResult
values, prefer the "most successful" withAsyncResult.alt
Set
andMap
expose more information about the internalComparable.t
type, keeping that type information from being lost outside of the module. h/t @johnhaley81
🧹 Housekeeping
- Relude now builds with Melange and OCaml 4.14 in CI 🎉
- Tests and test coverage are once again running in CI (but if you still see a red X next to this release, that's because the OCaml docgen step is still busted for release builds...)
- Dependencies like
bastet
andbisect_ppx
have been updated. If these dependencies were giving you any problems in the past, please try updating and let us know if there are still problems (e.g. on Windows or when using the ReScript compiler).
v0.65.0
✨ New
BoundedEnum.inverseMap*
functions- Given an enumeration with a
BoundedEnum
instance, and a function'e => 'a
, create a function which can perform an inverse lookup from'a
tooption('e)
- Requires an equality function/
Eq
module or a compare function/Ord
module in order to do the lookup comparisons for the'a
value - See #278 and #288
- Thanks @austindd!
- Given an enumeration with a
v0.64.0
✨ New
- A few data extraction helpers for
Result
- see #286 - thanks @rolandpeelen!
v0.63.1
✅ Code coverage
- Update to bisect_ppx 2.4.1
- Releasing this as a relude patch release because bisect_ppx is currently listed as a dependency, and not just a devDependency
v0.63.0
Documentation and code coverage updates
This is a documentation/tooling update release - no API changes.
Documentation
Updated docs home page: https://reazen.github.io/relude/#/
Generated docs page: https://reazen.github.io/relude/api/index.html
- @mlms13 undertook the monumental and soul-crushing effort to generate docs using odoc/bsdoc
- All of the hand-written markdown docs were moved into code comments, and all the mostly empty markdown files were finally deleted
- New documentation sidebar has a link to the generated API docs odoc entry point
- The direction moving forward will be to put all API-related docs in code comments, and to potentially create a new hand-written "Recipes" section in the Docsify
docs/
site.- The Recipes should cover common usage scenarios and patterns
Coverage
Updated Coverage (in Coveralls): https://coveralls.io/github/reazen/relude
- @jihchi and @aantron figured out how to get
bisect_ppx
working well with BuckleScript and undertook the task of switching from Jest coverage to proper OCaml/Reason-based coverage.- It might have been a thankless task, but thank you for your efforts - they are greatly appreciated!
- Tests are still run via Jest, but coverage data is collected against the reason code, which gives much more accurate coverage info
- The Coveralls reporting is now actually useful in that we can upload coverage info at the file level for online browsing
v0.62.0
v0.61.0
✨ New
- @johnhaley81 #260 - Add
keep
/reject
forSet
/Map
v0.60.0
✨ New features
List
now implements Bastet'sUNFOLDABLE
(thanks @esbullington!)
v0.59.0
🚨 Breaking changes
- The underlying
bs-abstract
dependency is now[email protected]
. While the API is nearly identical, you'll need to update yourpackage.json
,bsconfig.json
, and any references to theBsAbstract
module (which should now beBsBastet
instead). The Bastet migration guide may also be helpful.
✨ New features
Relude.String
now has atype t
. This means it conforms toBsBastet.Interface.TYPE
, and you can pass theRelude.String
module anywhere aTYPE
module is needed.
🐛 Bug fixes
- The module signature for Bitraversable was missing some
with type ...
, which made it difficult to use (#252), but this has been fixed upstream