- Simplify the API and remove the term 'handler' from the project (breaking change) (#35, @mbarbin).
- Change the API to make the library Type-Safe (breaking change) (#34, @mbarbin, @v-gb).
- Register custom trait names instead of extensible variant names (#31, @mbarbin).
- Added
Trait.Uid.seeded_hash
(#24, @mbarbin). - Make the library build with
ocaml.4.14
(#22, @jonahbeckford, @mbarbin). - Added new checks in CI (build checks on windows and macos) (#21, @mbarbin).
- Added a tutorial with new examples of handler-based polymorphism (#13, @mbarbin).
- Split the tests and enable most tests in the CI, including
ocaml.4.14
(#25, @mbarbin). - Make the library detect invalid Traits earlier (during handler creation) (#20, @mbarbin).
- Rename
explanation
section of documentation per diataxis (#11, @mbarbin).
- Made the lib raise an exception instead of a segfault under some invalid usage (#18, @mbarbin).
- Split test package.
- Use
expect_test_helpers_core.expect_test_helpers_base
.
- Attach doc test package so it is not built when running the CI for the main package.
- Follow-up fixes to binding renaming.
- Added dedicated tests for internal functions.
- More renamings.
Implementation => Binding
,Interface => Handler
. This brings the lib closer to the original namings from Eio.
- Rename
Provider.Trait.Implementation
asProvider.Implementation
to expose the concepts in a more flat way. - Reduce
provider
package dependencies - reduce frombase
tosexplib0
.
- Make sure to select the right most implementation in case of overrides, as per specification.
- Removed
Trait.Uid.Comparable.S
as this requiresBase
. Make it compatible withComparable.Make (Trait.Uid)
and add tests for this use case.
- Added dependabot config for automatically upgrading action files.
- Upgrade
ppxlib
to0.33
- activate unused items warnings. - Upgrade
ocaml
to5.2
. - Upgrade
dune
to3.16
. - Upgrade
eio
to1.0
(no change required). - Upgrade base & co to
0.17
.
- Uses
expect-test-helpers
(reduce core dependencies) - Upgrade
eio
to0.15
. - Run
ppx_js_style
as a linter & make it adev
dependency. - Upgrade GitHub workflows
actions/checkout
to v4. - In CI, specify build target
@all
, and add@lint
. - List ppxs instead of
ppx_jane
.
- Add new tests, improve test coverage.
- Improve organization of test files.
- Rename
Class
=>Trait
(breaking change).
- Fix
Interface.implements
which shouldn't raise on empty interface (#3, @mbarbin).
- Improve tests and documentation.
- Initial release.