From 5554c0939db458ef76fd56d6b470793d38c17fd9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 16 Jul 2026 18:48:16 +0200 Subject: [PATCH 1/3] mark product base type as requirement --- .../pipeline/create/creator_plugins.py | 34 ++++--------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/client/ayon_core/pipeline/create/creator_plugins.py b/client/ayon_core/pipeline/create/creator_plugins.py index caa914775ea..806a3ea817b 100644 --- a/client/ayon_core/pipeline/create/creator_plugins.py +++ b/client/ayon_core/pipeline/create/creator_plugins.py @@ -342,30 +342,18 @@ def identifier(self): or falls back to product type if product base type is not set. """ - identifier = self.product_base_type - if not identifier: - identifier = self.product_type - return identifier + return self.product_base_type @property @abstractmethod - def product_type(self): - """Family that plugin represents.""" - - @property - def product_base_type(self) -> Optional[str]: + def product_base_type(self) -> str: """Product base type that plugin represents. - Todo (antirotor): This should be required in future - it - should be made abstract then. - Returns: - Optional[str]: Product base type that plugin represents. - If not set, it is assumed that the creator plugin is obsolete - and does not support product base type. + str: Product base type that plugin represents. """ - return None + pass @property def project_name(self): @@ -446,9 +434,6 @@ def _create_instance( if not product_base_type: product_base_type = self.product_base_type - if not product_base_type: - product_base_type = self.product_type - if product_type is None: product_type = product_base_type @@ -602,19 +587,14 @@ def get_product_name( if host_name is None: host_name = self.create_context.host_name - # Backwards compatibility for create plugins that don't implement - # 'product_base_type'. - # TODO Remove when 'product_base_type' is required product_base_type = self.product_base_type - if not product_base_type: - product_base_type = self.product_type - if product_type is None: for product_type_item in self.get_product_type_items(): product_type = product_type_item.product_type break - else: - product_type = product_base_type + + if product_type is None: + product_type = product_base_type cur_project_name = self.create_context.get_current_project_name() if not project_entity and project_name == cur_project_name: From e872c6ea681a4513023fbc5858ddcc08840c2124 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 16 Jul 2026 18:48:25 +0200 Subject: [PATCH 2/3] define compatibility versions of other addons --- package.py | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/package.py b/package.py index c0b8826afed..fac660e7857 100644 --- a/package.py +++ b/package.py @@ -12,11 +12,49 @@ ayon_launcher_version = ">=1.5.4" ayon_required_addons = {} ayon_compatible_addons = { + "aftereffects": ">=0.3.0", "ayon_third_party": ">=1.3.0", "ayon_ocio": ">=1.2.1", "applications": ">=1.1.2", - "deadline": ">=0.6.0", - "harmony": ">0.4.0", - "fusion": ">=0.3.3", - "openrv": ">=1.0.2", + "batchdelivery": ">=0.4.1", + "batchingest": ">=0.2.0", + "blender": ">=1.1.0", + "celaction": ">=0.2.4", + "cinema4d": ">=0.2.0", + "deadline": ">=0.7.0", + "djv": ">=1.1.3", + "equilizer": ">=0.2.0", + "flame": ">=1.4.0", + "fusion": ">=0.4.0", + "harmony": ">=0.5.0", + "hiero": ">=0.6.0", + "houdini": ">=0.10.0", + "ftrack": ">=1.5.0", + "kitsu": ">=1.2.7", + "marvelous_designer": ">=1.1.0", + "max": ">=0.4.0", + "maya": ">=0.6.0", + "mocha": ">=1.1.0", + "motionbuilder": ">=0.2.0", + "nuke": ">=0.4.0", + "openrv": ">=1.2.0", + "photoshop": ">=0.4.0", + "premiere": ">=0.2.0", + "premium_burnins": ">=0.2.2", + "resolve": ">=0.6.0", + "royalrender": ">=0.4.0", + "shotgrid": ">=0.6.16", + "silhouette": ">=0.2.0", + "sitesync": ">=1.2.0", + "speedtree": ">=0.2.0", + "substancedesigner": ">=0.2.0", + "substancepainter": ">=0.3.0", + "slack": ">=1.3.0", + "slater": ">=1.0.2", + "traypublisher": ">=0.4.0", + "tvpaint": ">=0.4.0", + "unreal": ">=0.3.0", + "webpublisher": ">=1.2.0", + "workflow": ">=0.2.2", + "zbrush": ">=0.4.0", } From 0dae14aa0db4df292fabf28241149cc446dbd182 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 16 Jul 2026 18:55:37 +0200 Subject: [PATCH 3/3] add 'product_type' back with warning --- .../ayon_core/pipeline/create/creator_plugins.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client/ayon_core/pipeline/create/creator_plugins.py b/client/ayon_core/pipeline/create/creator_plugins.py index 806a3ea817b..e49bfe0067f 100644 --- a/client/ayon_core/pipeline/create/creator_plugins.py +++ b/client/ayon_core/pipeline/create/creator_plugins.py @@ -6,6 +6,7 @@ import os from abc import ABC, abstractmethod from typing import TYPE_CHECKING, Any, Optional +import warnings from ayon_core.lib import ( Logger, @@ -355,6 +356,20 @@ def product_base_type(self) -> str: """ pass + @property + def product_type(self) -> str: + """DEPRECATED use 'product_base_type' instead. + + Kept for backwards compatibility. Warning added 2026/07/16. + + """ + warnings.warn( + "'product_type' is deprecated, use 'product_base_type' instead.", + DeprecationWarning, + stacklevel=2 + ) + return self.product_base_type + @property def project_name(self): """Current project name.