From 755ef2e8655fc7fd8fc90903e705ae3a9d05e082 Mon Sep 17 00:00:00 2001 From: Ynbot Date: Tue, 12 Dec 2023 14:35:11 +0000 Subject: [PATCH] [Automated] Release --- CHANGELOG.md | 1098 +++++++++++++++++++++++++++++++++++++++++++ openpype/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 1100 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5909c26f7e4..fdba44b7bb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,1104 @@ # Changelog +## [3.17.7](https://github.com/ynput/OpenPype/tree/3.17.7) + + +[Full Changelog](https://github.com/ynput/OpenPype/compare/3.17.6...3.17.7) + +### **🆕 New features** + + +
+AYON: Use folder path as unique identifier #5817 + +Use folder path instead of asset name as unique identifier, with OpenPype compatibility. + + +___ + +
+ + +
+Houdini: Farm caching submission to Deadline #4903 + +Implements functionality to offload instances of the specific families to be processed on Deadline instead of locally. This increases productivity as artist can use local machine could be used for other tasks.Implemented for families: +- [x] ass +- [x] redshift proxy +- [x] ifd +- [x] abc +- [x] bgeo +- [x] vdb + + +___ + +
+ + +
+Houdini: Add support to split Deadline render tasks in export + render #5420 + +This adds initial support in Houdini so when submitting render jobs to Deadline it's not running as a single Houdini task but rather it gets split in two different tasks: Export + Render. This way it's more efficient as we only need a Houdini license during the export step and the render tasks can run exclusively with a render license. Moreover, we aren't wasting all the overhead time of opening the render scene in Houdini for every frame.I have also added the corresponding settings json files so we can set some of the default values for the Houdini deadline submitter. + + +___ + +
+ + +
+Wrap: new integration #5823 + +These modifications are necessary for adding Wrap integration (DCC handling scans and textures) . + + +___ + +
+ + +
+AYON: Prepare for 'data' via graphql #5923 + +AYON server does support to query 'data' field for hierarchy entities (project > ... > representation) using GraphQl since version 0.5.5. Because of this PR in ayon-python-api it is required to modify custom graphql function in `openpype.client` to support that option. + + +___ + +
+ + +
+Chore AYON: AYON addon class #5937 + +Introduced base class for AYON addon in openpype modules discovery logic. + + +___ + +
+ + +
+Asset Usage Reporter Tool #5946 + +This adds simple tool for OpenPype mode that will go over all published workfiles and print linked assets and their version:This is created per project and can be exported in csv file or copied to clipboard in _"ASCII Human readable form"_. + + +___ + +
+ + +
+Testing: dump_databases flag #5955 + +This introduces a `dump_databases` flag which makes it convenient to output the resulting database of a successful test run. The flag supports two formats; `bson` and `json`.Due to outputting to the test data folder, when dumping the databases, the test data folder will persist.Split from https://github.com/ynput/OpenPype/pull/5644 + + +___ + +
+ + +
+SiteSync: implemented in Ayon Loader #5962 + +Implemented `Availability` column in Ayon loader and redo of loaders to `ActionItems` in representation window there. + + +___ + +
+ + +
+AYON: Workfile template build works #5975 + +Modified workfile template builder to work, to some degree, in AYON mode. + + +___ + +
+ +### **🚀 Enhancements** + + +
+Maya: Small Tweaks on Validator for Look Default Shader Connection for Maya 2024 #5957 + +Resolve https://github.com/ynput/OpenPype/issues/5269 + + +___ + +
+ + +
+Settings: Changes in default settings #5983 + +We've made some changes in the default settings as several application versions were obsolete (Maya 18, Nuke 11, PS 2020, etc). Also added tools and changed settings for Blender, Maya, and Blender. + +All should work as usual. +___ + +
+ + +
+Testing: Do not persist data by default in Maya/Deadline. #5987 + +This is similar to the Maya publishing test. + + +___ + +
+ + +
+Max: Validate loaded plugins tweaks #5820 + +In the current development of 3dsMax, users need to use separate validators to validate if certain plugins being loaded before the extraction. For example, usd extractor in model family, prt/tycache extractor in pointcloud/tycache family.But with the PR where implements optional validate loaded plugin, users just need to put what kind of plugins they want to validate in the settings. They no longer need to go through all the separate plugin validators when publishing, and only one validator would do all the check on the loaded plugins before extraction. + + +___ + +
+ + +
+Nuke: Change context label enhancement #5887 + +Use QAction to change label of context label in Nuke pipeline menu. + + +___ + +
+ + +
+Chore: Do not use template data as source for context #5918 + +Use available information on context to receive context data instead of using `"anatomyData"` during publishing. + + +___ + +
+ + +
+Houdini: Add python3.10 libs for Houdini 20 startup #5932 + +Add python3.10 libs for Houdini 20 startup + + +___ + +
+ + +
+General: Use colorspace data when creating thumbnail #5938 + +Thumbnails with applied colormanagement. + + +___ + +
+ + +
+Ftrack: rewriting component creation to support multiple thumbnails #5939 + +The creation of Ftrack components needs to allow for multiple thumbnails. This is important in situations where there could be several reviewable streams, like in the case of a nuke intermediate files preset. Customers have asked for unique thumbnails for each data stream.For instance, one stream might contain a baked LUT file along with Display and View. Another stream might only include the baked Display and View. These variations can change the overall look. Thus, we found it necessary to depict these differences via thumbnails. + + +___ + +
+ + +
+Chore: PySide6 tree view style #5940 + +Define solid color for background of branch in QTreeView. + + +___ + +
+ + +
+Nuke: Explicit Thumbnail workflow #5941 + +Nuke made a shift from using its own plugin to a global one for thumbnail creation. This was because it had to handle several thumbnail workflows for baking intermediate data streams. To manage this, the global plugin had to be upgraded. Now, each baking stream can set a unique tag 'need_thumbnail'. This tag is used to mark representations that need a thumbnail. + + +___ + +
+ + +
+Global: extract thumbnail with new settings #5944 + +Settings are now configurable for the following: +- target size of thumbnail - source or constrained to specific +- where should be frame taken from in sequence or video file +- if thumbnail should be integrated or not +- background color for letter boxes +- added AYON settings + + +___ + +
+ + +
+RoyalRender: inject submitter environment to the royal render job #5958 + +This is an attempt to solve runtime environment injection for render jobs in RoyalRender as there is no easy way to implement something like `GlobalJobPreload` logic in Deadline. Idea is to inject OpenPype environments directly to the job itself. + + +___ + +
+ + +
+General: Use manual thumbnail if present when publishing #5969 + +Use manual thumbnail added to the publisher instead of using it from published representation. + + +___ + +
+ + +
+AYON: Change of server url should work as expected #5971 + +Using login action in tray menu to change server url should correctly start new process without issues of missing bundle or previous url. + + +___ + +
+ + +
+AYON: make sure the AYON menu bar in 3dsMax is named AYON when AYON launches #5972 + +Renaming the menu bar in 3dsMax for AYON and some cosmetic fix in the docstring + + +___ + +
+ + +
+Resolve: renaming menu to AYON #5974 + +Resolve in Ayon is now having aligned name. + + +___ + +
+ + +
+Hiero: custom tools menu rename #5976 + +- OpenPype Tools are now Custom Tools menu +- fixing order of tools. Create should be first. + + +___ + +
+ + +
+nuke: updating name for custom tools menu item #5977 + +- Ayon variant of settings renamed `Custom Tools` menu item + + +___ + +
+ + +
+fusion: AYON renaming menu #5978 + +Fusion is having Ayon menu. + + +___ + +
+ + +
+Blender: Changed the labels for Layout JSON Extractor #5981 + +Changed the labels for Blender's Layout JSON Extractor. + + +___ + +
+ + +
+Testing: Skip Arnold license for test rendering. #5984 + +Skip license check when rendering for testing. + + +___ + +
+ + +
+Testing: Validate errors and failed status from Deadline jobs. #5986 + +While waiting for the Deadline jobs to finish, we query the errors on the job and its dependent jobs to fail as early as possible. Plus the failed status. + + +___ + +
+ + +
+AYON: rename Openpype Tools as Custom Tools in Maya Host #5991 + +Rename Openpype Tools as Custom Tools in Maya Host in + + +___ + +
+ + +
+AYON: Use AYON label in ayon mode #5995 + +Replaced OpenPype with AYON in AYON mode and added bundle nam to information. + + +___ + +
+ + +
+AYON: Update ayon python api #6002 + +Updated ayon-python-api to '1.0.0-rc.1'. + + +___ + +
+ + +
+Max: Add missing repair action in validate resolution setting #6014 + +Add missing repair action for validate resolution setting + + +___ + +
+ + +
+Add the AYON/OP settings to enable extractor for model family in 3dsmax #6027 + +Add the AYON/OP settings to enable extractor for model family in 3dsmax + + +___ + +
+ + +
+Bugfix: Fix error message formatting if ayon executable can't be found by deadline #6028 + +Without this fix the error message would report executables string with `;` between EACH character, similar to this PR: https://github.com/ynput/OpenPype/pull/5815However that PR apparently missed also fixing it in `GlobalJobPreLoad` and only fixed it in `Ayon.py` plugin. + + +___ + +
+ + +
+Show slightly different info in AYON mode #6031 + +This PR changes what is shown in Tray menu in AYON mode. Previously, it showed version of OpenPype that is very confusing in AYON mode. So this now shows AYON version instead. When clicked, it will opene AYON info window, where OpenPype version is now added, for debugging purposes. + + +___ + +
+ + +
+AYON Editorial: Hierarchy context have names as keys #6041 + +Use folder name as keys in `hierarchyContext` and modify hierachy extraction accordingly. + + +___ + +
+ + +
+AYON: Convert the createAt value to local timezone #6043 + +Show correct create time in UIs. + + +___ + +
+ +### **🐛 Bug fixes** + + +
+Maya: Render creation - fix broken imports #5893 + +Maya specific imports were moved to specific methods but not in all cases by #5775. This is just quickly restoring functionality without questioning that decision. + + +___ + +
+ + +
+Maya: fix crashing model renderset collector #5929 + +This fix is handling case where model is in some type of render sets but no other connections are made there. Publishing this model would fail with `RuntimeError: Found no items to list the history for.` + + +___ + +
+ + +
+Maya: Remove duplicated attributes of MTOA verbosity level #5945 + +Remove duplicated attributes implementation mentioned in https://github.com/ynput/OpenPype/pull/5931#discussion_r1402175289 + + +___ + +
+ + +
+Maya: Bug fix Redshift Proxy not being successfully published #5956 + +Bug fix redshift proxy family not being successfully published due to the error found in integrate.py + + +___ + +
+ + +
+Maya: Bug fix load image for texturesetMain #6011 + +Bug fix load image with file node for texturesetMain + + +___ + +
+ + +
+Maya: bug fix the repair function in validate_rendersettings #6021 + +The following error has been encountered below: +``` +// pyblish.pyblish.plugin.Action : Finding failed instances.. +// pyblish.pyblish.plugin.Action : Attempting repair for instance: renderLookdevMain ... +// Error: pyblish.plugin : Traceback (most recent call last): +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process +// runner(*args) +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.17.7-nightly.6\openpype\pipeline\publish\publish_plugins.py", line 241, in process +// plugin.repair(instance) +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.17.7-nightly.6\openpype\hosts\maya\plugins\publish\validate_rendersettings.py", line 395, in repair +// cmds.setAttr("{}.{}".format(node, prefix_attr), +// UnboundLocalError: local variable 'node' referenced before assignment +// Traceback (most recent call last): +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process +// runner(*args) +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.17.7-nightly.6\openpype\pipeline\publish\publish_plugins.py", line 241, in process +// plugin.repair(instance) +// File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.17.7-nightly.6\openpype\hosts\maya\plugins\publish\validate_rendersettings.py", line 395, in repair +// cmds.setAttr("{}.{}".format(node, prefix_attr), +// UnboundLocalError: local variable 'node' referenced before assignment +``` +This PR is a fix for that + + +___ + +
+ + +
+Fusion: Render avoid unhashable type `BlackmagicFusion.PyRemoteObject` error #5672 + +Fix Fusion 18.6+ support: Avoid issues with Fusion's `BlackmagicFusion.PyRemoteObject` instances being unhashable. +```python +Traceback (most recent call last): + File "E:\openpype\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 527, in __explicit_process + runner(*args) + File "E:\openpype\OpenPype\openpype\hosts\fusion\plugins\publish\extract_render_local.py", line 61, in process + result = self.render(instance) + File "E:\openpype\OpenPype\openpype\hosts\fusion\plugins\publish\extract_render_local.py", line 118, in render + with enabled_savers(current_comp, savers_to_render): + File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 119, in __enter__ + return next(self.gen) + File "E:\openpype\OpenPype\openpype\hosts\fusion\plugins\publish\extract_render_local.py", line 33, in enabled_savers + original_states[saver] = original_state +TypeError: unhashable type: 'BlackmagicFusion.PyRemoteObject' +``` + + + +___ + +
+ + +
+Nuke: Validate Nuke Write Nodes refactor to use variable `node_value` instead of `value` #5764 + +Nuke: Validate Nuke Write Nodes refactor to use variable `node_value` instead of `value`The variable `value` only exists as the last variable value in the `for value in values` loop and might not be declared if `values` is an empty iterable. + + +___ + +
+ + +
+resolve: fixing loader handles calculation #5863 + +Resolve was not correctly calculating duration of database related duration. + + +___ + +
+ + +
+Chore: Staging mode determination #5895 + +Resources use `is_staging_enabled` function instead of `is_running_staging` to determine if should use staging icon. And fixed comparison bug in `is_running_staging`. + + +___ + +
+ + +
+AYON: Handle staging templates category #5905 + +Staging anatomy templates category is handled during project templates conversion. The keys are stored into `others` with `"staging_"` prefix. + + +___ + +
+ + +
+Max: fix the subset name not changing accordingly after the variant name changes #5911 + +Resolve #5902 + + +___ + +
+ + +
+AYON: Loader tool bugs hunt #5915 + +Fix issues with invalid representation ids in loaded containers and handle missing product type in server database. + + +___ + +
+ + +
+Publisher: Bugfixes and enhancements #5924 + +Small fixes/enhancements in publisher UI. + + +___ + +
+ + +
+Maya: Supports for additional Job Info and Plugin Info in deadline submission #5931 + +This PR is to resolve some of the attributes such as MTOA's `ArnoldVerbose` are not preserved on farm and users can use the project settings to add the attributes back to either job or plugin Info. + + +___ + +
+ + +
+Bugfix: Houdini license validator missing families #5934 + +Adding missing families to Houdini license validator. + + +___ + +
+ + +
+TrayPublisher: adding back `asset_doc` variable #5943 + +Returning variable which had been removed accidentally in previous PR. + + +___ + +
+ + +
+Settings: Fix ModulesManager init args #5947 + +Remove usage of kwargs to create ModulesManager. + + +___ + +
+ + +
+Blender: Fix Deadline Frames per task #5949 + +Fixed a problem with Frames per task setting not being applied when publishing a render. + + +___ + +
+ + +
+Testing: Fix is_test_failed #5951 + +`is_test_failed` is used (exclusively) on module fixtures to determine whether the tests have failed or not. This determines whether to run tear down code like cleaning up the database and temporary files.But in the module scope `request.node.rep_call` is not available, which results in `is_test_failed` always returning `True`, and no tear down code get executed.The solution was taken from; https://github.com/pytest-dev/pytest/issues/5090 + + +___ + +
+ + +
+Harmony: Fix local rendering #5953 + +Local rendering was throwing warning about license, but didn't fail per se. It just didn't produce anything. + + +___ + +
+ + +
+Testing: hou module should be within class code. #5954 + +`hou` module should be within the class code else we'll get pyblish errors from needing to skip the plugin. + + +___ + +
+ + +
+Maya: Add Label to MayaUSDReferenceLoader #5964 + +As the create placeholder dialog displays the two distinct loaders with the same name, this PR is to distinguish Maya USD Reference Loaders from the loaders of which inherited from. See the screenshot below: + + +___ + +
+ + +
+Max: Bug fix the resolution not being shown correctly in review burnin #5965 + +The resolution is not being shown correctly in review burnin + + +___ + +
+ + +
+AYON: Fix thumbnail integration #5970 + +Thumbnail integration could cause crash of server if thumbnail id was changed for the same entity id multiple times. Modified the code to avoid that issue. + + +___ + +
+ + +
+Photoshop: Updated label in Settings #5980 + +Replaced wrong label from different plugin. + + +___ + +
+ + +
+Photoshop: Fix removed unsupported Path #5996 + +Path is not json serializable by default, it is not necessary, better model reused. + + +___ + +
+ + +
+AYON: Prepare functions for newer ayon-python-api #5997 + +Newer ayon python api will add new filtering options or change order of existing. Kwargs are used in client code to prevent issues on update. + + +___ + +
+ + +
+AYON: Conversion of the new playblast settings in Maya #6000 + +Conversion of the new playblast settings in Maya + + +___ + +
+ + +
+AYON: Bug fix for loading Mesh in Substance Painter as new project not working #6004 + +Substance Painter in AYON can't load mesh for creating a new project + + +___ + +
+ + +
+Deadline: correct webservice couldn't be selected in Ayon #6007 + +Changed the Setting model to mimic more OP approach as it needs to live together for time being. + + +___ + +
+ + +
+AYON tools: Fix refresh thread #6008 + +Trigger 'refresh_finished' signal out of 'run' method. + + +___ + +
+ + +
+Ftrack: multiple reviewable components missing variable #6013 + +Missing variable in code for editorial publishing in traypublisher. + + +___ + +
+ + +
+TVPaint: Expect legacy instances in metadata #6015 + +Do not expect `"workfileInstances"` constains only new type instance data with `creator_identifier`. + + +___ + +
+ + +
+Bugfix: handle missing key in Deadline #6019 + +This quickly fixes bug introduced by #5420 + + +___ + +
+ + +
+Revert `extractenvironments` behaviour #6020 + +This is returning original behaviour of `extractenvironments` command from before #5958 so we restore functionality. + + +___ + +
+ + +
+OP-7535 - Fix renaming composition in AE #6025 + +Removing of `render` instance caused renaming of composition to `dummyComp` which caused issue in publishing in next attempt.This PR stores original composition name(cleaned up for product name creation) and uses it if instance needs to be removed. + + +___ + +
+ + +
+Refactor code to skip instance creation for new assets #6029 + +Publishing effects from hiero during editorial publish is working as expected again. + + +___ + +
+ + +
+Refactor code to handle missing "representations" key in instance data #6032 + +Minor code change for optimisation of thumbnail workflow. + + +___ + +
+ + +
+Traypublisher: editorial preserve clip case sensitivity #6036 + +Keep EDL clip name inheritance with case sensitivity. + + +___ + +
+ + +
+Bugfix/add missing houdini settings #6039 + +add missing settings. now, it looks like this:| Ayon | OpenPype || -- | -- | | | || | | + + +___ + +
+ +### **🔀 Refactored code** + + +
+Maya: Remove RenderSetup layer observers #5836 + +Remove RenderSetup layer observers that are not needed since new publisher since Renderlayer Creators manage these themselves on Collect and Save/Update of instances. + + +___ + +
+ +### **Merged pull requests** + + +
+Tests: Removed render instance #6026 + +This test was created as simple model and workfile publish, without Deadline rendering. Cleaned up render elements. + + +___ + +
+ + +
+Tests: update after thumbnail default change #6040 + +https://github.com/ynput/OpenPype/pull/5944 changed default state of integration of Thumbnails to NOT integrate. This PR updates automatic tests to follow that. + + +___ + +
+ + +
+Houdini: Remove legacy LOPs USD output processors #5861 + +Remove unused/broken legacy code for Houdini Solaris USD LOPs output processors. The code was originally written in Avalon, against early Houdini 18 betas which had a different API for output processors and thus the current state doesn't even work in recent versions of Houdini. + + +___ + +
+ + +
+Chore: Substance Painter Addons for Ayon #5914 + +Substance Painter Addons for Ayon + + +___ + +
+ + +
+Ayon: Updated name of Adobe extension to Ayon #5992 + +This changes name in menu in Adobe extensions to Ayon. + + +___ + +
+ + +
+Chore/houdini update startup log #6003 + +print `Installing AYON ...` on startup when launching houdini from launcher in ayon mode.also update submenu to `ayon_menu` instead of `openpype_menu` + + +___ + +
+ + +
+Revert "Ayon: Updated name of Adobe extension to Ayon" #6010 + +Reverts ynput/OpenPype#5992 + +That PR is only applicable to Ayon. +___ + +
+ + +
+Standalone/Tray Publisher: Remove simple Unreal texture publishing #6012 + +We are removing _simple Unreal Texture publishing_ that was just renaming texture files to fit to Unreal naming conventions but without any additional functionality. We might return this functionality back with better texture publishing system.Related to #5983 + + +___ + +
+ + +
+Deadline: Bump version because of Settings changes for Deadline #6023 + + +___ + +
+ + +
+Change ASCII art in the Console based on the server mode #6030 + +This changes ASCII art in the console based on the AYON/OpenPype mode + + +___ + +
+ + + + ## [3.17.6](https://github.com/ynput/OpenPype/tree/3.17.6) diff --git a/openpype/version.py b/openpype/version.py index cdaafa05595..04ee3fbc5b5 100644 --- a/openpype/version.py +++ b/openpype/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Pype version.""" -__version__ = "3.17.7-nightly.7" +__version__ = "3.17.7" diff --git a/pyproject.toml b/pyproject.toml index 21ba7d11999..018f876e262 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenPype" -version = "3.17.6" # OpenPype +version = "3.17.7" # OpenPype description = "Open VFX and Animation pipeline with support." authors = ["OpenPype Team "] license = "MIT License"