Skip to content

Add support for NIF version 2.18 (OTP 29)#103

Merged
philss merged 1 commit into
philss:mainfrom
Hermanverschooten:support-nif-2-18
Jun 16, 2026
Merged

Add support for NIF version 2.18 (OTP 29)#103
philss merged 1 commit into
philss:mainfrom
Hermanverschooten:support-nif-2-18

Conversation

@Hermanverschooten

Copy link
Copy Markdown
Contributor

Summary

Adds support for NIF version 2.18, which ships with Erlang/OTP 29.

OTP 29's erl_nif.h bumped the NIF interface to 2.18 (ERL_NIF_MAJOR_VERSION 2 / ERL_NIF_MINOR_VERSION 18); OTP 26–28 remained on 2.17. Without 2.18 in the available list, projects upgrading to a rustler that exposes the nif_version_2_18 feature can't publish or select 2.18 precompiled artifacts.

The forward-compatibility resolver (find_compatible_nif_version/2) already handles running on a newer NIF than what's published, so no logic change was needed — only adding 2.18 to the allow-list.

The default NIF version is unchanged (2.15), so existing consumers are unaffected — 2.18 is opt-in via nif_versions:.

@philss philss merged commit 354c0ed into philss:main Jun 16, 2026
2 checks passed
@philss

philss commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Awesome! Thank you, @Hermanverschooten! Later today I'm going to release a new version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants