Vixen
02b45cc4
csharp
public static class EditorApi

Which version of the plugin contract this editor implements.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

A plugin declares the version it was built against and the loader refuses one it cannot honour. The alternative — load it and find out — is a MissingMethodException from inside somebody else's code, on a machine that is not yours, with a stack trace that names neither the plugin nor the change that broke it.

⚠ While the major version is zero, the minor is the breaking number. That is what SemVer says 0.x means, and it is the honest reading of an editor whose extension points are still moving: 0.1 and 0.2 are not compatible and the loader says so rather than guessing. Once this reaches 1.0 the ordinary rule applies — same major, and a minor no higher than the host's, because a plugin built against 1.4 may call something 1.2 has not got.

This is deliberately not the assembly version. The package version moves for a bug fix in the loader; the contract version moves when what a plugin may call changes, and conflating the two makes every patch release lock out every plugin.

Fields and properties (1)

  • public static Version Version

    The contract version this editor implements.

Methods (2)

  • public static bool IsCompatible(Version built)

    Whether a plugin built against a version of the contract can run here.

  • public static string? Explain(Version built)

    Why a version is not compatible, in the words a plugin author needs.

Used by (6)

  • ManifestTestsVixen.Editor.Plugin.Tests
  • OrderTestsVixen.Editor.Plugin.Tests
  • PluginFolderVixen.Editor.App.Tests
  • PluginHostVixen.Editor.Plugin
  • PluginManifestVixen.Editor.Plugin
  • SwitchingTestsVixen.Editor.Plugin.Tests