Skip to content

Conversation

@Sclock
Copy link

@Sclock Sclock commented Dec 12, 2025

Added a plugin ABI gate so outdated binary plugins can’t take the server down. Specifically:

Introduced PLUGIN_API_VERSION and documented how to bump it when changing the public plugin ABI (pumpkin/src/plugin/mod.rs:21).
Updated the plugin derive macro to export the API version symbol alongside the metadata so loaders can inspect it (pumpkin-api-macros/src/lib.rs:62-80).
Extended the native loader with an explicit version check and descriptive loader errors; incompatible or missing symbols now cause a clean load failure before any plugin code runs (pumpkin/src/plugin/loader/native.rs:5-87, pumpkin/src/plugin/loader/mod.rs:40-71).
Tests: cargo check

@Snowiiii
Copy link
Member

I'm not sure if this is the best solution, i think letting the plugin define a min target plugin version similar like in Android would be better since the developers can then support more versions

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