Skip to content

Releases: reazen/relude

v0.66.1

16 Jun 16:35
Compare
Choose a tag to compare

🧹 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

15 Jun 23:17
Compare
Choose a tag to compare

🚨 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 and List.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 via Set.singleton
  • Given two AsyncResult values, prefer the "most successful" with AsyncResult.alt
  • Set and Map expose more information about the internal Comparable.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 and bisect_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

09 Jan 04:17
Compare
Choose a tag to compare

✨ 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 to option('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!

v0.64.0

09 Jan 02:10
Compare
Choose a tag to compare

✨ New

v0.63.1

12 May 02:46
Compare
Choose a tag to compare

✅ 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

05 May 03:47
Compare
Choose a tag to compare

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

21 Apr 02:51
Compare
Choose a tag to compare

🐛 Bug fix

  • Hopefully fix issue on Result TRAVERSE and BITRAVERSE not exposing/unifying the types in the signatures #252 - fix in #264

v0.61.0

17 Apr 03:57
Compare
Choose a tag to compare

✨ New

v0.60.0

11 Apr 19:20
Compare
Choose a tag to compare

✨ New features

  • List now implements Bastet's UNFOLDABLE (thanks @esbullington!)

v0.59.0

31 Mar 14:38
Compare
Choose a tag to compare

🚨 Breaking changes

  • The underlying bs-abstract dependency is now [email protected]. While the API is nearly identical, you'll need to update your package.json, bsconfig.json, and any references to the BsAbstract module (which should now be BsBastet instead). The Bastet migration guide may also be helpful.

✨ New features

  • Relude.String now has a type t. This means it conforms to BsBastet.Interface.TYPE, and you can pass the Relude.String module anywhere a TYPE 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