695 KiB
Changelog
3.18.6
🚀 Enhancements
AYON: Use `SettingsField` from ayon server #6173
This is preparation for new version of pydantic which will require to customize the field class for AYON purposes as raw pydantic Field could not be used.
Nuke: Expose write knobs - OP-7592 #6137
This PR adds exposed_knobs to the creator plugins settings at ayon+settings://nuke/create/CreateWriteRender/exposed_knobs.When exposed knobs will be linked from the write node to the outside publish group, for users to adjust.
AYON: Remove kitsu addon #6172
Removed kitsu addon from server addons because already has own repository.
🐛 Bug fixes
Fusion: provide better logging for validate saver crash due type error #6082
Handles reported issue for NoneType error thrown in conversion int(tool["Comments"][frame]). It is most likely happening when saver node has no input connections.There is a validator for that, but it might be not obvious, that this error is caused by missing input connections and it has been already reported by "Validate Saver Has Input".
Workfile Template Builder: Use correct variable in create placeholder #6141
Use correct variable where failed instances are stored for validation.
ExtractOIIOTranscode: Missing product_names to subsets conversion #6159
The Product Names filtering should be fixed with this.
Blender: Fix missing animation data when updating blend assets #6165
Fix missing animation data when updating blend assets.
TrayPublisher: Pre-fill of version works in AYON #6180
Use folderPath instead of asset in AYON mode to calculate next available version.
🔀 Refactored code
Chore: remove Muster #6085
Muster isn't maintained for a long time and it wasn't working anyway. This is removing related code from the code base. If there is renewed interest in Muster, it needs to be re-implemented in modern AYON compatible way.
Merged pull requests
3.18.5
🚀 Enhancements
Chore: Add addons dir only if exists #6140
Do not add addons directory path for addons discovery if does not exists.
Hiero: Effect Categories - OP-7397 #6143
This PR introduces Effect Categories for the Hiero settings. This allows studios to split effect stacks into meaningful subsets.
Nuke: Render Workfile Attributes #6146
Workfile Dependency default value can now be controlled from project settings.Use Published Workfile makes using published workfiles for rendering optional.
🐛 Bug fixes
Maya: Attributes are locked after publishing if they are locked in Camera Family #6073
This PR is to make sure unlock attributes only during the bake context, make sure attributes are relocked after to preserve the lock state of the original node being baked.
Missing nuke family Windows arguments #6131
Default Windows arguments for launching the Nuke family was missing.
AYON: Fix the bug on the limit group not being set correctly in Maya Deadline Setting #6139
This PR is to bug-fix the limit groups from maya deadline settings errored out when the user tries to edit the setting.
Chore: Transcoding extensions add missing '.tif' extension #6142
Image extensions in transcoding helper was missing .tif extension and had .tiff twice.
Blender: Use the new API for override context #6145
Blender 4.0 disabled the old API to override context. This API updates the code to use the new API.
BugFix: Include Model in FBX Loader in Houdini #6150
A quick bugfig where we can't load fbx exported from blender. The bug was reported here.
Blender: Restore actions to objects after update #6153
Restore the actions assigned to objects after updating assets from blend files.
Chore: Collect template data with hierarchy context #6154
Fixed queue loop where is used wrong variable to pop items from queue.
OP-6382 - Thumbnail Integration Problem #6156
This ticket alerted to 3 different cases of integration issues;
- Using the Tray Publisher with the same image format (extension) for representation and review representation.
- Clash on publish file path from output definitions in
ExtractOIIOTranscode. - Clash on publish file from thumbnail in
ExtractThumbnailThere might be an issue with this fix, if a studio does not use the{output}token in theirrenderanatomy template. But thinking if they have customized it, they will be responsible to maintain these edge cases.
Max: Bugfix saving camera scene errored out when creating render instance with multi-camera option turned off #6163
This PR is to make sure the integrator of saving camera scene turned off and the render submitted successfully when multi-camera options being turned off in 3dsmax
Chore: Fix duplicated project name on create project structure #6166
Small fix in project folders. It is not used same variable name to change values which breaks values on any next loop.
Merged pull requests
Maya: Remove duplicate plugin #6157
The two plugins below are doing the same work, so we can remove the one focused solely on lookdev.https://github.com/ynput/OpenPype/blob/develop/openpype/hosts/maya/plugins/publish/validate_look_members_unique.pyhttps://github.com/ynput/OpenPype/blob/develop/openpype/hosts/maya/plugins/publish/validate_node_ids_unique.py
Publish report viewer: Report items sorting #6092
Proposal of items sorting in Publish report viewer tool. Items are sorted by report creation time. Creation time is also added to publish report data when saved from publisher tool.
Fusion: Added settings for Fusion creators to legacy OP #6162
Added missing OP variant of setting for new Fusion creator.
3.18.4
🚀 Enhancements
multiple render camera supports for 3dsmax #5124
Supports for rendering with multiple cameras in 3dsmax
- Add Batch Render Layers functions
- Rewrite lib.rendersetting and lib.renderproduct
- Add multi-camera options in creator.
- Collector with batch render-layer when multi-camera enabled.
- Add instance plugin for saving scene files with different cameras respectively by using subprocess
- Refactor submit_max_deadline
- Check with metadata.json in submit publish job
Fusion: new creator for image product type #6057
In many DCC render product type is expected to be sequence of files. This PR adds new explicit creator for image product type which is focused on single frame image. Workflows for both product types might be a bit different, this gives artists more granularity to choose better workflow.
🐛 Bug fixes
Maya: Account and ignore free image planes. #5993
Free image planes do not have the -> path separator, so we need to account for that.
Blender: Fix long names for instances #6070
Changed naming for instances to use only final part of the folderPath.
Traypublisher & Chore: Instance version on follow workfile version #6117
If follow_workfile_version is enabled but context does not have filled workfile version, a version on instance is used instead.
Substance Painter: Thumbnail errors with PBR Texture Set #6127
When publishing with PBR Metallic Roughness as Output Template, Emissive Map errors out because of the missing channel in the material and the map can't be generated in Substance Painter. This PR is to make sure imagestance.data["publish"] = False so that the related "empty" texture instance would be skipped to generate the output.
Transcoding: Fix reading image sequences through oiiotool #6129
When transcoding image sequences, the second image onwards includes the invalid xml line of Reading path/to/file.exr of the oiiotool output.This is most likely not the best solution, but it fixes the issue and illustrates the problem.Error:
ERROR:pyblish.plugin:Traceback (most recent call last):
File "C:\Users\tokejepsen\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
runner(*args)
File "C:\Users\tokejepsen\OpenPype\openpype\plugins\publish\extract_color_transcode.py", line 152, in process
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 1136, in convert_colorspace
input_info = get_oiio_info_for_input(input_path, logger=logger)
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 124, in get_oiio_info_for_input
output.append(parse_oiio_xml_output(xml_text, logger=logger))
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 276, in parse_oiio_xml_output
tree = xml.etree.ElementTree.fromstring(xml_string)
File "xml\etree\ElementTree.py", line 1347, in XML
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0
Traceback (most recent call last):
File "C:\Users\tokejepsen\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
runner(*args)
File "<string>", line 152, in process
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 1136, in convert_colorspace
input_info = get_oiio_info_for_input(input_path, logger=logger)
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 124, in get_oiio_info_for_input
output.append(parse_oiio_xml_output(xml_text, logger=logger))
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 276, in parse_oiio_xml_output
tree = xml.etree.ElementTree.fromstring(xml_string)
File "xml\etree\ElementTree.py", line 1347, in XML
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0
AYON: Remove 'IntegrateHeroVersion' conversion #6130
Remove settings conversion for IntegrateHeroVersion.
Chore tools: Make sure style object is not garbage collected #6136
Minor fix in tool utils to make sure style C++ object is not garbage collected when not stored into variable.
3.18.3
🚀 Enhancements
Maya: Apply initial viewport shader for Redshift Proxy after loading #6102
When the published redshift proxy is being loaded, the shader of the proxy is missing. This is different from the manual load through creating redshift proxy for files. This PR is to assign the default lambert to the redshift proxy, which replicates the same approach when the user manually loads the proxy with filepath.
General: We should keep current subset version when we switch only the representation type #4629
When we switch only the representation type of subsets, we should not get the representation from the last version of the subset.
Houdini: Add loader for redshift proxy family #5948
Loader for Redshift Proxy in Houdini (Thanks for @BigRoy contribution)
AfterEffects: exposing Deadline pools fields in Publisher UI #6079
Deadline pools might be adhoc set by an artist during publishing. AfterEffects implementation wasn't providing this.
Chore: Event callbacks can have order #6080
Event callbacks can have order in which are called, and fixed issue with getting function name and file when using partial function as callback.
AYON: OpenPype addon defines runtime dependencies #6095
Moved runtime dependencies from ayon-launcher to openpype addon.
Max: User's setting for scene unit scale #6097
Options for users to set the default scene unit scale for their scenes.AYONLegacy OP
Chore: Remove deprecated templates profiles #6103
Remove deprecated usage of template profiles from settings.
Publisher: Window is not always on top #6107
Goal of this PR is to avoid using WindowStaysOnTopHint which causes issues, especially in cases when DCC shows a popup dialog that is behind the window, in that case both Publisher and DCC are frozen and there is nothing to do.
Houdini: add split job export support for Redshift ROP #6108
This is adding support for splitting of export and render jobs for Redshift as is already implemented for Vray, Mantra and Arnold.
Fusion: automatic installation of PySide2 #6111
This PR adds hook which tries to check if PySide2 is installed in Python used by Fusion and if not, it tries to install it automatically.
AYON: OpenPype addon dependencies #6113
Added click and six to requirements of openpype addon, and removed Qt.py requirement, which is not used anywhere.
Chore: Thumbnail representation has 'outputName' #6114
Add thumbnail output name to thumbnail representation to prevent same output filename during integration.
🐛 Bug fixes
Maya: bug fix the playblast without textures #5942
Bug fix the texture not being displayed when users enable texture placement in the OP/AYON setting
Blender: Workfile instance update fix #6048
Make sure workfile instance has always available 'instance_node' in transient data.
Publisher: Fix issue with parenting of widgets #6106
Don't use publisher window parent (usually main DCC window) as parent for report widget.
🔧 fix and update pydocstyle configuration #6109
Fix pydocstyle configuration and move it to pyproject.toml
Nuke: Create camera node with the latest camera node class in Nuke 14 #6118
Creating instance fails for certain cameras, and it seems to only exist in Nuke 14. The reason of causing that contributes to the new camera node class Camera4 while the camera creator is working with the Camera2 class.
Site Sync: small fixes in Loader #6119
Resolves issue:
- local and studio icons were same, they should be different
TypeError: string indices must be integerserror when downloading/uploading workfiles
Chore: Template data for editorial publishing #6120
Template data for editorial publishing are filled during CollectInstanceAnatomyData. The structure for editorial is determined, as it's required for ExtractHierarchy AYON/OpenPype plugins.
SceneInventory: Fix site sync icon conversion #6123
Use 'get_qt_icon' to convert icon definitions from site sync.
3.18.2
🚀 Enhancements
Testing: Release Maya/Deadline job from pending when testing. #5988
When testing we wont put the Deadline jobs into pending with dependencies, so the worker can start as soon as possible.
Max: Tweaks on Extractions for the exporters #5814
With this PR
- Suspend Refresh would be introduced in abc & obj extractors for optimization.
- Allow users to choose the custom attributes to be included in abc exports
AYON ftrack: Expect 'ayon' group in custom attributes #6066
Expect ayon group as one of options to get custom attributes.
AYON Chore: Remove dependencies related to separated addons #6074
Removed dependencies from openpype client pyproject.toml that are already defined by addons which require them.
Editorial & chore: Stop using pathlib2 #6075
Do not use pathlib2 which is Python 2 backport for pathlib module in python 3.
Nuke: Extract Review Intermediate disabled when both Extract Review Mov and Extract Review Intermediate disabled in setting #6089
Report in Discord https://discord.com/channels/517362899170230292/563751989075378201/1187874498234556477
🐛 Bug fixes
Maya: Bug fix the file from texture node not being collected correctly in Yeti Rig #5990
Fix the bug of collect Yeti Rig not being able to get the file parameter(s) from the texture node(s), resulting to the failure of publishing the textures to the resource directory.
Bug: fix AYON settings for Maya workspace #6069
This is changing bug in default AYON setting for Maya workspace, where missing semicolumn caused workspace not being set. This is also syncing default workspace settings to OpenPype
Refactor colorspace handling in CollectColorspace plugin #6033
Traypublisher is now capable set available colorspaces or roles to publishing images sequence or video. This is fix of new implementation where we allowed to use roles in the enumerator selector.
Bugfix: Houdini render split bugs #6037
This PR is a follow up PR to https://github.com/ynput/OpenPype/pull/5420This PR does:
- refactor
get_output_parameterto what is used to be. - fix a bug with split render
- rename
exportJobflag tosplit_render
Fusion: fix for single frame rendering #6056
Fixes publishes of single frame of render product type.
Photoshop: fix layer publish thumbnail missing in loader #6061
Thumbnails from any products (either review nor separate layer instances) weren't stored in Ayon.This resulted in not showing them in Loader and Server UI. After this PR thumbnails should be shown in the Loader and on the Server (http://YOUR_AYON_HOSTNAME:5000/projects/YOUR_PROJECT/browser).
AYON Chore: Do not use thumbnailSource for thumbnail integration #6063
Do not use thumbnailSource for thumbnail integration.
Photoshop: fix creation of .mov #6064
Generation of .mov file with 1 frame per published layer was failing.
Photoshop: fix Collect Color Coded settings #6065
Fix for wrong default value for Collect Color Coded Instances Settings
Bug: Fix Publisher parent window in Nuke #6067
Fixing issue where publisher parent window wasn't set because wrong use of version constant.
Python console widget: Save registry fix #6076
Do not save registry until there is something to save.
Ftrack: update asset names for multiple reviewable items #6077
Multiple reviewable assetVersion components with better grouping to asset version name.
AYON Workfiles tool: Fix arrow to timezone typo #6099
Fix parenthesis typo with arrow local timezone function.
🔀 Refactored code
Chore: Update folder-favorite icon to ayon icon #5718
Updates old "Pype-2.0-era" (from ancient greece times) to AYON logo equivalent.I believe it's only used in Nuke.
Merged pull requests
Chore: Maya / Nuke remove publish gui filters from settings #5570
- Remove Publish GUI Filters from Nuke settings
- Remove Publish GUI Filters from Maya settings
Fusion: Project/User option for output format (create_saver) #6045
Adds "Output Image Format" option which can be set via project settings and overwritten by users in "Create" menu. This replaces the current behaviour of being hardcoded to "exr". Replacing the need for people to manually edit the saver path if they require a different extension.
Fusion: Output Image Format Updating Instances (create_saver) #6060
Adds the ability to update Saver image output format if changed in the Publish UI.Adds an optional validator that compares "Output Image Format" in the Publish menu against the one currently found on the saver. It then offers a repair action to update the output extension on the saver.
Tests: Fix representation count for AE legacy test #6072
3.18.1
🚀 Enhancements
3.18.0
🐛 Bug fixes
Chore: Fix subst paths handling #5702
Make sure that source disk ends with \ instead of destination disk.
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:
- 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 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
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.
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
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 Toolsmenu item
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.
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.
🐛 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.
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 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.
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.
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: 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.
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.
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.
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
🚀 Enhancements
Testing: Validate Maya Logs #5775
This PR adds testing of the logs within Maya such as Python and Pyblish errors.The reason why we need to touch so many files outside of Maya is because of the pyblish errors below;
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_frame_ranges" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_frame_ranges" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_review" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_review" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_subset_resources" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_subset_resources" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_audio_tracks" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_audio_tracks" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_file" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_file" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_review" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_review" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_trimming_video" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_trimming_video" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_blender_deadline" (No module named 'bpy')
# Error: pyblish.plugin : Skipped: "submit_blender_deadline" (No module named 'bpy') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_houdini_remote_publish" (No module named 'hou')
# Error: pyblish.plugin : Skipped: "submit_houdini_remote_publish" (No module named 'hou') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_houdini_render_deadline" (No module named 'hou')
# Error: pyblish.plugin : Skipped: "submit_houdini_render_deadline" (No module named 'hou') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_max_deadline" (No module named 'pymxs')
# Error: pyblish.plugin : Skipped: "submit_max_deadline" (No module named 'pymxs') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_nuke_deadline" (No module named 'nuke')
# Error: pyblish.plugin : Skipped: "submit_nuke_deadline" (No module named 'nuke') #
We also needed to stdout and stderr from the launched application to capture the output.Split from #5644.Dependent on #5734
Maya: Render Settings cleanup remove global `RENDER_ATTRS` #5801
Remove global lib.RENDER_ATTRS and implement a RenderSettings.get_padding_attr(renderer) method instead.
Testing: Ingest expected files and input workfile #5840
This ingests the Maya workfile from the Drive storage. Have changed the format to MayaAscii so its easier to see what changes are happening in a PR. This meant changing the expected files and database entries as well.
Resolve: Add save current file button + "Save" shortcut when menu is active #5691
Adds a "Save current file" to the OpenPype menu.Also adds a "Save" shortcut key sequence (CTRL+S on Windows) to the button, so that clicking CTRL+S when the menu is active will save the current workfile. However this of course does not work if the menu does not receive the key press event (e.g. when Resolve UI is active instead)Resolves #5684
Reference USD file as maya native geometry #5781
Add MayaUsdReferenceLoader to reference USD as Maya native geometry using mayaUSDImport file translator.
Max: Bug fix on wrong aspect ratio and viewport not being maximized during context in review family #5839
This PR will fix the bug on wrong aspect ratio and viewport not being maximized when creating preview animationBesides, the support of tga image format and the options for AA quality are implemented in this PR
Blender: Incorporate blender "Collections" into Publish/Load #5841
Allow blendScene family to include collections.
Max: Allows user preset the setting of preview animation in OP/AYON Setting #5859
Allows user preset the setting of preview animation in OP/AYON Setting for review family.
- Openpype
- AYON
Publisher: Center publisher window on first show #5877
Move publisher window to center of a screen on first show.
Publisher: Instance context changes confirm works #5881
Confirmation of context changes in publisher on existing instances does not cause glitches.
AYON workfiles tools: Revisit workfiles tool #5897
Revisited workfiles tool for AYON mode to reuse common models and widgets.
Nuke: updated colorspace settings #5906
Updating nuke colorspace settings into more convenient way with usage of ocio config roles rather then particular colorspace names. This way we should not have troubles to switch between linear Rec709 or ACES configs without any additional settings changes.
Enhancement: Some publish logs cosmetics #5917
General logging message tweaks:
- Sort some lists of folder/filenames so they appear sorted in the logs
- Fix some grammar / typos
- In some cases provide slightly more information in a log
Blender: Better name of 'asset_name' function #5927
Renamed function asset_name to prepare_scene_name.
🐛 Bug fixes
Maya: Bug fix the fbx animation export errored out when the skeletonAnim set is empty #5875
Resolve this bug discordIf the skeletonAnim SET is empty and fbx animation collect, the fbx animation extractor would skip the fbx extraction
Bugfix: fix few typos in houdini's and Maya's Ayon settings #5882
Fixing few typos
- Maya unreal static mesh
- Houdini static mesh
- Houdini collect asset handles
Bugfix: Ayon Deadline env vars + error message on no executable found #5815
Fix some Ayon x Deadline issues as came up in this topic:
- missing Environment Variables issue explained here for
deadlinePlugin.RunProcessfor the AYON extract environments call. - wrong error formatting described here with a
;between each character like this:Ayon executable was not found in the semicolon separated list "C;:;/;P;r;o;g;r;a;m; ;F;i;l;e;s;/;Y;n;p;u;t;/;A;Y;O;N; ;1;.;0;.;0;-;b;e;t;a;.;5;/;a;y;o;n;_;c;o;n;s;o;l;e;.;e;x;e". The path to the render executable can be configured from the Plugin Configuration in the Deadline Monitor.
AYON: Fix bundles access in settings #5856
Fixed access to bundles data in settings to define correct develop variant.
AYON 3dsMax settings: 'ValidateAttributes' settings converte only if available #5878
Convert ValidateAttributes settings only if are available in AYON settings.
AYON: Fix TrayPublisher editorial settings #5880
Fixing Traypublisher settings for adding task in simple editorial.
TrayPublisher: editorial frame range check not needed #5884
Validator for frame ranges is not needed during editorial publishing since entity data are not yet in database.
Update houdini license validator #5886
As reported in this community commentHoudini USD publishing is only restricted in Houdini apprentice.
Blender: Fix blend extraction and packed images #5888
Fixed a with blend extractor and packed images.
AYON: Initialize connection with all information #5890
Create global AYON api connection with all informations all the time.
AYON: Scene inventory tool without site sync #5896
Skip 'get_site_icons' if site sync addon is disabled.
fusion: removing hardcoded template name for saver #5907
Fusion is not hardcoded for render anatomy template only anymore. This was blocking AYON deployment.
3.17.5
🆕 New features
Fusion: Resolution validator #5325
Added a resolution validator.The code is from my old PR (https://github.com/ynput/OpenPype/pull/4921) that I closed because the PR also contained a frame range validator that no longer is needed.
Context Selection tool: Refactor Context tool (for AYON) #5766
Context selection tool has AYON variant.
AYON: Use AYON username for user in template data #5842
Use ayon username for template data in AYON mode.
Testing: app_group flag #5869
app_group command flag. This is for changing which flavour of the host to launch. In the case of Maya, you can launch Maya and MayaPy, but it can be used for the Nuke family as well.Split from #5644
🚀 Enhancements
Enhancement: Fusion fix saver creation + minor Blender/Fusion logging tweaks #5558
- Blender change logs to
debuglevel in preparation for new publisher artist facing reports (note that it currently still uses the old publisher) - Fusion: Create Saver fix redeclaration of default_variants
- Fusion: Fix saver being created in incorrect state without saving directly after create
- Fusion: Allow reset frame range on render family
- Fusion: Tweak logging level for artist-facing report
Resolve: load clip to timeline at set time #5665
It is possible to load clip to correct place on timeline.
Nuke: Optional Deadline workfile dependency. #5732
Adds option to add the workfile as dependency for the Deadline job.Think it used to have something like this, but it disappeared. Usecase is for remote workflow where the Nuke script needs to be synced before the job can start.
Enhancement/houdini rearrange ayon houdini settings files #5748
Rearranging Houdini Settings to be more readable, easier to edit, update settings (include all families/product types)This PR is mainly for Ayon Settings to have more organized files. For Openpype, I'll make sure that each Houdini setting in Ayon has an equivalent in Openpype.
- update Ayon settings, fix typos and remove deprecated settings.
- Sync with Openpype
- Test in Openpype
- Test in Ayon
Max: Implement Validator for Properties/Attributes Value Check #5824
Add optional validator which can check if the property attributes are valid in Max
Nuke: Remove unused 'get_render_path' function #5826
Remove unused function get_render_path from nuke integration.
Chore: Limit current context template data function #5845
Current implementation of get_current_context_template_data does return the same values as base template data function get_template_data.
Max: Make sure Collect Render not ignoring instance asset #5847
- Make sure Collect Render is not always using asset from context.
- Make sure Scene version being collected
- Clean up unnecessary uses of code in the collector.
Ftrack: Events are not processed if project is not available in OpenPype #5853
Events that happened on project which is not in OpenPype is not processed.
Nuke: Add Nuke 11.0 as default setting #5855
Found I needed Nuke 11.0 in the default settings to help with unit testing.
TVPaint: Code cleanup #5857
Removed unused import. Use AYON label in ayon mode. Removed unused data in publish context "previous_context".
AYON settings: Use correct label for follow workfile version #5874
Follow workfile version label was marked as Collect Anatomy Instance Data label.
🐛 Bug fixes
Nuke: Fix workfile template builder so representations get loaded next to each other #5061
Refactor when the cleanup of the placeholder happens for the cases where multiple representations are loaded by a single placeholder.The existing code didn't take into account the case where a template placeholder can load multiple representations so it was trying to do the cleanup of the placeholder node and the re-arrangement of the imported nodes too early. I assume this was designed only for the cases where a single representation can load multiple nodes.
Nuke: Dont update node name on update #5704
When updating Image containers the code is trying to set the name of the node. This results in a warning message from Nuke shown below;Suggesting to not change the node name when updating.
AYON: Skip kitsu module when creating ayon addons #5828
Create AYON packages is skipping kitsu module in creation of modules/addons and kitsu module is not loaded from modules on start. The addon already has it's repository https://github.com/ynput/ayon-kitsu.
Bugfix: Collect Rendered Files only collecting first instance #5832
Collect all instances from the metadata file - don't return on first instance iteration.
Houdini: set frame range for the created composite ROP #5833
Quick bug fix for created composite ROP, set its frame range to the frame range of the playbar.
Fix registering launcher actions from OpenPypeModules #5843
Fix typo actions_dir -> path to fix register launcher actions fromm OpenPypeModule
Bugfix in houdini shelves manager and beautify settings #5844
This PR fixes the problem in this PR https://github.com/ynput/OpenPype/issues/5457 by using the right function to load a pre-made houdini .shelf fileAlso, it beautifies houdini shelves settings to provide better guidance for users which helps with other issue https://github.com/ynput/OpenPype/issues/5458 , Rather adding default shelf and set names, I'll educate users how to use the tool correctly.Users now are able to select between the two options.| OpenPype | Ayon || -- | -- || | |
Blender: Fix missing Grease Pencils in review #5848
Fix Grease Pencil missing in review when isolating objects.
Bugfix: houdini tab menu working as expected #5850
This PR:Tab menu name changes to Ayon when using ayon get_network_categories is checked in all creator plugins. | Product | Network Category | | -- | -- | | Alembic camera | rop, obj | | Arnold Ass | rop | | Arnold ROP | rop | | Bgeo | rop, sop | | composite sequence | cop2, rop | | hda | obj | | Karma ROP | rop | | Mantra ROP | rop | | ABC | rop, sop | | RS proxy | rop, sop| | RS ROP | rop | | Review | rop | | Static mesh | rop, obj, sop | | USD | lop, rop | | USD Render | rop | | VDB | rop, obj, sop | | V Ray | rop |
Bigfix: Houdini skip frame_range_validator if node has no 'trange' parameter #5851
I faced a bug when publishing HDA instance as it has no trange parameter. As this PR title says : skip frame_range_validator if node has no 'trange' parameter
Bugfix: houdini image sequence loading and missing frames #5852
I made this PR in to fix issues mentioned here https://github.com/ynput/OpenPype/pull/5833#issuecomment-1789207727in short:
- image load doesn't work
- publisher only publish one frame
Nuke: loaders' containers updating as nodes #5854
Nuke loaded containers are updating correctly even they have been duplicating of originally loaded nodes. This had previously been removed duplicated nodes.
AYON: Launcher refresh issues #5867
Fixed refresh of projects issue in launcher tool. And renamed Qt models to contain Qt in their name (it was really hard to find out where were used). It is not possible to click on disabled item in launcher's projects view.
Fix the Wrong key words for tycache workfile template settings in AYON #5870
Fix the wrong key words for the tycache workfile template settings in AYON(i.e. Instead of families, product_types should be used)
🔀 Refactored code
Houdini: Remove on instance toggled callback #5860
Remove on instance toggled callback which isn't relevant to the new publisher
Chore: Remove unused `instanceToggled` callbacks #5862
The instanceToggled callbacks should be irrelevant for new publisher.
3.17.4
🆕 New features
Add Support for Husk-AYON Integration #5816
This draft pull request introduces support for integrating Husk with AYON within the OpenPype repository.
Push to project tool: Prepare push to project tool for AYON #5770
Cloned Push to project tool for AYON and modified it.
🚀 Enhancements
Unreal: Improved error reporting for Sequence Frame Validator #5730
Improved error reporting for Sequence Frame Validator.
Max: Setting tweaks on Review Family #5744
- Bug fix of not being able to publish the preferred visual style when creating preview animation
- Exposes the parameters after creating instance
- Add the Quality settings and viewport texture settings for preview animation
- add use selection for create review
Max: Add families with frame range extractions back to the frame range validator #5757
In 3dsMax, there are some instances which exports the files in frame range but not being added to the optional frame range validator. In this PR, these instances would have the optional frame range validators to allow users to check if frame range aligns with the context data from DB.The following families have been added to have optional frame range validator:
- maxrender
- review
- camera
- redshift proxy
- pointcache
- point cloud(tyFlow PRT)
TimersManager: Use available data to get context info #5804
Get context information from pyblish context data instead of using legacy_io.
Chore: Removed unused variable from `AbstractCollectRender` #5805
Removed unused _asset variable from RenderInstance.
🐛 Bug fixes
Bugfix/houdini: wrong frame calculation with handles #5698
This PR make collect plugins to consider handleStart and handleEnd when collecting frame range it affects three parts:
- get frame range in collect plugins
- expected file in render plugins
- submit houdini job deadline plugin
Nuke: ayon server settings improvements #5746
Nuke settings were not aligned with OpenPype settings. Also labels needed to be improved.
Blender: Fix pointcache family and fix alembic extractor #5747
Fixed pointcache family and fixed behaviour of the alembic extractor.
AYON: Remove 'shotgun_api3' from dependencies #5803
Removed shotgun_api3 dependency from openpype dependencies for AYON launcher. The dependency is already defined in shotgrid addon and change of version causes clashes.
Chore: Create context respects instance changes #5809
Fix issue with unrespected change propagation in CreateContext. All successfully saved instances are marked as saved so they have no changes. Origin data of an instance are explicitly not handled directly by the object but by the attribute wrappers.
Blender: Fix tools handling in AYON mode #5811
Skip logic in before_window_show in blender when in AYON mode. Most of the stuff called there happes on show automatically.
Blender: Include Grease Pencil in review and thumbnails #5812
Include Grease Pencil in review and thumbnails.
Workfiles tool AYON: Fix double click of workfile #5813
Fix double click on workfiles in workfiles tool to open the file.
Webpublisher: removal of usage of no_of_frames in error message #5819
If it throws exception, no_of_frames value wont be available, so it doesn't make sense to log it.
Attribute Defs: Hide multivalue widget in Number by default #5821
Fixed default look of NumberAttrWidget by hiding its multiselection widget.
Merged pull requests
Corrected a typo in Readme.md (Top -> To) #5800
Photoshop: Removed redundant copy of extension.zxp #5802
extension.zxp shouldn't be inside of extension folder.
3.17.3
🆕 New features
Maya: Multi-shot Layout Creator #5710
New Multi-shot Layout creator is a way of automating creation of the new Layout instances in Maya, associated with correct shots, frame ranges and Camera Sequencer in Maya.
Colorspace: ociolook file product type workflow #5541
Traypublisher support for publishing of colorspace look files (ociolook) which are json files holding any LUT files. This new product is available for loading in Nuke host at the moment.Added colorspace selector to publisher attribute with better labeling. We are supporting also Roles and Alias (only v2 configs).
Scene Inventory tool: Refactor Scene Inventory tool (for AYON) #5758
Modified scene inventory tool for AYON. The main difference is in how project name is defined and replacement of assets combobox with folders dialog.
🚀 Enhancements
Testing: Ingest Maya userSetup #5734
Suggesting to ingest userSetup.py startup script for easier collaboration and transparency of testing.
Fusion: Work with pathmaps #5329
Path maps are a big part of our Fusion workflow. We map the project folder to a path map within Fusion so all loaders and savers point to the path map variable. This way any computer on any OS can open any comp no matter where the project folder is located.
Maya: Add Maya 2024 and remove pre 2022. #5674
Adding Maya 2024 as default application variant.Removing Maya 2020 and older, as these are not supported anymore.
Enhancement: Houdini: Allow using template keys in Houdini shelves manager #5727
Allow using Template keys in Houdini shelves manager.
Houdini: Fix Show in usdview loader action #5737
Fix the "Show in USD View" loader to show up in Houdini
Nuke: validator of asset context with repair actions #5749
Instance nodes with different context of asset and task can be now validated and repaired via repair action.
Max: Tweaks on ValidateMaxContents #5759
This PR provides enhancements on ValidateMaxContent as follow:
- Rename
ValidateMaxContentstoValidateContainers - Add related families which are required to pass the validation(All families except
Renderas the render instance is the one which only allows empty container)
Enhancement: Nuke refactor `SelectInvalidAction` #5762
Refactor SelectInvalidAction to behave like other action for other host, create SelectInstanceNodeAction as dedicated action to select the instance node for a failed plugin.
- Note: Selecting Instance Node will still select the instance node even if the user has currently 'fixed' the problem.
Enhancement: Tweak logging for Nuke for artist facing reports #5763
Tweak logs that are not artist-facing to debug level + in some cases clarify what the logged value is.
🐛 Bug fixes
Maya: add colorspace argument to redshiftTextureProcessor #5645
In color managed Maya, texture processing during Look Extraction wasn't passing texture colorspaces set on textures to redshiftTextureProcessor tool. This in effect caused this tool to produce non-zero exit code (even though the texture was converted into wrong colorspace) and therefor crash of the extractor. This PR is passing colorspace to that tool if color management is enabled.
Maya: don't call `cmds.ogs()` in headless mode #5769
cmds.ogs() is a call that will crash if Maya is running in headless mode (mayabatch, mayapy). This is handling that case.
Resolve: inventory management fix #5673
Loaded Timeline item containers are now updating correctly and version management is working as it suppose to.
- updating loaded timeline items
- Removing of loaded timeline items
Blender: Remove 'update_hierarchy' #5756
Remove update_hierarchy function which is causing crashes in scene inventory tool.
Max: bug fix on the settings in pointcloud family #5768
Bug fix on the settings being errored out in validate point cloud(see links:https://github.com/ynput/OpenPype/pull/5759#pullrequestreview-1676681705) and passibly in point cloud extractor.
Fusion: added missing OPENPYPE_VERSION #5776
Fusion submission to Deadline was missing OPENPYPE_VERSION env var when submitting from build (not source code directly). This missing env var might break rendering on DL if path to OP executable (openpype_console.exe) is not set explicitly and might cause an issue when different versions of OP are deployed.This PR adds this environment variable.
Ftrack: Skip tasks when looking for asset equivalent entity #5777
Skip tasks when looking for asset equivalent entity.
Nuke: loading gizmos fixes #5779
Gizmo product is not offered in Loader as plugin. It is also updating as expected.
General: thumbnail extractor as last extractor #5780
Fixing issue with the order of the ExtractOIIOTranscode and ExtractThumbnail plugins. The problem was that the ExtractThumbnail plugin was processed before the ExtractOIIOTranscode plugin. As a result, the ExtractThumbnail plugin did not inherit the review tag into the representation data. This caused the ExtractThumbnail plugin to fail in processing and creating thumbnails.
Bug: fix key in application json #5787
In PR #5705 maya was wrongly used instead of mayapy, breaking AYON defaults in AYON Application Addon.
'NumberAttrWidget' shows 'Multiselection' label on multiselection #5792
Attribute definition widget 'NumberAttrWidget' shows < Multiselection > label on multiselection.
Publisher: Selection change by enabled checkbox on instance update attributes #5793
Change of instance by clicking on enabled checkbox will actually update attributes on right side to match the selection.
Houdini: Remove `setParms` call since it's responsibility of `self.imprint` to set the values #5796
Revert a recent change made in #5621 due to this comment. However the change is faulty as can be seen mentioned here
AYON loader: Fix SubsetLoader functionality #5799
Fix SubsetLoader plugin processing in AYON loader tool.
Merged pull requests
Houdini: Add self publish button #5621
This PR allows single publishing by adding a publish button to created rop nodes in HoudiniAdmins are much welcomed to enable it from houdini general settingsPublish Button also includes all input publish instances. in this screen shot the alembic instance is ignored because the switch is turned off
Nuke: fixing UNC support for OCIO path #5771
UNC paths were broken on windows for custom OCIO path and this is solving the issue with removed double slash at start of path
3.17.2
🆕 New features
Feature: Copy resources when downloading last workfile #4944
When the last published workfile is downloaded as a prelaunch hook, all resource files referenced in the workfile representation are copied to the resources folder, which is inside the local workfile folder.
Fusion: implement toggle to use Deadline plugin FusionCmd #5678
Fusion 17 doesn't work in DL 10.3, but FusionCmd does. It might be probably better option as headless variant.Fusion plugin seems to be closing and reopening application when worker is running on artist machine, not so with FusionCmdAdded configuration to Project Settings for admin to select appropriate Deadline plugin:
Loader tool: Refactor loader tool (for AYON) #5729
Refactored loader tool to new tool. Separated backend and frontend logic. Refactored logic is AYON-centric and is used only in AYON mode, so it does not affect OpenPype. The tool is also replacing library loader.
🚀 Enhancements
Maya: implement matchmove publishing #5445
Add possibility to export multiple cameras in single matchmove family instance, both in abc and ma.Exposed flag 'Keep image planes' to control export of image planes.
Maya: Add optional Fbx extractors in Rig and Animation family #5589
This PR allows user to export control rigs(optionally with mesh) and animated rig in fbx optionally by attaching the rig objects to the two newly introduced sets.
Maya: Optional Resolution Validator for Render #5693
Adding optional resolution validator for maya in render family, similar to the one in Max.It checks if the resolution in render setting aligns with that in setting from the db.
Use host's node uniqueness for instance id in new publisher #5490
Instead of writing instance_id as parm or attributes on the publish instances we can, for some hosts, just rely on a unique name or path within the scene to refer to that particular instance. By doing so we fix #4820 because upon duplicating such a publish instance using the host's (DCC) functionality the uniqueness for the duplicate is then already ensured instead of attributes remaining exact same value as where to were duplicated from, making instance_id a non-unique value.
Max: Implementation of OCIO configuration #5499
Resolve #5473 Implementation of OCIO configuration for Max 2024 regarding to the update of Max 2024
Nuke: Multiple format supports for ExtractReviewDataMov #5623
This PR would fix the bug of the plugin ExtractReviewDataMov not being able to support extensions other than mov. The plugin is also renamed to ExtractReviewDataBakingStreams as i provides multiple format supoort.
Bugfix: houdini switching context doesnt update variables #5651
Allows admins to have a list of vars (e.g. JOB) with (dynamic) values that will be updated on context changes, e.g. when switching to another asset or task.Using template keys is supported but formatting keys capitalization variants is not, e.g. {Asset} and {ASSET} won't workDisabling Update Houdini vars on context change feature will leave all Houdini vars unmanaged and thus no context update changes will occur.Also, this PR adds a new button in menu to update vars on demand.
Publisher: Fix report maker memory leak + optimize lookups using set #5667
Fixes a memory leak where resetting publisher does not clear the stored plugins for the Publish Report Maker.Also changes the stored plugins to a set to optimize the lookup speeds.
Add openpype_mongo command flag for testing. #5676
Instead of changing the environment, this command flag allows for changing the database.
Nuke: minor docstring and code tweaks for ExtractReviewMov #5695
Code and docstring tweaks on https://github.com/ynput/OpenPype/pull/5623
AYON: Small settings fixes #5699
Small changes/fixes related to AYON settings. All foundry apps variant 13-0 has label 13.0. Key "ExtractReviewIntermediates" is not mandatory in settings.
🐛 Bug fixes
Maya: Missing "data" field and enabling of audio #5618
When updating audio containers, the field "data" was missing and the audio node was not enabled on the timeline.
Maya: Bug in validate Plug-in Path Attribute #5687
Overwriting list with string is causing TypeError: string indices must be integers in subsequent iterations, crashing the validator plugin.
General: Avoid fallback if value is 0 for handle start/end #5652
There's a bug on the pyblish_functions.get_time_data_from_instance_or_context where if handleStart or handleEnd on the instance are set to value 0 it's falling back to grabbing the handles from the instance context. Instead, the logic should be that it only falls back to the instance.context if the key doesn't exist.This change was only affecting me on the handleStart/handleEnd and it's unlikely it could cause issues on frameStart, frameEnd or fps but regardless, the get logic is wrong.
Fusion: added missing env vars to Deadline submission #5659
Environment variables discerning type of job was missing. Without this injection of environment variables won't start.
Nuke: workfile version synchronization settings fixed #5662
Settings for synchronizing workfile version to published products is fixed.
Blender: Fix remove/update in new layout instance #5679
Fixes an error that occurs when removing or updating an asset in a new layout instance.
AYON Launcher tool: Fix refresh btn #5685
Refresh button does propagate refreshed content properly. Folders and tasks are cached for 60 seconds instead of 10 seconds. Auto-refresh in launcher will refresh only actions and related data which is project and project settings.
Deadline: handle all valid paths in RenderExecutable #5694
This commit enhances the path resolution mechanism in the RenderExecutable function of the Ayon plugin. Previously, the function only considered paths starting with a tilde (~), ignoring other valid paths listed in exe_list. This limitation led to an empty expanded_paths list when none of the paths in exe_list started with a tilde, causing the function to fail in finding the Ayon executable.With this fix, the RenderExecutable function now correctly processes and includes all valid paths from exe_list, improving its reliability and preventing unnecessary errors related to Ayon executable location.
AYON Launcher tool: Fix skip last workfile boolean #5700
Skip last workfile boolean works as expected.
Chore: Explore here action can work without task #5703
Explore here action does not crash when task is not selected, and change error message a little.
Testing: Inject mongo_url argument earlier #5706
Fix for https://github.com/ynput/OpenPype/pull/5676The Mongo url is used earlier in the execution.
Blender: Add support to auto-install PySide2 in blender 4 #5723
Change version regex to support blender 4 subfolder.
Fix: Hardcoded main site and wrongly copied workfile #5733
Fixing these two issues:
- Hardcoded main site -> Replaced by
anatomy.fill_root. - Workfiles can sometimes be copied while they shouldn't.
Bugfix: ServerDeleteOperation asset -> folder conversion typo #5735
Fix ServerDeleteOperation asset -> folder conversion typo
Nuke: loaders are filtering correctly #5739
Variable name for filtering by extensions were not correct - it suppose to be plural. It is fixed now and filtering is working as suppose to.
Nuke: failing multiple thumbnails integration #5741
This handles the situation when ExtractReviewIntermediates (previously ExtractReviewDataMov) has multiple outputs, including thumbnails that need to be integrated. Previously, integrating the thumbnail representation was causing an issue in the integration process. However, we have now resolved this issue by no longer integrating thumbnails as loadable representations.NOW default is that thumbnail representation are NOT integrated (eg. they will not show up in DB > couldn't be Loaded in Loader) and no _thumb.jpg will be left in render (most likely) publish folder.IF there would be need to override this behavior, please use project_settings/global/publish/PreIntegrateThumbnails
AYON Settings: Fix global overrides #5745
The output dictionary that gets passed into ayon_settings._convert_global_project_settings gets replaced when converting the settings for ExtractOIIOTranscode. This results in global not being in the output dictionary and thus the defaults being used and not the project overrides.
Chore: AYON query functions arguments #5752
Fixed how archived argument is handled in get subsets/assets function.
🔀 Refactored code
Publisher: Refactor Report Maker plugin data storage to be a dict by plugin.id #5668
Refactor Report Maker plugin data storage to be a dict by plugin.idAlso fixes _current_plugin_data type on __init__
Chore: Refactor Resolve into new style HostBase, IWorkfileHost, ILoadHost #5701
Refactor Resolve into new style HostBase, IWorkfileHost, ILoadHost
Merged pull requests
Chore: Maya reduce get project settings calls #5669
Re-use system settings / project settings where we can instead of requerying.
Extended error message when getting subset name #5649
Each Creator is using get_subset_name functions which collects context data and fills configured template with placeholders.If any key is missing in the template, non descriptive error is thrown.This should provide more verbose message:
Tests: Remove checks for env var #5696
Env var will be filled in env_var fixture, here it is too early to check
3.17.1
🆕 New features
Houdini: Add Static Mesh product-type (family) #5481
This PR adds support to publish Unreal Static Mesh in Houdini as FBXQuick recap
- Add UE Static Mesh Creator
- Dynamic subset name like in Maya
- Collect Static Mesh Type
- Update collect output node
- Validate FBX output node
- Validate mesh is static
- Validate Unreal Static Mesh Name
- Validate Subset Name
- FBX Extractor
- FBX Loader
- Update OP Settings
- Update AYON Settings
Launcher tool: Refactor launcher tool (for AYON) #5612
Refactored launcher tool to new tool. Separated backend and frontend logic. Refactored logic is AYON-centric and is used only in AYON mode, so it does not affect OpenPype.
🚀 Enhancements
Maya: Use custom staging dir function for Maya renders - OP-5265 #5186
Check for custom staging dir when setting the renders output folder in Maya.
Colorspace: updating file path detection methods #5273
Support for OCIO v2 file rules integrated into the available color management API
Deadline: set PATH environment in deadline jobs by GlobalJobPreLoad #5622
This PR makes GlobalJobPreLoad to set PATH environment in deadline jobs so that we don't have to use the full executable path for deadline to launch the dcc app. This trick should save us adding logic to pass houdini patch version and modifying Houdini deadline plugin. This trick should work with other DCCs
nuke: extract review data mov read node with expression #5635
Some productions might have set default values for read nodes, those settings are not colliding anymore now.
🐛 Bug fixes
Maya: Support new publisher for colorsets validation. #5630
Fix validate_color_sets for the new publisher.In current develop the repair option does not appear due to wrong error raising.
Houdini: Camera Loader fix mismatch for Maya cameras #5584
This PR adds
- A workaround to match Maya render mask in Houdini
SetCameraResolutioninventory action- set camera resolution when loading or updating camera
Nuke: fix set colorspace on writes #5634
Colorspace is set correctly to any write node created from publisher.
TVPaint: Fix review family extraction #5637
Extractor marks representation of review instance with review tag.
AYON settings: Extract OIIO transcode settings #5639
Output definitions of Extract OIIO transcode have name to match OpenPype settings, and the settings are converted to dictionary in settings conversion.
AYON: Fix task type short name conversion #5641
Convert AYON task type short name for OpenPype correctly.
colorspace: missing `allowed_exts` fix #5646
Colorspace module is not failing due to missing allowed_exts attribute.
Photoshop: remove trailing underscore in subset name #5647
If {layer} placeholder is at the end of subset name template and not used (for example in auto_image where separating it by layer doesn't make any sense) trailing '_' was kept. This updates cleaning logic and extracts it as it might be similar in regular image instance.
traypublisher: missing `assetEntity` in context data #5648
Issue with missing assetEnity key in context data is not problem anymore.
AYON: Workfiles tool save button works #5653
Fix save as button in workfiles tool.(It is mystery why this stopped to work??)
Max: bug fix delete items from container #5658
Fix the bug shown when clicking "Delete Items from Container" and selecting nothing and press ok.
🔀 Refactored code
Chore: Remove unused functions from Fusion integration #5617
Cleanup unused code from Fusion integration
Merged pull requests
3.17.0
🚀 Enhancements
Chore: Remove schema from OpenPype root #5355
Remove unused schema directory in root of repository which was moved inside openpype/pipeline/schema.
Igniter: Allow custom Qt scale factor rounding policy #5554
Do not force PassThrough rounding policy if different policy is defined via env variable.
🐛 Bug fixes
Chore: Lower urllib3 to support older OpenSSL #5538
Lowered urllib3 to 1.26.16 to support older OpenSSL.
Chore: Do not try to add schema to zip files #5557
Do not add schema folder to zip file. This fixes issue cause by https://github.com/ynput/OpenPype/pull/5355 .
Chore: Lower click dependency version #5629
Lower click version to support older versions of python.
Merged pull requests
Bump certifi from 2023.5.7 to 2023.7.22 #5351
Bumps certifi from 2023.5.7 to 2023.7.22.
Commits
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
3.16.7
🆕 New features
Maya: Extract active view as thumbnail when no thumbnail set #5426
This sets the Maya instance's thumbnail to the current active view if no thumbnail was set yet.
Maya: Implement USD publish and load using native `mayaUsdPlugin` #5573
Implement Creator and Loaders for extraction and loading of USD files using Maya's own mayaUsdPlugin.Also adds support to load a usd file into an Arnold Standin (aiStandin) and assigning looks to it.
🚀 Enhancements
Maya: Reduce amount of code for Collect Looks #5253
- Refactor
get_file_node_filesbecause popping frompathsby index should have been done in reversed order anyway. It's now changed to not need popping at all. - Removed unused
RENDERER_NODE_TYPESand if-branch which collectednode_attrslist which was unused + collected members which was also done outside of the if branch and thus generated no extra data. - Collected all materials from look set attributes at once instead of multiple queries
- Collected all file nodes in history from a single query instead of per type
- Restructured assignment of
instance.data["resources"]to be more readable - Cached
PXR_NODESonly ones (Note: plugin load is checked on discovery of the collect look plugin) instead of querying plugin load and its nodes per file node per attribute - Removed some debug logs or combined some messages
AYON: Mark deprecated settings in Maya #5627
Added deprecated info to docstrings of maya colormanagement settings.Resolves: https://github.com/ynput/OpenPype/issues/5556
Max: switching versions of maxScene maintain parentage/links with the loaders #5424
When using scene inventory to manage or update the version of the loading objects, the linked modifiers or parentage of the objects would be kept.Meanwhile, loaded objects from all loaders no longer parented to the container with OP Data.
3ds max: small tweaks to obj extractor and model publishing flow #5605
There migh be situation where OBJ Extractor passes without failure, but no obj file is produced. This is adding simple check directly into the extractor to catch it earlier then in the integration phase. Also switched Validate USD Plugin to optional, because it was always run no matter if the Extract USD was enabled or not, hindering testing (and publishing).
Maya: Remove context prompt #5632
More of a plea than a PR, but could we please remove the context prompt in Maya when switching tasks?
General: Create a desktop icon is checked #5636
In OP Installer Create a desktop icon is checked by default.
🐛 Bug fixes
Maya: Extract look is not AYON compatible - OP-5375 #5341
The textures that would use hardlinking are going through texture processors. Currently all texture processors are hardcoded to copy texture instead of respecting the settings of forcing to copy.The texture processors were last modified 4 months ago, so effectively all clients that are on any pipeline updated in the last 4 months wont be utilizing hardlinking at all, since the hardcoded texture processors will copy texture no matter the OS.This opts for completely disabling the hardlinking feature, while we figure out what to do about it.
Maya: Multiverse USD Override inherit from correct new style creator #5566
Fix Creator for Multiverse USD Override by inheriting from correct new style creator class type
Max: Bug Fix Alembic Loaders with Ornatrix #5434
Bugfix the alembic loader with both ornatrix alembic and max alembic supportsAdd the ornatrix alembic loaders for loading the alembic with Ornatrix-related modifiers.
AYON: Avoid creation of duplicated links #5593
Handle cases when an existing link should be recreated and do not create the same link multitple times during single publishing.
Extract Review: Multilayer specification for ffmpeg #5613
Extract review is specifying layer name when exr is multilayer.
Fussion: added support for Fusion 17 #5614
Fusion 17 still uses Python 3.6 which causes issues with some our delivered libraries. Vendorized necessary set for Python 3.6
Publisher: Fix screenshot widget #5615
Use correct super method name.EDITED:Removed fade animation which is not triggered at some cases, e.g. in Nuke the animation does not start. I do expect that is caused by exec_ on the dialog, which blocks event processing to the animation, even when I've added the window as parent it still didn't trigger registered callback.Modified how the "empty" space is not filled by using paths instead of clear mode on painter. Added render hints to add antialiasing.
Photoshop: auto_images without alpha will not fail #5620
ExtractReview caused issue on auto_image instance without alpha channel, this fixes it.
Fix - _id key used instead of id in get_last_version_by_subset_name #5626
Just 'id' is not returned because value in fields. Caused KeyError.
Bugfix: create symlinks for ssl libs on Centos 7 #5633
Docker build was missing libssl.1.1.so and libcrypto.1.1.so symlinks needed by the executable itself, because Python is now explicitly built with OpenSSL 1.1.1
📃 Documentation
Documentation/local settings #5102
I completed the "Working with local settings" page. I updated the screenshot, wrote an explanation for each empty category, and if available, linked the more detailed pages already existing. I also added the "Environments" category.
3.16.6
🆕 New features
Workfiles tool: Refactor workfiles tool (for AYON) #5550
Refactored workfiles tool to new tool. Separated backend and frontend logic. Refactored logic is AYON-centric and is used only in AYON mode, so it does not affect OpenPype.
AfterEffects: added validator for missing files in FootageItems #5590
Published composition in AE could contain multiple FootageItems as a layers. If FootageItem contains imported file and it doesn't exist, render triggered by Publish process will silently fail and no output is generated. This could cause failure later in the process with unclear reason. (In ExtractReview).This PR adds validation to protect from this.
🚀 Enhancements
Maya: Yeti Cache Include viewport preview settings from source #5561
When publishing and loading yeti caches persist the display output and preview colors + settings to ensure consistency in the view
Houdini: validate colorspace in review rop #5322
Adding a validator that checks if 'OCIO Colorspace' parameter on review rop was set to a valid value.It is a step towards managing colorspace in review ropvalid values are the ones in the dropdown menuthis validator also provides some helper actions This PR is related to #4836 and #4833
Colorspace: adding abstraction of publishing related functions #5497
The functionality of Colorspace has been abstracted for greater usability.
Nuke: removing redundant workfile colorspace attributes #5580
Nuke root workfile colorspace data type knobs are long time configured automatically via config roles or the default values are also working well. Therefore there is no need for pipeline managed knobs.
Ftrack: Less verbose logs for Ftrack integration in artist facing logs #5596
- Reduce artist-facing logs for component integration for Ftrack
- Avoid "Comment is not set" log in artist facing report for Kitsu and Ftrack
- Remove info log about
ffprobeinspecting a file (changed to debug log) - interesting to see however that it ffprobes the same jpeg twice - but maybe once for thumbnail?
🐛 Bug fixes
Maya: Fix rig validators for new out_SET and controls_SET names #5595
Fix usage of out_SET and controls_SET since #5310 because they can now be prefixed by the subset name.
TrayPublisher: set default frame values to sequential data #5530
We are inheriting default frame handles and fps data either from project or setting them to 0. This is just for case a production will decide not to injest the sequential representations with asset based metadata.
AYON: Fix representation context conversion #5591
Do not fix "folder" key in representation context until it is needed.
ayon-nuke: default factory to lists #5594
Default factory were missing in settings schemas for complicated objects like lists and it was causing settings to be failing saving.
Maya: Fix look assigner showing no asset if 'not found' representations are present #5597
Fix Maya Look assigner failing to show any content if it finds an invalid container for which it can't find the asset in the current project. (This can happen when e.g. loading something from a library project).There was logic already to avoid this but there was a bug where it used variable _id which did not exist and likely had to be asset_id.I've fixed that and improved the logged message a bit, e.g.:
// Warning: openpype.hosts.maya.tools.mayalookassigner.commands : Id found on 22 nodes for which no asset is found database, skipping '641d78ec85c3c5b102e836b0'
Example not found representation in Loader:The issue isn't necessarily related to NOT FOUND representations but in essence boils down to finding nodes with asset ids that do not exist in the current project which could very well just be local meshes in your scene.**Note:**I've excluded logging the nodes themselves because that tends to be a very long list of nodes. Only downside to removing that is that it's unclear which nodes are related to that id. If there are any ideas on how to still provide a concise informational message about that that'd be great so I could add it. Things I had considered:
- Report the containers, issue here is that it's about asset ids on nodes which don't HAVE to be in containers - it could be local geometry
- Report the namespaces, issue here is that it could be nodes without namespaces (plus potentially not about ALL nodes in a namespace)
- Report the short names of the nodes; it's shorter and readable but still likely a lot of nodes.@tokejepsen @LiborBatek any other ideas?
Photoshop: fixed blank Flatten image #5600
Flatten image is simplified publishing approach where all visible layers are "flatten" and published together. This image could be used as a reference etc.This is implemented by auto creator which wasn't updated after first publish. This would result in missing newly created layers after auto_image instance was created.
Blender: Remove Hardcoded Subset Name for Reviews #5603
Fixes hardcoded subset name for Reviews in Blender.
🔀 Refactored code
Chore: Remove unused variables and cleanup #5588
Removing some unused variables. In some cases the unused variables seemed like they should've been used - maybe? so please double check the code whether it doesn't hint to an already existing bug.Also tweaked some other small bugs in code + tweaked logging levels.
Merged pull requests
Chore: Loader log deprecation warning for 'fname' attribute #5587
Since https://github.com/ynput/OpenPype/pull/4602 the fname attribute on the LoaderPlugin should've been deprecated and set for removal over time. However, no deprecation warning was logged whatsoever and thus one usage appears to have sneaked in (fixed with this PR) and a new one tried to sneak in with a recent PR
3.16.5
🆕 New features
🚀 Enhancements
Maya: Optimize validate plug-in path attributes #5522
- Optimize query (use
cmds.lsonce) - Add Select Invalid action
- Improve validation report
- Avoid "Unknown object type" errors
Maya: Remove Validate Instance Attributes plug-in #5525
Remove Validate Instance Attributes plug-in.
Enhancement: Tweak logging for artist facing reports #5537
Tweak the logging of publishing for global, deadline, maya and a fusion plugin to have a cleaner artist-facing report.
- Fix context being reported correctly from CollectContext
- Fix ValidateMeshArnoldAttributes: fix when arnold is not loaded, fix applying settings, fix for when ai attributes do not exist
AYON: Update settings #5544
Updated settings in AYON addons and conversion of AYON settings in OpenPype.
Nuke: Allow for knob values to be validated against multiple values. #5042
Knob values can now be validated against multiple values, so you can allow write nodes to be exr and png, or 16-bit and 32-bit.
Enhancement: Cosmetics for Higher version of publish already exists validation error #5190
Fix double spaces in message.Example output after the PR:
Nuke: publish existing frames on farm #5409
This PR proposes adding a fourth option in Nuke render publish called "Use Existing Frames - Farm". This would be useful when the farm is busy or when the artist lacks enough farm licenses. Additionally, some artists prefer rendering on the farm but still want to check frames before publishing.By adding the "Use Existing Frames - Farm" option, artists will have more flexibility and control over their render publishing process. This enhancement will streamline the workflow and improve efficiency for Nuke users.
Unreal: Create project in temp location and move to final when done #5476
Create Unreal project in local temporary folder and when done, move it to final destination.
TrayPublisher: adding audio product type into default presets #5489
Adding Audio product type into default presets so anybody can publish audio to their shots.
Global: avoiding cleanup of flagged representation #5502
Publishing folder can be flagged as persistent at representation level.
General: missing tag could raise error #5511
- avoiding potential situation where missing Tag key could raise error
Chore: Queued event system #5514
Implemented event system with more expected behavior of event system. If an event is triggered during other event callback, it is not processed immediately but waits until all callbacks of previous events are done. The event system also allows to not trigger events directly once emit_event is called which gives option to process events in custom loops.
Publisher: Tweak log message to provide plugin name after "Plugin" #5521
Fix logged message for settings automatically applied to plugin attributes
Houdini: Improve VDB Selection #5523
Improves VDB selection if selection is SopNode: return the selected sop nodeif selection is ObjNode: get the output node with the minimum 'outputidx' or the node with display flag
Maya: Refactor/tweak Validate Instance In same Context plug-in #5526
- Chore/Refactor: Re-use existing select invalid and repair actions
- Enhancement: provide more elaborate PublishValidationError report
- Bugfix: fix "optional" support by using
OptionalPyblishPluginMixinbase class.
Enhancement: Update houdini main menu #5527
This PR adds two updates:
- dynamic main menu
- dynamic asset name and task
Houdini: Reset FPS when clicking Set Frame Range #5528
Similar to Maya, Make Set Frame Range resets FPS, issue https://github.com/ynput/OpenPype/issues/5516
Enhancement: Deadline plugins optimize, cleanup and fix optional support for validate deadline pools #5531
- Fix optional support of validate deadline pools
- Query deadline webservice only once per URL for verification, and once for available deadline pools instead of for every instance
- Use
deadlineUrlininstance.datawhen validating pools if it is set. - Code cleanup: Re-use existing
requests_getimplementation
Chore: Create plugin does not expect system settings #5553
System settings are not passed to initialization of create plugin initialization (and apply_settings).
Chore: Allow custom Qt scale factor rounding policy #5555
Do not force PassThrough rounding policy if different policy is defined via env variable.
Houdini: Fix outdated containers pop-up on opening last workfile on launch #5567
Fix Houdini not showing outdated containers pop-up on scene open when launching with last workfile argument
Houdini: Improve errors e.g. raise PublishValidationError or cosmetics #5568
Improve errors e.g. raise PublishValidationError or cosmeticsThis also fixes the Increment Current File plug-in since due to an invalid import it was previously broken
Fusion: Code updates #5569
Update fusion code which contains obsolete code. Removed switch_ui.py script from fusion with related script in scripts.
🐛 Bug fixes
Maya: Validate Shape Zero fix repair action + provide informational artist-facing report #5524
Refactor to PublishValidationError to allow the RepairAction to work + provide informational report message
Maya: Fix attribute definitions for `CreateYetiCache` #5574
Fix attribute definitions for CreateYetiCache
Max: Optional Renderable Camera Validator for Render Instance #5286
Optional validation to check on renderable camera being set up correctly for deadline submission.If not being set up correctly, it wont pass the validation and user can perform repair actions.
Max: Adding custom modifiers back to the loaded objects #5378
The custom parameters OpenpypeData doesn't show in the loaded container when it is being loaded through the loader.
Houdini: Use default_variant to Houdini Node TAB Creator #5421
Use the default variant of the creator plugins on the interactive creator from the TAB node search instead of hard-coding it to Main.
Nuke: adding inherited colorspace from instance #5454
Thumbnails are extracted with inherited colorspace collected from rendering write node.
AYON: Fill entities during editorial #5475
Fill entities and update template data on instances during extract AYON hierarchy.
Ftrack: Fix version 0 when integrating to Ftrack - OP-6595 #5477
Fix publishing version 0 to Ftrack.
OCIO: windows unc path support in Nuke and Hiero #5479
Hiero and Nuke is not supporting windows unc path formatting in OCIO environment variable.
Deadline: Added super call to init #5480
DL 10.3 requires plugin inheriting from DeadlinePlugin to call super's init explicitly.
Nuke: fixing thumbnail and monitor out root attributes #5483
Nuke Root Colorspace settings for Thumbnail and Monitor Out schema was gradually changed between version 12, 13, 14 and we needed to address those changes individually for particular version.
Nuke: fixing missing `instance_id` error #5484
Workfiles with Instances created in old publisher workflow were rising error during converting method since they were missing instance_id key introduced in new publisher workflow.
Nuke: existing frames validator is repairing render target #5486
Nuke is now correctly repairing render target after the existing frames validator finds missing frames and repair action is used.
added UE to extract burnins families #5487
This PR fixes missing burnins in reviewables when rendering from UE.
Harmony: refresh code for current Deadline #5493
- Added support in Deadline Plug-in for new versions of Harmony, in particular version 21 and 22.
- Remove review=False flag on render instance
- Add farm=True flag on render instance
- Fix is_in_tests function call in Harmony Deadline submission plugin
- Force HarmonyOpenPype.py Deadline Python plug-in to py3
- Fix cosmetics/hound in HarmonyOpenPype.py Deadline Python plug-in
Publisher: Fix multiselection value #5505
Selection of multiple instances in Publisher does not cause that all instances change all publish attributes to the same value.
Publisher: Avoid warnings on thumbnails if source image also has alpha channel #5510
Avoids the following warning from ExtractThumbnailFromSource:
// pyblish.ExtractThumbnailFromSource : oiiotool WARNING: -o : Can't save 4 channels to jpeg... saving only R,G,B
Max: Fixing the bug of falling back to use workfile for Arnold or any renderers except Redshift #5520
Fix the bug of falling back to use workfile for Arnold
General: Fix Validate Publish Dir Validator #5534
Nonsensical "family" key was used instead of real value (as 'render' etc.) which would result in wrong translation of intermediate family names.Updated docstring.
have the addons loading respect a custom AYON_ADDONS_DIR #5539
When using a custom AYON_ADDONS_DIR environment variable that variable is used in the launcher correctly and downloads and extracts addons to there, however when running Ayon does not respect this environment variable
Deadline: files on representation cannot be single item list #5545
Further logic expects that single item files will be only 'string' not 'list' (eg. repre["files"] = "abc.exr" not repre["files"] = ["abc.exr"].This would cause an issue in ExtractReview later.This could happen if DL rendered single frame file with different frame value.
Webpublisher: better encode list values for click #5546
Targets could be a list, original implementation pushed it as a separate items, it must be added as --targets webpulish --targets filepublish.wepublish_routes handles triggering from UI, changes in publish_functions handle triggering from cmd (for tests, api access).
AYON: Fill entities during editorial (2) #5549
Fix changes made in https://github.com/ynput/OpenPype/pull/5475.
Max: OP Data updates in Loaders #5563
Fix the bug on the loaders not being able to load the objects when iterating key and values with the dict.Max prefers list over the list in dict.
Create Plugins: Better check of overriden '__init__' method #5571
Create plugins do not log warning messages about each create plugin because of wrong __init__ method check.
Merged pull requests
Tests: fix unit tests #5533
Fixed failing tests.Updated Unreal's validator to match removed general one which had a couple of issues fixed.
3.16.4
🆕 New features
Feature: Download last published workfile specify version #4998
Setting workfile_version key to hook's self.launch_context.data allow you to specify the workfile version you want sync service to download if none is matched locally. This is helpful if the last version hasn't been correctly published/synchronized, and you want to recover the previous one (or some you'd like).Version could be set in two ways:
- OP's absolute version, matching the
versionindex in DB. - Relative version in reverse order from the last one:
-2,-3...I don't know where I should write documentation about that.
🚀 Enhancements
Maya: allow not creation of group for Import loaders #5427
This PR enhances previous one. All ReferenceLoaders could not wrap imported products into explicit group.Also Import Loaders have same options. Control for this is separate in Settings, eg. Reference might wrap loaded items in group, Import might not.
General: Navigation to Folder from Launcher #5404
Adds an action in launcher to open the directory of the asset.
Chore: Default variant in create plugin #5429
Attribute default_variant on create plugins always returns string and if default variant is not filled other ways how to get one are implemented.
Publisher: Thumbnail widget enhancements #5439
Thumbnails widget in Publisher has new 3 options to choose from: Paste (from clipboard), Take screenshot and Browse. Clear button and new options are not visible by default, user must expand options button to show them.
🐛 Bug fixes
AYON: Apply unknown ayon settings first #5435
Settings of custom addons are available in converted settings.
Maya: Fix wrong subset name of render family in deadline #5442
New Publisher is creating different subset names than previously which resulted in duplication of render string in final subset name of render family published on Deadline.This PR solves that, it also fixes issues with legacy instances from old publisher, it matches the subset name as was before.This solves same issue in Max implementation.
Maya: Fix setting of version to workfile instance #5452
If there are multiple instances of renderlayer published, previous logic resulted in unpredictable rewrite of instance family to 'workfile' if Sync render version with workfile was on.
Maya: Context plugin shouldn't be tied to family #5464
Maya Current File collector was tied to workfile unnecessary. It should run even if workile instance is not being published.
Unreal: Fix loading hero version for static and skeletal meshes #5393
Fixed a problem with loading hero versions for static ans skeletal meshes.
TVPaint: Fix 'repeat' behavior #5412
Calculation of frames for repeat behavior is working correctly.
AYON: Thumbnails cache and api prep #5437
Moved thumbnails cache from ayon python api to OpenPype and prepare AYON thumbnail resolver for new api functions. Current implementation should work with old and new ayon-python-api.
Nuke: Name of the Read Node should be updated correctly when switching versions or assets. #5444
Bug fixing of the read node's name not being updated correctly when setting version or switching asset.
Farm publishing: asymmetric handles fixed #5446
Handles are now set correctly on farm published product version if asymmetric were set to shot attributes.
Fix typo on Deadline OP plugin name #5453
Surprised that no one has hit this bug yet... but it seems like there was a typo on the name of the OP Deadline plugin when submitting jobs to it.
Merged pull requests
Added missing defaults for import_loader #5447
Bug: Local settings don't open on 3.14.7 #5220
Before posting a new ticket, have you looked through the documentation to find an answer?
Yes I have
Have you looked through the existing tickets to find any related issues ?
Not yet
Author of the bug
@FadyFS
Version
3.15.11-nightly.3
What platform you are running OpenPype on?
Linux / Centos
Current Behavior:
Expected Behavior:
What type of bug is it ?
Happened only once in a particular configuration
Which project / workfile / asset / ...
open settings with 3.14.7
Steps To Reproduce:
- Run openpype on the 3.15.11-nightly.3 version
- Open settings in 3.14.7 version
Relevant log output:
No response
Additional context:
No response
Tests: Add automated targets for tests #5443
Without it plugins with 'automated' targets won't be triggered (eg CloseAE etc.)
3.16.3
🆕 New features
AYON: 3rd party addon usage #5300
Prepare OpenPype code to be able use ayon-third-party addon which supply ffmpeg and OpenImageIO executables. Because they both can support to define custom arguments (more than one) a new functions were needed to supply.New functions are get_ffmpeg_tool_args and get_oiio_tool_args. They work similar to previous but instead of string are returning list of strings. All places using previous functions get_ffmpeg_tool_path and get_oiio_tool_path are now using new ones. They should be backwards compatible and even with addon if returns single argument.
AYON: Addon settings in OpenPype #5347
Moved settings addons to OpenPype server addon. Modified create package to create zip files for server for each settings addon and for openpype addon.
AYON: Add folder to template data #5417
Added folder to template data, so {folder[name]} can be used in templates.
Option to start versioning from 0 #5262
This PR adds a settings option to start all versioning from 0.This PR will replace #4455.
Ayon: deadline implementation #5321
Quick implementation of deadline in Ayon. New Ayon plugin added for Deadline repository
AYON: Remove AYON launch logic from OpenPype #5348
Removed AYON launch logic from OpenPype. The logic is outdated at this moment and is replaced by ayon-launcher.
🚀 Enhancements
Bug: Error on multiple instance rig with maya #5310
I change endswith method by startswith method because the set are automacaly name out_SET, out_SET1, out_SET2 ...
Applications: Use prelaunch hooks to extract environments #5387
Environment variable preparation is based on prelaunch hooks. This should allow to pass OCIO environment variables to farm jobs.
Applications: Launch hooks cleanup #5395
Use set instead of list for filtering attributes in launch hooks. Celaction hooks dir does not contain __init__.py. Celaction prelaunch hook is reusing CELACTION_ROOT_DIR. Launch hooks are using full import from openpype.lib.applications.
Applications: Environment variables order #5245
Changed order of set environment variables. First are set context environment variables and then project environment overrides. Also asset and task environemnt variables are optional.
Autosave preferences can be read after Nuke opens the script #5295
Looks like I need to open the script in Nuke to be able to correctly load the autosave preferences.This PR reads the Nuke script in context, and offers owerwriting the current script with autosaved one if autosave exists.
Resolve: Update with compatible resolve version and latest docs #5317
Missing information about compatible Resolve version and latest docs from https://github.com/ynput/OpenPype/tree/develop/openpype/hosts/resolve
Chore: Remove deprecated functions #5323
Removed functions/classes that are deprecated and marked to be removed.
Nuke Render and Prerender nodes Process Order - OP-3555 #5332
This PR exposes control over the order of processing of the instances, by sorting the instances created. The sorting happens on the render_order and subset name. If the knob render_order is found on the instance, we'll sort by that first before sorting by subset name.render_order instances are processed before nodes without render_order. This could be extended in the future by querying other knobs but I dont know of a usecase for this.Hardcoded the creator order attribute of the prerender class to be before the render. Could be exposed to the user/studio but dont know of a use case for this.
Unreal: Python Environment Improvements #5344
Automatically set UE_PYTHONPATH as PYTHONPATH when launching Unreal.
Unreal: Custom location for Unreal Ayon Plugin #5346
Added a new environment variable AYON_BUILT_UNREAL_PLUGIN to set an already existing and built Ayon Plugin for Unreal.
Unreal: Better handling of Exceptions in UE Worker threads #5349
Implemented a new UEWorker base class to handle exception during the execution of UE Workers.
Houdini: Add farm toggle on creation menu #5350
Deadline Farm publishing and Rendering for Houdini was possible with this PR #4825 farm publishing is enabled by default some ROP nodes which may surprise new users (like me).I think adding a toggle (on by default) on creation UI is better so that users will be aware that there's a farm option for this publish instance.ROPs Modified :
- Mantra ROP
- Karma ROP
- Arnold ROP
- Redshift ROP
- Vray ROP
Chore: Schemas inside OpenPype #5354
Moved/copied schemas from repository root inside openpype/pipeline.
AYON: Addons creation enhancements #5356
Enhanced AYON addons creation. Fix issue with Pattern typehint. Zip filenames contain version. OpenPype package is skipping modules that are already separated in AYON. Updated settings of addons.
Enhancement: Houdini Update pointcache labels #5373
To me it's logical to find pointcaches types listed one after another, but they were named differentlySo, I made this PR to update their labels
nuke: split write node product instance features #5389
Improving Write node product instances by allowing precise activation of specific features.
Max: Use the empty modifiers in container to store AYON Parameter #5396
Instead of adding AYON/OP Parameter along with other attributes inside the container, empty modifiers would be created to store AYON/OP custom attributes
AfterEffects: Removed unused imports #5397
Removed unused import from extract local render plugin file.
Nuke: adding BBox knob type to settings #5405
Nuke knob types in settings having new Box type for reposition nodes like Crop or Reformat.
SyncServer: Existence of module is optional #5413
Existence of SyncServer module is optional and not required. Added sync_server module back to ignored modules when openpype addon is created for AYON. Command syncserver is marked as deprecated and redirected to sync server cli.
Webpublisher: Self contain test publish logic #5414
Moved test logic of publishing to webpublisher. Simplified remote_publish to remove webpublisher specific logic.
Webpublisher: Cleanup targets #5418
Removed remote target from webpublisher and replaced it with 2 targets webpublisher and automated.
nuke: update server addon settings with box #5419
updtaing nuke ayon server settings for Box option in knob types.
🐛 Bug fixes
Maya: fix validate frame range on review attached to other instances #5296
Fixes situation where frame range validator can't be turned off on models if they are attached to reviewable camera in Maya.
Maya: Validate Model Content #5336
assemblies in cmds.ls does not seem to work;
from maya import cmds
content_instance = ['|group2|pSphere1_GEO', '|group2|pSphere1_GEO|pSphere1_GEOShape', '|group1|pSphere1_GEO', '|group1|pSphere1_GEO|pSphere1_GEOShape']
assemblies = cmds.ls(content_instance, assemblies=True, long=True)
print(assemblies)
Fixing with string splitting instead.
Bugfix: Maya update defaults variable #5368
So, something was forgotten while moving out from LegacyCreator to NewCreator``LegacyCreator used defaults to list suggested subset names which was changed into default_variants in the the NewCreatorand setting defaults to any values has no effect!This update affects:
- Model
- Set Dress
Chore: Python 2 support fix #5375
Fix Python 2 support by adding click into python 2 dependencies and removing f-string from maya.
Maya: do not create top level group on reference #5402
This PR allows to not wrapping loaded referenced assets in top level group either explicitly for artist or by configuration in Settings.Artists can control group creation in ReferenceLoader options.Default no group creation could be set by emptying Group Name in project_settings/maya/load/reference_loader
Settings: Houdini & Maya create plugin settings #5436
Fixes related to Maya and Houdini settings. Renamed defaults to default_variants in plugin settings to match attribute name on create plugin in both OpenPype and AYON settings. Fixed Houdini AYON settings where were missing settings for defautlt varaints and fixed Maya AYON settings where default factory had wrong assignment.
Maya: Hide CreateAnimation #5297
When converting animation family or loading a rig family, need to include the animation creator but hide it in creator context.
Nuke Anamorphic slate - Read pixel aspect from input #5304
When asset pixel aspect differs from rendered pixel aspect, Nuke slate pixel aspect is not longer taken from asset, but is readed via ffprobe.
Nuke - Allow ExtractReviewDataMov with no timecode knob #5305
ExtractReviewDataMov allows to specify file type. Trying to write some other extension than mov fails on generate_mov assuming that mov64_write_timecode knob exists.
Nuke: removing settings schema with defaults for OpenPype #5306
continuation of https://github.com/ynput/OpenPype/pull/5275
Bugfix: Dependency without 'inputLinks' not downloaded #5337
Remove condition that avoids downloading dependency without inputLinks.
Bugfix: Houdini Creator use selection even if it was toggled off #5359
When creating many product types (families) one after another without refreshing the creator window manually if you toggled Use selection once, all the later product types will use selection even if it was toggled offHere's Before it will keep use selection even if it was toggled off, unless you refresh window manuallyhttps://github.com/ynput/OpenPype/assets/20871534/8b890122-5b53-4c6b-897d-6a2f3aa3388aHere's After it works as expectedhttps://github.com/ynput/OpenPype/assets/20871534/6b1db990-de1b-428e-8828-04ab59a44e28
Houdini: Correct camera selection for karma renderer when using selected node #5360
When user creates the karma rop with selected camera by use selection, it will give the error message of "no render camera found in selection".This PR is to fix the bug of creating karma rop when using selected camera node in Houdini
AYON: Environment variables and functions #5361
Prepare code for ayon-launcher compatibility. Fix ayon launcher subprocess calls, added more checks for AYON_SERVER_ENABLED, use ayon launcher suitable environment variables in AYON mode and changed outputs of some functions. Replaced usages of OPENPYPE_REPOS_ROOT environment variable with PACKAGE_DIR variable -> correct paths are used.
Nuke: farm rendering of prerender ignore roots in nuke #5366
prerender family was using wrong subset, same as render which should be different.
Bugfix: Houdini update defaults variable #5367
So, something was forgotten while moving out from LegacyCreator to NewCreator``LegacyCreator used defaults to list suggested subset names which was changed into default_variants in the the NewCreatorand setting defaults to any values has no effect!This update affects:
- Arnold ASS
- Arnold ROP
- Karma ROP
- Mantra ROP
- Redshift ROP
- VRay ROP
Publisher: Fix create/publish animation #5369
Use geometry movement instead of changing min/max width.
Unreal: Move unreal splash screen to unreal #5370
Moved splash screen code to unreal integration and removed import from Igniter.
Nuke: returned not cleaning of renders folder on the farm #5374
Previous PR enabled explicit cleanup of renders folder after farm publishing. This is not matching customer's workflows. Customer wants to have access to files in renders folder and potentially redo some frames for long frame sequences.This PR extends logic of marking rendered files for deletion only if instance doesn't have stagingDir_persistent.For backwards compatibility all Nuke instances have stagingDir_persistent set to True, eg. renders folder won't be cleaned after farm publish.
Nuke: loading sequences is working #5376
Loading image sequences was broken after the latest release, version 3.16. However, I am pleased to inform you that it is now functioning as expected.
AYON: Fix settings conversion for ayon addons #5377
AYON addon settings are available in system settings and does not have available the same values in "modules" subkey.
Nuke: OCIO env var workflow #5379
The OCIO environment variable needs to be consistently handled across all platforms. Nuke resolves the custom OCIO config path differently depending on the platform, so we included the ocio config path in the workfile with a partial replacement using an environment variable. Additionally, for Windows sessions, we replaced backward slashes with a TCL expression.
Unreal: Fix Unreal build script #5381
Define 'AYON_UNREAL_ROOT' environment variable in unreal addon.
3dsMax: Use relative path to MAX_HOST_DIR #5382
Use MAX_HOST_DIR to calculate startup script path instead of use relative path to OPENPYPE_ROOT environment variable.
Bugfix: Houdini abc validator error message #5386
When ABC path validator fails, it prints node objects not node paths or namesThis bug happened because of updating get_invalid method to return nodes instead of node pathsBeforeAfter
Nuke: node name influence product (subset) name #5392
Nuke now allows users to duplicate publishing instances, making the workflow easier. By duplicating a node and changing its name, users can set the product (subset) name in the publishing context.Users now have the ability to change the variant name in Publisher, which will automatically rename the associated instance node.
Houdini: delete redundant bgeo sop validator #5394
I found out that this Validate BGEO SOP Path validator is redundant, it catches two cases that are already implemented in "Validate Output Node". "Validate Output Node" works with bgeo as well as abc because "pointcache" is listed in its families
Nuke: workfile is not reopening after change of context #5399
Nuke no longer reopens the latest workfile when the context is changed to a different task using the Workfile tool. The issue also affected the Script Clean (from Nuke File menu) and Close feature, but it has now been fixed.
Bugfix: houdini hard coded project settings #5400
I made this PR to solve the issue with hard-coded settings in houdini
Bugfix: update defaults to default_variants in maya and houdini OP DCC settings #5407
On moving out to new creator in Maya and Houdini updating settings was missed.
Applications: Attributes creation #5408
Applications addon does not cause infinite server restart loop.
Max: fix the bug of handling Object deletion in OP Parameter #5410
If the object is added to the OP parameter and user delete it in the scene thereafter, it will error out the container with OP attributes. This PR resolves the bug.This PR also fixes the bug of not adding the attribute into OP parameter correctly when the user enables "use selections" to link the object into the OP parameter.
Colorspace: including environments from launcher process #5411
Fixed bug in GitHub PR where the OCIO config template was not properly formatting environment variables from System Settings general/environment.
Houdini, Max: Fix missed function interface change #5430
This PR https://github.com/ynput/OpenPype/pull/5321/files from @kalisp missed updating the add_render_job_env_var in Houdini and Max as they are passing an extra arg:
TypeError: add_render_job_env_var() takes 1 positional argument but 2 were given
Scene Inventory: Fix issue with 'sync_server' #5431
Fix accesss to sync_server attribute in scene inventory.
Unpack project: Fix import issue #5433
Added load_json_file, replace_project_documents and store_project_documents to mongo init.
Chore: Versions post fixes #5441
Fixed issues caused by my fault. Filled right version value to anatomy data.
📃 Testing
Tests: Copy file_handler as it will be removed by purging ayon code #5357
Ayon code will get purged in the future from this repo/addon, therefore all ayon_common will be gone. file_handler gets internalized to tests as it is not used anywhere else.
3.16.2
🆕 New features
Fusion - Set selected tool to active #5327
When you run the action to select a node, this PR makes the node-flow show the selected node + you'll see the nodes controls in the inspector.
🚀 Enhancements
Maya: All base create plugins #5326
Prepared base classes for each creator type in Maya. Extended MayaCreatorBase to have default implementations of common logic with instances which is used in each type of plugin.
Windows: Support long paths on zip updates. #5265
Support long paths for version extract on Windows.Use case is when having long paths in for example an addon. You can install to the C drive but because the zip files are extracted in the local users folder, it'll add additional sub directories to the paths and quickly get too long paths for Windows to handle the zip updates.
Blender: Added setting to set resolution and start/end frames at startup #5338
This PR adds set_resolution_startupand set_frames_startup settings. They automatically set respectively the resolution and start/end frames and FPS in Blender when opening a file or creating a new one.
Blender: Support for ExtractBurnin #5339
This PR adds support for ExtractBurnin for Blender, when publishing a Review.
🐛 Bug fixes
Settings: Fix default settings #5311
Fixed defautl settings for shotgrid. Renamed FarmRootEnumEntity to DynamicEnumEntity and removed doubled ABC metaclass definition (all settings entities have abstract metaclass).
Qt UI: Multiselection combobox PySide6 compatibility #5314
- The check states are replaced with the values for PySide6
QtCore.Qt.ItemIsUserTristateis used instead ofQtCore.Qt.ItemIsTristateto avoid crashes on PySide6
Docker: handle openssl 1.1.1 for centos 7 docker build #5319
Move to python 3.9 has added need to use openssl 1.1.x - but it is not by default available on centos 7 image. This is fixing it.
houdini: fix typo in redshift proxy #5320
I believe there's a typo in create_redshift_proxy.py ( extra ` ) in filename, and I made this PR to suggest a fix
Houdini: fix wrong creator identifier in pointCache workflow #5324
FIxing a bug in publishing alembics, were invalid creator identifier caused missing family association.
Fix colorspace compatibility check #5334
for some reason a user may have PyOpenColorIO installed to his machine, _in my case it came with renderman._it can trick the compatibility check as import PyOpenColorIO won't raise an error however it may be an old version _like my case_Beforecompatibility check was true and It used wrapper directly After Fix It will use wrapper via subprocess instead
Merged pull requests
Remove forgotten dev logging #5315
3.16.1
🆕 New features
Royal Render: Maya and Nuke support #5191
Basic working implementation of Royal Render support in Maya.It expects New publisher implemented in Maya.
Blender: Blend File Family #4321
Implementation of the Blend File family analogue to the Maya Scene one.
___Houdini: simple bgeo publishing #4588
Support for simple publishing of bgeo files.
This is adding basic support for bgeo publishing in Houdini. It will allow publishing bgeo in all supported formats (selectable in the creator options). If selected node has output on sop level, it will be used automatically as path in file node.
🚀 Enhancements
General: delivery action add renamed frame number in Loader #5024
Frame Offset options for delivery in Openpype loader
Enhancement/houdini add path action for abc validator #5237
Add a default path attribute Action.it's a helper action more than a repair action, which used to add a default single value.
Nuke: auto apply all settings after template build #5277
Adding auto run of Apply All Settings after template is builder is finishing its process. This will apply Frame-range, Image size, Colorspace found in context of a task shot.
Harmony:Removed loader settings for Harmony #5289
It shouldn't be configurable, it is internal logic. By adding additional extension it wouldn't start to work magically.
🐛 Bug fixes
AYON: Make appdirs case sensitive #5298
Appdirs for AYON are case sensitive for linux and mac so we needed to change them to match ayon launcher. Changed 'ayon' to 'AYON' and 'ynput' to 'Ynput'.
Traypublisher: Fix plugin order #5299
Frame range collector for traypublisher was moved to traypublisher plugins and changed order to make sure assetEntity is filled in instance.data.
Deadline: removing OPENPYPE_VERSION from some host submitters #5302
Removing deprecated method of adding OPENPYPE_VERSION to job environment. It was leftover and other hosts have already been cleared.
AYON: Fix args for workfile conversion util #5308
Workfile update conversion util function have right expected arguments.
🔀 Refactored code
Maya: Refactor imports to `lib.get_reference_node` since the other function… #5258
Refactor imports to lib.get_reference_node since the other function is deprecated.
3.16.0
🆕 New features
General: Reduce usage of legacy io #4723
Replace usages of legacy_io with getter methods or reuse already available information. Create plugins using CreateContext are using context from CreateContext object. Loaders are usign getter function from context tools. Publish plugin are using information instance.data or context.data. In some cases were pieces of code refactored a little e.g. fps getter in maya.
Documentation: API docs reborn - yet again #4419
Feature
Add functional base for API Documentation using Sphinx and AutoAPI.
After unsuccessful #2512, #834 and #210 this is yet another try. But this time without ambition to solve the whole issue. This is making Shinx script to work and nothing else. Any changes and improvements in API docs should be made in subsequent PRs.
How to use it
You can run:
cd .\docs
make.bat html
or
cd ./docs
make html
This will go over our code and generate .rst files in /docs/source/autoapi and from those it will generate full html documentation in /docs/build/html.
During the build you'll see tons of red errors that are pointing to our issues:
-
Wrong imports Invalid import are usually wrong relative imports (too deep) or circular imports.
-
Invalid doc-strings Doc-strings to be processed into documentation needs to follow some syntax - this can be checked by running
pydocstylethat is already included with OpenPype -
Invalid markdown/rst files md/rst files can be included inside rst files using
.. include::directive. But they have to be properly formatted.
Editing rst templates
Everything starts with /docs/source/index.rst - this file should be properly edited, Right now it just includes readme.rst that in turn include and parse main README.md. This is entrypoint to API documentation. All templates generated by AutoAPI are in /docs/source/autoapi. They should be eventually commited to repository and edited too.
Steps for enhancing API documentation
- Run
/docs/make.bat html - Read the red errors/warnings - fix it in the code
- Run
/docs/make.bat htmlagain until there are not red lines - Edit rst files and add some meaningfull content there
Note
This can (should) be merged as is without doc-string fixes in the code or changes in templates. All additional improvements on API documentation should be made in new PRs.
Warning
You need to add new dependencies to use it. Run
create_venv.
Connected to #2490
Global: custom location for OP local versions #4673
This provides configurable location to unzip Openpype version zips. By default, it was hardcoded to artist's app data folder, which might be problematic/slow with roaming profiles.Location must be accessible by user running OP Tray with write permissions (so Program Files might be problematic)
AYON: Update settings conversion #4837
Updated conversion script of AYON settings to v3 settings. PR is related to changes in addons repository https://github.com/ynput/ayon-addons/pull/6 . Changed how the conversion happens -> conversion output does not start with openpype defaults but as empty dictionary.
AYON: Implement integrate links publish plugin #4842
Implemented entity links get/create functions. Added new integrator which replaces v3 integrator for links.
General: Version attributes integration #4991
Implemented unified integrate plugin to update version attributes after all integrations for AYON. The goal is to be able update attribute values in a unified way to a version when all addon integrators are done, so e.g. ftrack can add ftrack id to matching version in AYON server etc.The can be stored under "versionAttributes" key.
AYON: Preparation for products #5038
Prepare ayon settings conversion script for product settings conversion.
Loader: Hide inactive versions in UI #5101
Added support for active argument to hide versions with active set to False in Loader UI when in AYON mode.
AYON: OpenPype as server addon #5199
OpenPype repository can be converted to AYON addon for distribution. Addon has defined dependencies that are required to use it and are not in base ayon-launcher (desktop application).
General: Runtime dependencies #5206
Defined runtime dependencies in pyproject toml. Moved python ocio and otio modules there.
AYON: Bundle distribution #5209
Since AYON server 0.3.0 are addon versions defined by bundles which affects how addons, dependency packages and installers are handled. Only source of truth, about any version of anything that should be used, is server bundle.
Feature/blender handle q application #5264
This edit is to change the way the QApplication is run for Blender. It calls in the singleton (QApplication) during the register. This is made so that other Qt applications and addons are able to run on Blender. In its current implementation, if a QApplication is already running, all functionality of OpenPype becomes unavailable.
🚀 Enhancements
General: Connect to AYON server (base) #3924
Initial implementation of being able use AYON server in current OpenPype client. Added ability to connect to AYON server and use base queries.
AYON mode has it's own executable (and start script). To start in AYON mode just replace start.py with ayon_start.py (added tray start script to tools). Added constant AYON_SERVER_ENABLED to openpype/__init__.py to know if ayon mode is enabled. In that case Mongo is not used at all and any attempts will cause crashes.I had to modify ~/openpype/client content to be able do this switch. Mongo implementation was moved to mongo subfolder and use "star imports" in files from where current imports are used. Logic of any tool or query in code was not changed at all. Since functions were based on mongo queries they don't use full potential of AYON server abilities.ATM implementation has login UI, distribution of files from server and replacement of mongo queries. For queries is used ayon_api module. Which is in live development so the versions may change from day to day.
Enhancement kitsu note with exceptions #4537
Adding a setting to choose some exceptions to IntegrateKitsuNote task status changes.
General: Environment variable for default OCIO configs #4670
Define environment variable which lead to root of builtin ocio configs to be able change the root without changing settings. For the path in settings was used "{OPENPYPE_ROOT}/vendor/bin/ocioconfig/OpenColorIOConfig" which disallow to change the root somewhere else. That will be needed in AYON where configs won't be part of desktop application but downloaded from server.
AYON: Editorial hierarchy creation #4699
Implemented extract hierarchy to AYON plugin which created entities in AYON using ayon api.
AYON: Vendorize ayon api #4753
Vendorize ayon api into openpype vendor directory. The reason is that ayon-python-api is in live development and will fix/add features often in next few weeks/months, and because update of dependency requires new release -> new build, we want to avoid the need of doing that as it would affect OpenPype development.
General: Update PySide 6 for MacOs #4764
New version of PySide6 does not have issues with settings UI. It is still breaking UI stylesheets so it is not changed for other plaforms but it is enhancement from previous state.
General: Removed unused cli commands #4902
Removed texturecopy and launch cli commands from cli commands.
General: Qt scale enhancement #5059
Set 'QT_SCALE_FACTOR_ROUNDING_POLICY' scale factor rounding policy of QApplication to PassThrough so the scaling can be 'float' number and not just 'int' (150% -> 1.5 scale).
CI: WPS linting instead of Hound (rebase) 2 #5115
Because Hound currently used to lint the code on GH ships with really old flake8 support, it fails miserably on any newer Python syntax. This PR is adding WPS linter to GitHub workflows that should step in.
Max: OP parameters only displays what is attached to the container #5229
The OP parameter in 3dsmax only displays what is currently attached to the container while deleting while you can see the items which is not added when you are adding to the container.
Testing: improving logging during testing #5271
Unit testing logging was crashing on more then one nested layers of inherited loggers.
Nuke: removing deprecated settings in baking #5275
Removing deprecated settings for baking with reformat. This option was only for single reformat node and it had been substituted with multiple reposition nodes.
🐛 Bug fixes
AYON: General fixes and updates #4975
Few smaller fixes related to AYON connection. Some of fixes were taken from this PR.
Start script: Change returncode on validate or list versions #4515
Change exit code from 1 to 0 when versions are printed or when version is validated.
Return code 1 is indicating error but there didn't happen any error.
AYON: Change login UI works #4754
Fixed change of login UI. Logic change UI did show up, new login was successful, but after restart was used the previous login. This change fix the issue.
AYON: General issues #4763
Vendorized ayon_api from PR broke OpenPype launch, because ayon_api is not available. Moved ayon_api from ayon specific subforlder to common python vendor in OpenPype, and removed login in ayon start script (which was invalid anyway). Also made fixed compatibility with PySide6 by using qtpy instead of Qt and changing code which is not PySide6 compatible.
AYON: Small fixes #4841
Bugsfixes and enhancements related to AYON logic. Define BUILTIN_OCIO_ROOT environment variable so OCIO configs are working. Use constants from ayon api instead of hardcoding them in codebase. Change process name from "openpype" to "ayon". Don't execute login dialog when application is not yet running but use open method instead. Fixed missing modules settings which were not taken from openpype defaults. Updated ayon api to 0.1.17.
Bugfix - Update gazu to 0.9.3 #4845
This updates Gazu to 0.9.3 to make sure Gazu works with Kitsu and Zou 0.16.x+
Igniter: fix error reports in silent mode #4909
Some errors in silent mode commands in Igniter were suppressed and not visible for example in Deadline log.
General: Remove ayon api from poetry lock #4964
Remove AYON python api from pyproject.toml and poetry.lock again.
AYON: ISO date format conversion issues #4981
Function datetime.fromisoformat was replaced with arrow.get to be used instead.
AYON: Missing files on representations #4989
Fix integration of files into representation in server database.
General: Fix Python 2 vendor for arrow #4993
Moved remaining dependencies for arrow from ftrack to python 2 vendor.
General: Fix new load plugins for next minor relase #5000
Fix access to fname attribute which is not available on load plugin anymore.
General: Replace deprecated keyword argument in PyMongo #5080
Use argument tlsCAFile instead of ssl_ca_certs to avoid deprecation warnings.
Igniter: QApplication is created #5081
Function _get_qt_app actually creates new QApplication if was not created yet.
General: Lower cryptography to 39.0.0 #5099
Lower cryptography to 39.0.0 to avoid breaking of DCCs like Maya and Nuke.
AYON: Global environments key fix #5118
Seems that when converting ayon settings to OP settings the environments setting is put under the environments key in general however when populating the environment the environment key gets picked up, which does not contain the environment variables from the core/environments setting
Add collector to tray publisher for getting frame range data #5152
Add collector to tray publisher to get frame range data. User can choose to enable this collector if they need this in the publisher.Resolve #5136
Unreal: get current project settings not using unreal project name #5170
There was a bug where Unreal project name was used to query project settings. But Unreal project name can differ from the "real" one because of naming convention rules set by Unreal. This is fixing it by asking for current project settings.
Substance Painter: Fix Collect Texture Set Images unable to copy.deepcopy due to QMenu #5238
Fix copy.deepcopy of instance.data.
Substance Painter: Fix default color management settings #5259
The default settings for color management for Substance Painter were invalid, it was set to override the global config by default but specified no valid config paths of its own - and thus errored that the paths were not correct.This sets the defaults correctly to match other hosts.I quickly checked - this seems to be the only host with the wrong default settings
Nuke: fixing container data if windows path in value #5267
Windows path in container data are reformatted. Previously it was reported that Nuke was rising utf8 0xc0 error if backward slashes were in data values.
Houdini: fix typo error in collect arnold rop #5281
Fixing a typo error in collect_arnold_rop.pyReference: #5280
Slack - enhanced logging and protection against failure #5287
Covered issues found in production on customer site. SlackAPI exception doesn't need to have 'error', covered uncaught exception.
Maya: Removed unnecessary import of pyblish.cli #5292
This import resulted in adding additional logging handler which lead to duplication of logs in hosts with plugins containing is_in_tests method. Import is unnecessary for testing functionality.
🔀 Refactored code
Loader: Remove `context` argument from Loader.__init__() #4602
Remove the previously required context argument.
📃 Documentation
Next Minor Release #5291
Merged pull requests
Maya: Refactor to new publisher #4388
Refactor Maya to use the new publisher with new creators.
- [x] Legacy instance can be converted in UI using `SubsetConvertorPlugin` - [x] Fix support for old style "render" and "vrayscene" instance to the new per layer format. - [x] Context data is stored with scene - [x] Workfile instance converted to AutoCreator - [x] Converted Creator classes - [x] Create animation - [x] Create ass - [x] Create assembly - [x] Create camera - [x] Create layout - [x] Create look - [x] Create mayascene - [x] Create model - [x] Create multiverse look - [x] Create multiverse usd - [x] Create multiverse usd comp - [x] Create multiverse usd over - [x] Create pointcache - [x] Create proxy abc - [x] Create redshift proxy - [x] Create render - [x] Create rendersetup - [x] Create review - [x] Create rig - [x] Create setdress - [x] Create unreal skeletalmesh - [x] Create unreal staticmesh - [x] Create vrayproxy - [x] Create vrayscene - [x] Create xgen - [x] Create yeti cache - [x] Create yeti rig - [ ] Tested new Creator publishes - [x] Publish animation - [x] Publish ass - [x] Publish assembly - [x] Publish camera - [x] Publish layout - [x] Publish look - [x] Publish mayascene - [x] Publish model - [ ] Publish multiverse look - [ ] Publish multiverse usd - [ ] Publish multiverse usd comp - [ ] Publish multiverse usd over - [x] Publish pointcache - [x] Publish proxy abc - [x] Publish redshift proxy - [x] Publish render - [x] Publish rendersetup - [x] Publish review - [x] Publish rig - [x] Publish setdress - [x] Publish unreal skeletalmesh - [x] Publish unreal staticmesh - [x] Publish vrayproxy - [x] Publish vrayscene - [x] Publish xgen - [x] Publish yeti cache - [x] Publish yeti rig - [x] Publish workfile - [x] Rig loader correctly generates a new style animation creator instance - [ ] Validations / Error messages for common validation failures look nice and usable as a report. - [ ] Make Create Animation hidden to the user (should not create manually?) - [x] Correctly detect difference between **'creator_attributes'** and **'instance_data'** since both are "flattened" to the top node.Start script: Fix possible issues with destination drive path #4478
Drive paths for windows are fixing possibly missing slash at the end of destination path.
Windows subst command require to have destination path with slash if it's a drive (it should be G:\ not G:).
Global: Move PyOpenColorIO to vendor/python #4946
So that DCCs don't conflict with their own.
See https://github.com/ynput/OpenPype/pull/4267#issuecomment-1537153263 for the issue with Gaffer.
I'm not sure if this is the correct approach, but I assume PySide/Shiboken is under vendor/python for this reason as well...
RuntimeError with Click on deadline publish #5065
I changed Click to version 8.0 instead of 7.1.2 to solve this error:
2023-05-30 16:16:51: 0: STDOUT: Traceback (most recent call last):
2023-05-30 16:16:51: 0: STDOUT: File "start.py", line 1126, in boot
2023-05-30 16:16:51: 0: STDOUT: File "/prod/softprod/apps/openpype/LINUX/3.15/dependencies/click/core.py", line 829, in __call__
2023-05-30 16:16:51: 0: STDOUT: return self.main(*args, **kwargs)
2023-05-30 16:16:51: 0: STDOUT: File "/prod/softprod/apps/openpype/LINUX/3.15/dependencies/click/core.py", line 760, in main
2023-05-30 16:16:51: 0: STDOUT: _verify_python3_env()
2023-05-30 16:16:51: 0: STDOUT: File "/prod/softprod/apps/openpype/LINUX/3.15/dependencies/click/_unicodefun.py", line 126, in _verify_python3_env
2023-05-30 16:16:51: 0: STDOUT: raise RuntimeError(
2023-05-30 16:16:51: 0: STDOUT: RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsprojects.com/python3/ for mitigation steps.
3.15.12
🆕 New features
Tray Publisher: User can set colorspace per instance explicitly #4901
With this feature a user can set/override the colorspace for the representations of an instance explicitly instead of relying on the File Rules from project settings or alike. This way you can ingest any file and explicitly say "this file is colorspace X".
Review Family in Max #5001
Review Feature by creating preview animation in 3dsmax(The code is still cleaning up so there is going to be some updates until it is ready for review)
AfterEffects: support for workfile template builder #5163
This PR add functionality of templated workfile builder. It allows someone to prepare AE workfile with placeholders as for automatically loading particular representation of particular subset of particular asset from context where workfile is opened.Selection from multiple prepared workfiles is provided with usage of templates, specific type of tasks could use particular workfile template etc.Artists then can build workfile from template when opening new workfile.
CreatePlugin: Get next version helper #5242
Implemented helper functions to get next available versions for create instances.
🚀 Enhancements
Maya: Improve Templates #4854
Use library method for fetching reference node and support parent in hierarchy.
Bug: Maya - xgen sidecar files arent moved when saving workfile as an new asset workfile changing context - OP-6222 #5215
This PR manages the Xgen files when switching context in the Workfiles app.
node references to check for duplicates in Max #5192
No duplicates for node references in Max when users trying to select nodes before publishing
Tweak profiles logging to debug level #5194
Tweak profiles logging to debug level since they aren't artist facing logs.
Enhancement: Reduce more visual clutter for artists in new publisher reports #5208
Got this from one of our artists' reports - figured some of these logs were definitely not for the artist, reduced those logs to debug level.
Cosmetics: Tweak pyblish repair actions (icon, logs, docstring) #5213
- Add icon to RepairContextAction
- logs to debug level
- also add attempt repair for RepairAction for consistency
- fix RepairContextAction docstring to mention correct argument name
Additional info
We should not forget to remove this "deprecated" actions.py file in 3.16 (next-minor)
Testing notes:
- Run some fabulous repairs!
Maya: fix save file prompt on launch last workfile with color management enabled + restructure `set_colorspace` #5225
- Only set
configFilePathwhen OCIO env var is not set since it doesn't do anything if OCIO var is set anyway. - Set the Maya 2022+ default OCIO path using the resources path instead of "" to avoid Maya Save File on new file after launch
- Bugfix: This is what fixes the Save prompt on open last workfile feature with Global color management enabled
- Move all code related to applying the maya settings together after querying the settings
- Swap around the
if use_workfile_settingssince the check was reversed - Use
get_current_project_name()instead of environment vars
Enhancement: More descriptive error messages for Loaders #5227
Tweak raised errors and error messages for loader errors.
Houdini: add select invalid action for ValidateSopOutputNode #5231
This PR adds SelectROPAction action to houdini\api\action.pyand it's used in Validate Output Node``SelectROPAction is used to select the associated ROPs with the errored instances.
Remove new lines from the delivery template string #5235
If the delivery template has a new line symbol at the end, say it was copied from the text editor, the delivery process will fail with OSError due to incorrect destination path. To avoid that I added rstrip() to the delivery_path processing.
Houdini: better selection on pointcache creation #5250
Houdini allows ObjNode path as sop_path in the ROP unlike OP/ Ayon require sop_path to be set to a sop node path explicitly In this code, better selection is used to filter out invalid selections from OP/ Ayon point of viewValid selections are
SopNodethat has parent of typegeoorsubnetObjNodeof typegeothat hasSopNodeof typeoutputSopNodewith render flagon(if noSopnodeof typeoutput)this effectively filter- empty
ObjNode ObjNode(s) of other types likecamanddopnetSopNode(s) that thier parents of other types likecamandsop solver
Update scene inventory even if any errors occurred during update #5252
When selecting many items in the scene inventory to update versions and one of the items would error out the updating stops. However, before this PR the scene inventory would also NOT refresh making you think it did nothing.Also implemented as method to allow some code deduplication.
🐛 Bug fixes
Maya: fix the register_event_callback correctly collecting workfile save after #5214
fixing the bug of register_event_callback not being able to collect action of "workfile_save_after" for lock file action
Maya: aligning default settings to distributed aces 1.2 config #5233
Maya colorspace setttings defaults are set the way they align our distributed ACES 1.2 config file set in global colorspace configs.
RepairAction and SelectInvalidAction filter instances failed on the exact plugin #5240
RepairAction and SelectInvalidAction actually filter to instances that failed on the exact plugin - not on "any failure"
Maya: Bugfix look update nodes by id with non-unique shape names (query with `fullPath`) #5257
Fixes a bug where updating attributes on nodes with assigned shader if shape name existed more than once in the scene due to cmds.listRelatives call not being done with the fullPath=True flag.Original error:
# Traceback (most recent call last):
# File "E:\openpype\OpenPype\openpype\tools\sceneinventory\view.py", line 264, in <lambda>
# lambda: self._show_version_dialog(items))
# File "E:\openpype\OpenPype\openpype\tools\sceneinventory\view.py", line 722, in _show_version_dialog
# self._update_containers(items, version)
# File "E:\openpype\OpenPype\openpype\tools\sceneinventory\view.py", line 849, in _update_containers
# update_container(item, item_version)
# File "E:\openpype\OpenPype\openpype\pipeline\load\utils.py", line 502, in update_container
# return loader.update(container, new_representation)
# File "E:\openpype\OpenPype\openpype\hosts\maya\plugins\load\load_look.py", line 119, in update
# nodes_by_id[lib.get_id(n)].append(n)
# File "E:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1420, in get_id
# sel.add(node)
Nuke: Create nodes with inpanel=False #5051
This PR is meant to remove the annoyance of the UI changing focus to the properties window just for the property window of the newly created node to disappear. Instead of using node.hideControlPanel I'm implementing the concealment during the creation of the node which will not change the focus of the current window.
Resolve: after launch automatization fixes #5193
Workfile is no correctly created and aligned witch actual project. Also the launching mechanism is now fixed so even no workfile had been saved yet it will open OpenPype menu automatically.
General: Revert backward incompatible change of path to template to multiplatform #5197
Now platformity is still handed by usage of work[root] (or any other root that is accessible across platforms.)
Nuke: root set format updating in node graph #5198
Nuke root node needs to be reset on some values so any knobs could be updated in node graph. This works the same way as an user would change frame number so expressions would update its values in knobs.
Hiero: fixing otio current project and cosmetics #5200
Otio were not returning correct current project once additional Untitled project was open in project manager stack.
Max: Publisher instances dont hold its enabled disabled states when Publisher reopened again #5202
Resolve #5183, general maxscript conversion issue to python (e.g. bool conversion, true in maxscript while True in Python)(Also resolve the ValueError when you change the subset to publish into list view menu)
Burnins: Filter script is defined only for video streams #5205
Burnins are working for inputs with audio.
Houdini: Fix `get_color_management_preferences` #5217
Fix the issue described here where the logic for retrieving the current OCIO display and view was incorrectly trying to apply a regex to it.
Houdini: Redshift ROP image format bug #5218
Problem : "RS_outputFileFormat" parm value was missing and there were more "image_format" than redshift rop supports
Fix:
- removed unnecessary formats from
image_format_enum - add the selected format value to
RS_outputFileFormat
Colorspace: check PyOpenColorIO rather then python version #5223
Fixing previously merged PR (https://github.com/ynput/OpenPype/pull/5212) And applying better way to check compatibility with PyOpenColorIO python api.
Validate delivery action representations status #5228
- disable delivery button if no representations checked
- fix macos combobox layout
- add error message if no delivery templates found
Houdini: Add geometry check for pointcache family #5230
When sop_path on ABC ROP node points to a non SopNode, these validators validate_abc_primitive_to_detail.py, validate_primitive_hierarchy_paths.py will error and crash when this line is executed geo = output_node.geometryAtFrame(frame)
Houdini: Add geometry check for VDB family #5232
When sop_path on Geometry ROP node points to a non SopNode, this validator validate_vdb_output_node.py will error and crash when this line is executedsop_node.geometryAtFrame(frame)
Substance Painter: Include the setting only in publish tab #5234
Instead of having two settings in both create and publish tab, there is solely one setting in the publish tab for users to set up the parameters.Resolve #5172
Maya: Fix collecting arnold prefix when none #5243
When no prefix is specified in render settings, the renderlayer collector would error.
Deadline: OPENPYPE_VERSION should only be added when running from build #5244
When running from source the environment variable OPENPYPE_VERSION should not be added. This is a bugfix for the feature #4489
Fix no prompt for "unsaved changes" showing when opening workfile in Houdini #5246
Fix no prompt for "unsaved changes" showing when opening workfile in Houdini.
Fix no prompt for "unsaved changes" showing when opening workfile in Substance Painter #5248
Fix no prompt for "unsaved changes" showing when opening workfile in Substance Painter.
General: add the os library before os.environ.get #5249
Adding os library into creator_plugins.py due to os.environ.get in line 667
Unreal: Move Qt imports away from module init #5268
Importing Window creates errors in headless mode.
*** WRN: >>> { ModulesLoader }: [ FAILED to import host folder unreal ]
=============================
No Qt bindings could be found
=============================
Traceback (most recent call last):
File "C:\Users\tokejepsen\OpenPype\.venv\lib\site-packages\qtpy\__init__.py", line 252, in <module>
from PySide6 import __version__ as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundERROR: No module named 'PySide6'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\tokejepsen\OpenPype\openpype\modules\base.py", line 385, in _load_modules
default_module = __import__(
File "C:\Users\tokejepsen\OpenPype\openpype\hosts\unreal\__init__.py", line 1, in <module>
from .addon import UnrealAddon
File "C:\Users\tokejepsen\OpenPype\openpype\hosts\unreal\addon.py", line 4, in <module>
from openpype.widgets.message_window import Window
File "C:\Users\tokejepsen\OpenPype\openpype\widgets\__init__.py", line 1, in <module>
from .password_dialog import PasswordDialog
File "C:\Users\tokejepsen\OpenPype\openpype\widgets\password_dialog.py", line 1, in <module>
from qtpy import QtWidgets, QtCore, QtGui
File "C:\Users\tokejepsen\OpenPype\.venv\lib\site-packages\qtpy\__init__.py", line 259, in <module>
raise QtBindingsNotFoundERROR()
qtpy.QtBindingsNotFoundERROR: No Qt bindings could be found
🔀 Refactored code
Maya: Minor refactoring and code cleanup #5226
Some small cleanup and refactoring of logic. Removing old comments, unused imports and some minor optimization. Also removed the prints of the loader names of each container the scene in fix_incompatible_containers + optimizing by using set and defining only once. Moved some UI related code/tweaks to run on_init only if not in headless mode. Removed an empty obj.py file.Each commit message kind of describes why the change was made.
Merged pull requests
Bug: Template builder fails when loading data without outliner representation #5222
I add an assertion management in case the container does not have a represention in outliner.
AfterEffects - add container check validator to AE settings #5203
Adds check if scene contains only latest version of loaded containers.
3.15.11
🆕 New features
Ftrack: Task status during publishing #5123
Added option to change task status during publishing for 3 possible cases: "sending to farm", "local integration" and "on farm integration".
Nuke: Allow for more complex temp rendering paths #5132
When changing the temporary rendering template (i.e., add {asset} to the path) to something a bit more complex the formatting was erroring due to missing keys.
Blender: Add support for custom path for app templates #5137
This PR adds support for a custom App Templates path in Blender by setting the BLENDER_USER_SCRIPTS environment variable to the path specified in OPENPYPE_APP_TEMPLATES_PATH. This allows users to use their own custom app templates in Blender.
TrayPublisher & StandalonePublisher: Specify version #5142
Simple creators in TrayPublisher can affect which version will be integrated. Standalone publisher respects the version change from UI.
🚀 Enhancements
Workfile Builder UI: Workfile builder window is not modal #5131
Workfile Templates Builder:
- Create dialog is not a modal dialog
- Create dialog remains open after create, so you can directly create a new placeholder with similar settings
- In Maya allow to create root level placeholders (no selection during create) - this felt more like a bugfix than anything else.
3dsmax: Use custom modifiers to hold instance members #4931
Moving logic to handle members of publishing instance from children/parent relationship on Container to tracking via custom attribute on modifier. This eliminates limitations where you couldn't have one node multiple times under one Container and because it stores those relationships as weak references, they are easily transferable even when original nodes are renamed.
Add height, width and fps setup to project manager #5075
Add Width, Height, FPS, Pixel Aspect and Frame Start/End to the Project creation dialogue in the Project Manager.I understand that the Project manager will be replaced in the upcoming Ayon, but for the time being I believe setting new project with these options available would be more fun.
Nuke: connect custom write node script to the OP setting #5113
Allows user to customize the values of knobs attribute in the OP setting and use it in custom write node
Keep `publisher.create_widget` variant when creating subsets #5119
Whenever a person is creating a subset to publish, the "creator" widget resets (where you choose the variant, product, etc.) so if the person is publishing several images of the a variant which is not the default one, they have to keep selecting the correct one after every "create".
This commit resets the original variant upon successful creation of a subset for publishing.
Demo: Screencast from 2023-06-08 10-46-40.webm
Testing notes:
- Launch AYON/OP
- Launch the publisher (select a project, shot, etc.)
- Crete a publish type (any works)
- Choose a variant for the publish that is not the default
- "Create >>"
The Variant fields should still have the variant you choose.
Color Management- added color management support for simple expected files on Deadline #5122
Running of ExtractOIIOTranscode during Deadline publish was previously implemented only on DCCs with AOVs (Maya, Max).This PR extends this for other DCCs with flat structure of expected files.
hide macos dock icon on build #5133
Set LSUIElement to 1 in the Info.plist to hide OP icon from the macos dock by default.
Pack project: Raise exception with reasonable message #5145
Pack project crashes with relevant message when destination directory is not set.
Allow "inventory" actions to be supplied by a Module/Addon. #5146
Adds "inventory" as a possible key to the plugin paths to be returned from a module.
3dsmax: make code compatible with 3dsmax 2022 #5164
Python 3.7 in 3dsmax 2022 is not supporting walrus operator. This is removing it from the code for the sake of compatibility
🐛 Bug fixes
Maya: Support same attribute names on different node types. #5054
When validating render settings attributes, support same attribute names on different node types.
Maya: bug fix the standin being not loaded when they are first loaded #5143
fix the bug of raising error when the first two standins are loaded through the loaderThe bug mentioned in the related issue: https://github.com/ynput/OpenPype/issues/5129For some reason, defaultArnoldRenderOptions.operator is not listed in the connection node attribute even if cmds.loadPlugin("mtoa", quiet=True) executed before loading the object as standins for the first time.But if you manually turn on mtoa through plugin preference and load the standins for the first time, it won't raise the related defaultArnoldRenderOptions.operator error.
Maya: bug fix arnoldExportAss unable to export selected set members #5150
See #5108 fix the bug arnoldExportAss being not able to export and error out during extraction.
Maya: Xgen multiple descriptions on single shape - OP-6039 #5160
When having multiple descriptions on the same geometry, the extraction would produce redundant duplicate geometries.
Maya: Xgen export of Abc's during Render Publishing - OP-6206 #5167
Shading assignments was missing duplicating the setup for Xgen publishing and the exporting of patches was getting the end frame incorrectly.
OCIO: Support working with single frame renders #5053
When there is only 1 file, the datamember files on the representation should be a string.
Burnins: Refactored burnins script #5094
Refactored list value for burnins and fixed command length limit by using temp file for filters string.
Nuke: open_file function can open autosave script #5107
Fix the bug of the workfile dialog being unable to open autosave nuke script
Maya: Xgen version mismatch after publish - OP-6204 #5161
Xgen was not updating correctly when for example adding or removing descriptions. This resolve the issue by overwritting the workspace xgen file.
Colorspace: host config path backward compatibility #5166
Old project settings overrides are now fully backward compatible. The issue with host config paths overrides were solved and now once a project used to be set to ocio_config enabled with found filepaths - this is now considered as activated host ocio_config paths overrides.Nuke is having an popup dialogue which is letting know to a user that settings for config path were changed.
Ftrack: Fix ignore sync filter #5176
Ftrack ignore filter does not crash because of dictionary modifications during it's iteration.
Webpublisher - headless publish shouldn't be blocking operation #5177
subprocess.call was blocking, which resulted in UI non responsiveness as it was waiting for publish to finish.
Merged pull requests
Enhancement:animation family loaded as standing (abc) uses "use file sequence" #5110
The changes are the following. We started by updating the the is_sequence(files) function allowing it to return True for a list of files which has only one file, since our animation in this provides just one alembic file. For the correct FPS number, we got the fps from the published ass/abc from the version data.
add label to matching family #5128
I added the possibility to filter the family smart select with the label in addition to the family.
3.15.10
🆕 New features
ImageIO: Adding ImageIO activation toggle to all hosts #4700
Colorspace management can now be enabled at the project level, although it is disabled by default. Once enabled, all hosts will use the OCIO config file defined in the settings. If settings are disabled, the system switches to DCC's native color space management, and we do not store colorspace information at the representative level.
Redshift Proxy Support in 3dsMax #4625
Redshift Proxy Support for 3dsMax.
- Creator
- Loader
- Extractor
- Validator
- Add documentation
Houdini farm publishing and rendering #4825
Deadline Farm publishing and Rendering for Houdini
- Mantra
- Karma(including usd renders)
- Arnold
- Elaborate Redshift ROP for deadline submission
- fix the existing bug in Redshift ROP
- Vray
- add docs
Feature: Blender hook to execute python scripts at launch #4905
Hook to allow hooks to add path to a python script that will be executed when Blender starts.
Feature: Resolve: Open last workfile on launch through .scriptlib #5047
Added implementation to Resolve integration to open last workfile on launch.
General: Remove default windowFlags from publisher #5089
The default windowFlags is making the publisher window (in Linux at least) only show the close button and it's frustrating as many times you just want to minimize the window and get back to the validation after. Removing that line I get what I'd expect.**Before:**After:
General: Show user who created the workfile on the details pane of workfile manager #5093
New PR for https://github.com/ynput/OpenPype/pull/5087, which was closed after merging next-minor branch and then realizing we don't need to target it as it was decided it's not required to support windows. More info on that PR discussion.Small addition to add name of the user who created the workfile on the details pane of the workfile manager:
🚀 Enhancements
Maya: Repair RenderPass token when merging AOVs. #5055
Validator was flagging that <RenderPass> was in the image prefix, but did not repair the issue.
Maya: Improve error feedback when no renderable cameras exist for ASS family. #5092
When collecting cameras for ass family, this improves the error message when no cameras are renderable.
Nuke: Custom script to set frame range of read nodes #5039
Adding option to set frame range specifically for the read nodes in Openpype Panel. User can set up their preferred frame range with the frame range dialog, which can be showed after clicking Set Frame Range (Read Node) in Openpype Tools
Update extract review letterbox docs #5074
Update Extract Review - Letter Box section in Docs. Letterbox type description is removed.
Project pack: Documents only skips roots validation #5082
Single roots validation is skipped if only documents are extracted.
Nuke: custom settings for write node without publish #5084
Set Render Output and other settings to write nodes for non-publish purposes.
🐛 Bug fixes
Maya: Deadline servers #5052
Fix working with multiple Deadline servers in Maya.
- Pools (primary and secondary) attributes were not recreated correctly.
- Order of collector plugins were wrong, so collected data was not injected into render instances.
- Server attribute was not converted to string so comparing with settings was incorrect.
- Improve debug logging for where the webservice url is getting fetched from.
Maya: Fix Load Reference. #5091
Fix bug introduced with https://github.com/ynput/OpenPype/pull/4751 where cmds.ls returns a list.
3dsmax: Publishing Deadline jobs from RedShift #4960
Fix the bug of being uable to publish deadline jobs from RedshiftUse Current File instead of Published Scene for just Redshift.
- add save scene before rendering to ensure the scene is saved after the modification.
- add separated aov files option to allow users to choose to have aovs in render output
- add validator for render publish to aovid overriding the previous renders
Houdini: Fix missing frame range for pointcache and camera exports #5026
Fix missing frame range for pointcache and camera exports on published version.
Global: collect_frame_fix plugin fix and cleanup #5064
Previous implementation https://github.com/ynput/OpenPype/pull/5036 was broken this is fixing the issue where attribute is found in instance data although the settings were disabled for the plugin.
Hiero: Fix apply settings Clip Load #5073
Changed apply_settings to classmethod which fixes the issue with settings.
Resolve: Make sure scripts dir exists #5078
Make sure the scripts directory exists before looping over it's content.
removing info knob from nuke creators #5083
- removing instance node if removed via publisher
- removing info knob since it is not needed any more (was there only for the transition phase)
Maya: bug fix on repair action in Arnold Scene Source CBID Validator #5096
Fix the bug of not being able to use repair action in Arnold Scene Source CBID Validator
Nuke: batch of small fixes #5103
- default settings for
imageio.requiredNodesCreateWriteImage - default settings for LoadImage representations
- Create and Publish menu items with
parent=main_window(version > 14)
Deadline: make prerender check safer #5104
Prerender wasn't correctly recognized and was replaced with just 'render' family.In Nuke it is correctly prerender.farm in families, which wasn't handled here. It resulted into using render in templates even if render and prerender templates were split.
General: Sort launcher actions alphabetically #5106
The launcher actions weren't being sorted by its label but its name (which on the case of the apps it's the version number) and thus the order wasn't consistent and we kept getting a different order on every launch. From my debugging session, this was the result of what the actions variable held after the filter_compatible_actions function before these changes:
(Pdb) for p in actions: print(p.order, p.name)
0 14-02
0 14-02
0 14-02
0 14-02
0 14-02
0 19-5-493
0 2023
0 3-41
0 6-01
```This caused already a couple bugs from our artists thinking they had launched Nuke X and instead launched Nuke and telling us their Nuke was missing nodes**Before:****After:**
___
</details>
<details>
<summary>TrayPublisher: Editorial video stream discovery <a href="https://github.com/ynput/OpenPype/pull/5120">#5120</a></summary>
Editorial create plugin in traypublisher does not expect that first stream in input is video.
___
</details>
### **🔀 Refactored code**
<details>
<summary>3dsmax: Move from deprecated interface <a href="https://github.com/ynput/OpenPype/pull/5117">#5117</a></summary>
`INewPublisher` interface is deprecated, this PR is changing the use to `IPublishHost` instead.
___
</details>
### **Merged pull requests**
<details>
<summary>add movalex as a contributor for code <a href="https://github.com/ynput/OpenPype/pull/5076">#5076</a></summary>
Adds @movalex as a contributor for code.
This was requested by mkolar [in this comment](https://github.com/ynput/OpenPype/pull/4916#issuecomment-1571498425)
[skip ci]
___
</details>
<details>
<summary>3dsmax: refactor load plugins <a href="https://github.com/ynput/OpenPype/pull/5079">#5079</a></summary>
___
</details>
## [3.15.9](https://github.com/ynput/OpenPype/tree/3.15.9)
[Full Changelog](https://github.com/ynput/OpenPype/compare/3.15.8...3.15.9)
### **🆕 New features**
<details>
<summary>Blender: Implemented Loading of Alembic Camera <a href="https://github.com/ynput/OpenPype/pull/4990">#4990</a></summary>
Implemented loading of Alembic cameras in Blender.
___
</details>
<details>
<summary>Unreal: Implemented Creator, Loader and Extractor for Levels <a href="https://github.com/ynput/OpenPype/pull/5008">#5008</a></summary>
Creator, Loader and Extractor for Unreal Levels have been implemented.
___
</details>
### **🚀 Enhancements**
<details>
<summary>Blender: Added setting for base unit scale <a href="https://github.com/ynput/OpenPype/pull/4987">#4987</a></summary>
A setting for the base unit scale has been added for Blender.The unit scale is automatically applied when opening a file or creating a new one.
___
</details>
<details>
<summary>Unreal: Changed naming and path of Camera Levels <a href="https://github.com/ynput/OpenPype/pull/5010">#5010</a></summary>
The levels created for the camera in Unreal now include `_camera` in the name, to be better identifiable, and are placed in the camera folder.
___
</details>
<details>
<summary>Settings: Added option to nest settings templates <a href="https://github.com/ynput/OpenPype/pull/5022">#5022</a></summary>
It is possible to nest settings templates in another templates.
___
</details>
<details>
<summary>Enhancement/publisher: Remove "hit play to continue" label on continue <a href="https://github.com/ynput/OpenPype/pull/5029">#5029</a></summary>
Remove "hit play to continue" message on continue so that it doesn't show anymore when play was clicked.
___
</details>
<details>
<summary>Ftrack: Limit number of ftrack events to query at once <a href="https://github.com/ynput/OpenPype/pull/5033">#5033</a></summary>
Limit the amount of ftrack events received from mongo at once to 100.
___
</details>
<details>
<summary>General: Small code cleanups <a href="https://github.com/ynput/OpenPype/pull/5034">#5034</a></summary>
Small code cleanup and updates.
___
</details>
<details>
<summary>Global: collect frames to fix with settings <a href="https://github.com/ynput/OpenPype/pull/5036">#5036</a></summary>
Settings for `Collect Frames to Fix` will allow disable per project the plugin. Also `Rewriting latest version` attribute is hiddable from settings.
___
</details>
<details>
<summary>General: Publish plugin apply settings can expect only project settings <a href="https://github.com/ynput/OpenPype/pull/5037">#5037</a></summary>
Only project settings are passed to optional `apply_settings` method, if the method expects only one argument.
___
</details>
### **🐛 Bug fixes**
<details>
<summary>Maya: Load Assembly fix invalid imports <a href="https://github.com/ynput/OpenPype/pull/4859">#4859</a></summary>
Refactors imports so they are now correct.
___
</details>
<details>
<summary>Maya: Skipping rendersetup for members. <a href="https://github.com/ynput/OpenPype/pull/4973">#4973</a></summary>
When publishing a `rendersetup`, the objectset is and should be empty.
___
</details>
<details>
<summary>Maya: Validate Rig Output IDs <a href="https://github.com/ynput/OpenPype/pull/5016">#5016</a></summary>
Absolute names of node were not used, so plugin did not fetch the nodes properly.Also missed pymel command.
___
</details>
<details>
<summary>Deadline: escape rootless path in publish job <a href="https://github.com/ynput/OpenPype/pull/4910">#4910</a></summary>
If the publish path on Deadline job contains spaces or other characters, command was failing because the path wasn't properly escaped. This is fixing it.
___
</details>
<details>
<summary>General: Company name and URL changed <a href="https://github.com/ynput/OpenPype/pull/4974">#4974</a></summary>
The current records were obsolete in inno_setup, changed to the up-to-date.
___
</details>
<details>
<summary>Unreal: Fix usage of 'get_full_path' function <a href="https://github.com/ynput/OpenPype/pull/5014">#5014</a></summary>
This PR changes all the occurrences of `get_full_path` functions to alternatives to get the path of the objects.
___
</details>
<details>
<summary>Unreal: Fix sequence frames validator to use correct data <a href="https://github.com/ynput/OpenPype/pull/5021">#5021</a></summary>
Fix sequence frames validator to use clipIn and clipOut data instead of frameStart and frameEnd.
___
</details>
<details>
<summary>Unreal: Fix render instances collection to use correct data <a href="https://github.com/ynput/OpenPype/pull/5023">#5023</a></summary>
Fix render instances collection to use `frameStart` and `frameEnd` from the Project Manager, instead of the sequence's ones.
___
</details>
<details>
<summary>Resolve: loader is opening even if no timeline in project <a href="https://github.com/ynput/OpenPype/pull/5025">#5025</a></summary>
Loader is opening now even no timeline is available in a project.
___
</details>
<details>
<summary>nuke: callback for dirmapping is on demand <a href="https://github.com/ynput/OpenPype/pull/5030">#5030</a></summary>
Nuke was slowed down on processing due this callback. Since it is disabled by default it made sense to add it only on demand.
___
</details>
<details>
<summary>Publisher: UI works with instances without label <a href="https://github.com/ynput/OpenPype/pull/5032">#5032</a></summary>
Publisher UI does not crash if instance don't have filled 'label' key in instance data.
___
</details>
<details>
<summary>Publisher: Call explicitly prepared tab methods <a href="https://github.com/ynput/OpenPype/pull/5044">#5044</a></summary>
It is not possible to go to Create tab during publishing from OpenPype menu.
___
</details>
<details>
<summary>Ftrack: Role names are not case sensitive in ftrack event server status action <a href="https://github.com/ynput/OpenPype/pull/5058">#5058</a></summary>
Event server status action is not case sensitive for role names of user.
___
</details>
<details>
<summary>Publisher: Fix border widget <a href="https://github.com/ynput/OpenPype/pull/5063">#5063</a></summary>
Fixed border lines in Publisher UI to be painted correctly with correct indentation and size.
___
</details>
<details>
<summary>Unreal: Fix Commandlet Project and Permissions <a href="https://github.com/ynput/OpenPype/pull/5066">#5066</a></summary>
Fix problem when creating an Unreal Project when Commandlet Project is in a protected location.
___
</details>
<details>
<summary>Unreal: Added verification for Unreal app name format <a href="https://github.com/ynput/OpenPype/pull/5070">#5070</a></summary>
The Unreal app name is used to determine the Unreal version folder, so it is necessary that if follows the format `x-x`, where `x` is any integer. This PR adds a verification that the app name follows that format.
___
</details>
### **📃 Documentation**
<details>
<summary>Docs: Display wrong image in ExtractOIIOTranscode <a href="https://github.com/ynput/OpenPype/pull/5045">#5045</a></summary>
Wrong image display in `https://openpype.io/docs/project_settings/settings_project_global#extract-oiio-transcode`.
___
</details>
### **Merged pull requests**
<details>
<summary>Drop-down menu to list all families in create placeholder <a href="https://github.com/ynput/OpenPype/pull/4928">#4928</a></summary>
Currently in the create placeholder window, we need to write the family manually. This replace the text field by an enum field with all families for the current software.
___
</details>
<details>
<summary>add sync to specific projects or listen only <a href="https://github.com/ynput/OpenPype/pull/4919">#4919</a></summary>
Extend kitsu sync service with additional arguments to sync specific projects.
___
</details>
## [3.15.8](https://github.com/ynput/OpenPype/tree/3.15.8)
[Full Changelog](https://github.com/ynput/OpenPype/compare/3.15.7...3.15.8)
### **🆕 New features**
<details>
<summary>Publisher: Show instances in report page <a href="https://github.com/ynput/OpenPype/pull/4915">#4915</a></summary>
Show publish instances in report page. Also added basic log view with logs grouped by instance. Validation error detail now have 2 colums, one with erro details second with logs. Crashed state shows fast access to report action buttons. Success will show only logs. Publish frame is shrunked automatically on publish stop.
___
</details>
<details>
<summary>Fusion - Loader plugins updates <a href="https://github.com/ynput/OpenPype/pull/4920">#4920</a></summary>
Update to some Fusion loader plugins:The sequence loader can now load footage from the image and online family.The FBX loader can now import all formats Fusions FBX node can read.You can now import the content of another workfile into your current comp with the workfile loader.
___
</details>
<details>
<summary>Fusion: deadline farm rendering <a href="https://github.com/ynput/OpenPype/pull/4955">#4955</a></summary>
Enabling Fusion for deadline farm rendering.
___
</details>
<details>
<summary>AfterEffects: set frame range and resolution <a href="https://github.com/ynput/OpenPype/pull/4983">#4983</a></summary>
Frame information (frame start, duration, fps) and resolution (width and height) is applied to selected composition from Asset Management System (Ftrack or DB) automatically when published instance is created.It is also possible explicitly propagate both values from DB to selected composition by newly added menu buttons.
___
</details>
<details>
<summary>Publish: Enhance automated publish plugin settings <a href="https://github.com/ynput/OpenPype/pull/4986">#4986</a></summary>
Added plugins option to define settings category where to look for settings of a plugin and added public helper functions to apply settings `get_plugin_settings` and `apply_plugin_settings_automatically`.
___
</details>
### **🚀 Enhancements**
<details>
<summary>Load Rig References - Change Rig to Animation in Animation instance <a href="https://github.com/ynput/OpenPype/pull/4877">#4877</a></summary>
We are using the template builder to build an animation scene. All the rig placeholders are imported correctly, but the automatically created animation instances retain the rig family in their names and subsets. In our example, we need animationMain instead of rigMain, because this name will be used in the following steps like lighting.Here is the result we need. I checked, and it's not a template builder problem, because even if I load a rig as a reference, the result is the same. For me, since we are in the animation instance, it makes more sense to have animation instead of rig in the name. The naming is just fine if we use create from the Openpype menu.
___
</details>
<details>
<summary>Enhancement: Resolve prelaunch code refactoring and update defaults <a href="https://github.com/ynput/OpenPype/pull/4916">#4916</a></summary>
The main reason of this PR is wrong default settings in `openpype/settings/defaults/system_settings/applications.json` for Resolve host. The `bin` folder should not be a part of the macos and Linux `RESOLVE_PYTHON3_PATH` variable.The rest of this PR is some code cleanups for Resolve prelaunch hook to simplify further development.Also added a .gitignore for vscode workspace files.
___
</details>
<details>
<summary>Unreal: 🚚 move Unreal plugin to separate repository <a href="https://github.com/ynput/OpenPype/pull/4980">#4980</a></summary>
To support Epic Marketplace have to move AYON Unreal integration plugins to separate repository. This is replacing current files with git submodule, so the change should be functionally without impact.New repository lives here: https://github.com/ynput/ayon-unreal-plugin
___
</details>
<details>
<summary>General: Lib code cleanup <a href="https://github.com/ynput/OpenPype/pull/5003">#5003</a></summary>
Small cleanup in lib files in openpype.
___
</details>
<details>
<summary>Allow to open with djv by extension instead of representation name <a href="https://github.com/ynput/OpenPype/pull/5004">#5004</a></summary>
Filter open in djv action by extension instead of representation.
___
</details>
<details>
<summary>DJV open action `extensions` as `set` <a href="https://github.com/ynput/OpenPype/pull/5005">#5005</a></summary>
Change `extensions` attribute to `set`.
___
</details>
<details>
<summary>Nuke: extract thumbnail with multiple reposition nodes <a href="https://github.com/ynput/OpenPype/pull/5011">#5011</a></summary>
Added support for multiple reposition nodes.
___
</details>
<details>
<summary>Enhancement: Improve logging levels and messages for artist facing publish reports <a href="https://github.com/ynput/OpenPype/pull/5018">#5018</a></summary>
Tweak the logging levels and messages to try and only show those logs that an artist should see and could understand. Move anything that's slightly more involved into a "debug" message instead.
___
</details>
### **🐛 Bug fixes**
<details>
<summary>Bugfix/frame variable fix <a href="https://github.com/ynput/OpenPype/pull/4978">#4978</a></summary>
Renamed variables to match OpenPype terminology to reduce confusion and add consistency.
___
</details>
<details>
<summary>Global: plugins cleanup plugin will leave beauty rendered files <a href="https://github.com/ynput/OpenPype/pull/4790">#4790</a></summary>
Attempt to mark more files to be cleaned up explicitly in intermediate `renders` folder in work area for farm jobs.
___
</details>
<details>
<summary>Fix: Download last workfile doesn't work if not already downloaded <a href="https://github.com/ynput/OpenPype/pull/4942">#4942</a></summary>
Some optimization condition is messing with the feature: if the published workfile is not already downloaded, it won't download it...
___
</details>
<details>
<summary>Unreal: Fix transform when loading layout to match existing assets <a href="https://github.com/ynput/OpenPype/pull/4972">#4972</a></summary>
Fixed transform when loading layout to match existing assets.
___
</details>
<details>
<summary>fix the bug of fbx loaders in Max <a href="https://github.com/ynput/OpenPype/pull/4977">#4977</a></summary>
bug fix of fbx loaders for not being able to parent to the CON instances while importing cameras(and models) which is published from other DCCs such as Maya.
___
</details>
<details>
<summary>AfterEffects: allow returning stub with not saved workfile <a href="https://github.com/ynput/OpenPype/pull/4984">#4984</a></summary>
Allows to use Workfile app to Save first empty workfile.
___
</details>
<details>
<summary>Blender: Fix Alembic loading <a href="https://github.com/ynput/OpenPype/pull/4985">#4985</a></summary>
Fixed problem occurring when trying to load an Alembic model in Blender.
___
</details>
<details>
<summary>Unreal: Addon Py2 compatibility <a href="https://github.com/ynput/OpenPype/pull/4994">#4994</a></summary>
Fixed Python 2 compatibility of unreal addon.
___
</details>
<details>
<summary>Nuke: fixed missing files key in representation <a href="https://github.com/ynput/OpenPype/pull/4999">#4999</a></summary>
Issue with missing keys once rendering target set to existing frames is fixed. Instance has to be evaluated in validation for missing files.
___
</details>
<details>
<summary>Unreal: Fix the frame range when loading camera <a href="https://github.com/ynput/OpenPype/pull/5002">#5002</a></summary>
The keyframes of the camera, when loaded, were not using the correct frame range.
___
</details>
<details>
<summary>Fusion: fixing frame range targeting <a href="https://github.com/ynput/OpenPype/pull/5013">#5013</a></summary>
Frame range targeting at Rendering instances is now following configured options.
___
</details>
<details>
<summary>Deadline: fix selection from multiple webservices <a href="https://github.com/ynput/OpenPype/pull/5015">#5015</a></summary>
Multiple different DL webservice could be configured. First they must by configured in System Settings., then they could be configured per project in `project_settings/deadline/deadline_servers`.Only single webservice could be a target of publish though.
___
</details>
### **Merged pull requests**
<details>
<summary>3dsmax: Refactored publish plugins to use proper implementation of pymxs <a href="https://github.com/ynput/OpenPype/pull/4988">#4988</a></summary>
___
</details>
## [3.15.7](https://github.com/ynput/OpenPype/tree/3.15.7)
[Full Changelog](https://github.com/ynput/OpenPype/compare/3.15.6...3.15.7)
### **🆕 New features**
<details>
<summary>Addons directory <a href="https://github.com/ynput/OpenPype/pull/4893">#4893</a></summary>
This adds a directory for Addons, for easier distribution of studio specific code.
___
</details>
<details>
<summary>Kitsu - Add "image", "online" and "plate" to review families <a href="https://github.com/ynput/OpenPype/pull/4923">#4923</a></summary>
This PR adds "image", "online" and "plate" to the review families so they also can be uploaded to Kitsu.It also adds the `Add review to Kitsu` tag to the default png review. Without it the user would manually need to add it for single image uploads to Kitsu and might confuse users (it confused me first for a while as movies did work).
___
</details>
<details>
<summary>Feature/remove and load inv action <a href="https://github.com/ynput/OpenPype/pull/4930">#4930</a></summary>
Added the ability to remove and load a container, as a way to reset it.This can be useful in cases where a container breaks in a way that can be fixed by removing it, then reloading it.Also added the ability to add `InventoryAction` plugins by placing them in `openpype/plugins/inventory`.
___
</details>
### **🚀 Enhancements**
<details>
<summary>Load Rig References - Change Rig to Animation in Animation instance <a href="https://github.com/ynput/OpenPype/pull/4877">#4877</a></summary>
We are using the template builder to build an animation scene. All the rig placeholders are imported correctly, but the automatically created animation instances retain the rig family in their names and subsets. In our example, we need animationMain instead of rigMain, because this name will be used in the following steps like lighting.Here is the result we need. I checked, and it's not a template builder problem, because even if I load a rig as a reference, the result is the same. For me, since we are in the animation instance, it makes more sense to have animation instead of rig in the name. The naming is just fine if we use create from the Openpype menu.
___
</details>
<details>
<summary>Maya template builder - preserve all references when importing a template <a href="https://github.com/ynput/OpenPype/pull/4797">#4797</a></summary>
When building a template with Maya template builder, we import the template and also the references inside the template file. This causes some problems:
- We cannot use the references to version assets imported by the template.
- When we import the file, the internal reference files are also imported. As a side effect, Maya complains about a reference that no longer exists.`// Error: file: /xxx/maya/2023.3/linux/scripts/AETemplates/AEtransformRelated.mel line 58: Reference node 'turntable_mayaSceneMain_01_RN' is not associated with a reference file.`
___
</details>
<details>
<summary>Unreal: Renaming the integration plugin to Ayon. <a href="https://github.com/ynput/OpenPype/pull/4646">#4646</a></summary>
Renamed the .h, and .cpp files to Ayon. Also renamed the classes to with the Ayon keyword.
___
</details>
<details>
<summary>3dsMax: render dialogue needs to be closed <a href="https://github.com/ynput/OpenPype/pull/4729">#4729</a></summary>
Make sure the render setup dialog is in a closed state for the update of resolution and other render settings
___
</details>
<details>
<summary>Maya Template Builder - Remove default cameras from renderable cameras <a href="https://github.com/ynput/OpenPype/pull/4815">#4815</a></summary>
When we build an asset workfile with build workfile from template inside Maya, we load our turntable camera. But then we end up with 2 renderables camera : **persp** the one imported from the template.We need to remove the **persp** camera (or any other default camera) from renderable cameras when building the work file.
___
</details>
<details>
<summary>Validators for Frame Range in Max <a href="https://github.com/ynput/OpenPype/pull/4914">#4914</a></summary>
Switch Render Frame Range Type to 3 for specific ranges (initial setup for the range type is 4)Reset Frame Range will also set the frame range for render settingsRender Collector won't take the frame range from context data but take the range directly from render settingAdd validators for render frame range type and frame range respectively with repair action
___
</details>
<details>
<summary>Fusion: Saver creator settings <a href="https://github.com/ynput/OpenPype/pull/4943">#4943</a></summary>
Adding Saver creator settings and enhanced rendering path with template.
___
</details>
<details>
<summary>General: Project Anatomy on creators <a href="https://github.com/ynput/OpenPype/pull/4962">#4962</a></summary>
Anatomy object of current project is available on `CreateContext` and create plugins.
___
</details>
### **🐛 Bug fixes**
<details>
<summary>Maya: Validate shader name - OP-5903 <a href="https://github.com/ynput/OpenPype/pull/4971">#4971</a></summary>
Running the plugin would error with:
// TypeError: 'str' object cannot be interpreted as an integer
```Fixed and added setting active.
Houdini: Fix slow Houdini launch due to shelves generation #4829
Shelf generation during Houdini startup would add an insane amount of delay for the Houdini UI to launch correctly. By deferring the shelf generation this takes away the 5+ minutes of delay for the Houdini UI to launch.
Fusion - Fixed "optional validation" #4912
Added OptionalPyblishPluginMixin and is_active checks for all publish tools that should be optional
Bug: add missing `pyblish.util` import #4937
remote publishing was missing import of remote_publish. This is adding it back.
Unreal: Fix missing 'object_path' property #4938
Epic removed the object_path property from AssetData. This PR fixes usages of that property.Fixes #4936
Remove obsolete global validator #4939
Removing Validate Sequence Frames validator from global plugins as it wasn't handling correctly many things and was by mistake enabled, breaking functionality on Deadline.
General: fix build_workfile get_linked_assets missing project_name arg #4940
Linked assets collection don't work within build_workfile because get_linked_assets function call has a missing project_nameargument.
- Added the
project_namearg to theget_linked_assetsfunction call.
General: fix Scene Inventory switch version error dialog missing parent arg on init #4941
QuickFix for the switch version error dialog to set inventory widget as parent.
Unreal: Fix camera frame range #4956
Fix the frame range of the level sequence for the Camera in Unreal.
Unreal: Fix missing parameter when updating Alembic StaticMesh #4957
Fix an error when updating an Alembic StaticMesh in Unreal, due to a missing parameter in a function call.
Ftrack: Fix editorial task creation #4966
Fix key assignment on instance data during editorial publishing in ftrack hierarchy integration.
Merged pull requests
Add "shortcut" to Scripts Menu Definition #4927
Add the possibility to associate a shorcut for an entry in the script menu definition with the key "shortcut"
3.15.6
🆕 New features
Substance Painter Integration #4283
This implements a part of #4205 by implementing a Substance Painter integration
Status:
- Implement Host
- start substance with last workfile using
AddLastWorkfileToLaunchArgsprelaunch hook - Implement Qt tools
- Implement loaders
- Implemented a Set project mesh loader (this is relatively special case because a Project will always have exactly one mesh - a Substance Painter project cannot exist without a mesh).
- Implement project open callback
- On project open it notifies the user if the loaded model is outdated
- Implement publishing logic
- Workfile publishing
- Export Texture Sets
- Support OCIO using #4195 (draft brach is set up - see comment)
- Likely needs more testing on the OCIO front
- Validate all outputs of the Export template are exported/generated
- Allow validation to be optional (issue: there's no API method to detect what maps will be exported without doing an actual export to disk)
- Support extracting/integration if not all outputs are generated
- Support multiple materials/texture sets per instance
- Add validator that can enforce only a single texture set output if studio prefers that.
- Implement Export File Format (extensions) override in Creator
- Add settings so Admin can choose which extensions are available.
Data Exchange: Geometry in 3dsMax #4555
Introduces and updates a creator, extractors and loaders for model family
Introduces new creator, extractors and loaders for model family while adding model families into the existing max scene loader and extractor
- creators
- adding model family into max scene loader and extractor
- fbx loader
- fbx extractor
- usd loader
- usd extractor
- validator for model family
- obj loader(update function)
- fix the update function of the loader as #4675
- Add documentation
AfterEffects: add review flag to each instance #4884
Adds mark_for_review flag to the Creator to allow artists to disable review if necessary.Exposed this flag in Settings, by default set to True (eg. same behavior as previously).
🚀 Enhancements
Houdini: Fix Validate Output Node (VDB) #4819
- Removes plug-in that was a duplicate of this plug-in.
- Optimize logging of many prims slightly
- Fix error reporting like https://github.com/ynput/OpenPype/pull/4818 did
Houdini: Add null node as output indicator when using TAB search #4834
Houdini: Don't error in collect review if camera is not set correctly #4874
Do not raise an error in collector when invalid path is set as camera path. Allow camera path to not be set correctly in review instance until validation so it's nicely shown in a validation report.
Project packager: Backup and restore can store only database #4879
Pack project functionality have option to zip only project database without project files. Unpack project can skip project copy if the folder is not found.Added helper functions to openpype.client.mongo that can be also used for tests as replacement of mongo dump.
Houdini: ExtractOpenGL for Review instance not optional #4881
Don't make ExtractOpenGL optional for review instance optional.
Fusion: Simplify creator icons code #4899
Simplify code for setting the icons for the Fusion creators
🐛 Bug fixes
Maya: Validate Attributes #4917
This plugin was broken due to bad fetching of data and wrong repair action.
Fix: Locally copied version of last published workfile is not incremented #4722
Fix 1
When copied, the local workfile version keeps the published version number, when it must be +1 to follow OP's naming convention.
Fix 2
Local workfile version's name is built from anatomy. This avoids to get workfiles with their publish template naming.
Fix 3
In the case a subset has at least two tasks with published workfiles, for example Modeling and Rigging, launching Rigging was getting the first one with the next and trying to find representations, therefore workfileModeling and trying to match the current task_name (Rigging) with the representation["context"]["task"]["name"] of a Modeling representation, which was ending up to a workfile_representation to None, and exiting the process.
Trying to find the task_name in the subset['name'] fixes it.
Fix 4
Fetch input dependencies of workfile.
Replacing https://github.com/ynput/OpenPype/pull/4102 for changes to bring this home.
Maya: soft-fail when pan/zoom locked on camera when playblasting #4929
When pan/zoom enabled attribute on camera is locked, playblasting with pan/zoom fails because it is trying to restore it. This is fixing it by skipping over with warning.
Merged pull requests
Maya Load References - Add Display Handle Setting #4904
When we load a reference in Maya using OpenPype loader, display handle is checked by default and prevent us to select easily the object in the viewport. I understand that some productions like to keep this option, so I propose to add display handle to the reference loader settings.
Photoshop: add autocreators for review and flat image #4871
Review and flatten image (produced when no instance of image family was created) were created somehow magically. This PRintroduces two new auto creators which allow artists to disable review or flatten image.For all image instances Review flag was added to provide functionality to create separate review per image instance. Previously was possible only to have separate instance of review family.Review is not enabled on image family by default. (Eg. follows original behavior)Review auto creator is enabled by default as it was before.Flatten image creator must be set in Settings in project_settings/photoshop/create/AutoImageCreator.
3.15.5
🚀 Enhancements
Maya: Playblast profiles #4777
Support playblast profiles.This enables studios to customize what playblast settings should be on a per task and/or subset basis. For example modeling should have Wireframe On Shaded enabled, while all other tasks should have it disabled.
Maya: Support .abc files directly for Arnold standin look assignment #4856
If .abc file is loaded into arnold standin support look assignment through the cbId attributes in the alembic file.
Maya: Hide animation instance in creator #4872
- Hide animation instance in creator
- Add inventory action to recreate animation publish instance for loaded rigs
Unreal: Render Creator enhancements #4477
Improvements to the creator for render family
This PR introduces some enhancements to the creator for the render family in Unreal Engine:
- Added the option to create a new, empty sequence for the render.
- Added the option to not include the whole hierarchy for the selected sequence.
- Improvements of the error messages.
Unreal: Added settings for rendering #4575
Added settings for rendering in Unreal Engine.
Two settings has been added:
- Pre roll frames, to set how many frames are used to load the scene before starting the actual rendering.
- Configuration path, to allow to save a preset of settings from Unreal, and use it for rendering.
Global: Optimize anatomy formatting by only formatting used templates instead #4784
Optimization to not format full anatomy when only a single template is used. Instead format only the single template instead.
Patchelf version locked #4853
For Centos dockerfile it is necessary to lock the patchelf version to the older, otherwise the build process fails.
Code: Tweak docstrings and return type hints #4875
Tweak docstrings and return type hints for functions in openpype.client.entities.
Publisher: Clear comment on successful publish and on window close #4885
Clear comment text field on successful publish and on window close.
Publisher: Make sure to reset asset widget when hidden and reshown #4886
Make sure to reset asset widget when hidden and reshown. Without this the asset list would never refresh in the set asset widget when changing context on an existing instance and thus would not show new assets from after the first time launching that widget.
🐛 Bug fixes
Maya: Fix nested model instances. #4852
Fix nested model instance under review instance, where data collection was not including "Display Lights" and "Focal Length".
Maya: Make default namespace naming backwards compatible #4873
Namespaces of loaded references are now by default back to what they were before #4511
Nuke: Legacy convertor skips deprecation warnings #4846
Nuke legacy convertor was triggering deprecated function which is causing a lot of logs which slows down whole process. Changed the convertor to skip all nodes without AVALON_TAB to avoid the warnings.
3dsmax: move startup script logic to hook #4849
Startup script for OpenPype was interfering with Open Last Workfile feature. Moving this loggic from simple command line argument in the Settings to pre-launch hook is solving the order of command line arguments and making both features work.
Maya: Don't change time slider ranges in `get_frame_range` #4858
Don't change time slider ranges in get_frame_range
Maya: Looks - calculate hash for tx texture #4878
Texture hash is calculated for textures used in published look and it is used as key in dictionary. In recent changes, this hash is not calculated for TX files, resulting in None value as key in dictionary, crashing publishing. This PR is adding texture hash for TX files to solve that issue.
Houdini: Collect `currentFile` context data separate from workfile instance #4883
Fix publishing without an active workfile instance due to missing currentFile data.Now collect currentFile into context in houdini through context plugin no matter the active instances.
Nuke: fixed broken slate workflow once published on deadline #4887
Slate workflow is now working as expected and Validate Sequence Frames is not raising the once slate frame is included.
Add fps as instance.data in collect review in Houdini. #4888
fix the bug of failing to publish extract review in HoudiniOriginal error:
File "OpenPype\build\exe.win-amd64-3.9\openpype\plugins\publish\extract_review.py", line 516, in prepare_temp_data
"fps": float(instance.data["fps"]),
KeyError: 'fps'
TrayPublisher: Fill missing data for instances with review #4891
Fill required data to instance in traypublisher if instance has review family. The data are required by ExtractReview and it would be complicated to do proper fix at this moment! The collector does for review instances what did https://github.com/ynput/OpenPype/pull/4383
Publisher: Keep track about current context and fix context selection widget #4892
Change selected context to current context on reset. Fix bug when context widget is re-enabled.
Scene inventory: Model refresh fix with cherry picking #4895
Fix cherry pick issue in scene inventory.
Nuke: Pre-render and missing review flag on instance causing crash #4897
If instance created in nuke was missing review flag, collector crashed.
Merged pull requests
After Effects: fix handles KeyError #4727
Sometimes when publishing with AE (we only saw this error on AE 2023), we got a KeyError for the handles in the "Collect Workfile" step. So I did get the handles from the context if ther's no handles in the asset entity.
3.15.4
🆕 New features
Maya: Cant assign shaders to the ass file - OP-4859 #4460
Support AiStandIn nodes for look assignment.
Using operators we assign shaders and attribute/parameters to nodes within standins. Initially there is only support for a limited mount of attributes but we can add support as needed;
primaryVisibility
castsShadows
receiveShadows
aiSelfShadows
aiOpaque
aiMatte
aiVisibleInDiffuseTransmission
aiVisibleInSpecularTransmission
aiVisibleInVolume
aiVisibleInDiffuseReflection
aiVisibleInSpecularReflection
aiSubdivUvSmoothing
aiDispHeight
aiDispPadding
aiDispZeroValue
aiStepSize
aiVolumePadding
aiSubdivType
aiSubdivIterations
Houdini: Implement review family with opengl node #3839
Implements a first pass for Reviews publishing in Houdini. Resolves #2720
Uses the opengl ROP node to produce PNG images.
Maya: Camera focal length visible in review - OP-3278 #4531
Camera focal length visible in review.
Support camera focal length in review; static and dynamic.Resolves #3220
Maya: Defining plugins to load on Maya start - OP-4994 #4714
Feature to define plugins to load on Maya launch.
Nuke, DL: Returning Suspended Publishing attribute #4715
Old Nuke Publisher's feature for suspended publishing job on render farm was added back to the current Publisher.
Settings UI: Allow setting a size hint for text fields #4821
Text entity have minimum_lines_count which allows to change minimum size hint of UI input.
TrayPublisher: Move 'BatchMovieCreator' settings to 'create' subcategory #4827
Moved settings for BatchMoviewCreator into subcategory create in settings. Changes are made to match other hosts settings chema and structure.
🚀 Enhancements
Maya looks: support for native Redshift texture format #2971
Add support for native Redshift textures handling. Closes #2599
Uses Redshift's Texture Processor executable to convert textures being used in renders to the Redshift ".rstexbin" format.
Maya: custom namespace for references #4511
Adding an option in Project Settings > Maya > Loader plugins to set custom namespace. If no namespace is set, the default one is used.
___Maya: Set correct framerange with handles on file opening #4664
Set the range of playback from the asset data, counting handles, to get the correct data when calling the "collect_animation_data" function.
Maya: Fix camera update #4751
Fix resetting any modelPanel to a different camera when loading a camera and updating.
Maya: Remove single assembly validation for animation instances #4840
Rig groups may now be parented to others groups when includeParentHierarchy attribute on the instance is "off".
Maya: Optional control of display lights on playblast. #4145
Optional control of display lights on playblast.
Giving control to what display lights are on the playblasts.
Kitsu: note family requirements #4551
Allowing to add family requirements to IntegrateKitsuNote task status change.
Adds a Family requirements setting to Integrate Kitsu Note, so you can add requirements to determine if kitsu task status should be changed based on which families are published or not. For instance you could have the status change only if another subset than workfile is published (but workfile can still be included) by adding an item set to Not equal and workfile.
Deactivate closed Kitsu projects on OP #4619
Deactivate project on OP when the project is closed on Kitsu.
Houdini: Change node type for OpenPypeContext `null` -> `subnet` #4745
Change the node type for OpenPype's hidden context node in Houdini from null to subnet. This fixes #4734
General: Extract burnin hosts filters #4749
Removed hosts filter from ExtractBurnin plugin. Instance without representations won't cause crash but just skip the instance. We've discovered because Blender already has review but did not create burnins.
Global: Improve speed of Collect Custom Staging Directory #4768
Improve speed of Collect Custom Staging Directory.
General: Anatomy templates formatting #4773
Added option to format only single template from anatomy instead of formatting all of them all the time. Formatting of all templates is causing slowdowns e.g. during publishing of hundreds of instances.
Harmony: Handle zip files with deeper structure #4782
External Harmony zip files might contain one additional level with scene name.
Unreal: Use common logic to configure executable #4788
Unreal Editor location and version was autodetected. This easied configuration in some cases but was not flexible enought. This PR is changing the way Unreal Editor location is set, unifying it with the logic other hosts are using.
Github: Grammar tweaks + uppercase issue title #4813
Tweak some of the grammar in the issue form templates.
Houdini: Allow creation of publish instances via Houdini TAB menu #4831
Register the available Creator's as houdini tools so an artist can add publish instances via the Houdini TAB node search menu from within the network editor.
🐛 Bug fixes
Maya: Fix Collect Render for V-Ray, Redshift and Renderman for missing colorspace #4650
Fix Collect Render not working for Redshift, V-Ray and Renderman due to missing colorspace argument to RenderProduct dataclass.
Maya: Xgen fixes #4707
Fix for Xgen extraction of world parented nodes and validation for required namespace.
Maya: Fix extract review and thumbnail for Maya 2020 #4744
Fix playblasting in Maya 2020 with override viewport options enabled. Fixes #4730.
Maya: local variable 'arnold_standins' referenced before assignment - OP-5542 #4778
MayaLookAssigner erroring when MTOA is not loaded:
# Traceback (most recent call last):
# File "\openpype\hosts\maya\tools\mayalookassigner\app.py", line 272, in on_process_selected
# nodes = list(set(item["nodes"]).difference(arnold_standins))
# UnboundLocalError: local variable 'arnold_standins' referenced before assignment
Maya: Fix getting view and display in Maya 2020 - OP-5035 #4795
The view_transform returns a different format in Maya 2020. Fixes #4540 (hopefully).
Maya: Fix Look Maya 2020 Py2 support for Extract Look #4808
Fix Extract Look supporting python 2.7 for Maya 2020.
Maya: Fix Validate Mesh Overlapping UVs plugin #4816
Fix typo in the code where a maya command returns a list instead of str.
Deadline: checking existing frames fails when there is number in file name #4698
Previous implementation of validator failed on files with any other number in rendered file names.Used regular expression pattern now handles numbers in the file names (eg "Main_beauty.v001.1001.exr", "Main_beauty_v001.1001.exr", "Main_beauty.1001.1001.exr") but not numbers behind frames (eg. "Main_beauty.1001.v001.exr")
General: Hero version sites recalculation #4737
Sites recalculation in integrate hero version did expect that it is integrated exactly same amount of files as in previous integration. This is not the case in many cases, so the sites recalculation happens in a different way, first are prepared all sites from previous representation files, and all of them are added to each file in new representation.
Houdini: Fix collect current file #4739
Fixes the Workfile publishing getting added into every instance being published from Houdini
Global: Fix Extract Burnin + Colorspace functions for conflicting python environments with PYTHONHOME #4740
This fixes the running of openpype processes from e.g. a host with conflicting python versions that had PYTHONHOME said additionally to PYTHONPATH, like e.g. Houdini Py3.7 together with OpenPype Py3.9 when using Extract Burnin for a review in #3839This fix applies to Extract Burnin and some of the colorspace functions that use run_openpype_process
Harmony: render what is in timeline in Harmony locally #4741
Previously it wasn't possible to render according to what was set in Timeline in scene start/end, just by what it was set in whole timeline.This allows artist to override what is in DB with what they require (with disabled Validate Scene Settings). Now artist can extend scene by additional frames, that shouldn't be rendered, but which might be desired.Removed explicit set scene settings (eg. applying frames and resolution directly to the scene after launch), added separate menu item to allow artist to do it themselves.
Maya: Extract Review settings add Use Background Gradient #4747
Add Display Gradient Background toggle in settings to fix support for setting flat background color for reviews.
Nuke: publisher is offering review on write families on demand #4755
Original idea where reviewable toggle will be offered in publisher on demand is fixed and now review attribute can be disabled in settings.
Workfiles: keep Browse always enabled #4766
Browse might make sense even if there are no workfiles present, actually in that case it makes the most sense (eg. I want to locate workfile from outside - from Desktop for example).
Global: label key in instance data is optional #4779
Collect OTIO review plugin is not crashing if label key is missing in instance data.
Loader: Fix missing variable #4781
There is missing variable handles in loader tool after https://github.com/ynput/OpenPype/pull/4746. The variable was renamed to handles_label and is initialized to None if handles are not available.
Nuke: Workfile Template builder fixes #4783
Popup window after Nuke start is not showing. Knobs with X/Y coordination on nodes where were converted from placeholders are not added if keepPlaceholders is witched off.
Maya: Add family filter 'review' to burnin profile with focal length #4791
Avoid profile burnin with focalLength key for renders, but use only for playblast reviews.
add farm instance to the render collector in 3dsMax #4794
bug fix for the failure of submitting publish job in 3dsmax
Publisher: Plugin active attribute is respected #4798
Publisher consider plugin's active attribute, so the plugin is not processed when active is set to False. But we use the attribute in OptionalPyblishPluginMixin for different purposes, so I've added hack bypass of the active state validation when plugin inherit from the mixin. This is temporary solution which cannot be changed until all hosts use Publisher otherwise global plugins would be broken. Also plugins which have enabled set to False are filtered out -> this happened only when automated settings were applied and the settings contained "enabled" key se to False.
Nuke: settings and optional attribute in publisher for some validators #4811
New publisher is supporting optional switch for plugins which is offered in Publisher in Right panel. Some plugins were missing this switch and also settings which would offer the optionality.
Settings: Version settings popup fix #4822
Version completer popup have issues on some platforms, this should fix those edge cases. Also fixed issue when completer stayed shown fater reset (save).
Hiero/Nuke: adding monitorOut key to settings #4826
New versions of Hiero were introduced with new colorspace property for Monitor Out. It have been added into project settings. Also added new config names into settings enumerator option.
Nuke: removed default workfile template builder preset #4835
Default for workfile template builder should have been empty.
TVPaint: Review can be made from any instance #4843
Add "review" tag to output of extract sequence if instance is marked for review. At this moment only instances with family "review" were able to define input for ExtractReview plugin which is not right.
🔀 Refactored code
Deadline: Remove unused FramesPerTask job info submission #4657
Remove unused FramesPerTask job info submission to Deadline.
Maya: Remove pymel dependency #4724
Refactors code written using pymel to use standard maya python libraries instead like maya.cmds or maya.api.OpenMaya
Maya: Collect Review cleanup code for attached subsets #4720
Refactor some code for Maya: Collect Review for attached subsets.
Refactor: Remove `handles`, `edit_in` and `edit_out` backwards compatibility #4746
Removes backward compatibiliy fallback for data called handles, edit_in and edit_out.
📃 Documentation
Bump webpack from 5.69.1 to 5.76.1 in /website #4624
Bumps webpack from 5.69.1 to 5.76.1.
Release notes
Sourced from webpack's releases.
v5.76.1
Fixed
- Added
assert/strictbuilt-in toNodeTargetPluginRevert
- Improve performance of
hashRegExplookup by@ryanwilsonperkinin webpack/webpack#16759v5.76.0
Bugfixes
- Avoid cross-realm object access by
@Jack-Worksin webpack/webpack#16500- Improve hash performance via conditional initialization by
@lvivskiin webpack/webpack#16491- Serialize
generatedCodeinfo to fix bug in asset module cache restoration by@ryanwilsonperkinin webpack/webpack#16703- Improve performance of
hashRegExplookup by@ryanwilsonperkinin webpack/webpack#16759Features
- add
targettoLoaderContexttype by@askoufisin webpack/webpack#16781Security
- CVE-2022-37603 fixed by
@akhilgkrishnanin webpack/webpack#16446Repo Changes
- Fix HTML5 logo in README by
@jakebaileyin webpack/webpack#16614- Replace TypeScript logo in README by
@jakebaileyin webpack/webpack#16613- Update actions/cache dependencies by
@piwysockiin webpack/webpack#16493New Contributors
@Jack-Worksmade their first contribution in webpack/webpack#16500@lvivskimade their first contribution in webpack/webpack#16491@jakebaileymade their first contribution in webpack/webpack#16614@akhilgkrishnanmade their first contribution in webpack/webpack#16446@ryanwilsonperkinmade their first contribution in webpack/webpack#16703@piwysockimade their first contribution in webpack/webpack#16493@askoufismade their first contribution in webpack/webpack#16781Full Changelog: https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0
v5.75.0
Bugfixes
experiments.*normalize tofalsewhen opt-out- avoid
NaN%- show the correct error when using a conflicting chunk name in code
- HMR code tests existance of
windowbefore trying to access it- fix
eval-nosources-*actually exclude sources- fix race condition where no module is returned from processing module
- fix position of standalong semicolon in runtime code
Features
- add support for
@importto extenal CSS when using experimental CSS in node
... (truncated)
Commits
21be52bMerge pull request #16804 from webpack/chore-patch-release1cce945chore(release): 5.76.1e76ad9eMerge pull request #16803 from ryanwilsonperkin/revert-16759-real-content-has...52b1b0eRevert "Improve performance of hashRegExp lookup"c989143Merge pull request #16766 from piranna/patch-1710eaf4Merge pull request #16789 from dmichon-msft/contenthash-hashsalt5d64468Merge pull request #16792 from webpack/update-version67af5ecchore(release): 5.76.097b1718Merge pull request #16781 from askoufis/loader-context-target-typeb84efe6Merge pull request #16759 from ryanwilsonperkin/real-content-hash-regex-perf- Additional commits viewable in compare view
Maintainer changes
This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Documentation: Add Extract Burnin documentation #4765
Add documentation for Extract Burnin global plugin settings.
Documentation: Move publisher related tips to publisher area #4772
Move publisher related tips for After Effects artist documentation to the correct position.
Documentation: Add extra terminology to the key concepts glossary #4838
Tweak some of the key concepts in the documentation.
Merged pull requests
Maya: Refactor Extract Look with dedicated processors for maketx #4711
Refactor Maya extract look to fix some issues:
- Allow Extraction with maketx with OCIO Color Management enabled in Maya.
- Fix file hashing so it includes arguments to maketx, so that when arguments change it correctly generates a new hash
- Fix maketx destination colorspace when OCIO is enabled
- Use pre-collected colorspaces of the resources instead of trying to retrieve again in Extract Look
- Fix colorspace attributes being reinterpreted by maya on export (fix remapping) - goal is to resolve #2337
- Fix support for checking config path of maya default OCIO config (due to using
lib.get_color_management_preferenceswhich remaps that path) - Merged in #2971 to refactor MakeTX into TextureProcessor and also support generating Redshift
.rstexbinfiles. - goal is to resolve #2599 - Allow custom arguments to
maketxfrom OpenPype Settings like mentioned here by @fabiaserra for arguments like:--monochrome-detect,--opaque-detect,--checknan. - Actually fix the code and make it work. :) (I'll try to keep below checkboxes in sync with my code changes)
- Publishing without texture processor should work (no maketx + no rstexbin)
- Publishing with maketx should work
- Publishing with rstexbin should work
- Test it. (This is just me doing some test-runs, please still test the PR!)
Maya template builder load all assets linked to the shot #4761
Problem All the assets of the ftrack project are loaded and not those linked to the shot
How get error
Open maya in the context of shot, then build a new scene with the "Build Workfile from template" button in "OpenPype" menu.

Global: Do not force instance data with frame ranges of the asset #4383
This aims to resolve #4317
___Cosmetics: Fix some grammar in docstrings and messages (and some code) #4752
Tweak some grammar in codebase
Deadline: Submit publish job fails due root work hardcode - OP-5528 #4775
Generating config templates was hardcoded to root[work]. This PR fixes that.
CreateContext: Added option to remove Unknown attributes #4776
Added option to remove attributes with UnkownAttrDef on instances. Pop of key will also remove the attribute definition from attribute values, so they're not recreated again.
3.15.3
🆕 New features
Blender: Extract Review #3616
Added Review to Blender.
This implementation is based on #3508 but made compatible for the current implementation of OpenPype for Blender.
Data Exchanges: Point Cloud for 3dsMax #4532
Publish PRT format with tyFlow in 3dsmax
Publish PRT format with tyFlow in 3dsmax and possibly set up loader to load the format too.
- creator
- extractor
- validator
- loader
Global: persistent staging directory for renders #4583
Allows configure if staging directory (stagingDir) should be persistent with use of profiles.
With this feature, users can specify a transient data folder path based on presets, which can be used during the creation and publishing stages. In some cases, these DCCs automatically add a rendering path during the creation stage, which is then used in publishing.One of the key advantages of this feature is that it allows users to take advantage of faster storages for rendering, which can help improve workflow efficiency. Additionally, this feature allows users to keep their rendered data persistent, and use their own infrastructure for regular cleaning.However, it should be noted that some productions may want to use this feature without persistency. Furthermore, there may be a need for retargeting the rendering folder to faster storages, which is also not supported at the moment.It is studio responsibility to clean up obsolete folders with data.Location of the folder is configured in project_anatomy/templates/others. ('transient' key is expected, with 'folder' key, could be more templates)Which family/task type/subset is applicable is configured in:project_settings/global/tools/publish/transient_dir_profiles
Kitsu custom comment template #4599
Kitsu allows to write markdown in its comment field. This can be something very powerful to deliver dynamic comments with the help the data from the instance.This feature is defaults to off so the admin have to manually set up the comment field the way they want.I have added a basic example on how the comment can look like as the comment-fields default value.To this I want to add some documentation also but that's on its way when the code itself looks good for the reviewers.
🚀 Enhancements
Maya: Multiple values on single render attribute - OP-4131 #4631
When validating render attributes, this adds support for multiple values. When repairing first value in list is used.
Maya: enable 2D Pan/Zoom for playblasts - OP-5213 #4687
Setting for enabling 2D Pan/Zoom on reviews.
Copy existing or generate new Fusion profile on prelaunch #4572
Fusion preferences will be copied to the predefined ~/.openpype/hosts/fusion/prefs folder (or any other folder set in system settings) on launch.
The idea is to create a copy of existing Fusion profile, adding an OpenPype menu to the Fusion instance.By default the copy setting is turned off, so no file copying is performed. Instead the clean Fusion profile is created by Fusion in the predefined folder. The default locaion is set to ~/.openpype/hosts/fusion/prefs, to better comply with the other os platforms. After creating the default profile, some modifications are applied:
- forced Python3
- forced English interface
- setup Openpype specific path maps.If the
copy_prefscheckbox is toggled, a copy of existing Fusion profile folder will be placed in the mentioned location. Then they are altered the same way as described above. The operation is run only once, on the first launch, unless theforce_sync [Resync profile on each launch]is toggled.English interface is forced because theFUSION16_PROFILE_DIRenvironment variable is not read otherwise (seems to be a Fusion bug).
Houdini: Create button open new publisher's "create" tab #4601
During a talk with @maxpareschi he mentioned that the new publisher in Houdini felt super confusing due to "Create" going to the older creator but now being completely empty and the publish button directly went to the publish tab.This resolves that by fixing the Create button to now open the new publisher but on the Create tab.Also made publish button enforce going to the "publish" tab for consistency in usage.@antirotor I think changing the Create button's callback was just missed in this commit or was there a specific reason to not change that around yet?
Clockify: refresh and fix the integration #4607
Due to recent API changes, Clockify requires user_id to operate with the timers. I updated this part and currently it is a WIP for making it fully functional. Most functions, such as start and stop timer, and projects sync are currently working. For the rate limiting task new dependency is added: https://pypi.org/project/ratelimiter/
Fusion publish existing frames #4611
This PR adds the function to publish existing frames instead of having to re-render all of them for each new publish.I have split the render_locally plugin so the review-part is its own plugin now.I also change the saver-creator-plugin's label from Saver to Render (saver) as I intend to add a Prerender creator like in Nuke.
Resolution settings referenced from DB record for 3dsMax #4652
- Add Callback for setting the resolution according to DB after the new scene is created.
- Add a new Action into openpype menu which allows the user to reset the resolution in 3dsMax
3dsmax: render instance settings in Publish tab #4658
Allows user preset the pools, group and use_published settings in Render Creator in the Max Hosts.User can set the settings before or after creating instance in the new publisher
scene length setting referenced from DB record for 3dsMax #4665
Setting the timeline length based on DB record in 3dsMax Hosts
Publisher: Windows reduce command window pop-ups during Publishing #4672
Reduce the command line pop-ups that show on Windows during publishing.
Publisher: Explicit save #4676
Publisher have explicit button to save changes, so reset can happen without saving any changes. Save still happens automatically when publishing is started or on publisher window close. But a popup is shown if context of host has changed. Important context was enhanced by workfile path (if host integration supports it) so workfile changes are captured too. In that case a dialog with confirmation is shown to user. All callbacks that may require save of context were moved to main window to be able handle dialog show at one place. Save changes now returns success so the rest of logic is skipped -> publishing won't start, when save of instances fails.Save and reset buttons have shortcuts (Ctrl + s and Ctrls + r).
CelAction: conditional workfile parameters from settings #4677
Since some productions were requesting excluding some workfile parameters from publishing submission, we needed to move them to settings so those could be altered per project.
Improve logging of used app + tool envs on application launch #4682
Improve logging of what apps + tool environments got loaded for an application launch.
Fix name and docstring for Create Workdir Extra Folders prelaunch hook #4683
Fix class name and docstring for Create Workdir Extra Folders prelaunch hookThe class name and docstring were originally copied from another plug-in and didn't match the plug-in logic.This also fixes potentially seeing this twice in your logs. Before:After:Where it was actually running both this prelaunch hook and the actual AddLastWorkfileToLaunchArgs plugin.
Application launch context: Include app group name in logger #4684
Clarify in logs better what app group the ApplicationLaunchContext belongs to and what application is being launched.Before:After:
increment workfile version 3dsmax #4685
increment workfile version in 3dsmax as if in blender and maya hosts.
🐛 Bug fixes
Maya: Fix getting non-active model panel. #2968
When capturing multiple cameras with image planes that have file sequences playing, only the active (first) camera will play through the file sequence.
___Maya: Fix broken review publishing. #4549
Resolves #4547
___Maya: Avoid error on right click in Loader if `mtoa` is not loaded #4616
Fix an error on right clicking in the Loader when mtoa is not a loaded plug-in.Additionally if mtoa isn't loaded the loader will now load the plug-in before trying to create the arnold standin.
Maya: Fix extract look colorspace detection #4618
Fix the logic which guesses the colorspace using arnold python library.
- Previously it'd error if
mtoawas not available on path so it still requiredmtoato be available. - The guessing colorspace logic doesn't actually require
mtoato be loaded, but just thearnoldpython library to be available. This changes the logic so it doesn't require themtoaplugin to get loaded to guess the colorspace. - The if/else branch was likely not doing what was intended
cmds.loadPlugin("mtoa", quiet=True)returns None if the plug-in was already loaded. So this would only ever be true if it ends up loading themtoaplugin the first time.
# Tested in Maya 2022.1
print(cmds.loadPlugin("mtoa", quiet=True))
# ['mtoa']
print(cmds.loadPlugin("mtoa", quiet=True))
# None
Maya: Maya Playblast Options overrides - OP-3847 #4634
When publishing a review in Maya, the extractor would fail due to wrong (long) panel name.
Bugfix/op 2834 fix extract playblast #4701
Paragraphs contain detailed information on the changes made to the product or service, providing an in-depth description of the updates and enhancements. They can be used to explain the reasoning behind the changes, or to highlight the importance of the new features. Paragraphs can often include links to further information or support documentation.
Bugfix/op 2834 fix extract playblast #4704
Paragraphs contain detailed information on the changes made to the product or service, providing an in-depth description of the updates and enhancements. They can be used to explain the reasoning behind the changes, or to highlight the importance of the new features. Paragraphs can often include links to further information or support documentation.
Maya: bug fix for passing zoom settings if review is attached to subset #4716
Fix for attaching review to subset with pan/zoom option.
Maya: tile assembly fail in draft - OP-4820 #4416
Tile assembly in Deadline was broken.
Initial bug report revealed other areas of the tile assembly that needed fixing.
Maya: Yeti Validate Rig Input - OP-3454 #4554
Fix Yeti Validate Rig Input
Existing workflow was broken due to this #3297.
Scene inventory: Fix code errors when "not found" entries are found #4594
Whenever a "NOT FOUND" entry is present a lot of errors happened in the Scene Inventory:
- It started spamming a lot of errors for the VersionDelegate since it had no numeric version (no version at all).Error reported on Discord:
Traceback (most recent call last):
File "C:\Users\videopro\Documents\github\OpenPype\openpype\tools\utils\delegates.py", line 65, in paint
text = self.displayText(
File "C:\Users\videopro\Documents\github\OpenPype\openpype\tools\utils\delegates.py", line 33, in displayText
assert isinstance(value, numbers.Integral), (
AssertionError: Version is not integer. "None" <class 'NoneType'>
- Right click menu would error on NOT FOUND entries, and thus not show. With this PR it will now disregard not found items for "Set version" and "Remove" but still allow actions.This PR resolves those.
Kitsu: Sync OP with zou, make sure value-data is int or float #4596
Currently the data zou pulls is a string and not a value causing some bugs in the pipe where a value is expected (like Set frame range in Fusion).
This PR makes sure each value is set with int() or float() so these bugs can't happen later on.
(A request to cgwire has also bin sent to allow force values only for some metadata columns, but currently the user can enter what ever they want in there)
Global | Nuke: fixing farm publishing workflow #4623
After Nuke had adopted new publisher with new creators new issues were introduced. Those issues were addressed with this PR. Those are for example broken reviewable video files publishing if published via farm. Also fixed local publishing.
Ftrack: Ftrack additional families filtering #4633
Ftrack family collector makes sure the subset family is also in instance families for additional families filtering.
Ftrack: Hierarchical <> Non-Hierarchical attributes sync fix #4635
Sync between hierarchical and non-hierarchical attributes should be fixed and work as expected. Action should sync the values as expected and event handler should do it too and only on newly created entities.
General: Use right validation for ffmpeg executable #4640
Use ffmpeg exec validation for ffmpeg executables instead of oiio exec validation. The validation is used as last possible source of ffmpeg from PATH environment variables, which is an edge case but can cause issues.
Fixed a bug where a QThread in the splash screen could be destroyed before finishing execution #4647
This should fix the occasional behavior of the QThread being destroyed before even its worker returns from the run() function.After quiting, it should wait for the QThread object to properly close itself.
General: Use right plugin class for Collect Comment #4653
Collect Comment plugin is instance plugin so should inherit from InstancePlugin instead of ContextPlugin.
Global: add tags field to thumbnail representation #4660
Thumbnail representation might be missing tags field.
Integrator: Enforce unique destination transfers, disallow overwrites in queued transfers #4662
Fix #4656 by enforcing unique destination transfers in the Integrator. It's now disallowed to a destination in the file transaction queue with a new source path during the publish.
Hiero: Creator with correct workfile numeric padding input #4666
Creator was showing 99 in workfile input for long time, even if users set default value to 1001 in studio settings. This has been fixed now.
Nuke: Nukenodes family instance without frame range #4669
No need to add frame range data into nukenodes (backdrop) family publishes - since those are timeless.
TVPaint: Optional Validation plugins can be de/activated by user #4674
Added OptionalPyblishPluginMixin to TVpaint plugins that can be optional.
Kitsu: Slightly less strict with instance data #4678
- Allow to take task name from context if asset doesn't have any. Fixes an issue with Photoshop's review instance not having
taskin data. - Allow to match "review" against both
instance.data["family"]andinstance.data["families"]because some instances don't have the primary family in families, e.g. in Photoshop and TVPaint. - Do not error on Integrate Kitsu Review whenever for whatever reason Integrate Kitsu Note did not created a comment but just log the message that it was unable to connect a review.
Publisher: Fix reset shortcut sequence #4694
Fix bug created in https://github.com/ynput/OpenPype/pull/4676 where key sequence is checked using unsupported method. The check was changed to convert event into QKeySequence object which can be compared to prepared sequence.
Refactor _capture #4702
Paragraphs contain detailed information on the changes made to the product or service, providing an in-depth description of the updates and enhancements. They can be used to explain the reasoning behind the changes, or to highlight the importance of the new features. Paragraphs can often include links to further information or support documentation.
Hiero: correct container colors if UpToDate #4708
Colors on loaded containers are now correctly identifying real state of version. Red for out of date and green for up to date.
🔀 Refactored code
Look Assigner: Move Look Assigner tool since it's Maya only #4604
Fix #4357: Move Look Assigner tool to maya since it's Maya only
Maya: Remove unused functions from Extract Look #4671
Remove unused functions from Maya Extract Look plug-in
Extract Review code refactor #3930
Trying to reduce complexity of Extract Review plug-in
- Re-use profile filtering from lib
- Remove "combination families" additional filtering which supposedly was from OP v2
- Simplify 'formatting' for filling gaps
- Use
legacy_io.Sessionoveros.environ
Maya: Replace last usages of Qt module #4610
Replace last usage of Qt module with qtpy. This change is needed for PySide6 support. All changes happened in Maya loader plugins.
Update tests and documentation for `ColormanagedPyblishPluginMixin` #4612
Refactor ExtractorColormanaged to ColormanagedPyblishPluginMixin in tests and documentation.
Improve logging of used app + tool envs on application launch (minor tweak) #4686
Use app.full_name for change done in #4682
📃 Documentation
Docs/add architecture document #4344
Add ARCHITECTURE.md document.
his document attemps to give a quick overview of the project to help onboarding, it's not an extensive documentation but more of a elevator pitch one-line descriptions of files/directories and what the attempt to do.
Documentation: Tweak grammar and fix some typos #4613
This resolves some grammar and typos in the documentation.Also fixes the extension of some images in after effects docs which used uppercase extension even though files were lowercase extension.
Merged pull requests
Maya: Implement image file node loader #4313
Implements a loader for loading texture image into a file node in Maya.
Similar to Maya's hypershade creation of textures on load you have the option to choose for three modes of creating:
- Texture
- Projection
- StencilThese should match what Maya generates if you create those in Maya.
- Load and manage file nodes
- Apply color spaces after #4195
- Support for either UDIM or image sequence - currently it seems to always load sequences as UDIM automatically.
- Add support for animation sequences of UDIM textures using the
<f>.<udim>.exrpath format?
Maya Look Assigner: Don't rely on containers for get all assets #4600
This resolves #4044 by not actually relying on containers in the scene but instead just rely on finding nodes with cbId attributes. As such, imported nodes would also be found and a shader can be assigned (similar to when using get from selection).Please take into consideration the potential downsides belowPotential downsides would be:
- IF an already loaded look has any dagNodes, say a 3D Projection node - then that will also show up as a loaded asset where previously nodes from loaded looks were ignored.
- If any dag nodes were created locally - they would have gotten
cbIdattributes on scene save and thus the current asset would almost always show?
Maya: Unify menu labels for "Set Frame Range" and "Set Resolution" #4605
Fix #4109: Unify menu labels for "Set Frame Range" and "Set Resolution"This also tweaks it in Houdini from Reset Frame Range to Set Frame Range.
Resolve missing OPENPYPE_MONGO in deadline global job preload #4484
In the GlobalJobPreLoad plugin, we propose to replace the SpawnProcess by a sub-process and to pass the environment variables in the parameters, since the SpawnProcess under Centos Linux does not pass the environment variables.
In the GlobalJobPreLoad plugin, the Deadline SpawnProcess is used to start the OpenPype process. The problem is that the SpawnProcess does not pass environment variables, including OPENPYPE_MONGO, to the process when it is under Centos7 linux, and the process gets stuck. We propose to replace it by a subprocess and to pass the variable in the parameters.
Tests: Added setup_only to tests #4591
Allows to download test zip, unzip and restore DB in preparation for new test.
Maya: Arnold don't reset maya timeline frame range on render creation (or setting render settings) #4603
Fix #4429: Do not reset fps or playback timeline on applying or creating render settings
Bump @sideway/formula from 3.0.0 to 3.0.1 in /website #4609
Bumps @sideway/formula from 3.0.0 to 3.0.1.
Commits
5b44c1b3.0.19fbc20achore: better number regex41ae98eCleanupc59f35eMove to Sideway- See full diff in compare view
Maintainer changes
This version was pushed to npm by marsup, a new releaser for @sideway/formula since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Maya: Add "Include Parent Hierarchy" option in animation creator plugin #4645
Add an option in Project Settings > Maya > Creator Plugins > Create Animation to include (or not) parent hierarchy. This is to avoid artists to check manually the option for all create animation.
General: Filter available applications #4667
Added option to filter applications that don't have valid executable available in settings in launcher and ftrack actions. This option can be disabled in new settings category Applications. The filtering is by default disabled.
3dsmax: make sure that startup script executes #4695
Fixing reliability of OpenPype startup in 3dsmax.
Project Manager: Change minimum frame start/end to '0' #4719
Project manager can have frame start/end set to 0.
3.15.2
🆕 New features
maya gltf texture convertor and validator #4261
Continuity of the gltf extractor implementation
Continuity of the gltf extractor https://github.com/pypeclub/OpenPype/pull/4192UPDATE:Validator for GLSL Shader: Validate whether the mesh uses GLSL Shader. If not it will error out. The user can choose to perform the repair action and it will help to assign glsl shader. If the mesh with Stringray PBS, the repair action will also check to see if there is any linked texture such as Color, Occulsion, and Normal Map. If yes, it will help to relink the related textures to the glsl shader.*****If the mesh uses the PBS Shader,
Unreal: New Publisher #4370
Implementation of the new publisher for Unreal.
The implementation of the new publisher for Unreal. This PR includes the changes for all the existing creators to be compatible with the new publisher.The basic creator has been split in two distinct creators:
UnrealAssetCreator, works with assets in the Content Browser.UnrealActorCreatorthat works with actors in the scene.
Implementation of a new splash screen #4592
Implemented a new splash screen widget to reflect a process running in the background. This widget can be used for other tasks than UE. Also fixed the compilation error of the AssetContainer.cpp when trying to build the plugin in UE 5.0
Deadline for 3dsMax #4439
Setting up deadline for 3dsmax
Setting up deadline for 3dsmax by setting render outputs and viewport camera
Nuke: adding nukeassist #4494
Adding support for NukeAssist
For support of NukeAssist we had to limit some Nuke features since NukeAssist itself Nuke with limitations. We do not support Creator and Publisher. User can only Load versions with version control. User can also set Framerange and Colorspace.
🚀 Enhancements
Maya: OP-2630 acescg maya #4340
Resolves #2712
___Default Ftrack Family on RenderLayer #4458
With default settings, renderlayers in Maya were not being tagged with the Ftrack family leading to confusion when doing reviews.
___Maya: Maya Playblast Options - OP-3783 #4487
Replacement PR for #3912. Adds more options for playblasts to preferences/settings.
Adds the following as options in generating playblasts, matching viewport settings.
- Use default material
- Wireframe on shaded
- X-ray
- X-ray Joints
- X-ray active component
Maya: Passing custom attributes to alembic - OP-4111 #4516
Passing custom attributes to alembic
This PR makes it possible to pass all user defined attributes along to the alembic representation.
Maya: Options for VrayProxy output - OP-2010 #4525
Options for output of VrayProxy.
Client requested more granular control of output from VrayProxy instance. Exposed options on the instance and settings for vrmesh and alembic.
Maya: Validate missing instance attributes #4559
Validate missing instance attributes.
New attributes can be introduced as new features come in. Old instances will need to be updated with these attributes for the documentation to make sense, and users do not have to recreate the instances.
Refactored Generation of UE Projects, installation of plugins moved to the engine #4369
Improved the way how OpenPype works with generation of UE projects. Also the installation of the plugin has been altered to install into the engine
OpenPype now uses the appropriate tools to generate UE projects. Unreal Build Tool (UBT) and a "Commandlet Project" is needed to properly generate a BP project, or C++ code in case that dev_mode = True, folders, the .uproject file and many other resources.On the plugin's side, it is built seperately with the UnrealAutomationTool (UAT) and then it's contents are moved under the Engine/Plugins/Marketplace/OpenPype directory.
Unreal: Use client functions in Layout loader #4578
Use 'get_representations' instead of 'legacy_io' query in layout loader.
This is removing usage of find_one called on legacy_io and use rather client functions as preparation for AYON connection. Also all representations are queried at once instead of one by one.
General: Support for extensions filtering in loaders #4492
Added extensions filtering support to loader plugins.
To avoid possible backwards compatibility break is filtering exactly the same and filtering by extensions is enabled only if class attribute 'extensions' is set.
Nuke: multiple reformat in baking review profiles #4514
Added support for multiple reformat nodes in baking profiles.
Old settings for single reformat node is supported and prioritised just in case studios are using it and backward compatibility is needed. Warnings in Nuke terminal are notifying users to switch settings to new workflow. Settings are also explaining the migration way.
Nuke: Add option to use new creating system in workfile template builder #4545
Nuke workfile template builder can use new creators instead of legacy creators.
Modified workfile template builder to have option to say if legacy creators should be used or new creators. Legacy creators are disabled by default, so Maya has changed the value.
Global, Nuke: Workfile first version with template processing #4579
Supporting new template workfile builder with toggle for creation of first version of workfile in case there is none yet.
___Fusion: New Publisher #4523
This is an updated PR for @BigRoy 's old PR (https://github.com/ynput/OpenPype/pull/3892).I have merged it with code from OP 3.15.1-nightly.6 and made sure it works as expected.This converts the old publishing system to the new one. It implements Fusion as a new host addon.
- Create button removed in OpenPype menu in favor of the new Publisher - Draft refactor validations to raise PublishValidationError - Implement Creator for New Publisher - Implement Fusion as Host addonTVPaint: Use Publisher tool #4471
Use Publisher tool and new creation system in TVPaint integration.
Using new creation system makes TVPaint integration a little bit easier to maintain for artists. Removed unneeded tools Creator and Subset Manager tools. Goal is to keep the integration work as close as possible to previous integration. Some changes were made but primarilly because they were not right using previous system.All creators create instance with final family instead of changing the family during extraction. Render passes are not related to group id but to render layer instance. Render layer is still related to group. Workfile, review and scene render instances are created using autocreators instead of auto-collection during publishing. Subset names are fully filled during publishing but instance labels are filled on refresh with the last known right value. Implemented basic of legacy convertor which should convert render layers and render passes.
TVPaint: Auto-detect render creation #4496
Create plugin which will create Render Layer and Render Pass instances based on information in the scene.
Added new creator that must be triggered by artist. The create plugin will first create Render Layer instances if were not created yet. For variant is used color group name. The creator has option to rename color groups by template defined in settings -> Template may use index of group by it's usage in scene (from bottom to top). After Render Layers will create Render Passes. Render Pass is created for each individual TVPaint layer in any group that had created Render Layer. It's name is used as variant (pass).
TVPaint: Small enhancements #4501
Small enhancements in TVPaint integration which did not get to https://github.com/ynput/OpenPype/pull/4471.
It was found out that opacity returned from tv_layerinfo is always empty and is dangerous to add it to layer information. Added information about "current" layer to layers information. Disable review of Render Layer and Render Pass instances by default. In most of productions is used only "scene review". Skip usage of "enabled" key from settings in automated layer/pass creation.
Global: color v3 global oiio transcoder plugin #4291
Implements possibility to use oiiotool to transcode image sequences from one color space to another(s).
Uses collected colorspaceData information about source color spaces, these information needs to be collected previously in each DCC interested in color management.Uses profiles configured in Settings to create single or multiple new representations (and file extensions) with different color spaces.New representations might replace existing one, each new representation might contain different tags and custom tags to control its integration step.
Deadline: Added support for multiple install dirs in Deadline #4451
SearchDirectoryList returns FIRST existing so if you would have multiple OP install dirs, it won't search for appropriate version in later ones.
___Ftrack: Upload reviewables with original name #4483
Ftrack can integrate reviewables with original filenames.
As ftrack have restrictions about names of components the only way how to achieve the result was to upload the same file twice, one with required name and one with origin name.
TVPaint: Ignore transparency in Render Pass #4499
It is possible to ignore layers transparency during Render Pass extraction.
Render pass extraction does not respect opacity of TVPaint layers set in scene during extraction. It can be enabled/disabled in settings.
Anatomy: Preparation for different root overrides #4521
Prepare Anatomy to handle only 'studio' site override on it's own.
Change how Anatomy fill root overrides based on requested site name. The logic which decide what is active site was moved to sync server addon and the same for receiving root overrides of local site. The Anatomy resolve only studio site overrides anything else is handled by sync server. BaseAnatomy only expect root overrides value and does not need site name. Validation of site name happens in sync server same as resolving if site name is local or not.
Nuke | Global: colormanaged plugin in collection #4556
Colormanaged extractor had changed to Mixin class so it can be added to any stage of publishing rather then just to Exctracting.Nuke is no collecting colorspaceData to representation collected on already rendered images.
Mixin class can no be used as secondary parent in publishing plugins.
🐛 Bug fixes
look publishing and srgb colorspace in maya #4276
Check the OCIO color management is enabled before doing linearize colorspace for converting the texture maps into tx files.
Check whether the OCIO color management is enabled before the condition of converting the texture to tx extension.
Maya: extract Thumbnail "No active model panel found" - OP-3849 #4421
Error when extracting playblast with no model panel.
If project_settings/maya/publish/ExtractPlayblast/capture_preset/Viewport Options/override_viewport_options were off and publishing without showing any model panel, the extraction would fail.
Maya: Fix setting scene fps with float input #4488
Returned value of float fps on integer values would return float.
This PR fixes the case when switching between integer fps values for example 24 > 25. Issue was when setting the scene fps, the original float value was used which makes it unpredictable whether the value is float or integer when mapping the fps values.
Maya: Multipart fix #4497
Fix multipart logic in render products.
Each renderer has a different way of defining whether output images is multipart, so we need to define it for each renderer. Also before the multipart class variable was defined multiple times in several places, which made it tricky to debug where multipart was defined. Now its created on initialization and referenced as self.multipart
Maya: Set pool on tile assembly - OP-2012 #4520
Set pool on tile assembly
Pool for publishing and tiling jobs, need to use the settings (project_settings/deadline/publish/ProcessSubmittedJobOnFarm/deadline_pool) else fallback on primary pool (project_settings/deadline/publish/CollectDeadlinePools/primary_pool)
Maya: Extract review with handles #4527
Review was not extracting properly with/without handles.
Review instance was not created properly resulting in the frame range on the instance including handles.
Maya: Validate model name - OP-4983 #4539
Validate model name issues.
Couple of issues with validate model name;
- missing platform extraction from settings
- map function should be list comprehension
- code cosmetics
Maya: SkeletalMesh family loadable as reference #4573
In Maya, fix the SkeletalMesh family not loadable as reference.
___Unreal: fix loaders because of missing AssetContainer #4536
Fixing Unreal loaders, where changes in OpenPype Unreal integration plugin deleted AssetContainer.
AssetContainer and AssetContainerFactory are still used to mark loaded instances. Because of optimizations in Integration plugin we've accidentally removed them but that broke loader.
3dsmax unable to delete loaded asset in the scene inventory #4507
Fix the bug of being unable to delete loaded asset in the Scene Inventory
Fix the bug of being unable to delete loaded asset in the Scene Inventory
Hiero/Nuke: originalBasename editorial publishing and loading #4453
Publishing and loading originalBasename is working as expected
Frame-ranges on version document is now correctly defined to fit original media frame range which is published. It means loading is now correctly identifying frame start and end on clip loader in Nuke.
Nuke: Fix workfile template placeholder creation #4512
Template placeholder creation was erroring out in Nuke due to the Workfile template builder not being able to find any of the plugins for the Nuke host.
Move get_workfile_build_placeholder_plugins function to NukeHost class as workfile template builder expects.
Nuke: creator farm attributes from deadline submit plugin settings #4519
Defaults in farm attributes are sourced from settings.
Settings for deadline nuke submitter are now used during nuke render and prerender creator plugins.
Nuke: fix clip sequence loading #4574
Nuke is loading correctly clip from image sequence created without "{originalBasename}" token in anatomy template.
___Fusion: Fix files collection and small bug-fixes #4423
Fixed Fusion review-representation and small bug-fixes
This fixes the problem with review-file generation that stopped the publishing on second publish before the fix.The problem was that Fusion simply looked at all the files in the render-folder instead of only gathering the needed frames for the review.Also includes a fix to get the handle start/end that before throw an error if the data didn't exist (like from a kitsu sync).
Fusion: Updated render_local.py to not only process the first instance #4522
Moved the __hasRun to render_once() so the check only happens with the rendering. Currently only the first render node gets the representations added.Critical PR
Fusion: Load sequence fix filepath resolving from representation #4580
Resolves issue mentioned on discord by @movalex:The loader was incorrectly trying to find the file in the publish folder which resulted in just picking 'any first file'.
This gets the filepath from representation instead of taking the first file from listing files from publish folder.
Fusion: Fix review burnin start and end frame #4590
Fix the burnin start and end frame for reviews. Without this the asset document's start and end handle would've been added to the burnin frame range even though that would've been incorrect since the handles are based on the comp saver's render range instead.
Harmony: missing set of frame range when opening scene #4485
Frame range gets set from DB everytime scene is opened.
Added also check for not up-to-date loaded containers.
Photoshop: context is not changed in publisher #4570
When PS is already open and artists launch new task, it should keep only opened PS open, but change context.
Problem were occurring in Workfile app where under new task files from old task were shown. This fixes this and adds opening of last workfile for new context if workfile exists.
hiero: fix effect item node class #4543
Collected effect name after renaming is saving correct class name.
___Bugfix/OP-4616 vray multipart #4297
This fixes a bug where multipart vray renders would not make a review in Ftrack.
___Maya: Fix changed location of reset_frame_range #4491
Location in commands caused cyclic import
___global: source template fixed frame duplication #4503
Duplication is not happening.
Template is using originalBasename which already assume all necessary elements are part of the file name so there was no need for additional optional name elements.
Deadline: Hint to use Python 3 #4518
Added shebank to give deadline hint which python should be used.
Deadline has issues with Python 2 (especially with os.scandir). When a shebank is added to file header deadline will use python 3 mode instead of python 2 which fix the issue.
Publisher: Prevent access to create tab after publish start #4528
Prevent access to create tab after publish start.
Disable create button in instance view on publish start and enable it again on reset. Even with that make sure that it is not possible to go to create tab if the tab is disabled.
Color Transcoding: store target_colorspace as new colorspace #4544
When transcoding into new colorspace, representation must carry this information instead original color space.
___Kitsu: Fix task itteration in update-op-with-zou #4577
From the last PR (https://github.com/ynput/OpenPype/pull/4425) a comment-commit last second messed up the code and resulted in two lines being the same, crashing the script. This PR fixes that.
AttrDefs: Fix type for PySide6 #4584
Use right type in signal emit for value change of attribute definitions.
Changed UUID type to str. This is not an issue with PySide2 but it is with PySide6.
🔀 Refactored code
Scene Inventory: Avoid using ObjectId #4524
Avoid using conversion to ObjectId type in scene inventory tool.
Preparation for AYON compatibility where ObjectId won't be used for ids. Representation ids from loaded containers are not converted to ObjectId but kept as strings which also required some changes when working with representation documents.
Merged pull requests
SiteSync: host dirmap is not working properly #4563
If artists uses SiteSync with real remote (gdrive, dropbox, sftp) drive, Local Settings were throwing error string indices must be integers.
Logic was reworked to provide only local_drive values to be overrriden by Local Settings. If remote site is gdrive etc. mapping to studio is provided as it is expected that workfiles will have imported from studio location and not from gdrive folder.Also Nuke dirmap was reworked to be less verbose and much faster.
General: Input representation ids are not ObjectIds #4576
Don't use ObjectId as representation ids during publishing.
Representation ids are kept as strings during publishing instead of converting them to ObjectId. This change is pre-requirement for AYON connection.Inputs are used for integration of links and for farm publishing (or at least it looks like).
Shotgrid: Fixes on Deadline submissions #4498
A few other bug fixes for getting Nuke submission to Deadline work smoothly using Shotgrid integration.
Continuing on the work done on this other PR this fixes a few other bugs I came across with further tests.
Fusion: New Publisher #3892
This converts the old publishing system to the new one. It implements Fusion as a new host addon.
- Create button removed in OpenPype menu in favor of the new Publisher - Draft refactor validations to raise `PublishValidationError` - Implement Creator for New Publisher - Implement Fusion as Host addonMake Kitsu work with Tray Publisher, added kitsureview tag, fixed sync-problems. #4425
Make Kitsu work with Tray Publisher, added kitsureview tag, fixed sync-problems.
This PR updates the way the module gather info for the current publish so it now works with Tray Publisher.It fixes the data that gets synced from Kitsu to OP so all needed data gets registered even if it doesn't exist on Kitsus side.It also adds the tag "Add review to Kitsu" and adds it to Burn In so previews gets generated by default to Kitsu.
Maya: V-Ray Set Image Format from settings #4566
Resolves #4565
Set V-Ray Image Format using settings.
3.15.1
🆕 New features
Maya: Xgen (3d / maya ) - #4256
Brief description
Initial Xgen implementation.
Description
Client request of Xgen pipeline.
Data exchange cameras for 3d Studio Max (3d / 3dsmax ) - #4376
Brief description
Add Camera Family into the 3d Studio Max
Description
Adding Camera Extractors(extract abc camera and extract fbx camera) and validators(for camera contents) into 3dMaxAlso add the extractor for exporting 3d max raw scene (which is also related to 3dMax Scene Family) for camera family
🚀 Enhancements
Adding path validator for non-maya nodes (3d / maya ) - #4271
Brief description
Adding a path validator for filepaths from non-maya nodes, which are created by plugins such as Renderman, Yeti and abcImport.
Description
As File Path Editor cannot catch the wrong filenpaths from non-maya nodes such as AlembicNodes, It is neccessary to have a new validator to ensure the existence of the filepaths from the nodes.
Deadline: Allow disabling strict error check in Maya submissions (3d / maya / deadline ) - #4420
Brief description
DL by default has Strict error checking, but some errors are not fatal.
Description
This allows to set profile based on Task and Subset values to temporarily disable Strict Error Checks.Subset and task names should support regular expressions. (not wildcard notation though).
Houdini: New publisher code tweak (3d / houdini ) - #4374
Brief description
This is cosmetics only - the previous code to me felt quite unreadable due to the lengthy strings being used.
Description
Code should do roughly the same, but just be reformatted.
3dsmax: enhance alembic loader update function (3d / 3dsmax ) - #4387
Enhancement
This PR is adding update/switch ability to pointcache/alembic loader in 3dsmax and fixing wrong tool shown when clicking on "Manage" item on OpenPype menu, that is now correctly Scene Inventory (but was Subset Manager).
Alembic update has still one caveat - it doesn't cope with changed number of object inside alembic, since loading alembic in max involves creating all those objects as first class nodes. So it will keep the objects in scene, just update path to alembic file on them.
Global: supporting `OPENPYPE_TMPDIR` in staging dir maker (editorial / hiero ) - #4398
Brief description
Productions can use OPENPYPE_TMPDIR for staging temp publishing directory
Description
Studios were demanding to be able to configure their own shared storages as temporary staging directories. Template formatting is also supported with optional keys formatting and following anatomy keys: - root[work | ] - project[name | code]
General: Functions for current context (other ) - #4324
Brief description
Defined more functions to receive current context information and added the methods to host integration so host can affect the result.
Description
This is one of steps to reduce usage of legacy_io.Session. This change define how to receive current context information -> call functions instead of accessing legacy_io.Session or os.environ directly. Plus, direct access on session or environments is unfortunatelly not enough for some DCCs where multiple workfiles can be opened at one time which can heavily affect the context but host integration sometimes can't affect that at all.HostBase already had implemented get_current_context, that was enhanced by adding more specific methods get_current_project_name, get_current_asset_name and get_current_task_name. The same functions were added to ~/openpype/pipeline/cotext_tools.py. The functions in context tools are calling host integration methods (if are available) otherwise are using environent variables as default implementation does. Also was added get_current_host_name to receive host name from registered host if is available or from environment variable.
Houdini: Do not visualize the hidden OpenPypeContext node (other / houdini ) - #4382
Brief description
Using the new publisher UI would generate a visible 'null' locator at the origin. It's confusing to the user since it's supposed to be 'hidden'.
Description
Before this PR the user would see a locator/null at the origin which was the 'hidden' /obj/OpenPypeContext node. This null would suddenly appear if the user would've ever opened the Publisher UI once.After this PR it will not show:Nice and tidy.
Maya + Blender: Pyblish plugins removed unused `version` and `category` attributes (other ) - #4402
Brief description
Once upon a time in a land far far away there lived a few plug-ins who felt like they didn't belong in generic boxes and felt they needed to be versioned well above others. They tried, but with no success.
Description
Even though they now lived in a universe with elaborate version and category attributes embedded into their tiny little plug-in DNA this particular deviation has been greatly unused. There is nothing special about the version, nothing special about the category.It does nothing.
General: Fix original basename frame issues (other ) - #4452
Brief description
Treat {originalBasename} in different way then standard files processing. In case template should use {originalBasename} the transfers will use them as they are without any changes or handling of frames.
Description
Frames handling is problematic with original basename because their padding can't be defined to match padding in source filenames. Also it limits the usage of functionality to "must have frame at end of fiename". This is proposal how that could be solved by simply ignoring frame handling and using filenames as are on representation. First frame is still stored to representation context but is not used in formatting part. This way we don't have to care about padding of frames at all.
Publisher: Report also crashed creators and convertors (other ) - #4473
Brief description
Added crashes of creators and convertos discovery (lazy solution).
Description
Report in Publisher also contains information about crashed files caused during creator plugin discovery and convertor plugin discovery. They're not separated into categroies and there is no other information in the report about them, but this helps a lot during development. This change does not need to change format/schema of the report nor UI logic.
🐛 Bug fixes
Maya: Fix Validate Attributes plugin (3d / maya ) - #4401
Brief description
Code was broken. So either plug-in was unused or it had gone unnoticed.
Description
Looking at the commit history of the plug-in itself it seems this might have been broken somewhere between two to three years. I think it's broken since two years since this commit.Should this plug-in be removed completely?@tokejepsen Is there still a use case where we should have this plug-in? (You created the original one)
Maya: Ignore workfile lock in Untitled scene (3d / maya ) - #4414
Brief description
Skip workfile lock check if current scene is 'Untitled'.
Maya: fps rounding - OP-2549 (3d / maya ) - #4424
Brief description
When FPS is registered in for example Ftrack and round either down or up (floor/ceil), comparing to Maya FPS can fail. Example:23.97 (Ftrack/Mongo) != 23.976023976023978 (Maya)
Description
Since Maya only has a select number of supported framerates, I've taken the approach of converting any fps to supported framerates in Maya. We validate the input fps to make sure they are supported in Maya in two ways:Whole Numbers - are validated straight against the supported framerates in Maya.Demical Numbers - we find the closest supported framerate in Maya. If the difference to the closest supported framerate, is more than 0.5 we'll throw an error.If Maya ever supports arbitrary framerates, then we might have a problem but I'm not holding my breath...
Strict Error Checking Default (3d / maya ) - #4457
Brief description
Provide default of strict error checking for instances created prior to PR.
Create: Enhance instance & context changes (3d / houdini,after effects,3dsmax ) - #4375
Brief description
Changes of instances and context have complex, hard to get structure. The structure did not change but instead of complex dictionaries are used objected data.
Description
This is poposal of changes data improvement for creators. Implemented TrackChangesItem which handles the changes for us. The item is creating changes based on old and new value and can provide information about changed keys or access to full old or new value. Can give the values on any "sub-dictionary".Used this new approach to fix change in houdini and 3ds max and also modified one aftereffects plugin using changes.
Houdini: Houdini shelf tools fixes (3d / houdini ) - #4428
Brief description
Fix Houdini shelf tools.
Description
Use label as mandatory key instead of name. Changed how shelves are created. If the script is empty it is gracefully skipping it instead of crashing.
3dsmax: startup fixes (3d / 3dsmax ) - #4412
Brief description
This is fixing various issues that can occur on some of the 3dsmax versions.
Description
On displays with +4K resolution UI was broken, some 3dsmax versions couldn't process PYTHONPATH correctly. This PR is forcing sys.path and disabling QT_AUTO_SCREEN_SCALE_FACTOR
Fix features for gizmo menu (2d / nuke ) - #4280
Brief description
Fix features for the Gizmo Menu project settings (shortcut for python type of usage and file type of usage functionality)
Photoshop: fix missing legacy io for legacy instances (2d / photoshop,after effects ) - #4467
Brief description
legacy_io import was removed, but usage stayed.
Description
Usage of legacy_io should be eradicated, in creators it should be replaced by self.create_context.get_current_project_name/asset_name/task_name.
Fix - addSite loader handles hero version (other / sitesync ) - #4359
Brief description
If adding site to representation presence of hero version is checked, if found hero version is marked to be donwloaded too.Replacing https://github.com/ynput/OpenPype/pull/4191
Remove OIIO build for macos (other ) - #4381
Fix
Since we are not able to provide OpenImageIO tools binaries for macos, we should remove the item from th pyproject.toml. This PR is taking care of it.
It is also changing the way fetch_thirdparty_libs script works in that it doesn't crash when lib cannot be processed, it only issue warning.
Resolves #3858
General: Attribute definitions fixes (other ) - #4392
Brief description
Fix possible issues with attribute definitions in publisher if there is unknown attribute on an instance.
Description
Source of the issue is that attribute definitions from creator plugin could be "expanded" during CreatedInstance initialization. Which would affect all other instances using the same list of attributes -> literally object of list. If the same list object is used in "BaseClass" for other creators it would affect all instances (because of 1 instance). There had to be implemented other changes to fix the issue and keep behavior the same.Object of CreatedInstance can be created without reference to creator object. CreatedInstance is responsible to give UI attribute definitions (technically is prepared for cases when each instance may have different attribute definitions -> not yet).Attribute definition has added more conditions for __eq__ method and have implemented __ne__ method (which is required for Py 2 compatibility). Renamed AbtractAttrDef to AbstractAttrDef (fix typo).
Ftrack: Don't force ftrackapp endpoint (other / ftrack ) - #4411
Brief description
Auto-fill of ftrack url don't break custom urls. Custom urls couldn't be used as ftrackapp.com is added if is not in the url.
Description
The code was changed in a way that auto-fill is still supported but before ftrackapp is added it will try to use url as is. If the connection works as is it is used.
Fix: DL on MacOS (other ) - #4418
Brief description
This works if DL Openpype plugin Installation Directories is set to level of app bundle (eg. '/Applications/OpenPype 3.15.0.app')
Photoshop: make usage of layer name in subset name more controllable (other ) - #4432
Brief description
Layer name was previously used in subset name only if multiple instances were being created in single step. This adds explicit toggle.
Description
Toggling this button allows to use layer name in created subset name even if single instance is being created.This follows more closely implementation if AE.
SiteSync: fix dirmap (other ) - #4436
Brief description
Fixed issue in dirmap in Maya and Nuke
Description
Loads of error were thrown in Nuke console about dictionary value.AttributeError: 'dict' object has no attribute 'lower'
General: Ignore decode error of stdout/stderr in run_subprocess (other ) - #4446
Brief description
Ignore decode errors and replace invalid character (byte) with escaped byte character.
Description
Calling of run_subprocess may cause crashes if output contains some unicode character which (for example Polish name of encoder handler).
Publisher: Fix reopen bug (other ) - #4463
Brief description
Use right name of constant 'ActiveWindow' -> 'WindowActive'.
Publisher: Fix compatibility of QAction in Publisher (other ) - #4474
Brief description
Fix QAction for older version of Qt bindings where QAction requires a parent on initialization.
Description
This bug was discovered in Nuke 11. Fixed by creating QAction when QMenu is already available and can be used as parent.
🔀 Refactored code
General: Remove 'openpype.api' (other ) - #4413
Brief description
PR is removing openpype/api.py file which is causing a lot of troubles and cross-imports.
Description
I wanted to remove the file slowly function by function but it always reappear somewhere in codebase even if most of the functionality imported from there is triggering deprecation warnings. This is small change which may have huge impact.There shouldn't be anything in openpype codebase which is using openpype.api anymore so only possible issues are in customized repositories or custom addons.
📃 Documentation
docs-user-Getting Started adjustments (other ) - #4365
Brief description
Small typo fixes here and there, additional info on install/ running OP.
Merged pull requests
Renderman support for sample and display filters (3d / maya ) - #4003
Brief description
User can set up both sample and display filters in Openpype settings if they are using Renderman as renderer.
Description
You can preset which sample and display filters for renderman , including the cryptomatte renderpass, in Openpype settings. Once you select which filters to be included in openpype settings and then create render instance for your camera in maya, it would automatically tell the system to generate your selected filters in render settings.The place you can find for setting up the filters: Maya > Render Settings > Renderman Renderer > Display Filters/ Sample Filters
Maya: Create Arnold options on repair. (3d / maya ) - #4448
Brief description
When validating/repairing we previously required users to open render settings to create the Arnold options. This is done through code now.
Update Asset field of creator Instances in Maya Template Builder (3d / maya ) - #4470
Brief description
When we build a template with Maya Template Builder, it will update the asset field of the sets (creator instances) that are imported from the template.
Description
When building a template, we also want to define the publishable content in advance: create an instance of a model, or look, etc., to speed up the workflow and reduce the number of questions we are asked. After building a work file from a saved template that contains pre-created instances, the template builder should update the asset field to the current asset.
Blender: fix import workfile all families (3d / blender ) - #4405
Brief description
Having this feature related to workfile available for any family is absurd.
Nuke: update rendered frames in latest version (2d / nuke ) - #4362
Brief description
Introduced new field to insert frame(s) to rerender only.
Description
Rendering is expensive, sometimes it is helpful only to re-render changed frames and reuse existing.Artists can in Publisher fill which frame(s) should be re-rendered.If there is already published version of currently publishing subset, all representation files are collected (currently for render family only) and then when Nuke is rendering (locally only for now), old published files are copied into into temporary render folder where will be rewritten only by frames explicitly set in new field.That way review/burnin process could also reuse old files and recreate reviews/burnins.New version is produced during this process!
Feature: Keep synced hero representations up-to-date. (other ) - #4343
Brief description
Keep previously synchronized sites up-to-date by comparing old and new sites and adding old sites if missing in new ones.Fix #4331
Maya: Fix template builder bug where assets are not put in the right hierarchy (other ) - #4367
Brief description
When buiding scene from template, the assets loaded from the placeholders are not put in the hierarchy. Plus, the assets are loaded in double.
Bump ua-parser-js from 0.7.31 to 0.7.33 in /website (other ) - #4371
Bumps ua-parser-js from 0.7.31 to 0.7.33.
Changelog
Sourced from ua-parser-js's changelog.
Version 0.7.31 / 1.0.2
- Fix OPPO Reno A5 incorrect detection
- Fix TypeError Bug
- Use AST to extract regexes and verify them with safe-regex
Version 0.7.32 / 1.0.32
- Add new browser : DuckDuckGo, Huawei Browser, LinkedIn
- Add new OS : HarmonyOS
- Add some Huawei models
- Add Sharp Aquos TV
- Improve detection Xiaomi Mi CC9
- Fix Sony Xperia 1 III misidentified as Acer tablet
- Fix Detect Sony BRAVIA as SmartTV
- Fix Detect Xiaomi Mi TV as SmartTV
- Fix Detect Galaxy Tab S8 as tablet
- Fix WeGame mistakenly identified as WeChat
- Fix included commas in Safari / Mobile Safari version
- Increase UA_MAX_LENGTH to 350
Version 0.7.33 / 1.0.33
- Add new browser : Cobalt
- Identify Macintosh as an Apple device
- Fix ReDoS vulnerability
Version 0.8
Version 0.8 was created by accident. This version is now deprecated and no longer maintained, please update to version 0.7 / 1.0.
Commits
f2d0db0Bump version 0.7.33a6140a1Remove unsafe regex in trim() functiona886604Fix #605 - Identify Macintosh as Apple deviceb814bcdMerge pull request #606 from rileyjshaw/patch-17f71024Fix documentationc239ac5Merge pull request #604 from obecerra3/master8d3c2d3Add new browser: Cobaltd11fc47Bump version 0.7.32b490110Merge branch 'develop' of github.com:faisalman/ua-parser-jscb5da5eMerge pull request #600 from moekm/develop- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Docs: Question about renaming in Kitsu (other ) - #4384
Brief description
To keep memory of this discussion: https://discord.com/channels/517362899170230292/563751989075378201/1068112668491255818
New Publisher: Fix Creator error typo (other ) - #4396
Brief description
Fixes typo in error message.
Chore: pyproject.toml version because of Poetry (other ) - #4408
Brief description
Automatization injects wrong format
Fix - remove minor part in toml (other ) - #4437
Brief description
Causes issue in create_env and new Poetry
General: Add project code to anatomy (other ) - #4445
Brief description
Added attribute project_code to Anatomy object.
Description
Anatomy already have access to almost all attributes from project anatomy except project code. This PR changing it. Technically Anatomy is everything what would be needed to get fill data of project.
{
"project": {
"name": anatomy.project_name,
"code": anatomy.project_code
}
}
Maya: Arnold Scene Source overhaul - OP-4865 (other / maya ) - #4449
Brief description
General overhaul of the Arnold Scene Source (ASS) workflow.
Description
This originally was to support static files (non-sequencial) ASS publishing, but digging deeper whole workflow needed an update to get ready for further issues. During this overhaul the following changes were made:
-
Generalized Arnold Standin workflow to a single loader.
-
Support multiple nodes as proxies.
-
Support proxies for
pointcachefamily. -
Generalized approach to proxies as resources, so they can be the same file format as the original.This workflow should allow further expansion to utilize operators and eventually USD.
3.15.0
Deprecated:
- General: Fill default values of new publish template profiles #4245
📖 Documentation
- documentation: Split tools into separate entries #4342
- Documentation: Fix harmony docs #4301
- Remove staging logic set by OpenPype version #3979
🆕 New features
- General: Push to studio library #4284
- Colorspace Management and Distribution #4195
- Nuke: refactor to latest publisher workfow #4006
- Update to Python 3.9 #3546
🚀 Enhancements
- Unreal: Don't use mongo queries in 'ExistingLayoutLoader' #4356
- General: Loader and Creator plugins can be disabled #4310
- General: Unbind poetry version #4306
- General: Enhanced enum def items #4295
- Git: add pre-commit hooks #4289
- Tray Publisher: Improve Online family functionality #4263
- General: Update MacOs to PySide6 #4255
- Build: update to Gazu in toml #4208
- Global: adding imageio to settings #4158
- Blender: added project settings for validator no colons in name #4149
- Dockerfile for Debian Bullseye #4108
- AfterEffects: publish multiple compositions #4092
- AfterEffects: make new publisher default #4056
- Photoshop: make new publisher default #4051
- Feature/multiverse #4046
- Tests: add support for deadline for automatic tests #3989
- Add version to shortcut name #3906
- TrayPublisher: Removed from experimental tools #3667
🐛 Bug fixes
- change 3.7 to 3.9 in folder name #4354
- PushToProject: Fix hierarchy of project change #4350
- Fix photoshop workfile save-as #4347
- Nuke Input process node sourcing improvements #4341
- New publisher: Some validation plugin tweaks #4339
- Harmony: fix unable to change workfile on Mac #4334
- Global: fixing in-place source publishing for editorial #4333
- General: Use class constants of QMessageBox #4332
- TVPaint: Fix plugin for TVPaint 11.7 #4328
- Exctract OTIO review has improved quality #4325
- Ftrack: fix typos causing bugs in sync #4322
- General: Python 2 compatibility of instance collector #4320
- Slack: user groups speedup #4318
- Maya: Bug - Multiverse extractor executed on plain animation family #4315
- Fix run_documentation.ps1 #4312
- Nuke: new creators fixes #4308
- General: missing comment on standalone and tray publisher #4303
- AfterEffects: Fix for audio from mp4 layer #4296
- General: Update gazu in poetry lock #4247
- Bug: Fixing version detection and filtering in Igniter #3914
- Bug: Create missing version dir #3903
🔀 Refactored code
Merged pull requests:
- Sort families by alphabetical order in the Create plugin #4346
- Global: Validate unique subsets #4336
- Maya: Collect instances preserve handles even if frameStart + frameEnd matches context #3437
3.14.10
🆕 New features
- Global | Nuke: Creator placeholders in workfile template builder #4266
- Slack: Added dynamic message #4265
- Blender: Workfile Loader #4234
- Unreal: Publishing and Loading for UAssets #4198
- Publish: register publishes without copying them #4157
🚀 Enhancements
- General: Added install method with docstring to HostBase #4298
- Traypublisher: simple editorial multiple edl #4248
- General: Extend 'IPluginPaths' to have more available methods #4214
- Refactorization of folder coloring #4211
- Flame - loading multilayer with controlled layer names #4204
🐛 Bug fixes
- Unreal: fix missing
maintained_selectioncall #4300 - Ftrack: Fix receive of host ip on MacOs #4288
- SiteSync: sftp connection failing when shouldnt be tested #4278
- Deadline: fix default value for passing mongo url #4275
- Scene Manager: Fix variable name #4268
- Slack: notification fails because of missing published path #4264
- hiero: creator gui with min max #4257
- NiceCheckbox: Fix checker positioning in Python 2 #4253
- Publisher: Fix 'CreatorType' not equal for Python 2 DCCs #4249
- Deadline: fix dependencies #4242
- Houdini: hotfix instance data access #4236
- bugfix/image plane load error #4222
- Hiero: thumbnail from multilayer exr #4209
🔀 Refactored code
- Resolve: Use qtpy in Resolve #4254
- Houdini: Use qtpy in Houdini #4252
- Max: Use qtpy in Max #4251
- Maya: Use qtpy in Maya #4250
- Hiero: Use qtpy in Hiero #4240
- Nuke: Use qtpy in Nuke #4239
- Flame: Use qtpy in flame #4238
- General: Legacy io not used in global plugins #4134
Merged pull requests:
- Bump json5 from 1.0.1 to 1.0.2 in /website #4292
- Maya: Fix validate frame range repair + fix create render with deadline disabled #4279
3.14.9
📖 Documentation
🆕 New features
- Feature/op 4397 gl tf extractor for maya #4192
- Maya: Extractor for Unreal SkeletalMesh #4174
- 3dsmax: integration #4168
- Blender: Extract Alembic Animations #4128
- Unreal: Load Alembic Animations #4127
🚀 Enhancements
- Houdini: Use new interface class name for publish host #4220
- General: Default command for headless mode is interactive #4203
- Maya: Enhanced ASS publishing #4196
- Feature/op 3924 implement ass extractor #4188
- File transactions: Source path is destination path #4184
- Deadline: improve environment processing #4182
- General: Comment per instance in Publisher #4178
- Ensure Mongo database directory exists in Windows. #4166
- Note about unrestricted execution on Windows. #4161
- Maya: Enable thumbnail transparency on extraction. #4147
- Maya: Disable viewport Pan/Zoom on playblast extraction. #4146
- Maya: Optional viewport refresh on pointcache extraction #4144
- CelAction: refactory integration to current openpype #4140
- Maya: create and publish bounding box geometry #4131
- Changed the UOpenPypePublishInstance to use the UDataAsset class #4124
- General: Collection Audio speed up #4110
- Maya: keep existing AOVs when creating render instance #4087
- General: Oiio conversion multipart fix #4060
🐛 Bug fixes
- Publisher: Signal type issues in Python 2 DCCs #4230
- Blender: Fix Layout Family Versioning #4228
- Blender: Fix Create Camera "Use selection" #4226
- TrayPublisher - join needs list #4224
- General: Event callbacks pass event to callbacks as expected #4210
- Build:Revert .toml update of Gazu #4207
- Nuke: fixed imageio node overrides subset filter #4202
- Maya: pointcache #4201
- Unreal: Support for Unreal Engine 5.1 #4199
- General: Integrate thumbnail looks for thumbnail to multiple places #4181
- Various minor bugfixes #4172
- Nuke/Hiero: Remove tkinter library paths before launch #4171
- Flame: vertical alignment of layers #4169
- Nuke: correct detection of viewer and display #4165
- Settings UI: Don't create QApplication if already exists #4156
- General: Extract review handle start offset of sequences #4152
- Maya: Maintain time connections on Alembic update. #4143
🔀 Refactored code
- General: Use qtpy in modules and hosts UIs which are running in OpenPype process #4225
- Tools: Use qtpy instead of Qt in standalone tools #4223
- General: Use qtpy in settings UI #4215
Merged pull requests:
- layout publish more than one container issue #4098
3.14.8
🚀 Enhancements
- General: Refactored extract hierarchy plugin #4139
- General: Find executable enhancement #4137
- Ftrack: Reset session before instance processing #4129
- Ftrack: Editorial asset sync issue #4126
- Deadline: Build version resolving #4115
- Houdini: New Publisher #3046
- Fix: Standalone Publish Directories #4148
🐛 Bug fixes
- Ftrack: Fix occational double parents issue #4153
- General: Maketx executable issue #4136
- Maya: Looks - add all connections #4135
- General: Fix variable check in collect anatomy instance data #4117
3.14.7
🆕 New features
- Hiero: loading effect family to timeline #4055
🚀 Enhancements
- Photoshop: bug with pop-up window on Instance Creator #4121
- Publisher: Open on specific tab #4120
- Publisher: Hide unknown publish values #4116
- Ftrack: Event server status give more information about version locations #4112
- General: Allow higher numbers in frames and clips #4101
- Publisher: Settings for validate frame range #4097
- Publisher: Ignore escape button #4090
- Flame: Loading clip with native colorspace resolved from mapping #4079
- General: Extract review single frame output #4064
- Publisher: Prepared common function for instance data cache #4063
- Publisher: Easy access to publish page from create page #4058
- General/TVPaint: Attribute defs dialog #4052
- Publisher: Better reset defer #4048
- Publisher: Add thumbnail sources #4042
🐛 Bug fixes
- General: Move default settings for template name #4119
- Slack: notification fail in new tray publisher #4118
- Nuke: loaded nodes set to first tab #4114
- Nuke: load image first frame #4113
- Files Widget: Ignore case sensitivity of extensions #4096
- Webpublisher: extension is lowercased in Setting and in uploaded files #4095
- Publish Report Viewer: Fix small bugs #4086
- Igniter: fix regex to match semver better #4085
- Maya: aov filtering #4083
- Flame/Flare: Loading to multiple batches #4080
- hiero: creator from settings with set maximum #4077
- Nuke: resolve hashes in file name only for frame token #4074
- Publisher: Fix cache of asset docs #4070
- Webpublisher: cleanup wp extract thumbnail #4067
- Settings UI: Locked setting can't bypass lock #4066
- Loader: Fix comparison of repre name #4053
- Deadline: Extract environment subprocess failure #4050
🔀 Refactored code
Merged pull requests:
- Bump loader-utils from 1.4.1 to 1.4.2 in /website #4100
- Online family for Tray Publisher #4093
- Bump loader-utils from 1.4.0 to 1.4.1 in /website #4081
- remove underscore from subset name #4059
- Alembic Loader as Arnold Standin #4047
3.14.6
📖 Documentation
- Documentation: Minor updates to dev_requirements.md #4025
🆕 New features
- Nuke: add 13.2 variant #4041
🚀 Enhancements
- Publish Report Viewer: Store reports locally on machine #4040
- General: More specific error in burnins script #4026
- General: Extract review does not crash with old settings overrides #4023
- Publisher: Convertors for legacy instances #4020
- workflows: adding milestone creator and assigner #4018
- Publisher: Catch creator errors #4015
🐛 Bug fixes
- Hiero - effect collection fixes #4038
- Nuke - loader clip correct hash conversion in path #4037
- Maya: Soft fail when applying capture preset #4034
- Igniter: handle missing directory #4032
- StandalonePublisher: Fix thumbnail publishing #4029
- Experimental Tools: Fix publisher import #4027
- Houdini: fix wrong path in ASS loader #4016
🔀 Refactored code
- General: Import lib functions from lib #4017
3.14.5 (2022-10-24)
🚀 Enhancements
- Maya: add OBJ extractor to model family #4021
- Publish report viewer tool #4010
- Nuke | Global: adding custom tags representation filtering #4009
- Publisher: Create context has shared data for collection phase #3995
- Resolve: updating to v18 compatibility #3986
🐛 Bug fixes
- TrayPublisher: Fix missing argument #4019
- General: Fix python 2 compatibility of ffmpeg and oiio tools discovery #4011
🔀 Refactored code
- Maya: Removed unused imports #4008
- Unreal: Fix import of moved function #4007
- Houdini: Change import of RepairAction #4005
- Nuke/Hiero: Refactor openpype.api imports #4000
- TVPaint: Defined with HostBase #3994
Merged pull requests:
- Unreal: Remove redundant Creator stub #4012
- Unreal: add
uprojectextension to Unreal project template #4004 - Unreal: fix order of includes #4002
- Fusion: Implement backwards compatibility
+/- Fusion 17.2#3958
3.14.4 (2022-10-19)
🆕 New features
- Webpublisher: use max next published version number for all items in batch #3961
- General: Control Thumbnail integration via explicit configuration profiles #3951
🚀 Enhancements
- Publisher: Multiselection in card view #3993
- TrayPublisher: Original Basename cause crash too early #3990
- Tray Publisher: add
originalBasenamedata to simple creators #3988 - General: Custom paths to ffmpeg and OpenImageIO tools #3982
- Integrate: Preserve existing subset group if instance does not set it for new version #3976
- Publisher: Prepare publisher controller for remote publishing #3972
- Maya: new style dataclasses in maya deadline submitter plugin #3968
- Maya: Define preffered Qt bindings for Qt.py and qtpy #3963
- Settings: Move imageio from project anatomy to project settings [pypeclub] #3959
- TrayPublisher: Extract thumbnail for other families #3952
- Publisher: Pass instance to subset name method on update #3949
- General: Set root environments before DCC launch #3947
- Refactor: changed legacy way to update database for Hero version integrate #3941
- Maya: Moved plugin from global to maya #3939
- Publisher: Create dialog is part of main window #3936
- Fusion: Implement Alembic and FBX mesh loader #3927
🐛 Bug fixes
- TrayPublisher: Disable sequences in batch mov creator #3996
- Fix - tags might be missing on representation #3985
- Resolve: Fix usage of functions from lib #3983
- Maya: remove invalid prefix token for non-multipart outputs #3981
- Ftrack: Fix schema cache for Python 2 #3980
- Maya: add object to attr.s declaration #3973
- Maya: Deadline OutputFilePath hack regression for Renderman #3950
- Houdini: Fix validate workfile paths for non-parm file references #3948
- Photoshop: missed sync published version of workfile with workfile #3946
- Maya: Set default value for RenderSetupIncludeLights option #3944
- Maya: fix regression of Renderman Deadline hack #3943
- Kitsu: 2 fixes, nb_frames and Shot type error #3940
- Tray: Change order of attribute changes #3938
- AttributeDefs: Fix crashing multivalue of files widget #3937
- General: Fix links query on hero version #3900
- Publisher: Files Drag n Drop cleanup #3888
🔀 Refactored code
- Flame: Import lib functions from lib #3992
- General: Fix deprecated warning in legacy creator #3978
- Blender: Remove openpype api imports #3977
- General: Use direct import of resources #3964
- General: Direct settings imports #3934
- General: import 'Logger' from 'openpype.lib' #3926
- General: Remove deprecated functions from lib #3907
Merged pull requests:
- Maya + Yeti: Load Yeti Cache fix frame number recognition #3942
- Fusion: Implement callbacks to Fusion's event system thread #3928
- Photoshop: create single frame image in Ftrack as review #3908
3.14.3 (2022-10-03)
🚀 Enhancements
- Publisher: Enhancement proposals #3897
🐛 Bug fixes
- Maya: Fix Render single camera validator #3929
- Flame: loading multilayer exr to batch/reel is working #3901
- Hiero: Fix inventory check on launch #3895
- WebPublisher: Fix import after refactor #3891
🔀 Refactored code
- Maya: Remove unused 'openpype.api' imports in plugins #3925
- Resolve: Use new Extractor location #3918
- Unreal: Use new Extractor location #3917
- Flame: Use new Extractor location #3916
- Houdini: Use new Extractor location #3894
- Harmony: Use new Extractor location #3893
Merged pull requests:
- Maya: Fix Scene Inventory possibly starting off-screen due to maya preferences #3923
3.14.2 (2022-09-12)
📖 Documentation
- Documentation: Anatomy templates #3618
🆕 New features
- Nuke: Build workfile by template #3763
- Houdini: Publishing workfiles #3697
- Global: making collect audio plugin global #3679
🚀 Enhancements
- Flame: Adding Creator's retimed shot and handles switch #3826
- Flame: OpenPype submenu to batch and media manager #3825
- General: Better pixmap scaling #3809
- Photoshop: attempt to speed up ExtractImage #3793
- SyncServer: Added cli commands for sync server #3765
- Kitsu: Drop 'entities root' setting. #3739
- git: update gitignore #3722
- Blender: Publisher collect workfile representation #3670
- Maya: move set render settings menu entry #3669
- Scene Inventory: Maya add actions to select from or to scene #3659
- Scene Inventory: Add subsetGroup column #3658
🐛 Bug fixes
- General: Fix Pattern access in client code #3828
- Launcher: Skip opening last work file works for groups #3822
- Maya: Publishing data key change #3811
- Igniter: Fix status handling when version is already installed #3804
- Resolve: Addon import is Python 2 compatible #3798
- Hiero: retimed clip publishing is working #3792
- nuke: validate write node is not failing due wrong type #3780
- Fix - changed format of version string in pyproject.toml #3777
- Ftrack status fix typo prgoress -> progress #3761
- Fix version resolution #3757
- Maya:
containerisedont skip empty values #3674
🔀 Refactored code
- Photoshop: Use new Extractor location #3789
- Blender: Use new Extractor location #3787
- AfterEffects: Use new Extractor location #3784
- General: Remove unused teshost #3773
- General: Copied 'Extractor' plugin to publish pipeline #3771
- General: Move queries of asset and representation links #3770
- General: Move create project folders to pipeline #3768
- General: Create project function moved to client code #3766
- Maya: Refactor submit deadline to use AbstractSubmitDeadline #3759
- General: Change publish template settings location #3755
- General: Move hostdirname functionality into host #3749
- General: Move publish utils to pipeline #3745
- Houdini: Define houdini as addon #3735
- Fusion: Defined fusion as addon #3733
- Flame: Defined flame as addon #3732
- Resolve: Define resolve as addon #3727
Merged pull requests:
- Standalone Publisher: Ignore empty labels, then still use name like other asset models #3779
- Kitsu - sync_all_project - add list ignore_projects #3776
3.14.1 (2022-08-30)
📖 Documentation
🆕 New features
- Webpublisher:change create flatten image into tri state #3678
- Blender: validators code correction with settings and defaults #3662
🚀 Enhancements
- General: Thumbnail can use project roots #3750
- Settings: Remove settings lock on tray exit #3720
- General: Added helper getters to modules manager #3712
- Unreal: Define unreal as module and use host class #3701
- Settings: Lock settings UI session #3700
- General: Benevolent context label collector #3686
- Ftrack: Store ftrack entities on hierarchy integration to instances #3677
- Ftrack: More logs related to auto sync value change #3671
- Blender: ops refresh manager after process events #3663
🐛 Bug fixes
- Maya: Fix typo in getPanel argument
with_focus->withFocus#3753 - General: Smaller fixes of imports #3748
- General: Logger tweaks #3741
- Nuke: missing job dependency if multiple bake streams #3737
- Nuke: color-space settings from anatomy is working #3721
- Settings: Fix studio default anatomy save #3716
- Maya: Use project name instead of project code #3709
- Settings: Fix project overrides save #3708
- Workfiles tool: Fix published workfile filtering #3704
- PS, AE: Provide default variant value for workfile subset #3703
- RoyalRender: handle host name that is not set #3695
- Flame: retime is working on clip publishing #3684
- Webpublisher: added check for empty context #3682
🔀 Refactored code
- General: Move delivery logic to pipeline #3751
- General: Host addons cleanup #3744
- Webpublisher: Webpublisher is used as addon #3740
- Photoshop: Defined photoshop as addon #3736
- Harmony: Defined harmony as addon #3734
- General: Module interfaces cleanup #3731
- AfterEffects: Move AE functions from general lib #3730
- Blender: Define blender as module #3729
- AfterEffects: Define AfterEffects as module #3728
- General: Replace PypeLogger with Logger #3725
- Nuke: Define nuke as module #3724
- General: Move subset name functionality #3723
- General: Move creators plugin getter #3714
- General: Move constants from lib to client #3713
- Loader: Subset groups using client operations #3710
- TVPaint: Defined as module #3707
- StandalonePublisher: Define StandalonePublisher as module #3706
- TrayPublisher: Define TrayPublisher as module #3705
- General: Move context specific functions to context tools #3702
Merged pull requests:
- Hiero: Define hiero as module #3717
- Deadline: better logging for DL webservice failures #3694
- Photoshop: resize saved images in ExtractReview for ffmpeg #3676
- Nuke: Validation refactory to new publisher #3567
3.14.0 (2022-08-18)
🆕 New features
- Maya: Build workfile by template #3578
- Maya: Implementation of JSON layout for Unreal workflow #3353
- Maya: Build workfile by template #3315
🚀 Enhancements
- Ftrack: Addiotional component metadata #3685
- Ftrack: Set task status on farm publishing #3680
- Ftrack: Set task status on task creation in integrate hierarchy #3675
- Maya: Disable rendering of all lights for render instances submitted through Deadline. #3661
- General: Optimized OCIO configs #3650
🐛 Bug fixes
- General: Switch from hero version to versioned works #3691
- General: Fix finding of last version #3656
- General: Extract Review can scale with pixel aspect ratio #3644
- Maya: Refactor moved usage of CreateRender settings #3643
- General: Hero version representations have full context #3638
- Nuke: color settings for render write node is working now #3632
- Maya: FBX support for update in reference loader #3631
🔀 Refactored code
- General: Use client projects getter #3673
- Resolve: Match folder structure to other hosts #3653
- Maya: Hosts as modules #3647
- TimersManager: Plugins are in timers manager module #3639
- General: Move workfiles functions into pipeline #3637
- General: Workfiles builder using query functions #3598
Merged pull requests:
- Deadline: Global job pre load is not Pype 2 compatible #3666
- Maya: Remove unused get current renderer logic #3645
- Kitsu|Fix: Movie project type fails & first loop children names #3636
- fix the bug of failing to extract look when UDIMs format used in AiImage #3628
3.13.0 (2022-08-09)
🆕 New features
- Support for mutliple installed versions - 3.13 #3605
- Traypublisher: simple editorial publishing #3492
🚀 Enhancements
- Editorial: Mix audio use side file for ffmpeg filters #3630
- Ftrack: Comment template can contain optional keys #3615
- Ftrack: Add more metadata to ftrack components #3612
- General: Add context to pyblish context #3594
- Kitsu: Shot&Sequence name with prefix over appends #3593
- Photoshop: implemented {layer} placeholder in subset template #3591
- General: Python module appdirs from git #3589
- Ftrack: Update ftrack api to 2.3.3 #3588
- General: New Integrator small fixes #3583
- Maya: Render Creator has configurable options. #3097
🐛 Bug fixes
- Maya: fix aov separator in Redshift #3625
- Fix for multi-version build on Mac #3622
- Ftrack: Sync hierarchical attributes can handle new created entities #3621
- General: Extract review aspect ratio scale is calculated by ffmpeg #3620
- Maya: Fix types of default settings #3617
- Integrator: Don't force to have dot before frame #3611
- AfterEffects: refactored integrate doesnt work formulti frame publishes #3610
- Maya look data contents fails with custom attribute on group #3607
- TrayPublisher: Fix wrong conflict merge #3600
- Bugfix: Add OCIO as submodule to prepare for handling
maketxcolor space conversion. #3590 - Fix general settings environment variables resolution #3587
- Editorial publishing workflow improvements #3580
- General: Update imports in start script #3579
- Nuke: render family integration consistency #3576
- Ftrack: Handle missing published path in integrator #3570
- Nuke: publish existing frames with slate with correct range #3555
🔀 Refactored code
- General: Plugin settings handled by plugins #3623
- General: Naive implementation of document create, update, delete #3601
- General: Use query functions in general code #3596
- General: Separate extraction of template data into more functions #3574
- General: Lib cleanup #3571
Merged pull requests:
- Webpublisher: timeout for PS studio processing #3619
- Core: translated validate_containers.py into New publisher style #3614
- Enable write color sets on animation publish automatically #3582
3.12.2 (2022-07-27)
📖 Documentation
🚀 Enhancements
- General: Global thumbnail extractor is ready for more cases #3561
- Maya: add additional validators to Settings #3540
- General: Interactive console in cli #3526
- Ftrack: Automatic daily review session creation can define trigger hour #3516
- Ftrack: add source into Note #3509
- Ftrack: Trigger custom ftrack topic of project structure creation #3506
- Settings UI: Add extract to file action on project view #3505
- Add pack and unpack convenience scripts #3502
- General: Event system #3499
- NewPublisher: Keep plugins with mismatch target in report #3498
- Nuke: load clip with options from settings #3497
- TrayPublisher: implemented render_mov_batch #3486
- Migrate basic families to the new Tray Publisher #3469
- Enhance powershell build scripts #1827
🐛 Bug fixes
- Maya: fix Review image plane attribute #3569
- Maya: Fix animated attributes
ie. overscanon loaded cameras breaking review publishing. #3562 - NewPublisher: Python 2 compatible html escape #3559
- Remove invalid submodules from
/vendor#3557 - General: Remove hosts filter on integrator plugins #3556
- Settings: Clean default values of environments #3550
- Module interfaces: Fix import error #3547
- Workfiles tool: Show of tool and it's flags #3539
- General: Create workfile documents works again #3538
- Additional fixes for powershell scripts #3525
- Maya: Added wrapper around cmds.setAttr #3523
- Nuke: double slate #3521
- General: Fix hash of centos oiio archive #3519
- Maya: Renderman display output fix #3514
- TrayPublisher: Simple creation enhancements and fixes #3513
- NewPublisher: Publish attributes are properly collected #3510
- TrayPublisher: Make sure host name is filled #3504
- NewPublisher: Groups work and enum multivalue #3501
🔀 Refactored code
- General: Use query functions in integrator #3563
- General: Mongo core connection moved to client #3531
- Refactor Integrate Asset #3530
- General: Client docstrings cleanup #3529
- General: Move load related functions into pipeline #3527
- General: Get current context document functions #3522
- Kitsu: Use query function from client #3496
- TimersManager: Use query functions #3495
- Deadline: Use query functions #3466
- Refactor Integrate Asset #2898
Merged pull requests:
- Maya: fix active pane loss #3566
3.12.1 (2022-07-13)
📖 Documentation
- Docs: Added minimal permissions for MongoDB #3441
🆕 New features
- Maya: Add VDB to Arnold loader #3433
🚀 Enhancements
- TrayPublisher: Added more options for grouping of instances #3494
- NewPublisher: Align creator attributes from top to bottom #3487
- NewPublisher: Added ability to use label of instance #3484
- General: Creator Plugins have access to project #3476
- General: Better arguments order in creator init #3475
- Ftrack: Trigger custom ftrack events on project creation and preparation #3465
- Windows installer: Clean old files and add version subfolder #3445
- Blender: Bugfix - Set fps properly on open #3426
- Hiero: Add custom scripts menu #3425
- Blender: pre pyside install for all platforms #3400
- Maya: Add additional playblast options to review Extractor. #3384
- Maya: Ability to set resolution for playblasts from asset, and override through review instance. #3360
- Maya: Redshift Volume Loader Implement update, remove, switch + fix vdb sequence support #3197
- Maya: Implement
iter_visible_nodes_in_rangefor extracting Alembics #3100
🐛 Bug fixes
- TrayPublisher: Keep use instance label in list view #3493
- General: Extract review use first frame of input sequence #3491
- General: Fix Plist loading for application launch #3485
- Nuke: Workfile tools open on start #3479
- New Publisher: Disabled context change allows creation #3478
- General: thumbnail extractor fix #3474
- Kitsu: bugfix with sync-service ans publish plugins #3473
- Flame: solved problem with multi-selected loading #3470
- General: Fix query function in update logic #3468
- Resolve: removed few bugs #3464
- General: Delete old versions is safer when ftrack is disabled #3462
- Nuke: fixing metadata slate TC difference #3455
- Nuke: prerender reviewable fails #3450
- Maya: fix hashing in Python 3 for tile rendering #3447
- LogViewer: Escape html characters in log message #3443
- Nuke: Slate frame is integrated #3427
- Maya: Camera extra data - additional fix for #3304 #3386
- Maya: Handle excluding
modelfamily from frame range validator. #3370
🔀 Refactored code
- Maya: Merge animation + pointcache extractor logic #3461
- Maya: Re-use
maintained_timefrom lib #3460 - General: Use query functions in global plugins #3459
- Clockify: Use query functions in clockify actions #3458
- General: Use query functions in rest api calls #3457
- General: Use query functions in openpype lib functions #3454
- General: Use query functions in load utils #3446
- General: Move publish plugin and publish render abstractions #3442
- General: Use Anatomy after move to pipeline #3436
- General: Anatomy moved to pipeline #3435
- Fusion: Use client query functions #3380
- Resolve: Use client query functions #3379
- General: Host implementation defined with class #3337
3.12.0 (2022-06-28)
📖 Documentation
🆕 New features
- Shotgrid: Add production beta of shotgrid integration #2921
🚀 Enhancements
- Webserver: Added CORS middleware #3422
- Attribute Defs UI: Files widget show what is allowed to drop in #3411
- General: Add ability to change user value for templates #3366
- Hosts: More options for in-host callbacks #3357
- Multiverse: expose some settings to GUI #3350
- Maya: Allow more data to be published along camera 🎥 #3304
- Add root keys and project keys to create starting folder #2755
🐛 Bug fixes
- NewPublisher: Fix subset name change on change of creator plugin #3420
- Bug: fix invalid avalon import #3418
- Nuke: Fix keyword argument in query function #3414
- Houdini: fix loading and updating vbd/bgeo sequences #3408
- Nuke: Collect representation files based on Write #3407
- General: Filter representations before integration start #3398
- Maya: look collector typo #3392
- TVPaint: Make sure exit code is set to not None #3382
- Maya: vray device aspect ratio fix #3381
- Flame: bunch of publishing issues #3377
- Harmony: added unc path to zifile command in Harmony #3372
- Standalone: settings improvements #3355
- Nuke: Load full model hierarchy by default #3328
- Nuke: multiple baking streams with correct slate #3245
- Maya: fix image prefix warning in validator #3128
🔀 Refactored code
- Unreal: Use client query functions #3421
- General: Move editorial lib to pipeline #3419
- Kitsu: renaming to plural func sync_all_projects #3397
- Houdini: Use client query functions #3395
- Hiero: Use client query functions #3393
- Nuke: Use client query functions #3391
- Maya: Use client query functions #3385
- Harmony: Use client query functions #3378
- Celaction: Use client query functions #3376
- Photoshop: Use client query functions #3375
- AfterEffects: Use client query functions #3374
- TVPaint: Use client query functions #3340
- Ftrack: Use client query functions #3339
- Standalone Publisher: Use client query functions #3330
Merged pull requests:
- Sync Queue: Added far future value for null values for dates #3371
- Maya - added support for single frame playblast review #3369
- Houdini: Implement Redshift Proxy Export #3196
3.11.1 (2022-06-20)
🆕 New features
🚀 Enhancements
- Pyblish Pype: Hiding/Close issues #3367
- Ftrack: Removed requirement of pypeclub role from default settings #3354
- Kitsu: Prevent crash on missing frames information #3352
- Ftrack: Open browser from tray #3320
- Enhancement: More control over thumbnail processing. #3259
🐛 Bug fixes
- Nuke: bake streams with slate on farm #3368
- Harmony: audio validator has wrong logic #3364
- Nuke: Fix missing variable in extract thumbnail #3363
- Nuke: Fix precollect writes #3361
- AE- fix validate_scene_settings and renderLocal #3358
- deadline: fixing misidentification of revieables #3356
- General: Create only one thumbnail per instance #3351
- nuke: adding extract thumbnail settings 3.10 #3347
- General: Fix last version function #3345
- Deadline: added OPENPYPE_MONGO to filter #3336
- Nuke: fixing farm publishing if review is disabled #3306
- Maya: Fix Yeti errors on Create, Publish and Load #3198
🔀 Refactored code
- Webpublisher: Use client query functions #3333
3.11.0 (2022-06-17)
📖 Documentation
- Documentation: Add app key to template documentation #3299
- doc: adding royal render and multiverse to the web site #3285
- Module: Kitsu module #2650
🆕 New features
- Multiverse: fixed composition write, full docs, cosmetics #3178
🚀 Enhancements
- Settings: Settings can be extracted from UI #3323
- updated poetry installation source #3316
- Ftrack: Action to easily create daily review session #3310
- TVPaint: Extractor use mark in/out range to render #3309
- Ftrack: Delivery action can work on ReviewSessions #3307
- Maya: Look assigner UI improvements #3298
- Ftrack: Action to transfer values of hierarchical attributes #3284
- Maya: better handling of legacy review subsets names #3269
- General: Updated windows oiio tool #3268
- Unreal: add support for skeletalMesh and staticMesh to loaders #3267
- Maya: reference loaders could store placeholder in referenced url #3264
- TVPaint: Init file for TVPaint worker also handle guideline images #3250
- Nuke: Change default icon path in settings #3247
- Maya: publishing of animation and pointcache on a farm #3225
- Maya: Look assigner UI improvements #3208
- Nuke: add pointcache and animation to loader #3186
- Nuke: Add a gizmo menu #3172
- Support for Unreal 5 #3122
🐛 Bug fixes
- General: Handle empty source key on instance #3342
- Houdini: Fix Houdini VDB manage update wrong file attribute name #3322
- Nuke: anatomy compatibility issue hacks #3321
- hiero: otio p3 compatibility issue - metadata on effect use update 3.11 #3314
- General: Vendorized modules for Python 2 and update poetry lock #3305
- Fix - added local targets to install host #3303
- Settings: Add missing default settings for nuke gizmo #3301
- Maya: Fix swaped width and height in reviews #3300
- Maya: point cache publish handles Maya instances #3297
- Global: extract review slate issues #3286
- Webpublisher: return only active projects in ProjectsEndpoint #3281
- Hiero: add support for task tags 3.10.x #3279
- General: Fix Oiio tool path resolving #3278
- Maya: Fix udim support for e.g. uppercase <UDIM> tag #3266
- Nuke: bake reformat was failing on string type #3261
- Maya: hotfix Pxr multitexture in looks #3260
- Unreal: Fix Camera Loading if Layout is missing #3255
- Unreal: Fixed Animation loading in UE5 #3240
- Unreal: Fixed Render creation in UE5 #3239
- Unreal: Fixed Camera loading in UE5 #3238
- Flame: debugging #3224
- add silent audio to slate #3162
- Add timecode to slate #2929
🔀 Refactored code
Merged pull requests:
3.10.0 (2022-05-26)
📖 Documentation
🆕 New features
- General: OpenPype modules publish plugins are registered in host #3180
- General: Creator plugins from addons can be registered #3179
- Ftrack: Single image reviewable #3157
- Nuke: Expose write attributes to settings #3123
- Hiero: Initial frame publish support #3106
- Unreal: Render Publishing #2917
- AfterEffects: Implemented New Publisher #2838
- Unreal: Rendering implementation #2410
🚀 Enhancements
- Maya: FBX camera export #3253
- General: updating common vendor
scriptmenuto 1.5.2 #3246 - Project Manager: Allow to paste Tasks into multiple assets at the same time #3226
- Project manager: Sped up project load #3216
- Loader UI: Speed issues of loader with sync server #3199
- Looks: add basic support for Renderman #3190
- Maya: added clean_import option to Import loader #3181
- Add the scripts menu definition to nuke #3168
- Maya: add maya 2023 to default applications #3167
- Compressed bgeo publishing in SAP and Houdini loader #3153
- General: Add 'dataclasses' to required python modules #3149
- Hooks: Tweak logging grammar #3147
- Nuke: settings for reformat node in CreateWriteRender node #3143
- Houdini: Add loader for alembic through Alembic Archive node #3140
- Publisher: UI Modifications and fixes #3139
- General: Simplified OP modules/addons import #3137
- Terminal: Tweak coloring of TrayModuleManager logging enabled states #3133
- General: Cleanup some Loader docstrings #3131
- Nuke: render instance with subset name filtered overrides #3117
- Unreal: Layout and Camera update and remove functions reimplemented and improvements #3116
- Settings: Remove environment groups from settings #3115
- TVPaint: Match renderlayer key with other hosts #3110
- Ftrack: AssetVersion status on publish #3108
- Tray publisher: Simple families from settings #3105
- Local Settings UI: Overlay messages on save and reset #3104
- General: Remove repos related logic #3087
- Standalone publisher: add support for bgeo and vdb #3080
- Houdini: Fix FPS + outdated content pop-ups #3079
- General: Add global log verbose arguments #3070
- Flame: extract presets distribution #3063
- Update collect_render.py #3055
- SiteSync: Added compute_resource_sync_sites to sync_server_module #2983
- Maya: Implement Hardware Renderer 2.0 support for Render Products #2611
🐛 Bug fixes
- nuke: use framerange issue #3254
- Ftrack: Chunk sizes for queries has minimal condition #3244
- Maya: renderman displays needs to be filtered #3242
- Ftrack: Validate that the user exists on ftrack #3237
- Maya: Fix support for multiple resolutions #3236
- TVPaint: Look for more groups than 12 #3228
- Hiero: debugging frame range and other 3.10 #3222
- Project Manager: Fix persistent editors on project change #3218
- Deadline: instance data overwrite fix #3214
- Ftrack: Push hierarchical attributes action works #3210
- Standalone Publisher: Always create new representation for thumbnail #3203
- Photoshop: skip collector when automatic testing #3202
- Nuke: render/workfile version sync doesn't work on farm #3185
- Ftrack: Review image only if there are no mp4 reviews #3183
- Ftrack: Locations deepcopy issue #3177
- General: Avoid creating multiple thumbnails #3176
- General/Hiero: better clip duration calculation #3169
- General: Oiio conversion for ffmpeg checks for invalid characters #3166
- Fix for attaching render to subset #3164
- Harmony: fixed missing task name in render instance #3163
- Ftrack: Action delete old versions formatting works #3152
- Deadline: fix the output directory #3144
- General: New Session schema #3141
- General: Missing version on headless mode crash properly #3136
- TVPaint: Composite layers in reversed order #3135
- Nuke: fixing default settings for workfile builder loaders #3120
- Nuke: fix anatomy imageio regex default #3119
- General: Python 3 compatibility in queries #3112
- General: TemplateResult can be copied #3099
- General: Collect loaded versions skips not existing representations #3095
- RoyalRender Control Submission - AVALON_APP_NAME default #3091
- Ftrack: Update Create Folders action #3089
- Maya: Collect Render fix any render cameras check #3088
- Project Manager: Avoid unnecessary updates of asset documents #3083
- Standalone publisher: Fix plugins install #3077
- General: Extract review sequence is not converted with same names #3076
- Webpublisher: Use variant value #3068
- Nuke: Add aov matching even for remainder and prerender #3060
- Fix support for Renderman in Maya #3006
🔀 Refactored code
- Avalon repo removed from Jobs workflow #3193
- General: Remove remaining imports from avalon #3130
- General: Move mongo db logic and remove avalon repository #3066
- General: Move host install #3009
Merged pull requests:
- Harmony: message length in 21.1 #3257
- Harmony: 21.1 fix #3249
- Maya: added jpg to filter for Image Plane Loader #3223
- Webpublisher: replace space by underscore in subset names #3160
- StandalonePublisher: removed Extract Background plugins #3093
- Nuke: added suspend_publish knob #3078
- Bump async from 2.6.3 to 2.6.4 in /website #3065
- SiteSync: Download all workfile inputs #2966
- Photoshop: New Publisher #2933
- Bump pillow from 9.0.0 to 9.0.1 #2880
- AfterEffects: Allow configuration of default variant via Settings #2856
3.9.8 (2022-05-19)
3.9.7 (2022-05-11)
3.9.6 (2022-05-03)
3.9.5 (2022-04-25)
3.9.4 (2022-04-15)
📖 Documentation
- Documentation: more info about Tasks #3062
- Documentation: Python requirements to 3.7.9 #3035
- Website Docs: Remove unused pages #2974
🆕 New features
🚀 Enhancements
- TVPaint: Added init file for worker to triggers missing sound file dialog #3053
- Ftrack: Custom attributes can be filled in slate values #3036
- Resolve environment variable in google drive credential path #3008
🐛 Bug fixes
- GitHub: Updated push-protected action in github workflow #3064
- Nuke: Typos in imports from Nuke implementation #3061
- Hotfix: fixing deadline job publishing #3059
- General: Extract Review handle invalid characters for ffmpeg #3050
- Slate Review: Support to keep format on slate concatenation #3049
- Webpublisher: fix processing of workfile #3048
- Ftrack: Integrate ftrack api fix #3044
- Webpublisher - removed wrong hardcoded family #3043
- LibraryLoader: Use current project for asset query in families filter #3042
- SiteSync: Providers ignore that site is disabled #3041
- Unreal: Creator import fixes #3040
- SiteSync: fix transitive alternate sites, fix dropdown in Local Settings #3018
- Maya: invalid review flag on rendered AOVs #2915
Merged pull requests:
- Deadline: reworked pools assignment #3051
- Houdini: Avoid ImportError on
hdeferevalwhen Houdini runs without UI #2987
3.9.3 (2022-04-07)
📖 Documentation
- Documentation: Added mention of adding My Drive as a root #2999
- Website Docs: Manager Ftrack fix broken links #2979
- Docs: Added MongoDB requirements #2951
- Documentation: New publisher develop docs #2896
🆕 New features
- Ftrack: Add description integrator #3027
- nuke: bypass baking #2992
- Publishing textures for Unreal #2988
- Maya to Unreal: Static and Skeletal Meshes #2978
- Multiverse: Initial Support #2908
🚀 Enhancements
- General: default workfile subset name for workfile #3011
- Ftrack: Add more options for note text of integrate ftrack note #3025
- Console Interpreter: Changed how console splitter size are reused on show #3016
- Deadline: Use more suitable name for sequence review logic #3015
- Nuke: add concurrency attr to deadline job #3005
- Photoshop: create image without instance #3001
- TVPaint: Render scene family #3000
- Deadline: priority configurable in Maya jobs #2995
- Nuke: ReviewDataMov Read RAW attribute #2985
- General:
METADATA_KEYSconstant asfrozensetfor optimal immutable lookup #2980 - General: Tools with host filters #2975
- Hero versions: Use custom templates #2967
- Slack: Added configurable maximum file size of review upload to Slack #2945
- NewPublisher: Prepared implementation of optional pyblish plugin #2943
- TVPaint: Extractor to convert PNG into EXR #2942
- Workfiles tool: Save as published workfiles #2937
- Workfiles: Open published workfiles #2925
- General: Default modules loaded dynamically #2923
- CI: change the version bump logic #2919
- Deadline: Add headless argument #2916
- Nuke: Add no-audio Tag #2911
- Ftrack: Fill workfile in custom attribute #2906
- Nuke: improving readability #2903
- Settings UI: Add simple tooltips for settings entities #2901
🐛 Bug fixes
- General: Fix validate asset docs plug-in filename and class name #3029
- Deadline: Fixed default value of use sequence for review #3033
- Settings UI: Version column can be extended so version are visible #3032
- General: Fix import after movements #3028
- Harmony: Added creating subset name for workfile from template #3024
- AfterEffects: Added creating subset name for workfile from template #3023
- General: Add example addons to ignored #3022
- Maya: Remove missing import #3017
- Ftrack: multiple reviewable componets #3012
- Tray publisher: Fixes after code movement #3010
- Hosts: Remove path existence checks in 'add_implementation_envs' #3004
- Nuke: fixing unicode type detection in effect loaders #3002
- Fix - remove doubled dot in workfile created from template #2998
- Nuke: removing redundant Ftrack asset when farm publishing #2996
- PS: fix renaming subset incorrectly in PS #2991
- Fix: Disable setuptools auto discovery #2990
- AEL: fix opening existing workfile if no scene opened #2989
- Maya: Don't do hardlinks on windows for look publishing #2986
- Settings UI: Fix version completer on linux #2981
- Photoshop: Fix creation of subset names in PS review and workfile #2969
- Slack: Added default for review_upload_limit for Slack #2965
- General: OIIO conversion for ffmeg can handle sequences #2958
- Settings: Conditional dictionary avoid invalid logs #2956
- General: Smaller fixes and typos #2950
- LogViewer: Don't refresh on initialization #2949
- nuke: python3 compatibility issue with
iteritems#2948 - General: anatomy data with correct task short key #2947
- SceneInventory: Fix imports in UI #2944
- Slack: add generic exception #2941
- General: Python specific vendor paths on env injection #2939
- General: More fail safe delete old versions #2936
- Settings UI: Collapsed of collapsible wrapper works as expected #2934
- Maya: Do not pass
setto maya commandsfixes support for older maya versions#2932 - General: Don't print log record on OSError #2926
- Hiero: Fix import of 'register_event_callback' #2924
- Flame: centos related debugging #2922
- Ftrack: Missing Ftrack id after editorial publish #2905
- AfterEffects: Fix rendering for single frame in DL #2875
🔀 Refactored code
- General: Move plugins register and discover #2935
- General: Move Attribute Definitions from pipeline #2931
- General: Removed silo references and terminal splash #2927
- General: Move pipeline constants to OpenPype #2918
- General: Move formatting and workfile functions #2914
- General: Move remaining plugins from avalon #2912
Merged pull requests:
- Maya: Allow to select invalid camera contents if no cameras found #3030
- Bump paramiko from 2.9.2 to 2.10.1 #2973
- Bump minimist from 1.2.5 to 1.2.6 in /website #2954
- Bump node-forge from 1.2.1 to 1.3.0 in /website #2953
- Maya - added transparency into review creator #2952
3.9.2 (2022-04-04)
3.9.1 (2022-03-18)
🚀 Enhancements
- General: Change how OPENPYPE_DEBUG value is handled #2907
- nuke: imageio adding ocio config version 1.2 #2897
- Flame: support for comment with xml attribute overrides #2892
- Nuke: ExtractReviewSlate can handle more codes and profiles #2879
- Flame: sequence used for reference video #2869
🐛 Bug fixes
- General: Fix use of Anatomy roots #2904
- Fixing gap detection in extract review #2902
- Pyblish Pype - ensure current state is correct when entering new group order #2899
- SceneInventory: Fix import of load function #2894
- Harmony - fixed creator issue #2891
- General: Remove forgotten use of avalon Creator #2885
- General: Avoid circular import #2884
- Fixes for attaching loaded containers
\#2837#2874 - Maya: Deformer node ids validation plugin #2826
- Flame Babypublisher optimalization #2806
- hotfix: OIIO tool path - add extension on windows #2618
🔀 Refactored code
- General: Reduce style usage to OpenPype repository #2889
- General: Move loader logic from avalon to openpype #2886
3.9.0 (2022-03-14)
Deprecated:
- Houdini: Remove unused code #2779
- Loader: Remove default family states for hosts from code #2706
- AssetCreator: Remove the tool #2845
📖 Documentation
- Documentation: fixed broken links #2799
- Documentation: broken link fix #2785
- Documentation: link fixes #2772
- Update docusaurus to latest version #2760
- Various testing updates #2726
- documentation: add example to
repack-versioncommand #2669 - Update docusaurus #2639
- Documentation: Fixed relative links #2621
- Documentation: Change Photoshop & AfterEffects plugin path #2878
🆕 New features
🚀 Enhancements
- New: Validation exceptions #2841
- General: Set context environments for non host applications #2803
- Houdini: Remove duplicate ValidateOutputNode plug-in #2780
- Tray publisher: New Tray Publisher host
beta#2778 - Slack: Added regex for filtering on subset names #2775
- Houdini: Implement Reset Frame Range #2770
- Pyblish Pype: Remove redundant new line in installed fonts printing #2758
- Flame: use Shot Name on segment for asset name #2751
- Flame: adding validator source clip #2746
- Work Files: Preserve subversion comment of current filename by default #2734
- Maya: set Deadline job/batch name to original source workfile name instead of published workfile #2733
- Ftrack: Disable ftrack module by default #2732
- Project Manager: Disable add task, add asset and save button when not in a project #2727
- dropbox handle big file #2718
- Fusion Move PR: Minor tweaks to Fusion integration #2716
- RoyalRender: Minor enhancements #2700
- Nuke: prerender with review knob #2691
- Maya configurable unit validator #2680
- General: Add settings for CleanUpFarm and disable the plugin by default #2679
- Project Manager: Only allow scroll wheel edits when spinbox is active #2678
- Ftrack: Sync description to assets #2670
- Houdini: Moved to OpenPype #2658
- Maya: Move implementation to OpenPype #2649
- General: FFmpeg conversion also check attribute string length #2635
- Houdini: Load Arnold .ass procedurals into Houdini #2606
- Deadline: Simplify GlobalJobPreLoad logic #2605
- Houdini: Implement Arnold .ass standin extraction from Houdini
also support .ass.gz#2603 - New Publisher: New features and preparations for new standalone publisher #2556
- Fix Maya 2022 Python 3 compatibility #2445
- TVPaint: Use new publisher exceptions in validators #2435
- Harmony: Added new style validations for New Publisher #2434
- Aftereffects: New style validations for New publisher #2430
- Farm publishing: New cleanup plugin for Maya renders on farm #2390
- General: Subset name filtering in ExtractReview outpus #2872
- NewPublisher: Descriptions and Icons in creator dialog #2867
- NewPublisher: Changing task on publishing instance #2863
- TrayPublisher: Choose project widget is more clear #2859
- Maya: add loaded containers to published instance #2837
- Ftrack: Can sync fps as string #2836
- General: Custom function for find executable #2822
- General: Color dialog UI fixes #2817
- global: letter box calculated on output as last process #2812
- Nuke: adding Reformat to baking mov plugin #2811
- Manager: Update all to latest button #2805
- Houdini: Move Houdini Save Current File to beginning of ExtractorOrder #2747
- Global: adding studio name/code to anatomy template formatting data #2630
🐛 Bug fixes
- Settings UI: Search case sensitivity #2810
- resolve: fixing fusion module loading #2802
- Ftrack: Unset task ids from asset versions before tasks are removed #2800
- Slack: fail gracefully if slack exception #2798
- Flame: Fix version string in default settings #2783
- After Effects: Fix typo in name
afftereffects->aftereffects#2768 - Houdini: Fix open last workfile #2767
- Avoid renaming udim indexes #2765
- Maya: Fix
unique_namespacewhen in an namespace that is empty #2759 - Loader UI: Fix right click in representation widget #2757
- Harmony: Rendering in Deadline didn't work in other machines than submitter #2754
- Aftereffects 2022 and Deadline #2748
- Flame: bunch of bugs #2745
- Maya: Save current scene on workfile publish #2744
- Version Up: Preserve parts of filename after version number
like subversionon version_up #2741 - Loader UI: Multiple asset selection and underline colors fixed #2731
- General: Fix loading of unused chars in xml format #2729
- TVPaint: Set objectName with members #2725
- General: Don't use 'objectName' from loaded references #2715
- Settings: Studio Project anatomy is queried using right keys #2711
- Local Settings: Additional applications don't break UI #2710
- Maya: Remove some unused code #2709
- Houdini: Fix refactor of Houdini host move for CreateArnoldAss #2704
- LookAssigner: Fix imports after moving code to OpenPype repository #2701
- Multiple hosts: unify menu style across hosts #2693
- Maya Redshift fixes #2692
- Maya: fix fps validation popup #2685
- Houdini Explicitly collect correct frame name even in case of single frame render when
frameStartis provided #2676 - hiero: fix effect collector name and order #2673
- Maya: Fix menu callbacks #2671
- hiero: removing obsolete unsupported plugin #2667
- Launcher: Fix access to 'data' attribute on actions #2659
- Maya
vrsceneloader fixes #2633 - Houdini: fix usd family in loader and integrators #2631
- Maya: Add only reference node to look family container like with other families #2508
- General: Missing time function #2877
- Deadline: Fix plugin name for tile assemble #2868
- Nuke: gizmo precollect fix #2866
- General: Fix hardlink for windows #2864
- General: ffmpeg was crashing on slate merge #2860
- WebPublisher: Video file was published with one too many frame #2858
- New Publisher: Error dialog got right styles #2857
- General: Fix getattr clalback on dynamic modules #2855
- Nuke: slate resolution to input video resolution #2853
- WebPublisher: Fix username stored in DB #2852
- WebPublisher: Fix wrong number of frames for video file #2851
- Nuke: Fix family test in validate_write_legacy to work with stillImage #2847
- Nuke: fix multiple baking profile farm publishing #2842
- Blender: Fixed parameters for FBX export of the camera #2840
- Maya: Stop creation of reviews for Cryptomattes #2832
- Deadline: Remove recreated event #2828
- Deadline: Added missing events folder #2827
- Settings: Missing document with OP versions may break start of OpenPype #2825
- Deadline: more detailed temp file name for environment json #2824
- General: Host name was formed from obsolete code #2821
- Settings UI: Fix "Apply from" action #2820
- Ftrack: Job killer with missing user #2819
- Nuke: Use AVALON_APP to get value for "app" key #2818
- StandalonePublisher: use dynamic groups in subset names #2816
🔀 Refactored code
- Ftrack: Moved module one hierarchy level higher #2792
- SyncServer: Moved module one hierarchy level higher #2791
- Royal render: Move module one hierarchy level higher #2790
- Deadline: Move module one hierarchy level higher #2789
- Refactor: move webserver tool to openpype #2876
- General: Move create logic from avalon to OpenPype #2854
- General: Add vendors from avalon #2848
- General: Basic event system #2846
- General: Move change context functions #2839
- Tools: Don't use avalon tools code #2829
- Move Unreal Implementation to OpenPype #2823
- General: Extract template formatting from anatomy #2766
Merged pull requests:
- Fusion: Moved implementation into OpenPype #2713
- TVPaint: Plugin build without dependencies #2705
- Webpublisher: Photoshop create a beauty png #2689
- Ftrack: Hierarchical attributes are queried properly #2682
- Maya: Add Validate Frame Range settings #2661
- Harmony: move to Openpype #2657
- Maya: cleanup duplicate rendersetup code #2642
- Deadline: Be able to pass Mongo url to job #2616
3.8.2 (2022-02-07)
📖 Documentation
- Cosmetics: Fix common typos in openpype/website #2617
🚀 Enhancements
- TVPaint: Image loaders also work on review family #2638
- General: Project backup tools #2629
- nuke: adding clear button to write nodes #2627
- Ftrack: Family to Asset type mapping is in settings #2602
- Nuke: load color space from representation data #2576
🐛 Bug fixes
Merged pull requests:
- WebPublisher: fix instance duplicates #2641
- Fix - safer pulling of task name for webpublishing from PS #2613
3.8.1 (2022-02-01)
🚀 Enhancements
- Webpublisher: Thumbnail extractor #2600
- Loader: Allow to toggle default family filters between "include" or "exclude" filtering #2541
- Launcher: Added context menu to to skip opening last workfile #2536
- Unreal: JSON Layout Loading support #2066
🐛 Bug fixes
- Release/3.8.0 #2619
- Settings: Enum does not store empty string if has single item to select #2615
- switch distutils to sysconfig for
get_platform()#2594 - Fix poetry index and speedcopy update #2589
- Webpublisher: Fix - subset names from processed .psd used wrong value for task #2586
vrscenecreator Deadline webservice URL handling #2580- global: track name was failing if duplicated root word in name #2568
- Validate Maya Rig produces no cycle errors #2484
Merged pull requests:
- Bump pillow from 8.4.0 to 9.0.0 #2595
- Webpublisher: Skip version collect #2591
- build(deps): bump pillow from 8.4.0 to 9.0.0 #2523
3.8.0 (2022-01-24)
📖 Documentation
- Variable in docs renamed to proper name #2546
🆕 New features
- Flame: extracting segments with trans-coding #2547
- Maya : V-Ray Proxy - load all ABC files via proxy #2544
- Maya to Unreal: Extended static mesh workflow #2537
- Flame: collecting publishable instances #2519
- Flame: create publishable clips #2495
- Flame: OpenTimelineIO Export Modul #2398
🚀 Enhancements
- Webpublisher: Moved error at the beginning of the log #2559
- Ftrack: Use ApplicationManager to get DJV path #2558
- Webpublisher: Added endpoint to reprocess batch through UI #2555
- Settings: PathInput strip passed string #2550
- Global: Exctract Review anatomy fill data with output name #2548
- Cosmetics: Clean up some cosmetics / typos #2542
- General: Validate if current process OpenPype version is requested version #2529
- General: Be able to use anatomy data in ffmpeg output arguments #2525
- Expose toggle publish plug-in settings for Maya Look Shading Engine Naming #2521
- Photoshop: Move implementation to OpenPype #2510
- TimersManager: Move module one hierarchy higher #2501
- Slack: notifications are sent with Openpype logo and bot name #2499
- Slack: Add review to notification message #2498
- Ftrack: Event handlers settings #2496
- Tools: Fix style and modality of errors in loader and creator #2489
- Maya: Collect 'fps' animation data only for "review" instances #2486
- Project Manager: Remove project button cleanup #2482
- Tools: Be able to change models of tasks and assets widgets #2475
- Publish pype: Reduce publish process defering #2464
- Maya: Improve speed of Collect History logic #2460
- Maya: Validate Rig Controllers - fix Error: in script editor #2459
- Maya: Validate NGONs simplify and speed-up #2458
- Maya: Optimize Validate Locked Normals speed for dense polymeshes #2457
- Maya: Refactor missing _get_reference_node method #2455
- Houdini: Remove broken unique name counter #2450
- Maya: Improve lib.polyConstraint performance when Select tool is not the active tool context #2447
- General: Validate third party before build #2425
- Maya : add option to not group reference in ReferenceLoader #2383
🐛 Bug fixes
- AfterEffects: Fix - removed obsolete import #2577
- General: OpenPype version updates #2575
- Ftrack: Delete action revision #2563
- Webpublisher: ftrack shows incorrect user names #2560
- General: Do not validate version if build does not support it #2557
- Webpublisher: Fixed progress reporting #2553
- Fix Maya AssProxyLoader version switch #2551
- General: Fix install thread in igniter #2549
- Houdini: vdbcache family preserve frame numbers on publish integration + enable validate version for Houdini #2535
- Maya: Fix Load VDB to V-Ray #2533
- Maya: ReferenceLoader fix not unique group name error for attach to root #2532
- Maya: namespaced context go back to original namespace when started from inside a namespace #2531
- Fix create zip tool - path argument #2522
- Maya: Fix Extract Look with space in names #2518
- Fix published frame content for sequence starting with 0 #2513
- Maya: reset empty string attributes correctly to "" instead of "None" #2506
- Improve FusionPreLaunch hook errors #2505
- General: Settings work if OpenPypeVersion is available #2494
- General: PYTHONPATH may break OpenPype dependencies #2493
- General: Modules import function output fix #2492
- AE: fix hiding of alert window below Publish #2491
- Workfiles tool: Files widget show files on first show #2488
- General: Custom template paths filter fix #2483
- Loader: Remove always on top flag in tray #2480
- General: Anatomy does not return root envs as unicode #2465
- Maya: Validate Shape Zero do not keep fixed geometry vertices selected/active after repair #2456
Merged pull requests:
- AfterEffects: Move implementation to OpenPype #2543
- Maya: Remove Maya Look Assigner check on startup #2540
- build(deps): bump shelljs from 0.8.4 to 0.8.5 in /website #2538
- build(deps): bump follow-redirects from 1.14.4 to 1.14.7 in /website #2534
- Nuke: Merge avalon's implementation into OpenPype #2514
- Maya: Vray fix proxies look assignment #2392
- Bump algoliasearch-helper from 3.4.4 to 3.6.2 in /website #2297
3.7.0 (2022-01-04)
Deprecated:
- General: Default modules hierarchy n2 #2368
📖 Documentation
- docs[website]: Add Ellipse Studio
logoas an OpenPype contributor #2324
🆕 New features
- Settings UI use OpenPype styles #2296
- Store typed version dependencies for workfiles #2192
- OpenPypeV3: add key task type, task shortname and user to path templating construction #2157
- Nuke: Alembic model workflow #2140
- TVPaint: Load workfile from published. #1980
🚀 Enhancements
- General: Workdir extra folders #2462
- Photoshop: New style validations for New publisher #2429
- General: Environment variables groups #2424
- Unreal: Dynamic menu created in Python #2422
- Settings UI: Hyperlinks to settings #2420
- Modules: JobQueue module moved one hierarchy level higher #2419
- TimersManager: Start timer post launch hook #2418
- General: Run applications as separate processes under linux #2408
- Ftrack: Check existence of object type on recreation #2404
- Enhancement: Global cleanup plugin that explicitly remove paths from context #2402
- General: MongoDB ability to specify replica set groups #2401
- Flame: moving
utility_scriptsto api folder also withscripts#2385 - Centos 7 dependency compatibility #2384
- Enhancement: Settings: Use project settings values from another project #2382
- Blender 3: Support auto install for new blender version #2377
- Maya add render image path to settings #2375
- Settings: Webpublisher in hosts enum #2367
- Hiero: python3 compatibility #2365
- Burnins: Be able recognize mxf OPAtom format #2361
- Maya: Add is_static_image_plane and is_in_all_views option in imagePlaneLoader #2356
- Local settings: Copyable studio paths #2349
- Assets Widget: Clear model on project change #2345
- General: OpenPype default modules hierarchy #2338
- TVPaint: Move implementation to OpenPype #2336
- General: FFprobe error exception contain original error message #2328
- Resolve: Add experimental button to menu #2325
- Hiero: Add experimental tools action #2323
- Input links: Cleanup and unification of differences #2322
- General: Don't validate vendor bin with executing them #2317
- General: Multilayer EXRs support #2315
- General: Run process log stderr as info log level #2309
- General: Reduce vendor imports #2305
- Tools: Cleanup of unused classes #2304
- Project Manager: Added ability to delete project #2298
- Ftrack: Synchronize input links #2287
- StandalonePublisher: Remove unused plugin ExtractHarmonyZip #2277
- Ftrack: Support multiple reviews #2271
- Ftrack: Remove unused clean component plugin #2269
- Royal Render: Support for rr channels in separate dirs #2268
- Houdini: Add experimental tools action #2267
- Nuke: extract baked review videos presets #2248
- TVPaint: Workers rendering #2209
- OpenPypeV3: Add key parent asset to path templating construction #2186
🐛 Bug fixes
- TVPaint: Create render layer dialog is in front #2471
- Short Pyblish plugin path #2428
- PS: Introduced settings for invalid characters to use in ValidateNaming plugin #2417
- Settings UI: Breadcrumbs path does not create new entities #2416
- AfterEffects: Variant 2022 is in defaults but missing in schemas #2412
- Nuke: baking representations was not additive #2406
- General: Fix access to environments from default settings #2403
- Fix: Placeholder Input color set fix #2399
- Settings: Fix state change of wrapper label #2396
- Flame: fix ftrack publisher #2381
- hiero: solve custom ocio path #2379
- hiero: fix workio and flatten #2378
- Nuke: fixing menu re-drawing during context change #2374
- Webpublisher: Fix assignment of families of TVpaint instances #2373
- Nuke: fixing node name based on switched asset name #2369
- JobQueue: Fix loading of settings #2362
- Tools: Placeholder color #2359
- Launcher: Minimize button on MacOs #2355
- StandalonePublisher: Fix import of constant #2354
- Houdini: Fix HDA creation #2350
- Adobe products show issue #2347
- Maya Look Assigner: Fix Python 3 compatibility #2343
- Remove wrongly used host for hook #2342
- Tools: Use Qt context on tools show #2340
- Flame: Fix default argument value in custom dictionary #2339
- Timers Manager: Disable auto stop timer on linux platform #2334
- nuke: bake preset single input exception #2331
- Hiero: fixing multiple templates at a hierarchy parent #2330
- Fix - provider icons are pulled from a folder #2326
- InputLinks: Typo in "inputLinks" key #2314
- Deadline timeout and logging #2312
- nuke: do not multiply representation on class method #2311
- Workfiles tool: Fix task formatting #2306
- Delivery: Fix delivery paths created on windows #2302
- Maya: Deadline - fix limit groups #2295
- Royal Render: Fix plugin order and OpenPype auto-detection #2291
- New Publisher: Fix mapping of indexes #2285
- Alternate site for site sync doesnt work for sequences #2284
- FFmpeg: Execute ffprobe using list of arguments instead of string command #2281
- Nuke: Anatomy fill data use task as dictionary #2278
- Bug: fix variable name _asset_id in workfiles application #2274
- Version handling fixes #2272
Merged pull requests:
- Maya: Replaced PATH usage with vendored oiio path for maketx utility #2405
- [Fix][MAYA] Handle message type attribute within CollectLook #2394
- Add validator to check correct version of extension for PS and AE #2387
- Maya: configurable model top level validation #2321
- Create test publish class for After Effects #2270
3.6.4 (2021-11-23)
🐛 Bug fixes
- Nuke: inventory update removes all loaded read nodes #2294
3.6.3 (2021-11-19)
🐛 Bug fixes
- Deadline: Fix publish targets #2280
3.6.2 (2021-11-18)
🚀 Enhancements
- Tools: Assets widget #2265
- SceneInventory: Choose loader in asset switcher #2262
- Style: New fonts in OpenPype style #2256
- Tools: SceneInventory in OpenPype #2255
- Tools: Tasks widget #2251
- Tools: Creator in OpenPype #2244
- Added endpoint for configured extensions #2221
🐛 Bug fixes
- Tools: Parenting of tools in Nuke and Hiero #2266
- limiting validator to specific editorial hosts #2264
- Tools: Select Context dialog attribute fix #2261
- Maya: Render publishing fails on linux #2260
- LookAssigner: Fix tool reopen #2259
- Standalone: editorial not publishing thumbnails on all subsets #2258
- Burnins: Support mxf metadata #2247
- Maya: Support for configurable AOV separator characters #2197
- Maya: texture colorspace modes in looks #2195
3.6.1 (2021-11-16)
🐛 Bug fixes
- Loader doesn't allow changing of version before loading #2254
3.6.0 (2021-11-15)
📖 Documentation
🆕 New features
- Add validate active site button to sync queue on a project #2176
- Maya : Colorspace configuration #2170
- Blender: Added support for audio #2168
- Flame: a host basic integration #2165
- Houdini: simple HDA workflow #2072
- Basic Royal Render Integration ✨ #2061
- Camera handling between Blender and Unreal #1988
- switch PyQt5 for PySide2 #1744
🚀 Enhancements
- Tools: Subset manager in OpenPype #2243
- General: Skip module directories without init file #2239
- General: Static interfaces #2238
- Style: Fix transparent image in style #2235
- Add a "following workfile versioning" option on publish #2225
- Modules: Module can add cli commands #2224
- Webpublisher: Separate webpublisher logic #2222
- Add both side availability on Site Sync sites to Loader #2220
- Tools: Center loader and library loader on show #2219
- Maya : Validate shape zero #2212
- Maya : validate unique names #2211
- Tools: OpenPype stylesheet in workfiles tool #2208
- Ftrack: Replace Queue with deque in event handlers logic #2204
- Tools: New select context dialog #2200
- Maya : Validate mesh ngons #2199
- Dirmap in Nuke #2198
- Delivery: Check 'frame' key in template for sequence delivery #2196
- Settings: Site sync project settings improvement #2193
- Usage of tools code #2185
- Settings: Dictionary based on project roots #2184
- Subset name: Be able to pass asset document to get subset name #2179
- Tools: Experimental tools #2167
- Loader: Refactor and use OpenPype stylesheets #2166
- Add loader for linked smart objects in photoshop #2149
- Burnins: DNxHD profiles handling #2142
- Tools: Single access point for host tools #2139
🐛 Bug fixes
- Ftrack: Sync project ftrack id cache issue #2250
- Ftrack: Session creation and Prepare project #2245
- Added queue for studio processing in PS #2237
- Python 2: Unicode to string conversion #2236
- Fix - enum for color coding in PS #2234
- Pyblish Tool: Fix targets handling #2232
- Ftrack: Base event fix of 'get_project_from_entity' method #2214
- Maya : multiple subsets review broken #2210
- Fix - different command used for Linux and Mac OS #2207
- Tools: Workfiles tool don't use avalon widgets #2205
- Ftrack: Fill missing ftrack id on mongo project #2203
- Project Manager: Fix copying of tasks #2191
- StandalonePublisher: Source validator don't expect representations #2190
- Blender: Fix trying to pack an image when the shader node has no texture #2183
- Maya: review viewport settings #2177
- MacOS: Launching of applications may cause Permissions error #2175
- Maya: Aspect ratio #2174
- Blender: Fix 'Deselect All' with object not in 'Object Mode' #2163
- Tools: Stylesheets are applied after tool show #2161
- Maya: Collect render - fix UNC path support 🐛 #2158
- Maya: Fix hotbox broken by scriptsmenu #2151
- Ftrack: Ignore save warnings exception in Prepare project action #2150
- Loader thumbnails with smooth edges #2147
- Added validator for source files for Standalone Publisher #2138
Merged pull requests:
3.5.0 (2021-10-17)
Deprecated:
- Maya: Change mayaAscii family to mayaScene #2106
🆕 New features
- Added project and task into context change message in Maya #2131
- Add ExtractBurnin to photoshop review #2124
- PYPE-1218 - changed namespace to contain subset name in Maya #2114
- Added running configurable disk mapping command before start of OP #2091
- SFTP provider #2073
- Maya: Validate setdress top group #2068
- Maya: Enable publishing render attrib sets
e.g. V-Ray Displacementwith model #1955
🚀 Enhancements
- Maya: make rig validators configurable in settings #2137
- Settings: Updated readme for entity types in settings #2132
- Nuke: unified clip loader #2128
- Settings UI: Project model refreshing and sorting #2104
- Create Read From Rendered - Disable Relative paths by default #2093
- Added choosing different dirmap mapping if workfile synched locally #2088
- General: Remove IdleManager module #2084
- Tray UI: Message box about missing settings defaults #2080
- Tray UI: Show menu where first click happened #2079
- Global: add global validators to settings #2078
- Use CRF for burnin when available #2070
- Project manager: Filter first item after selection of project #2069
- Nuke: Adding
stillimage family workflow #2064 - Maya: validate authorized loaded plugins #2062
- Tools: add support for pyenv on windows #2051
- SyncServer: Dropbox Provider #1979
- Burnin: Get data from context with defined keys. #1897
- Timers manager: Get task time #1896
- TVPaint: Option to stop timer on application exit. #1887
🐛 Bug fixes
- Maya: fix model publishing #2130
- Fix - oiiotool wasn't recognized even if present #2129
- General: Disk mapping group #2120
- Hiero: publishing effect first time makes wrong resources path #2115
- Add startup script for Houdini Core. #2110
- TVPaint: Behavior name of loop also accept repeat #2109
- Ftrack: Project settings save custom attributes skip unknown attributes #2103
- Blender: Fix NoneType error when animation_data is missing for a rig #2101
- Fix broken import in sftp provider #2100
- Global: Fix docstring on publish plugin extract review #2097
- Delivery Action Files Sequence fix #2096
- General: Cloud mongo ca certificate issue #2095
- TVPaint: Creator use context from workfile #2087
- Blender: fix texture missing when publishing blend files #2085
- General: Startup validations oiio tool path fix on linux #2083
- Deadline: Collect deadline server does not check existence of deadline key #2082
- Blender: fixed Curves with modifiers in Rigs #2081
- Nuke UI scaling #2077
- Maya: Fix multi-camera renders #2065
- Fix Sync Queue when project disabled #2063
Merged pull requests:
- Bump pywin32 from 300 to 301 #2086
3.4.1 (2021-09-23)
🆕 New features
- Settings: Flag project as deactivated and hide from tools' view #2008
🚀 Enhancements
- General: Startup validations #2054
- Nuke: proxy mode validator #2052
- Ftrack: Removed ftrack interface #2049
- Settings UI: Deffered set value on entity #2044
- Loader: Families filtering #2043
- Settings UI: Project view enhancements #2042
- Settings for Nuke IncrementScriptVersion #2039
- Loader & Library loader: Use tools from OpenPype #2038
- Adding predefined project folders creation in PM #2030
- WebserverModule: Removed interface of webserver module #2028
- TimersManager: Removed interface of timers manager #2024
- Feature Maya import asset from scene inventory #2018
🐛 Bug fixes
- Timers manger: Typo fix #2058
- Hiero: Editorial fixes #2057
- Differentiate jpg sequences from thumbnail #2056
- FFmpeg: Split command to list does not work #2046
- Removed shell flag in subprocess call #2045
Merged pull requests:
- Bump prismjs from 1.24.0 to 1.25.0 in /website #2050
3.4.0 (2021-09-17)
📖 Documentation
- Documentation: Ftrack launch argsuments update #2014
- Nuke Quick Start / Tutorial #1952
- Houdini: add Camera, Point Cache, Composite, Redshift ROP and VDB Cache support #1821
🆕 New features
- Nuke: Compatibility with Nuke 13 #2003
- Maya: Add Xgen family support #1947
- Feature/webpublisher backend #1876
- Blender: Improved assets handling #1615
🚀 Enhancements
- Added possibility to configure of synchronization of workfile version… #2041
- General: Task types in profiles #2036
- Console interpreter: Handle invalid sizes on initialization #2022
- Ftrack: Show OpenPype versions in event server status #2019
- General: Staging icon #2017
- Ftrack: Sync to avalon actions have jobs #2015
- Modules: Connect method is not required #2009
- Settings UI: Number with configurable steps #2001
- Moving project folder structure creation out of ftrack module #1989 #1996
- Configurable items for providers without Settings #1987
- Global: Example addons #1986
- Standalone Publisher: Extract harmony zip handle workfile template #1982
- Settings UI: Number sliders #1978
- Workfiles: Support more workfile templates #1966
- Launcher: Fix crashes on action click #1964
- Settings: Minor fixes in UI and missing default values #1963
- Blender: Toggle system console works on windows #1962
- Global: Settings defined by Addons/Modules #1959
- CI: change release numbering triggers #1954
- Global: Avalon Host name collector #1949
- Global: Define hosts in CollectSceneVersion #1948
- Add face sets to exported alembics #1942
- OpenPype: Add version validation and
--headlessmode and update progress 🔄 #1939 - #1894 - adds host to template_name_profiles for filtering #1915
- Environments: Tool environments in alphabetical order #1910
- Disregard publishing time. #1888
- Dynamic modules #1872
🐛 Bug fixes
- Workfiles tool: Task selection #2040
- Ftrack: Delete old versions missing settings key #2037
- Nuke: typo on a button #2034
- Hiero: Fix "none" named tags #2033
- FFmpeg: Subprocess arguments as list #2032
- General: Fix Python 2 breaking line #2016
- Bugfix/webpublisher task type #2006
- Nuke thumbnails generated from middle of the sequence #1992
- Nuke: last version from path gets correct version #1990
- nuke, resolve, hiero: precollector order lest then 0.5 #1984
- Last workfile with multiple work templates #1981
- Collectors order #1977
- Stop timer was within validator order range. #1975
- Ftrack: arrow submodule has https url source #1974
- Ftrack: Fix hosts attribute in collect ftrack username #1972
- Deadline: Houdini plugins in different hierarchy #1970
- Removed deprecated submodules #1967
- Global: ExtractJpeg can handle filepaths with spaces #1961
- Resolve path when adding to zip #1960
Merged pull requests:
- Bump url-parse from 1.5.1 to 1.5.3 in /website #1958
- Bump path-parse from 1.0.6 to 1.0.7 in /website #1933
3.3.1 (2021-08-20)
🐛 Bug fixes
- TVPaint: Fixed rendered frame indexes #1946
- Maya: Menu actions fix #1945
- standalone: editorial shared object problem #1941
- Bugfix nuke deadline app name #1928
3.3.0 (2021-08-17)
📖 Documentation
- Standalone Publish of textures family #1834
🆕 New features
- Settings UI: Breadcrumbs in settings #1932
- Maya: Scene patching 🩹on submission to Deadline #1923
- Feature AE local render #1901
🚀 Enhancements
- Python console interpreter #1940
- Global: Updated logos and Default settings #1927
- Check for missing ✨ Python when using
pyenv#1925 - Settings: Default values for enum #1920
- Settings UI: Modifiable dict view enhance #1919
- submodules: avalon-core update #1911
- Ftrack: Where I run action enhancement #1900
- Ftrack: Private project server actions #1899
- Support nested studio plugins paths. #1898
- Settings: global validators with options #1892
- Settings: Conditional dict enum positioning #1891
- Expose stop timer through rest api. #1886
- TVPaint: Increment workfile #1885
- Allow Multiple Notes to run on tasks. #1882
- Prepare for pyside2 #1869
- Filter hosts in settings host-enum #1868
- Local actions with process identifier #1867
- Workfile tool start at host launch support #1865
- Anatomy schema validation #1864
- Ftrack prepare project structure #1861
- Maya: support for configurable
dirmap🗺️ #1859 - Independent general environments #1853
- TVPaint Start Frame #1844
- Ftrack push attributes action adds traceback to job #1843
- Prepare project action enhance #1838
- nuke: settings create missing default subsets #1829
- Update poetry lock #1823
- Settings: settings for plugins #1819
- Settings list can use template or schema as object type #1815
- Maya: Deadline custom settings #1797
- Maya: Shader name validation #1762
🐛 Bug fixes
- Fix - ftrack family was added incorrectly in some cases #1935
- Fix - Deadline publish on Linux started Tray instead of headless publishing #1930
- Maya: Validate Model Name - repair accident deletion in settings defaults #1929
- Nuke: submit to farm failed due
ftrackfamily remove #1926 - Fix - validate takes repre["files"] as list all the time #1922
- standalone: validator asset parents #1917
- Nuke: update video file crassing #1916
- Fix - texture validators for workfiles triggers only for textures workfiles #1914
- Settings UI: List order works as expected #1906
- Hiero: loaded clip was not set colorspace from version data #1904
- Pyblish UI: Fix collecting stage processing #1903
- Burnins: Use input's bitrate in h624 #1902
- Bug: fixed python detection #1893
- global: integrate name missing default template #1890
- publisher: editorial plugins fixes #1889
- Normalize path returned from Workfiles. #1880
- Workfiles tool event arguments fix #1862
- imageio: fix grouping #1856
- Maya: don't add reference members as connections to the container set 📦 #1855
- publisher: missing version in subset prop #1849
- Ftrack type error fix in sync to avalon event handler #1845
- Nuke: updating effects subset fail #1841
- nuke: write render node skipped with crop #1836
- Project folder structure overrides #1813
- Maya: fix yeti settings path in extractor #1809
- Failsafe for cross project containers. #1806
- Houdini colector formatting keys fix #1802
- Settings error dialog on show #1798
- Application launch stdout/stderr in GUI build #1684
- Nuke: re-use instance nodes output path #1577
Merged pull requests:
- Fix - make AE workfile publish to Ftrack configurable #1937
- Add support for multiple Deadline ☠️➖ servers #1905
- Maya: add support for
RedshiftNormalMapnode, fixtxlinear space 🚀 #1863 - Maya: expected files -> render products ⚙️ overhaul #1812
- PS, AE - send actual context when another webserver is running #1811
3.2.0 (2021-07-13)
📖 Documentation
- Fix: staging and
--use-versionoption #1786 - Subset template and TVPaint subset template docs #1717
- Overscan color extract review #1701
🚀 Enhancements
- Nuke: ftrack family plugin settings preset #1805
- Standalone publisher last project #1799
- Ftrack Multiple notes as server action #1795
- Settings conditional dict #1777
- Settings application use python 2 only where needed #1776
- Settings UI copy/paste #1769
- Workfile tool widths #1766
- Push hierarchical attributes care about task parent changes #1763
- Application executables with environment variables #1757
- Deadline: Nuke submission additional attributes #1756
- Settings schema without prefill #1753
- Settings Hosts enum #1739
- Validate containers settings #1736
- PS - added loader from sequence #1726
- Autoupdate launcher #1725
- Toggle Ftrack upload in StandalonePublisher #1708
- Nuke: Prerender Frame Range by default #1699
- Smoother edges of color triangle #1695
🐛 Bug fixes
- nuke: fixing wrong name of family folder when
used existing frames#1803 - Collect ftrack family bugs #1801
- Invitee email can be None which break the Ftrack commit. #1788
- Otio unrelated error on import #1782
- FFprobe streams order #1775
- Fix - single file files are str only, cast it to list to count properly #1772
- Environments in app executable for MacOS #1768
- Project specific environments #1767
- Settings UI with refresh button #1764
- Standalone publisher thumbnail extractor fix #1761
- Anatomy others templates don't cause crash #1758
- Backend acre module commit update #1745
- hiero: precollect instances failing when audio selected #1743
- Hiero: creator instance error #1742
- Nuke: fixing render creator for no selection format failing #1741
- StandalonePublisher: failing collector for editorial #1738
- Local settings UI crash on missing defaults #1737
- TVPaint white background on thumbnail #1735
- Ftrack missing custom attribute message #1734
- Launcher project changes #1733
- Ftrack sync status #1732
- TVPaint use layer name for default variant #1724
- Default subset template for TVPaint review and workfile families #1716
- Maya: Extract review hotfix #1714
- Settings: Imageio improving granularity #1711
- Application without executables #1679
- Unreal: launching on Linux #1672
Merged pull requests:
2.18.4 (2021-06-24)
2.18.3 (2021-06-23)
2.18.2 (2021-06-16)
3.1.0 (2021-06-15)
📖 Documentation
- Feature Slack integration #1657
🚀 Enhancements
- Log Viewer with OpenPype style #1703
- Scrolling in OpenPype info widget #1702
- OpenPype style in modules #1694
- Sort applications and tools alphabetically in Settings UI #1689
- #683 - Validate Frame Range in Standalone Publisher #1683
- Hiero: old container versions identify with red color #1682
- Project Manger: Default name column width #1669
- Remove outline in stylesheet #1667
- TVPaint: Creator take layer name as default value for subset variant #1663
- TVPaint custom subset template #1662
- Editorial: conform assets validator #1659
- Nuke - Publish simplification #1653
- #1333 - added tooltip hints to Pyblish buttons #1649
🐛 Bug fixes
- Nuke: broken publishing rendered frames #1707
- Standalone publisher Thumbnail export args #1705
- Bad zip can break OpenPype start #1691
- Hiero: published whole edit mov #1687
- Ftrack subprocess handle of stdout/stderr #1675
- Settings list race condifiton and mutable dict list conversion #1671
- Mac launch arguments fix #1660
- Fix missing dbm python module #1652
- Transparent branches in view on Mac #1648
- Add asset on task item #1646
- Project manager save and queue #1645
- New project anatomy values #1644
- Farm publishing: check if published items do exist #1573
Merged pull requests:
- Bump normalize-url from 4.5.0 to 4.5.1 in /website #1686
3.0.0
Configuration
- Studio Settings GUI: no more json configuration files.
- OpenPype Modules can be turned on and off.
- Easy to add Application versions.
- Per Project Environment and plugin management.
- Robust profile system for creating reviewables and burnins, with filtering based on Application, Task and data family.
- Configurable publish plugins.
- Options to make any validator or extractor, optional or disabled.
- Color Management is now unified under anatomy settings.
- Subset naming and grouping is fully configurable.
- All project attributes can now be set directly in OpenPype settings.
- Studio Setting can be locked to prevent unwanted artist changes.
- You can now add per project and per task type templates for workfile initialization in most hosts.
- Too many other individual configurable option to list in this changelog :)
Local Settings
- Local Settings GUI where users can change certain option on individual basis.
- Application executables.
- Project roots.
- Project site sync settings.
Build, Installation and Deployments
- No requirements on artist machine.
- Fully distributed workflow possible.
- Self-contained installation.
- Available on all three major platforms.
- Automatic artist OpenPype updates.
- Studio OpenPype repository for updates distribution.
- Robust Build system.
- Safe studio update versioning with staging and production options.
- MacOS build generates .app and .dmg installer.
- Windows build with installer creation script.
Misc
- System and diagnostic info tool in the tray.
- Launching application from Launcher indicates activity.
- All project roots are now named. Single root project are now achieved by having a single named root in the project anatomy.
- Every project root is cast into environment variable as well, so it can be used in DCC instead of absolute path (depends on DCC support for env vars).
- Basic support for task types, on top of task names.
- Timer now change automatically when the context is switched inside running application.
- 'Master" versions have been renamed to "Hero".
- Extract Burnins now supports file sequences and color settings.
- Extract Review support overscan cropping, better letterboxes and background colour fill.
- Delivery tool for copying and renaming any published assets in bulk.
- Harmony, Photoshop and After Effects now connect directly with OpenPype tray instead of spawning their own terminal.
Project Manager GUI
- Create Projects.
- Create Shots and Assets.
- Create Tasks and assign task types.
- Fill required asset attributes.
- Validations for duplicated or unsupported names.
- Archive Assets.
- Move Asset within hierarchy.
Site Sync (beta)
- Synchronization of published files between workstations and central storage.
- Ability to add arbitrary storage providers to the Site Sync system.
- Default setup includes Disk and Google Drive providers as examples.
- Access to availability information from Loader and Scene Manager.
- Sync queue GUI with filtering, error and status reporting.
- Site sync can be configured on a per-project basis.
- Bulk upload and download from the loader.
Ftrack
- Actions have customisable roles.
- Settings on all actions are updated live and don't need openpype restart.
- Ftrack module can now be turned off completely.
- It is enough to specify ftrack server name and the URL will be formed correctly. So instead of mystudio.ftrackapp.com, it's possible to use simply: "mystudio".
Editorial
- Fully OTIO based editorial publishing.
- Completely re-done Hiero publishing to be a lot simpler and faster.
- Consistent conforming from Resolve, Hiero and Standalone Publisher.
Backend
- OpenPype and Avalon now always share the same database (in 2.x is was possible to split them).
- Major codebase refactoring to allow for better CI, versioning and control of individual integrations.
- OTIO is bundled with build.
- OIIO is bundled with build.
- FFMPEG is bundled with build.
- Rest API and host WebSocket servers have been unified into a single local webserver.
- Maya look assigner has been integrated into the main codebase.
- Publish GUI has been integrated into the main codebase.
- Studio and Project settings overrides are now stored in Mongo.
- Too many other backend fixes and tweaks to list :), you can see full changelog on github for those.
- OpenPype uses Poetry to manage it's virtual environment when running from code.
- all applications can be marked as python 2 or 3 compatible to make the switch a bit easier.
Pull Requests since 3.0.0-rc.6
Implemented enhancements:
- settings: task types enum entity #1605
- Settings: ignore keys in referenced schema #1600
- Maya: support for frame steps and frame lists #1585
- TVPaint: Publish workfile. #1548
- Loader: Current Asset Button #1448
- Hiero: publish with retiming #1377
- Ask user to restart after changing global environments in settings #910
- add option to define paht to workfile template #895
- Harmony: move server console to system tray #676
- Standalone style #1630 (iLLiCiTiT)
- Faster hierarchical values push #1627 (iLLiCiTiT)
- Launcher tool style #1624 (iLLiCiTiT)
- Loader and Library loader enhancements #1623 (iLLiCiTiT)
- Tray style #1622 (iLLiCiTiT)
- Maya schemas cleanup #1610 (iLLiCiTiT)
- Settings: ignore keys in referenced schema #1608 (create-issue-branch[bot])
- settings: task types enum entity #1606 (create-issue-branch[bot])
- Openpype style #1604 (iLLiCiTiT)
- TVPaint: Publish workfile. #1597 (create-issue-branch[bot])
- Nuke: add option to define path to workfile template #1571 (create-issue-branch[bot])
- Crop overscan in Extract Review #1569 (iLLiCiTiT)
- Unreal and Blender: Material Workflow #1562 (simonebarbieri)
- Harmony: move server console to system tray #1560 (create-issue-branch[bot])
- Ask user to restart after changing global environments in settings #1550 (create-issue-branch[bot])
- Hiero: publish with retiming #1545 (create-issue-branch[bot])
Fixed bugs:
- Library loader load asset documents on OpenPype start #1603
- Resolve: unable to load the same footage twice #1317
- Resolve: unable to load footage #1316
- Add required Python 2 modules #1291
- GUi scaling with hires displays #705
- Maya: non unicode string in publish validation #673
- Nuke: Rendered Frame validation is triggered by multiple collections #156
- avalon-core debugging failing #80
- Only check arnold shading group if arnold is used #72
- Sync server Qt layout fix #1621 (iLLiCiTiT)
- Console Listener on Python 2 fix #1620 (iLLiCiTiT)
- Bug: Initialize blessed term only in console mode #1619 (antirotor)
- Settings template skip paths support wrappers #1618 (iLLiCiTiT)
- Maya capture 'isolate_view' fix + minor corrections #1617 (2-REC)
- MacOs Fix launch of standalone publisher #1616 (iLLiCiTiT)
- 'Delivery action' report fix + typos #1612 (2-REC)
- List append fix in mutable dict settings #1599 (iLLiCiTiT)
- Documentation: Maya: fix review #1598 (antirotor)
- Bugfix: Set certifi CA bundle for all platforms #1596 (antirotor)
Merged pull requests:
- Bump dns-packet from 1.3.1 to 1.3.4 in /website #1611 (dependabot[bot])
- Maya: Render workflow fixes #1607 (antirotor)
- Maya: support for frame steps and frame lists #1586 (create-issue-branch[bot])
- 3.0.0 - curated changelog #1284 (mkolar)
2.18.1 (2021-06-03)
Enhancements:
- Faster hierarchical values push #1626
- Feature Delivery in library loader #1549
- Hiero: Initial frame publish support. #1172
Fixed bugs:
- Maya capture 'isolate_view' fix + minor corrections #1614
- 'Delivery action' report fix +typos #1613
- Delivery in LibraryLoader - fixed sequence issue #1590
- FFmpeg filters in quote marks #1588
- Ftrack delete action cause circular error #1581
- Fix Maya playblast. #1566
- More failsafes prevent errored runs. #1554
- Celaction publishing #1539
- celaction: app not starting #1533
Merged pull requests:
CI/3.0.0-rc.6 (2021-05-27)
Implemented enhancements:
- Hiero: publish color and transformation soft-effects #1376
- Get rid of
AVALON\_HIERARCHYandhiearchykey on asset #432 - Sync to avalon do not store hierarchy key #1582 (iLLiCiTiT)
- Tools: launcher scripts for project manager #1557 (antirotor)
- Simple tvpaint publish #1555 (iLLiCiTiT)
- Feature Delivery in library loader #1546 (kalisp)
- Documentation: Dev and system build documentation #1543 (antirotor)
- Color entity #1542 (iLLiCiTiT)
- Extract review bg color #1534 (iLLiCiTiT)
- TVPaint loader settings #1530 (iLLiCiTiT)
- Blender can initialize differente user script paths #1528 (iLLiCiTiT)
- Blender and Unreal: Improved Animation Workflow #1514 (simonebarbieri)
- Hiero: publish color and transformation soft-effects #1511 (create-issue-branch[bot])
Fixed bugs:
- OpenPype specific version issues #1583
- Ftrack login server can't work without stderr #1576
- Mac application launch #1575
- Settings are not propagated to Nuke write nodes #1538
- Subset names settings not applied for publishing #1537
- Nuke: callback at start not setting colorspace #1412
- Pype 3: Missing icon for Settings #1272
- Blender: cannot initialize Avalon if BLENDER_USER_SCRIPTS is already used #1050
- Ftrack delete action cause circular error #206
- Build: stop cleaning of pyc files in build directory #1592 (antirotor)
- Ftrack login server can't work without stderr #1591 (create-issue-branch[bot])
- FFmpeg filters in quote marks #1589 (iLLiCiTiT)
- OpenPype specific version issues #1584 (create-issue-branch[bot])
- Mac application launch #1580 (create-issue-branch[bot])
- Ftrack delete action cause circular error #1579 (iLLiCiTiT)
- Hiero: publishing issues #1578 (jezscha)
- Nuke: callback at start not setting colorspace #1561 (create-issue-branch[bot])
- Bugfix PS subset and quick review #1541 (kalisp)
- Settings are not propagated to Nuke write nodes #1540 (create-issue-branch[bot])
- OpenPype: Powershell scripts polishing #1536 (antirotor)
- Host name collecting fix #1535 (iLLiCiTiT)
- Handle duplicated task names in project manager #1531 (iLLiCiTiT)
- Validate is file attribute in settings schema #1529 (iLLiCiTiT)
Merged pull requests:
- Bump postcss from 8.2.8 to 8.3.0 in /website #1593 (dependabot[bot])
- User installation documentation #1532 (64qam)
CI/3.0.0-rc.5 (2021-05-19)
Implemented enhancements:
- OpenPype: Build - Add progress bars #1524 (antirotor)
- Default environments per host imlementation #1522 (create-issue-branch[bot])
- OpenPype: use
semvermodule for version resolution #1513 (antirotor) - Feature Aftereffects setting cleanup documentation #1510 (kalisp)
- Feature Sync server settings enhancement #1501 (kalisp)
- Project manager #1396 (iLLiCiTiT)
Fixed bugs:
- Unified schema definition #874
- Maya: fix look assignment #1526 (antirotor)
- Bugfix Sync server local site issues #1523 (kalisp)
- Store as list dictionary check initial value with right type #1520 (iLLiCiTiT)
- Maya: wrong collection of playblasted frames #1515 (mkolar)
- Convert pyblish logs to string at the moment of logging #1512 (iLLiCiTiT)
- 3.0 | nuke: fixing start_at with option gui #1509 (jezscha)
- Tests: fix pype -> openpype to make tests work again #1508 (antirotor)
Merged pull requests:
- OpenPype: disable submodule update with
--no-submodule-update#1525 (antirotor) - Ftrack without autosync in Pype 3 #1519 (create-issue-branch[bot])
- Feature Harmony setting cleanup documentation #1506 (kalisp)
- Sync Server beginning of documentation #1471 (kalisp)
- Blender: publish layout json #1348 (create-issue-branch[bot])
2.18.0 (2021-05-18)
Implemented enhancements:
- Default environments per host imlementation #1405
- Blender: publish layout json #1346
- Ftrack without autosync in Pype 3 #1128
- Launcher: started action indicator #1102
- Launch arguments of applications #1094
- Publish: instance info #724
- Review: ability to control review length #482
- Colorized recognition of creator result #394
- event assign user to started task #49
- rebuild containers from reference in maya #55
- nuke Load metadata #66
- Maya: Safer handling of expected render output names #1496 (create-issue-branch[bot])
- TVPaint: Increment workfile version on successfull publish. #1489 (tokejepsen)
- Use SubsetLoader and multiple contexts for delete_old_versions #1484 (tokejepsen)
- Maya: Use of multiple deadline servers #1483 (antirotor)
Fixed bugs:
- Igniter version resolution doesn't consider it's own version #1505
- Maya: Safer handling of expected render output names #1159
- Harmony: Invalid render output from non-conventionally named instance #871
- Existing subsets hints in creator #1503 (iLLiCiTiT)
- nuke: space in node name breaking process #1494 (jezscha)
- Maya: wrong collection of playblasted frames #1517 (mkolar)
- Existing subsets hints in creator #1502 (iLLiCiTiT)
- Use instance frame start instead of timeline. #1486 (tokejepsen)
- Maya: Redshift - set proper start frame on proxy #1480 (antirotor)
Closed issues:
Merged pull requests:
CI/3.0.0-rc.4 (2021-05-12)
Implemented enhancements:
- Resolve: documentation #1490
- Hiero: audio to review #1378
- nks color clips after publish #44
- Store data from modifiable dict as list #1504 (iLLiCiTiT)
- Use SubsetLoader and multiple contexts for delete_old_versions #1497 (iLLiCiTiT)
- Hiero: publish audio and add to review #1493 (create-issue-branch[bot])
- Resolve: documentation #1491 (create-issue-branch[bot])
- Change integratenew template profiles setting #1487 (kalisp)
- Settings tool cleanup #1477 (iLLiCiTiT)
- Sorted Applications and Tools in Custom attribute #1476 (iLLiCiTiT)
- PS - group all published instances #1416 (kalisp)
- OpenPype: Support for Docker #1289 (antirotor)
Fixed bugs:
- Harmony: palettes publishing #1439
- Photoshop: validation for already created images #1435
- Nuke Extracts Thumbnail from frame out of shot range #963
- Instance in same Context repairing #390
- User Inactivity - Start timers sets wrong time #91
- Use instance frame start instead of timeline #1499 (mkolar)
- Various smaller fixes #1498 (mkolar)
- nuke: space in node name breaking process #1495 (jezscha)
- Codec determination in extract burnin #1492 (iLLiCiTiT)
- Undefined constant in subprocess module #1485 (iLLiCiTiT)
- List entity catch add/remove item changes properly #1482 (iLLiCiTiT)
- Resolve: additional fixes of publishing workflow #1481 (jezscha)
- Photoshop: validation for already created images #1436 (create-issue-branch[bot])
Merged pull requests:
2.17.3 (2021-05-06)
Fixed bugs:
CI/3.0.0-rc.3 (2021-05-05)
Implemented enhancements:
- Path entity with placeholder #1473 (iLLiCiTiT)
- Burnin custom font filepath #1472 (iLLiCiTiT)
- Poetry: Move to OpenPype #1449 (antirotor)
Fixed bugs:
- Mac SSL path needs to be relative to pype_root #1469
- Resolve: fix loading clips to timeline #1421
- Wrong handling of slashes when loading on mac #1411
- Nuke openpype3 #1342
- Houdini launcher #1171
- Fix SyncServer get_enabled_projects should handle global state #1475 (kalisp)
- Igniter buttons enable/disable fix #1474 (iLLiCiTiT)
- Mac SSL path needs to be relative to pype_root #1470 (create-issue-branch[bot])
- Resolve: 17 compatibility issues and load image sequences #1422 (create-issue-branch[bot])
CI/3.0.0-rc.2 (2021-05-04)
Implemented enhancements:
- Extract burnins with sequences #1467 (iLLiCiTiT)
- Extract burnins with color setting #1466 (iLLiCiTiT)
Fixed bugs:
2.17.2 (2021-05-04)
Implemented enhancements:
CI/3.0.0-rc.1 (2021-05-04)
Implemented enhancements:
- Only show studio settings to admins #1406
- Ftrack specific settings save warning messages #1458 (iLLiCiTiT)
- Faster settings actions #1446 (iLLiCiTiT)
- Feature/sync server priority #1444 (kalisp)
- Faster settings UI loading #1442 (iLLiCiTiT)
- Igniter re-write #1441 (mkolar)
- Wrap openpype build into installers #1419 (create-issue-branch[bot])
- Extract review first documentation #1404 (iLLiCiTiT)
- Blender PySide2 install guide #1403 (iLLiCiTiT)
- Nuke: deadline submission with gpu #1394 (create-issue-branch[bot])
- Igniter: Reverse item filter for OpenPype version #1349 (antirotor)
Fixed bugs:
- OpenPype Mongo URL definition #1450
- Various typos and smaller fixes #1464 (mkolar)
- Validation of dynamic items in settings #1462 (iLLiCiTiT)
- List can handle new items correctly #1459 (iLLiCiTiT)
- Settings actions process fix #1457 (iLLiCiTiT)
- Add to overrides actions fix #1456 (iLLiCiTiT)
- OpenPype Mongo URL definition #1455 (create-issue-branch[bot])
- Global settings save/load out of system settings #1447 (iLLiCiTiT)
- Keep metadata on remove overrides #1445 (iLLiCiTiT)
- Nuke: fixing undo for loaded mov and sequence #1432 (jezscha)
- ExtractReview skip empty strings from settings #1431 (iLLiCiTiT)
- Bugfix Sync server tweaks #1430 (kalisp)
- Hiero: missing thumbnail in review #1429 (create-issue-branch[bot])
- Bugfix Maya in deadline for OpenPype #1428 (kalisp)
- AE - validation for duration was 1 frame shorter #1427 (kalisp)
- Houdini menu filename #1418 (iLLiCiTiT)
- Fix Avalon plugins attribute overrides #1413 (iLLiCiTiT)
- Nuke: submit to Deadline fails #1409 (create-issue-branch[bot])
- Validate MongoDB Url on start #1407 (iLLiCiTiT)
- Nuke: fix set colorspace with new settings #1386 (create-issue-branch[bot])
- MacOs build and install issues #1380 (mkolar)
Closed issues:
- test #1452
Merged pull requests:
- TVPaint frame range definition #1425 (iLLiCiTiT)
- Only show studio settings to admins #1420 (create-issue-branch[bot])
- TVPaint documentation #1305 (64qam)
2.17.1 (2021-04-30)
Enhancements:
- Nuke: deadline submission with gpu #1414
- TVPaint frame range definition #1424
- PS - group all published instances #1415
- Add task name to context pop up. #1383
- Enhance review letterbox feature. #1371
Fixed bugs:
Merged pull requests:
- Maya: Vray - problem getting all file nodes for look publishing #1399
- Maya: Support for Redshift proxies #1360
2.17.0 (2021-04-20)
Enhancements:
- Forward compatible ftrack group #1243
- Settings in mongo as dict #1221
- Maya: Make tx option configurable with presets #1328
- TVPaint asset name validation #1302
- TV Paint: Set initial project settings. #1299
- TV Paint: Validate mark in and out. #1298
- Validate project settings #1297
- After Effects: added SubsetManager #1234
- Show error message in pyblish UI #1206
Fixed bugs:
- Hiero: fixing source frame from correct object #1362
- Nuke: fix colourspace, prerenders and nuke panes opening #1308
- AE remove orphaned instance from workfile - fix self.stub #1282
- Nuke: deadline submission with search replaced env values from preset #1194
- Ftrack custom attributes in bulks #1312
- Ftrack optional pypclub role #1303
- After Effects: remove orphaned instances #1275
- Avalon schema names #1242
- Handle duplication of Task name #1226
- Modified path of plugin loads for Harmony and TVPaint #1217
- Regex checks in profiles filtering #1214
- Bulk mov strict task #1204
- Update custom ftrack session attributes #1202
- Nuke: write node colorspace ignore
default\(\)label #1199 - Nuke: reverse search to make it more versatile #1178
2.16.0 (2021-03-22)
Enhancements:
- Nuke: deadline submit limit group filter #1167
- Maya: support for Deadline Group and Limit Groups - backport 2.x #1156
- Maya: fixes for Redshift support #1152
- Nuke: adding preset for a Read node name to all img and mov Loaders #1146
- nuke deadline submit with environ var from presets overrides #1142
- Change timers after task change #1138
- Nuke: shortcuts for Pype menu #1127
- Nuke: workfile template #1124
- Sites local settings by site name #1117
- Reset loader's asset selection on context change #1106
- Bulk mov render publishing #1101
- Photoshop: mark publishable instances #1093
- Added ability to define BG color for extract review #1088
- TVPaint extractor enhancement #1080
- Photoshop: added support for .psb in workfiles #1078
- Optionally add task to subset name #1072
- Only extend clip range when collecting. #1008
- Collect audio for farm reviews. #1073
Fixed bugs:
- Fix path spaces in jpeg extractor #1174
- Maya: Bugfix: superclass for CreateCameraRig #1166
- Maya: Submit to Deadline - fix typo in condition #1163
- Avoid dot in repre extension #1125
- Fix versions variable usage in standalone publisher #1090
- Collect instance data fix subset query #1082
- Fix getting the camera name. #1067
- Nuke: Ensure "NUKE_TEMP_DIR" is not part of the Deadline job environment. #1064
2.15.3 (2021-02-26)
Enhancements:
- Maya: speedup renderable camera collection #1053
- Harmony - add regex search to filter allowed task names for collectin… #1047
Fixed bugs:
- Ftrack integrate hierarchy fix #1085
- Explicit subset filter in anatomy instance data #1059
- TVPaint frame offset #1057
- Auto fix unicode strings #1046
2.15.2 (2021-02-19)
Enhancements:
- Maya: Vray scene publishing #1013
Fixed bugs:
- Fix entity move under project #1040
- smaller nuke fixes from production #1036
- TVPaint thumbnail extract fix #1031
2.15.1 (2021-02-12)
Enhancements:
Fixed bugs:
2.15.0 (2021-02-09)
Enhancements:
- Resolve - loading and updating clips #932
- Release/2.15.0 #926
- Photoshop: add option for template.psd and prelaunch hook #894
- Nuke: deadline presets #993
- Maya: Alembic only set attributes that exists. #986
- Harmony: render local and handle fixes #981
- PSD Bulk export of ANIM group #965
- AE - added prelaunch hook for opening last or workfile from template #944
- PS - safer handling of loading of workfile #941
- Maya: Handling Arnold referenced AOVs #938
- TVPaint: switch layer IDs for layer names during identification #903
- TVPaint audio/sound loader #893
- Clone review session with children. #891
- Simple compositing data packager for freelancers #884
- Harmony deadline submission #881
- Maya: Optionally hide image planes from reviews. #840
- Maya: handle referenced AOVs for Vray #824
- DWAA/DWAB support on windows #795
- Unreal: animation, layout and setdress updates #695
Fixed bugs:
- Maya: Looks - disable hardlinks #995
- Fix Ftrack custom attribute update #982
- Prores ks in burnin script #960
- terminal.py crash on import #839
- Extract review handle bizarre pixel aspect ratio #990
- Nuke: add nuke related env var to sumbission #988
- Nuke: missing preset's variable #984
- Get creator by name fix #979
- Fix update of project's tasks on Ftrack sync #972
- nuke: wrong frame offset in mov loader #971
- Create project structure action fix multiroot #967
- PS: remove pywin installation from hook #964
- Prores ks in burnin script #959
- Subset family is now stored in subset document #956
- DJV new version arguments #954
- TV Paint: Fix single frame Sequence #953
- nuke: missing
fileknob update #933 - Photoshop: Create from single layer was failing #920
- Nuke: baking mov with correct colorspace inherited from write #909
- Launcher fix actions discover #896
- Get the correct file path for the updated mov. #889
- Maya: Deadline submitter - shared data access violation #831
- Maya: Take into account vray master AOV switch #822
Merged pull requests:
- Refactor blender to 3.0 format #934
2.14.6 (2021-01-15)
Fixed bugs:
- Nuke: improving of hashing path #885
Merged pull requests:
2.14.5 (2021-01-06)
Merged pull requests:
- Pype logger refactor #866
2.14.4 (2020-12-18)
Merged pull requests:
- Fix - AE - added explicit cast to int #837
2.14.3 (2020-12-16)
Fixed bugs:
- TVPaint repair invalid metadata #809
- Feature/push hier value to nonhier action #807
- Harmony: fix palette and image sequence loader #806
Merged pull requests:
- respecting space in path #823
2.14.2 (2020-12-04)
Enhancements:
- Collapsible wrapper in settings #767
Fixed bugs:
- Harmony: template extraction and palettes thumbnails on mac #768
- TVPaint store context to workfile metadata
764#766 - Extract review audio cut fix #763
Merged pull requests:
2.14.1 (2020-11-27)
Enhancements:
Fixed bugs:
- After Effects: frame range, file format and render source scene fixes #760
- Hiero: trimming review with clip event number #754
- TVPaint: fix updating of loaded subsets #752
- Maya: Vray handling of default aov #748
- Maya: multiple renderable cameras in layer didn't work #744
- Ftrack integrate custom attributes fix #742
2.14.0 (2020-11-23)
Enhancements:
- Render publish plugins abstraction #687
- Shot asset build trigger status #736
- Maya: add camera rig publishing option #721
- Sort instances by label in pyblish gui #719
- Synchronize ftrack hierarchical and shot attributes #716
- 686 standalonepublisher editorial from image sequences #699
- Ask user to select non-default camera from scene or create a new. #678
- TVPaint: image loader with options #675
- Maya: Camera name can be added to burnins. #674
- After Effects: base integration with loaders #667
- Harmony: Javascript refactoring and overall stability improvements #666
Fixed bugs:
- Bugfix Hiero Review / Plate representation publish #743
- Asset fetch second fix #726
- TVPaint extract review fix #740
- After Effects: Review were not being sent to ftrack #738
- Maya: vray proxy was not loading #722
- Maya: Vray expected file fixes #682
- Missing audio on farm submission. #639
Deprecated:
Merged pull requests:
- Application manager #728
- Feature #664 3.0 lib refactor #706
- Lib from illicit part 2 #700
- 3.0 lib refactor - path tools #697
2.13.7 (2020-11-19)
Fixed bugs:
- Standalone Publisher: getting fps from context instead of nonexistent entity #729
2.13.6 (2020-11-15)
Fixed bugs:
- Maya workfile version wasn't syncing with renders properly #711
- Maya: Fix for publishing multiple cameras with review from the same scene #710
2.13.5 (2020-11-12)
Enhancements:
- 3.0 lib refactor #664
Fixed bugs:
- Wrong thumbnail file was picked when publishing sequence in standalone publisher #703
- Fix: Burnin data pass and FFmpeg tool check #701
2.13.4 (2020-11-09)
Enhancements:
- AfterEffects integration with Websocket #663
Fixed bugs:
Closed issues:
- Nuke Favorite directories "shot dir" "project dir" - not working #684
Merged pull requests:
- Nuke Favorite directories "shot dir" "project dir" - not working #684 #685
2.13.3 (2020-11-03)
Enhancements:
- TV paint base integration #612
Fixed bugs:
2.13.2 (2020-10-28)
Fixed bugs:
- Nuke: wrong conditions when fixing legacy write nodes #665
2.13.1 (2020-10-23)
Enhancements:
- move maya look assigner to pype menu #292
Fixed bugs:
- Layer name is not propagating to metadata in Photoshop #654
- Loader in Photoshop fails with "can't set attribute" #650
- Nuke Load mp4 wrong frame range #661
- Hiero: Review video file adding one frame to the end #659
2.13.0 (2020-10-18)
Enhancements:
- Deadline Output Folder #636
- Nuke Camera Loader #565
- Deadline publish job shows publishing output folder #649
- Get latest version in lib #642
- Improved publishing of multiple representation from SP #638
- Launch TvPaint shot work file from within Ftrack #631
- Add mp4 support for RV action. #628
- Maya: allow renders to have version synced with workfile #618
- Renaming nukestudio host folder to hiero #617
- Harmony: More efficient publishing #615
- Ftrack server action improvement #608
- Deadline user defaults to pype username if present #607
- Standalone publisher now has icon #606
- Nuke render write targeting knob improvement #603
- Animated pyblish gui #602
- Maya: Deadline - make use of asset dependencies optional #591
- Nuke: Publishing, loading and updating alembic cameras #575
- Maya: add look assigner to pype menu even if scriptsmenu is not available #573
- Store task types in the database #572
- Maya: Tiled EXRs to scanline EXRs render option #512
- Fusion basic integration #452
Fixed bugs:
- Burnin script did not propagate ffmpeg output #640
- Pyblish-pype spacer in terminal wasn't transparent #646
- Lib subprocess without logger #645
- Nuke: prevent crash if we only have single frame in sequence #644
- Burnin script logs better output #641
- Missing audio on farm submission. #639
- review from imagesequence error #633
- Hiero: wrong order of fps clip instance data collecting #627
- Add source for review instances. #625
- Task processing in event sync #623
- sync to avalon doesn t remove renamed task #619
- Intent publish setting wasn't working with default value #562
- Maya: Updating a look where the shader name changed, leaves the geo without a shader #514
Merged pull requests:
2.12.5 (2020-10-14)
Enhancements:
- Launch TvPaint shot work file from within Ftrack #629
Merged pull requests:
- Harmony: Disable application launch logic #637
2.12.4 (2020-10-08)
Enhancements:
Fixed bugs:
Merged pull requests:
2.12.3 (2020-10-06)
Enhancements:
- Nuke Publish Camera #567
- Harmony: open xstage file no matter of its name #526
- Stop integration of unwanted data #387
- Move avalon-launcher functionality to pype #229
- avalon workfiles api #214
- Store task types #180
- Avalon Mongo Connection split #136
- nk camera workflow #71
- Hiero integration added #590
- Anatomy instance data collection is substantially faster for many instances #560
Fixed bugs:
- test issue #596
- Harmony: empty scene contamination #583
- Edit publishing in SP doesn't respect shot selection for publishing #542
- Pathlib breaks compatibility with python2 hosts #281
- Updating a look where the shader name changed leaves the geo without a shader #237
- Better error handling #84
- Harmony: function signature #609
- Nuke: gizmo publishing error #594
- Harmony: fix clashing namespace of called js functions #584
- Maya: fix maya scene type preset exception #569
Closed issues:
- Nuke Gizmo publishing #597
- nuke gizmo publishing error #592
- Publish EDL #579
- Publish render from SP #576
- rename ftrack custom attribute group to
pype#184
Merged pull requests:
- Audio file existence check #614
- NKS small fixes #587
- Standalone publisher editorial plugins interfering #580
2.12.2 (2020-09-25)
Enhancements:
- pype config GUI #241
Fixed bugs:
- Harmony: Saving heavy scenes will crash #507
- Extract review a representation name with
\*\_burnin#388 - Hierarchy data was not considering active isntances #551
2.12.1 (2020-09-15)
Fixed bugs:
- Pype: changelog.md is outdated #503
- dependency security alert ! #484
- Maya: RenderSetup is missing update #106
- <pyblish plugin> extract effects creates new instance #78
2.12.0 (2020-09-10)
Enhancements:
- Less mongo connections #509
- Nuke: adding image loader #499
- Move launcher window to top if launcher action is clicked #450
- Maya: better tile rendering support in Pype #446
- Implementation of non QML launcher #443
- Optional skip review on renders. #441
- Ftrack: Option to push status from task to latest version #440
- Properly containerize image plane loads. #434
- Option to keep the review files. #426
- Isolate view on instance members. #425
- Maya: Publishing of tile renderings on Deadline #398
- Feature/little bit better logging gui #383
Fixed bugs:
- Maya: Fix tile order for Draft Tile Assembler #511
- Remove extra dash #501
- Fix: strip dot from repre names in single frame renders #498
- Better handling of destination during integrating #485
- Fix: allow thumbnail creation for single frame renders #460
- added missing argument to launch_application in ftrack app handler #453
- Burnins: Copy bit rate of input video to match quality. #448
- Standalone publisher is now independent from tray #442
- Bugfix/empty enumerator attributes #436
- Fixed wrong order of "other" category collapssing in publisher #435
- Multiple reviews where being overwritten to one. #424
- Cleanup plugin fail on instances without staging dir #420
- deprecated -intra parameter in ffmpeg to new
-g#417 - Delivery action can now work with entered path #397
Merged pull requests:
- Review on instance.data #473
2.11.8 (2020-08-27)
Enhancements:
- DWAA support for Maya #382
- Isolate View on Playblast #367
- Maya: Tile rendering #297
- single pype instance running #47
- PYPE-649: projects don't guarantee backwards compatible environment #8
- PYPE-663: separate venv for each deployed version #7
Fixed bugs:
- pyblish pype - other group is collapsed before plugins are done #431
- Alpha white edges in harmony on PNGs #412
- harmony image loader picks wrong representations #404
- Clockify crash when response contain symbol not allowed by UTF-8 #81
2.11.7 (2020-08-21)
Fixed bugs:
2.11.6 (2020-08-18)
Enhancements:
- publisher app #56
2.11.5 (2020-08-13)
Enhancements:
- Switch from master to equivalent #220
- Standalone publisher now only groups sequence if the extension is known #439
Fixed bugs:
- Logs have been disable for editorial by default to speed up publishing #433
- additional fixes for celaction #430
- Harmony: invalid variable scope in validate scene settings #428
- new representation name for audio was not accepted #427
2.11.4 (2020-08-10)
Enhancements:
2.11.3 (2020-08-04)
Fixed bugs:
- Harmony: publishing performance issues #408
2.11.2 (2020-07-31)
Fixed bugs:
- Ftrack to Avalon bug #406
2.11.1 (2020-07-29)
Merged pull requests:
- Celaction: metadata json folder fixes on path #393
- CelAction - version up method taken fro pype.lib #391
2.11.0
release date: 27 July 2020
new:
- (blender) namespace support #341
- (blender) start end frames #330
- (blender) camera asset #322
- (pype) toggle instances per family in pyblish GUI #320
- (pype) current release version is now shown in the tray menu #379
improved:
- (resolve) tagging for publish #239
- (pype) Support publishing a subset of shots with standalone editorial #336
- (harmony) Basic support for palettes #324
- (photoshop) Flag outdated containers on startup and publish. #309
- (harmony) Flag Outdated containers #302
- (photoshop) Publish review #298
- (pype) Optional Last workfile launch #365
fixed:
- (premiere) workflow fixes #346
- (pype) pype-setup does not work with space in path #327
- (ftrack) Ftrack delete action cause circular error #206
- (nuke) Priority was forced to 50 #345
- (nuke) Fix ValidateNukeWriteKnobs #340
- (maya) If camera attributes are connected, we can ignore them. #339
- (pype) stop appending of tools environment to existing env #337
- (ftrack) Ftrack timeout needs to look at AVALON_TIMEOUT #325
- (harmony) Only zip files are supported. #310
- (pype) hotfix/Fix event server mongo uri #305
- (photoshop) Subset was not named or validated correctly. #304
2.10.0
release date: 17 June 2020
new:
- (harmony) Toon Boom Harmony has been greatly extended to support rigging, scene build, animation and rendering workflows. #270 #271 #190 #191 #172 #168
- (pype) Added support for rudimentary edl publishing into individual shots. #265
- (celaction) Simple Celaction integration has been added with support for workfiles and rendering. #255
- (maya) Support for multiple job types when submitting to the farm. We can now render Maya or Standalone render jobs for Vray and Arnold (limited support for arnold) #204
- (photoshop) Added initial support for Photoshop #232
improved:
- (blender) Updated support for rigs and added support Layout family #233 #226
- (premiere) It is now possible to choose different storage root for workfiles of different task types. #255
- (maya) Support for unmerged AOVs in Redshift multipart EXRs #197
- (pype) Pype repository has been refactored in preparation for 3.0 release #169
- (deadline) All file dependencies are now passed to deadline from maya to prevent premature start of rendering if caches or textures haven't been coppied over yet. #195
- (nuke) Script validation can now be made optional. #194
- (pype) Publishing can now be stopped at any time. #194
fix:
- (pype) Pyblish-lite has been integrated into pype repository, plus various publishing GUI fixes. #274 #275 #268 #227 #238
- (maya) Alembic extractor was getting wrong frame range type in certain scenarios #254
- (maya) Attaching a render to subset in maya was not passing validation in certain scenarios #256
- (ftrack) Various small fixes to ftrack sync #263 #259
- (maya) Look extraction is now able to skp invalid connections in shaders #207
2.9.0
release date: 25 May 2020
new:
- (pype) Support for Multiroot projects. You can now store project data on multiple physical or virtual storages and target individual publishes to these locations. For instance render can be stored on a faster storage than the rest of the project. #145, #38
- (harmony) Basic implementation of Toon Boom Harmony has been added. #142
- (pype) OSX support is in public beta now. There are issues to be expected, but the main implementation should be functional. #141
improved:
- (pype) Review extractor has been completely rebuilt. It now supports granular filtering so you can create multiple outputs for different tasks, families or hosts. #103, #166, #165
- (pype) Burnin generation had been extended to support same multi-output filtering as review extractor #103
- (pype) Publishing file templates can now be specified in config for each individual family #114
- (pype) Studio specific plugins can now be appended to pype standard publishing plugins. #112
- (nukestudio) Reviewable clips no longer need to be previously cut, exported and re-imported to timeline. Pype can now dynamically cut reviewable quicktimes from continuous offline footage during publishing. #23
- (deadline) Deadline can now correctly differentiate between staging and production pype. #154
- (deadline)
PYPE_PYTHON_EXEenv variable can now be used to direct publishing to explicit python installation. #120 - (nuke) Nuke now check for new version of loaded data on file open. #140
- (nuke) frame range and limit checkboxes are now exposed on write node. #119
fix:
- (nukestudio) Project Location was using backslashes which was breaking nukestudio native exporting in certains configurations #82
- (nukestudio) Duplicity in hierarchy tags was prone to throwing publishing error #130, #144
- (ftrack) multiple stability improvements #157, #159, #128, #118, #127
- (deadline) multipart EXRs were stopping review publishing on the farm. They are still not supported for automatic review generation, but the publish will go through correctly without the quicktime. #155
- (deadline) If deadline is non-responsive it will no longer freeze host when publishing #149
- (deadline) Sometimes deadline was trying to launch render before all the source data was coppied over. #137 (harmony) Basic implementation of Toon Boom Harmony has been added. #142
- (nuke) Filepath knob wasn't updated properly. #131
- (maya) When extracting animation, the "Write Color Set" options on the instance were not respected. #108
- (maya) Attribute overrides for AOV only worked for the legacy render layers. Now it works for new render setup as well #132
- (maya) Stability and usability improvements in yeti workflow #104
2.8.0
release date: 20 April 2020
new:
- (pype) Option to generate slates from json templates. [PYPE-628] #26
- (pype) It is now possible to automate loading of published subsets into any scene. Documentation will follow :). [PYPE-611] #24
fix:
- (maya) Some Redshift render tokens could break publishing. [PYPE-778] #33
- (maya) Publish was not preserving maya file extension. #39
- (maya) Rig output validator was failing on nodes without shapes. #40
- (maya) Yeti caches can now be properly versioned up in the scene inventory. #40
- (nuke) Build first workfiles was not accepting jpeg sequences. #34
- (deadline) Trying to generate ffmpeg review from multipart EXRs no longer crashes publishing. [PYPE-781]
- (deadline) Render publishing is more stable in multiplatform environments. [PYPE-775]
2.7.0
release date: 30 March 2020
new:
- (maya) Artist can now choose to load multiple references of the same subset at once [PYPE-646, PYPS-81]
- (nuke) Option to use named OCIO colorspaces for review colour baking. [PYPS-82]
- (pype) Pype can now work with
masterversions for publishing and loading. These are non-versioned publishes that are overwritten with the latest version during publish. These are now supported in all the GUIs, but their publishing is deactivated by default. [PYPE-653] - (blender) Added support for basic blender workflow. We currently support
rig,modelandanimationfamilies. [PYPE-768] - (pype) Source timecode can now be used in burn-ins. [PYPE-777]
- (pype) Review outputs profiles can now specify delivery resolution different than project setting [PYPE-759]
- (nuke) Bookmark to current context is now added automatically to all nuke browser windows. [PYPE-712]
change:
- (maya) It is now possible to publish camera without. baking. Keep in mind that unbaked cameras can't be guaranteed to work in other hosts. [PYPE-595]
- (maya) All the renders from maya are now grouped in the loader by their Layer name. [PYPE-482]
- (nuke/hiero) Any publishes from nuke and hiero can now be versioned independently of the workfile. [PYPE-728]
fix:
- (nuke) Mixed slashes caused issues in ocio config path.
- (pype) Intent field in pyblish GUI was passing label instead of value to ftrack. [PYPE-733]
- (nuke) Publishing of pre-renders was inconsistent. [PYPE-766]
- (maya) Handles and frame ranges were inconsistent in various places during publishing.
- (nuke) Nuke was crashing if it ran into certain missing knobs. For example DPX output missing
autocrop[PYPE-774] - (deadline) Project overrides were not working properly with farm render publishing.
- (hiero) Problems with single frame plates publishing.
- (maya) Redshift RenderPass token were breaking render publishing. [PYPE-778]
- (nuke) Build first workfile was not accepting jpeg sequences.
- (maya) Multipart (Multilayer) EXRs were breaking review publishing due to FFMPEG incompatiblity [PYPE-781]
2.6.0
release date: 9 March 2020
change:
- (maya) render publishing has been simplified and made more robust. Render setup layers are now automatically added to publishing subsets and
render globalsfamily has been replaced with simplerender[PYPE-570] - (avalon) change context and workfiles apps, have been merged into one, that allows both actions to be performed at the same time. [PYPE-747]
- (pype) thumbnails are now automatically propagate to asset from the last published subset in the loader
- (ftrack) publishing comment and intent are now being published to ftrack note as well as describtion. [PYPE-727]
- (pype) when overriding existing version new old representations are now overriden, instead of the new ones just being appended. (to allow this behaviour, the version validator need to be disabled. [PYPE-690])
- (pype) burnin preset has been significantly simplified. It now doesn't require passing function to each field, but only need the actual text template. to use this, all the current burnin PRESETS MUST BE UPDATED for all the projects.
- (ftrack) credentials are now stored on a per server basis, so it's possible to switch between ftrack servers without having to log in and out. [PYPE-723]
new:
- (pype) production and development deployments now have different colour of the tray icon. Orange for Dev and Green for production [PYPE-718]
- (maya) renders can now be attached to a publishable subset rather than creating their own subset. For example it is possible to create a reviewable
lookormodelrender and have it correctly attached as a representation of the subsets [PYPE-451] - (maya) after saving current scene into a new context (as a new shot for instance), all the scene publishing subsets data gets re-generated automatically to match the new context [PYPE-532]
- (pype) we now support project specific publish, load and create plugins [PYPE-740]
- (ftrack) new action that allow archiving/deleting old published versions. User can keep how many of the latest version to keep when the action is ran. [PYPE-748, PYPE-715]
- (ftrack) it is now possible to monitor and restart ftrack event server using ftrack action. [PYPE-658]
- (pype) validator that prevent accidental overwrites of previously published versions. [PYPE-680]
- (avalon) avalon core updated to version 5.6.0
- (maya) added validator to make sure that relative paths are used when publishing arnold standins.
- (nukestudio) it is now possible to extract and publish audio family from clip in nuke studio [PYPE-682]
fix:
- (maya) maya set framerange button was ignoring handles [PYPE-719]
- (ftrack) sync to avalon was sometime crashing when ran on empty project
- (nukestudio) publishing same shots after they've been previously archived/deleted would result in a crash. [PYPE-737]
- (nuke) slate workflow was breaking in certain scenarios. [PYPE-730]
- (pype) rendering publish workflow has been significantly improved to prevent error resulting from implicit render collection. [PYPE-665, PYPE-746]
- (pype) launching application on a non-synced project resulted in obscure [PYPE-528]
- (pype) missing keys in burnins no longer result in an error. [PYPE-706]
- (ftrack) create folder structure action was sometimes failing for project managers due to wrong permissions.
- (Nukestudio) using
sourcein the start frame tag could result in wrong frame range calculation - (ftrack) sync to avalon action and event have been improved by catching more edge cases and provessing them properly.
2.5.0
release date: 11 Feb 2020
change:
- (pype) added many logs for easier debugging
- (pype) review presets can now be separated between 2d and 3d renders [PYPE-693]
- (pype) anatomy module has been greatly improved to allow for more dynamic pulblishing and faster debugging [PYPE-685]
- (pype) avalon schemas have been moved from
pype-configtopyperepository, for simplification. [PYPE-670] - (ftrack) updated to latest ftrack API
- (ftrack) publishing comments now appear in ftrack also as a note on version with customisable category [PYPE-645]
- (ftrack) delete asset/subset action had been improved. It is now able to remove multiple entities and descendants of the selected entities [PYPE-361, PYPS-72]
- (workfiles) added date field to workfiles app [PYPE-603]
- (maya) old deprecated loader have been removed in favour of a single unified reference loader (old scenes will upgrade automatically to the new loader upon opening) [PYPE-633, PYPE-697]
- (avalon) core updated to 5.5.15 [PYPE-671]
- (nuke) library loader is now available in nuke [PYPE-698]
new:
- (pype) added pype render wrapper to allow rendering on mixed platform farms. [PYPE-634]
- (pype) added
pype launchcommand. It let's admin run applications with dynamically built environment based on the given context. [PYPE-634] - (pype) added support for extracting review sequences with burnins [PYPE-657]
- (publish) users can now set intent next to a comment when publishing. This will then be reflected on an attribute in ftrack. [PYPE-632]
- (burnin) timecode can now be added to burnin
- (burnin) datetime keys can now be added to burnin and anatomy [PYPE-651]
- (burnin) anatomy templates can now be used in burnins. [PYPE=626]
- (nuke) new validator for render resolution
- (nuke) support for attach slate to nuke renders [PYPE-630]
- (nuke) png sequences were added to loaders
- (maya) added maya 2020 compatibility [PYPE-677]
- (maya) ability to publish and load .ASS standin sequences [PYPS-54]
- (pype) thumbnails can now be published and are visible in the loader.
AVALON_THUMBNAIL_ROOTenvironment variable needs to be set for this to work [PYPE-573, PYPE-132] - (blender) base implementation of blender was added with publishing and loading of .blend files [PYPE-612]
- (ftrack) new action for preparing deliveries [PYPE-639]
fix:
- (burnin) more robust way of finding ffmpeg for burnins.
- (pype) improved UNC paths remapping when sending to farm.
- (pype) float frames sometimes made their way to representation context in database, breaking loaders [PYPE-668]
- (pype)
pype install --forcewas failing sometimes [PYPE-600] - (pype) padding in published files got calculated wrongly sometimes. It is now instead being always read from project anatomy. [PYPE-667]
- (publish) comment publishing was failing in certain situations
- (ftrack) multiple edge case scenario fixes in auto sync and sync-to-avalon action
- (ftrack) sync to avalon now works on empty projects
- (ftrack) thumbnail update event was failing when deleting entities [PYPE-561]
- (nuke) loader applies proper colorspaces from Presets
- (nuke) publishing handles didn't always work correctly [PYPE-686]
- (maya) assembly publishing and loading wasn't working correctly
2.4.0
release date: 9 Dec 2019
change:
- (ftrack) version to status ftrack event can now be configured from Presets
- based on preset
presets/ftracc/ftrack_config.json["status_version_to_task"]
- based on preset
- (ftrack) sync to avalon event has been completely re-written. It now supports most of the project management situations on ftrack including moving, renaming and deleting entities, updating attributes and working with tasks.
- (ftrack) sync to avalon action has been also re-writen. It is now much faster (up to 100 times depending on a project structure), has much better logging and reporting on encountered problems, and is able to handle much more complex situations.
- (ftrack) sync to avalon trigger by checking
auto-synctoggle on ftrack [PYPE-504] - (pype) various new features in the REST api
- (pype) new visual identity used across pype
- (pype) started moving all requirements to pip installation rather than vendorising them in pype repository. Due to a few yet unreleased packages, this means that pype can temporarily be only installed in the offline mode.
new:
- (nuke) support for publishing gizmos and loading them as viewer processes
- (nuke) support for publishing nuke nodes from backdrops and loading them back
- (pype) burnins can now work with start and end frames as keys
- use keys
{frame_start},{frame_end}and{current_frame}in burnin preset to use them. [PYPS-44,PYPS-73, PYPE-602]
- use keys
- (pype) option to filter logs by user and level in loggin GUI
- (pype) image family added to standalone publisher [PYPE-574]
- (pype) matchmove family added to standalone publisher [PYPE-574]
- (nuke) validator for comparing arbitrary knobs with values from presets
- (maya) option to force maya to copy textures in the new look publish rather than hardlinking them
- (pype) comments from pyblish GUI are now being added to ftrack version
- (maya) validator for checking outdated containers in the scene
- (maya) option to publish and load arnold standin sequence [PYPE-579, PYPS-54]
fix:
- (pype) burnins were not respecting codec of the input video
- (nuke) lot's of various nuke and nuke studio fixes across the board [PYPS-45]
- (pype) workfiles app is not launching with the start of the app by default [PYPE-569]
- (ftrack) ftrack integration during publishing was failing under certain situations [PYPS-66]
- (pype) minor fixes in REST api
- (ftrack) status change event was crashing when the target status was missing [PYPS-68]
- (ftrack) actions will try to reconnect if they fail for some reason
- (maya) problems with fps mapping when using float FPS values
- (deadline) overall improvements to deadline publishing
- (setup) environment variables are now remapped on the fly based on the platform pype is running on. This fixes many issues in mixed platform environments.
2.3.6
release date: 27 Nov 2019
hotfix:
- (ftrack) was hiding important debug logo
- (nuke) crashes during workfile publishing
- (ftrack) event server crashes because of signal problems
- (muster) problems with muster render submissions
- (ftrack) thumbnail update event syntax errors
2.3.0
release date: 6 Oct 2019
new:
- (maya) support for yeti rigs and yeti caches
- (maya) validator for comparing arbitrary attributes against ftrack
- (pype) burnins can now show current date and time
- (muster) pools can now be set in render globals in maya
- (pype) Rest API has been implemented in beta stage
- (nuke) LUT loader has been added
- (pype) rudimentary user module has been added as preparation for user management
- (pype) a simple logging GUI has been added to pype tray
- (nuke) nuke can now bake input process into mov
- (maya) imported models now have selection handle displayed by defaulting
- (avalon) it's is now possible to load multiple assets at once using loader
- (maya) added ability to automatically connect yeti rig to a mesh upon loading
changed:
- (ftrack) event server now runs two parallel processes and is able to keep queue of events to process.
- (nuke) task name is now added to all rendered subsets
- (pype) adding more families to standalone publisher
- (pype) standalone publisher now uses pyblish-lite
- (pype) standalone publisher can now create review quicktimes
- (ftrack) queries to ftrack were sped up
- (ftrack) multiple ftrack action have been deprecated
- (avalon) avalon upstream has been updated to 5.5.0
- (nukestudio) published transforms can now be animated
fix:
- (maya) fps popup button didn't work in some cases
- (maya) geometry instances and references in maya were losing shader assignments
- (muster) muster rendering templates were not working correctly
- (maya) arnold tx texture conversion wasn't respecting colorspace set by the artist
- (pype) problems with avalon db sync
- (maya) ftrack was rounding FPS making it inconsistent
- (pype) wrong icon names in Creator
- (maya) scene inventory wasn't showing anything if representation was removed from database after it's been loaded to the scene
- (nukestudio) multiple bugs squashed
- (loader) loader was taking long time to show all the loading action when first launcher in maya
2.2.0
release date: 8 Sept 2019
new:
- (pype) add customisable workflow for creating quicktimes from renders or playblasts
- (nuke) option to choose deadline chunk size on write nodes
- (nukestudio) added option to publish soft effects (subTrackItems) from NukeStudio as subsets including LUT files. these can then be loaded in nuke or NukeStudio
- (nuke) option to build nuke script from previously published latest versions of plate and render subsets.
- (nuke) nuke writes now have deadline tab.
- (ftrack) Prepare Project action can now be used for creating the base folder structure on disk and in ftrack, setting up all the initial project attributes and it automatically prepares
pype_project_configfolder for the given project. - (clockify) Added support for time tracking in clockify. This currently in addition to ftrack time logs, but does not completely replace them.
- (pype) any attributes in Creator and Loader plugins can now be customised using pype preset system
changed:
- nukestudio now uses workio API for workfiles
- (maya) "FIX FPS" prompt in maya now appears in the middle of the screen
- (muster) can now be configured with custom templates
- (pype) global publishing plugins can now be configured using presets as well as host specific ones
fix:
- wrong version retrieval from path in certain scenarios
- nuke reset resolution wasn't working in certain scenarios
2.1.0
release date: 6 Aug 2019
A large cleanup release. Most of the change are under the hood.
new:
- (pype) add customisable workflow for creating quicktimes from renders or playblasts
- (pype) Added configurable option to add burnins to any generated quicktimes
- (ftrack) Action that identifies what machines pype is running on.
- (system) unify subprocess calls
- (maya) add audio to review quicktimes
- (nuke) add crop before write node to prevent overscan problems in ffmpeg
- Nuke Studio publishing and workfiles support
- Muster render manager support
- (nuke) Framerange, FPS and Resolution are set automatically at startup
- (maya) Ability to load published sequences as image planes
- (system) Ftrack event that sets asset folder permissions based on task assignees in ftrack.
- (maya) Pyblish plugin that allow validation of maya attributes
- (system) added better startup logging to tray debug, including basic connection information
- (avalon) option to group published subsets to groups in the loader
- (avalon) loader family filters are working now
changed:
-
change multiple key attributes to unify their behaviour across the pipeline
frameRatetofpsstartFrametoframeStartendFrametoframeEndfstarttoframeStartfendtoframeEndhandle_starttohandleStarthandle_endtohandleEndresolution_widthtoresolutionWidthresolution_heighttoresolutionHeightpixel_aspecttopixelAspect
-
(nuke) write nodes are now created inside group with only some attributes editable by the artist
-
rendered frames are now deleted from temporary location after their publishing is finished.
-
(ftrack) RV action can now be launched from any entity
-
after publishing only refresh button is now available in pyblish UI
-
added context instance pyblish-lite so that artist knows if context plugin fails
-
(avalon) allow opening selected files using enter key
-
(avalon) core updated to v5.2.9 with our forked changes on top
fix:
- faster hierarchy retrieval from db
- (nuke) A lot of stability enhancements
- (nuke studio) A lot of stability enhancements
- (nuke) now only renders a single write node on farm
- (ftrack) pype would crash when launcher project level task
- work directory was sometimes not being created correctly
- major pype.lib cleanup. Removing of unused functions, merging those that were doing the same and general house cleaning.
- (avalon) subsets in maya 2019 weren't behaving correctly in the outliner
* This Changelog was automatically generated by github_changelog_generator