Compatibility
Hegel is in beta. While we take minimizing breakage seriously and do not expect to make sweeping API changes, we do expect to make some amount of breaking changes as we refine the API.
In particular, if we think a breaking change will result in a better property-based testing API, we will make it. Of course, we will not do so without fully communicating the change and migration path.
If the possibility of breaking changes bothers you, please check back in a few months when we expect to have released a stable 1.0!
Versioning
Section titled “Versioning”While Hegel is in beta, we have adopted the following version scheme for libhegel and all Hegel libraries:
- Minor
0.N.0releases for changes that might be breaking. - Patch
0.0.Nreleases for any other change.
This is effectively SemVer shifted right by one decimal place.
Our first stable release will be 1.0.0.
Platform support
Section titled “Platform support”Every Hegel library runs the libhegel engine in-process.
Prebuilt libhegel binaries are published for linux/amd64, linux/arm64, darwin/arm64, windows/amd64, and windows/arm64. Intel macOS (darwin/amd64) is not published. Build libhegel from source if you need it.
- Linux (amd64 and arm64) and macOS on Apple Silicon are fully supported across the Hegel libraries.
- Windows (amd64 and arm64) is supported by hegel-go, hegel-typescript, and hegel-cpp. hegel-rust supports it too, though that support is still somewhat experimental. hegel-java and hegel-ocaml currently work on Linux and macOS only.
- Intel macOS has no published
libhegelbinary. Libraries that let you point at your own build (viaHEGEL_LIBHEGEL_PATH, or-DHEGEL_LIBHEGEL_LIBRARYfor hegel-cpp) will work against a locally builtlibhegel.dylib.