{"record":{"id":"6846cebd5ca20e06","repo":"zed-industries/zed","slug":"unreleased-versions-of-the-extension-api-can-only","errorCode":null,"errorMessage":"unreleased versions of the extension API can only be used on development builds of Zed","messagePattern":"unreleased versions of the extension API can only be used on development builds of Zed","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/extension_host/src/wasm_host/wit.rs","lineNumber":86,"sourceCode":"\n    since_v0_0_1::MIN_VERSION..=max_version\n}\n\n/// Authorizes access to use unreleased versions of the Wasm API, based on the provided [`ReleaseChannel`].\n///\n/// Note: If there isn't currently an unreleased Wasm API version this function may be unused. Don't delete it!\npub fn authorize_access_to_unreleased_wasm_api_version(\n    release_channel: ReleaseChannel,\n) -> Result<()> {\n    let allow_unreleased_version = match release_channel {\n        ReleaseChannel::Dev | ReleaseChannel::Nightly => true,\n        ReleaseChannel::Stable | ReleaseChannel::Preview => {\n            // We always allow the latest in tests so that the extension tests pass on release branches.\n            cfg!(any(test, feature = \"test-support\"))\n        }\n    };\n\n    anyhow::ensure!(\n        allow_unreleased_version,\n        \"unreleased versions of the extension API can only be used on development builds of Zed\"\n    );\n\n    Ok(())\n}\n\npub enum Extension {\n    V0_8_0(since_v0_8_0::Extension),\n    V0_6_0(since_v0_6_0::Extension),\n    V0_5_0(since_v0_5_0::Extension),\n    V0_4_0(since_v0_4_0::Extension),\n    V0_3_0(since_v0_3_0::Extension),\n    V0_2_0(since_v0_2_0::Extension),\n    V0_1_0(since_v0_1_0::Extension),\n    V0_0_6(since_v0_0_6::Extension),\n    V0_0_4(since_v0_0_4::Extension),\n    V0_0_1(since_v0_0_1::Extension),","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/extension_host/src/wasm_host/wit.rs#L68-L104","documentation":"A wasm extension was compiled against an unreleased zed_extension_api version, but authorization (authorize_access_to_unreleased_wasm_api_version) refused it because the running Zed release channel is Stable or Preview — only Dev and Nightly builds may use API versions that have not shipped. The guard protects stable users from extensions depending on not-yet-released APIs.","triggerScenarios":"Thrown at crates/extension_host/src/wasm_host/wit.rs:86 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run the extension on a Dev or Nightly build of Zed to use unreleased APIs","Compile the extension against the latest released extension API version for Stable/Preview compatibility"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}