Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

3.17.7

Compare
Choose a tag to compare
@ynbot ynbot released this 12 Dec 20:32
· 1313 commits to develop since this release
bd9ecf2

Full Changelog

🆕 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:

  • ass
  • redshift proxy
  • ifd
  • abc
  • bgeo
  • 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 #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 #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 #5931 (comment)


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
Fusion: Render avoid unhashable type `BlackmagicFusion.PyRemoteObject` error #5672

Fix Fusion 18.6+ support: Avoid issues with Fusion's BlackmagicFusion.PyRemoteObject instances being unhashable.


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 valueThe 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; pytest-dev/pytest#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

#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 #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