Skip to content

libmorpheus 0.1.0

Choose a tag to compare

@antoineboquet antoineboquet released this 24 Aug 13:46
· 207 commits to main since this release

First published release of libmorpheus, a C17 modernization of the Morpheus morphological analyzer for Ancient Greek and Latin.

Highlights

  • Versioned opaque C ABI with structured, caller-owned analysis results.
  • Explicit error statuses, per-request options, and truncation reporting.
  • Typed Deno 2 FFI binding with semantic analyze() results and low-level analyzeRaw() access.
  • cruncher retained as a compatibility client of the public library.
  • Runtime state isolated in explicit contexts, allowing distinct contexts to run concurrently.
  • Transactional bounded string handling throughout the supported runtime.
  • Relocatable CMake and pkg-config installation metadata.
  • Strict ISO C17 compilation with signed- and unsigned-char qualification.

Distribution

This release includes a verified native package for Linux x86-64:

  • libmorpheus-0.1.0-Linux-x86_64.tar.gz
  • libmorpheus-0.1.0-Linux-x86_64.tar.gz.sha256

The package contains the shared library, public C header, CMake package metadata, libmorpheus.pc, and the optional cruncher executable.

Stemlib data is not bundled. Consumers must provide a compatible compiled stemlib separately.

Compatibility

  • Project version: 0.1.0
  • C ABI version: 1
  • Shared-library SONAME: 0
  • CMake: 3.25 or newer
  • Deno binding: Deno 2

Linux glibc x86-64, Alpine Linux x86-64/aarch64, and Apple Silicon arm64 are covered by the release qualification matrix. Only the Linux glibc x86-64 native package is distributed as a release asset.

Benchmark

Warning

The benchmark was conducted following the initial publication.

The final benchmark reproduces all 740 expected analyses.

Benchmark SHA-256: 128e085fdfdc6d29ccd351346cb5f1ba305725b37269645017c5fb79f5cc7bab

The supplied SHA-256 files provide integrity verification; they are not cryptographic release signatures.

Data and provenance

The modernized C implementation derives from Perseids commit ab6898ffed335fc6169fa02c9940657a9b5a78e0.

The initially qualified Alpheios Greek stemlib is pinned at 4632415fe93c85e9fdca47a0c5a13f31385f0023. Stemlib updates are data releases and are versioned independently from the native library.

See the [changelog](https://github.com/antoineboquet/libmorpheus/blob/v0.1.0/CHANGELOG.md) for the complete release notes and compatibility details.