564 KiB
Changelog
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