# alef

> Generate fully-typed, lint-clean language bindings for Rust libraries across 11 languages

- **URL**: https://www.freshcrate.ai/projects/alef
- **Author**: kreuzberg-dev
- **Category**: Uncategorized
- **Latest version**: `v0.23.18` (2026-06-06)
- **License**: MIT
- **Source**: https://github.com/kreuzberg-dev/alef
- **Language**: Rust
- **GitHub**: 10 stars, 1 forks
- **Registry**: github
- **Tags**: `bindgen`, `c`, `c-ffi`, `code-generation`, `csharp`, `elixir`, `ffi`, `golang`, `rust`

## Description

Generate fully-typed, lint-clean language bindings for Rust libraries across 11 languages

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.23.18` | 2026-06-06 | High | alef v0.23.18 |
| `v0.20.15` | 2026-05-29 | High | ### Fixed  - **alef c e2e Makefile: declare `.DEFAULT_GOAL := all` so plain `make` builds run_tests instead of stopping after download_ffi.sh.** Without explicit default goal, Make picked the first explicit target rule encountered — `$(FFI_DIR)/include/ts_pack.h: download_ffi.sh` — causing `make` (no args) to only download FFI and exit instead of building the test binary. CI `E2E / Test C FFI` job failed with `sh: 1: ./run_tests: not found`. Fixed by adding `.DEFAULT_GOAL := all` after variable |
| `v0.17.34` | 2026-05-22 | High | **Full Changelog**: https://github.com/kreuzberg-dev/alef/compare/v0.17.33...v0.17.34 |
| `v0.16.12` | 2026-05-15 | High | ### Fixed  - **kotlin-android: add Jackson runtime deps to `build.gradle.kts`   template**: alef v0.16.11 added `@JsonDeserialize` to sealed-class Kotlin   DTOs for serde-tagged polymorphism, but the kotlin-android `build.gradle.kts`   template still only declared `kotlin-stdlib` + `kotlinx-coroutines-android`.   The compileDebugKotlin task failed with `Unresolved reference 'com'` /   `Unresolved reference 'codec'` / `Unresolved reference 'asText'` etc.   Adds `jackson-databind` (for the annota |
| `v0.15.5` | 2026-05-09 | High | fix(napi-backend): correct untagged enum heuristic  Only treat enums as untagged when they have `#[serde(untagged)]`, not just any enum without `#[serde(tag = "...")]`. Absence of `serde_tag` means default externally-tagged serialization. Previously `VisitResult` and similar enums were misclassified as untagged, emitting an unusable `serde_json::Value` wrapper instead of a `#[napi(string_enum)]`. Same heuristic fix applied to Go, C#, and Java backends. |
| `v0.14.3` | 2026-05-03 | High | Per-host doc-comment renderers (JSDoc, JavaDoc, C# XML, PHPDoc, Doxygen) plus magnus/php/rustler/extendr/wasm `unregister_*`/`clear_*` trait-bridge emission. Shared `host_function_path` helper consolidates pyo3/napi/etc. resolution.  See [CHANGELOG](./CHANGELOG.md#0143---2026-05-03) for details. |
| `v0.8.7` | 2026-04-27 | High | Fix CI hang in csharp `alef setup` and replace TODO placeholder in alef-generated READMEs.  ## Fixed - **C# setup**: `dotnet restore packages/csharp` was walking the entire repo when no top-level `.csproj` existed (timeout on CI). Now uses `find -maxdepth 3` to resolve the first project file, with the precondition guarding the call. - **README placeholders**: alef-generated READMEs no longer emit `// TODO: add usage example`. They now point readers to the main repository's docs. |
| `v0.5.2` | 2026-04-22 | High | **Full Changelog**: https://github.com/kreuzberg-dev/alef/compare/v0.5.1...v0.5.2 |
| `v0.5.1` | 2026-04-21 | High | **Full Changelog**: https://github.com/kreuzberg-dev/alef/compare/v0.5.0...v0.5.1 |
| `v0.5.0` | 2026-04-21 | High | **Full Changelog**: https://github.com/kreuzberg-dev/alef/compare/v0.4.6...v0.5.0 |

## Dependency audit

- **Score**: 100/100
- **Total deps**: 0
- **Resolved**: 0
- **Unresolved**: 0
- **License conflicts**: 0
- **Warnings**: 0
- **Scanned**: 2026-05-18

## Citation

- HTML: https://www.freshcrate.ai/projects/alef
- Markdown: https://www.freshcrate.ai/projects/alef.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/alef/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
