0.01
No release in over a year
...
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 1.15.5
~> 1.0.6
 Project Readme

Yggdrasil

world tree image

Bindings for the Unleash Yggdrasil SDK core.

This repository contains language bindings for the Unleash Yggdrasil core. The core SDK domain logic lives in that project; this repository packages and exposes it for Java, .NET, Ruby, and Python.

Language-specific build and test instructions live in each binding's README.

Rust FFI

The shared Rust FFI layer can be built and tested from the repository root:

cargo test

To run the client specs, you'll first need to clone them:

git clone --depth 5 --branch v5.1.9 https://github.com/Unleash/client-specification.git client-specification

Language Bindings

Bumping the Yggdrasil Crate

Use the release helper when updating the dependency on the Yggdrasil crate:

./scripts/bump-yggdrasil-core.py 0.21.3 --dry-run
./scripts/bump-yggdrasil-core.py 0.21.3

The script requires the target core version to be greater than the current highest core pin. It updates the Rust core pins, the Java/Python/Ruby/.NET native core metadata, and patch-bumps the Java, Python, Ruby, and .NET package versions.

Releasing Yggdrasil FFI

The FFI release version is read from the version field in yggdrasilffi/Cargo.toml.

  1. Bump the package version in yggdrasilffi/Cargo.toml.
  2. Merge the change to main.
  3. Run the Release FFI and Upload Binaries GitHub Actions workflow.