From 61338ed230a77e8a359433c1f2c89d48782e352b Mon Sep 17 00:00:00 2001 From: favonia Date: Tue, 31 Oct 2023 15:52:39 -0500 Subject: [PATCH] docs(CHANGELOG): prepare for 2.0.0 --- CHANGELOG.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown index dcc3bbf..69adfee 100644 --- a/CHANGELOG.markdown +++ b/CHANGELOG.markdown @@ -1,3 +1,30 @@ +# [2.0.0](https://github.com/RedPRL/algaeff/compare/1.1.0...2.0.0) (2023-10-31) + +This major release has two breaking changes: + +1. `Algaeff.{Reader,Sequencer,State,UniqueID}` are now taking a module with a type `t`. Previously, the type is named `elt`, `env`, or `state` depending on the component. Now, it is always named `t`. The benefit is that one can write succinct code for built-in types: + ```ocaml + module R = Algaeff.Reader.Make (Bool) + module Sq = Algaeff.Sequencer.Make (Int) + module St = Algaeff.State.Make (Int) + module St = Algaeff.UniqueID.Make (String) + ``` + To upgrade from the older version of this library, please change the type name (`env`, `elt`, or `state`) in + ```ocaml + module R = Algaeff.Reader.Make (struct type env = ... end) + module Sq = Algaeff.Sequencer.Make (struct type elt = ... end) + module St = Algaeff.State.Make (struct type state = ... end) + module U = Algaeff.UniqueID.Make (struct type elt = ... end) + ``` + to `t` as follows: + ```ocaml + module R = Algaeff.Reader.Make (struct type t = ... end) + module Sq = Algaeff.Sequencer.Make (struct type t = ... end) + module St = Algaeff.State.Make (struct type t = ... end) + module U = Algaeff.UniqueID.Make (struct type t = ... end) + ``` +2. `Algaeff.Unmonad` is removed. + # [1.1.0](https://github.com/RedPRL/algaeff/compare/1.0.0...1.1.0) (2023-10-01) ### Features