# v0.11.4 Upgrade Checklist ## Breaking changes ### `data_modalities` is now required in `plugin_meta` (ADR-033 §6.2) **Who is affected:** Third-party plugin authors who omit `data_modalities` from their `plugin_meta` dict. **What changed:** `validate_plugin_meta` (called at plugin registration time) previously applied a silent `("tabular",)` default when `data_modalities` was absent. As of v0.11.4 that default-fallback is removed. Direct metadata validation now raises `ValidationError` for plugins missing `data_modalities`; entry-point discovery remains resilient by emitting a `UserWarning` and skipping the invalid plugin. **Why:** ADR-033 §6.2 scheduled this removal at v0.12.0/v1.0.0-rc. Because v0.12.0 does not exist in this release series and v1.0.0-rc is a no-implementation freeze window, the change was pulled forward to v0.11.4. The v0.11.3 `UserWarning`-and-skip path on entry-point plugins without `data_modalities` gave advance notice; this step makes the metadata validation boundary consistent while preserving fail-closed discovery for invalid third-party entry points. **Migration:** Add `data_modalities` to your plugin's `plugin_meta` dict: ```python plugin_meta = { # ... existing fields ... "data_modalities": ["tabular"], # or ["vision"], ["audio"], ["x-custom"], etc. } ``` Supported canonical values: `"tabular"`, `"vision"`, `"audio"`. Extension modalities must use the `"x-"` prefix (e.g., `"x-timeseries"`). Alias `"image"` normalises to `"vision"`.