diff --git a/.all-contributorsrc b/.all-contributorsrc
index b30f3b2499..60812cdb3c 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1,6 +1,6 @@
{
"projectName": "OpenPype",
- "projectOwner": "pypeclub",
+ "projectOwner": "ynput",
"repoType": "github",
"repoHost": "https://github.com",
"files": [
@@ -319,8 +319,18 @@
"code",
"doc"
]
+ },
+ {
+ "login": "movalex",
+ "name": "Alexey Bogomolov",
+ "avatar_url": "https://avatars.githubusercontent.com/u/11698866?v=4",
+ "profile": "http://abogomolov.com",
+ "contributions": [
+ "code"
+ ]
}
],
"contributorsPerLine": 7,
- "skipCi": true
+ "skipCi": true,
+ "commitType": "docs"
}
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 54a4ee6ac0..5d464d0532 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -35,6 +35,18 @@ body:
label: Version
description: What version are you running? Look to OpenPype Tray
options:
+ - 3.15.12-nightly.1
+ - 3.15.11
+ - 3.15.11-nightly.5
+ - 3.15.11-nightly.4
+ - 3.15.11-nightly.3
+ - 3.15.11-nightly.2
+ - 3.15.11-nightly.1
+ - 3.15.10
+ - 3.15.10-nightly.2
+ - 3.15.10-nightly.1
+ - 3.15.9
+ - 3.15.9-nightly.2
- 3.15.9-nightly.1
- 3.15.8
- 3.15.8-nightly.3
@@ -123,18 +135,6 @@ body:
- 3.14.4-nightly.3
- 3.14.4-nightly.2
- 3.14.4-nightly.1
- - 3.14.3
- - 3.14.3-nightly.7
- - 3.14.3-nightly.6
- - 3.14.3-nightly.5
- - 3.14.3-nightly.4
- - 3.14.3-nightly.3
- - 3.14.3-nightly.2
- - 3.14.3-nightly.1
- - 3.14.2
- - 3.14.2-nightly.5
- - 3.14.2-nightly.4
- - 3.14.2-nightly.3
validations:
required: true
- type: dropdown
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a33904735b..095e0d96e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,1153 @@
# Changelog
+## [3.15.11](https://github.com/ynput/OpenPype/tree/3.15.11)
+
+
+[Full Changelog](https://github.com/ynput/OpenPype/compare/3.15.10...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.
+
+
+___
+
+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](https://github.com/ynput/OpenPype/assets/1800151/ca1c91d4-b8f3-43d2-a7b7-35987f5b6a3f)
+
+## Testing notes:
+1. Launch AYON/OP
+2. Launch the publisher (select a project, shot, etc.)
+3. Crete a publish type (any works)
+4. Choose a variant for the publish that is not the default
+5. "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
+
+
+___
+
+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.
+
+
+___
+
+Maya: Include handles - OP-6236 #5175
+
+Render range was missing the handles.
+
+
+___
+
+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
+
+
+___
+
+ImageIO: Minor fixes #5147
+
+Resolve few minor fixes related to latest image io changes from PR.
+
+
+___
+
+Publisher: Fix save shortcut #5148
+
+Save shortcut should work for both PySide2 and PySide6.
+
+
+___
+
+Pack Project: Fix files packing #5154
+
+Packing of project with files does work again.
+
+
+___
+
+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.
+
+
+___
+
+Publisher: Edge case fixes #5165
+
+Fix few edge case issues that may cause issues in Publisher UI.
+
+
+___
+
+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.
+
+
+___
+
+Maya: import workfile missing - OP-6233 #5174
+
+Missing `workfile` family to import.
+
+
+___
+
+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.
+
+
+___
+
+Publisher: Fix disappearing actions #5184
+
+Pyblish plugin actions are visible as expected.
+
+
+___
+
+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.
+
+
+___
+
+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.
+- [x] Creator
+- [x] Loader
+- [x] Extractor
+- [x] Validator
+- [x] Add documentation
+
+
+___
+
+Houdini farm publishing and rendering #4825
+
+Deadline Farm publishing and Rendering for Houdini
+- [x] Mantra
+- [x] Karma(including usd renders)
+- [x] Arnold
+- [x] Elaborate Redshift ROP for deadline submission
+- [x] fix the existing bug in Redshift ROP
+- [x] Vray
+- [x] 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:
+
+
+___
+
+Loader: Hide inactive versions in UI #5100
+
+Hide versions with `active` set to `False` in Loader UI.
+
+
+___
+
+Maya: Repair RenderPass token when merging AOVs. #5055
+
+Validator was flagging that `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.
+
+
+___
+
+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)
+
+
+___
+
+Tray: Fix restart arguments on update #5085
+
+Fix arguments on restart.
+
+
+___
+
+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.requiredNodes` **CreateWriteImage**
+- 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:**
+
+
+___
+
+TrayPublisher: Editorial video stream discovery #5120
+
+Editorial create plugin in traypublisher does not expect that first stream in input is video.
+
+
+___
+
+3dsmax: Move from deprecated interface #5117
+
+`INewPublisher` interface is deprecated, this PR is changing the use to `IPublishHost` instead.
+
+
+___
+
+add movalex as a contributor for code #5076
+
+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]
+___
+
+3dsmax: refactor load plugins #5079
+
+
+___
+
+Blender: Implemented Loading of Alembic Camera #4990
+
+Implemented loading of Alembic cameras in Blender.
+
+
+___
+
+Unreal: Implemented Creator, Loader and Extractor for Levels #5008
+
+Creator, Loader and Extractor for Unreal Levels have been implemented.
+
+
+___
+
+Blender: Added setting for base unit scale #4987
+
+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.
+
+
+___
+
+Unreal: Changed naming and path of Camera Levels #5010
+
+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.
+
+
+___
+
+Settings: Added option to nest settings templates #5022
+
+It is possible to nest settings templates in another templates.
+
+
+___
+
+Enhancement/publisher: Remove "hit play to continue" label on continue #5029
+
+Remove "hit play to continue" message on continue so that it doesn't show anymore when play was clicked.
+
+
+___
+
+Ftrack: Limit number of ftrack events to query at once #5033
+
+Limit the amount of ftrack events received from mongo at once to 100.
+
+
+___
+
+General: Small code cleanups #5034
+
+Small code cleanup and updates.
+
+
+___
+
+Global: collect frames to fix with settings #5036
+
+Settings for `Collect Frames to Fix` will allow disable per project the plugin. Also `Rewriting latest version` attribute is hiddable from settings.
+
+
+___
+
+General: Publish plugin apply settings can expect only project settings #5037
+
+Only project settings are passed to optional `apply_settings` method, if the method expects only one argument.
+
+
+___
+
+Maya: Load Assembly fix invalid imports #4859
+
+Refactors imports so they are now correct.
+
+
+___
+
+Maya: Skipping rendersetup for members. #4973
+
+When publishing a `rendersetup`, the objectset is and should be empty.
+
+
+___
+
+Maya: Validate Rig Output IDs #5016
+
+Absolute names of node were not used, so plugin did not fetch the nodes properly.Also missed pymel command.
+
+
+___
+
+Deadline: escape rootless path in publish job #4910
+
+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.
+
+
+___
+
+General: Company name and URL changed #4974
+
+The current records were obsolete in inno_setup, changed to the up-to-date.
+___
+
+Unreal: Fix usage of 'get_full_path' function #5014
+
+This PR changes all the occurrences of `get_full_path` functions to alternatives to get the path of the objects.
+
+
+___
+
+Unreal: Fix sequence frames validator to use correct data #5021
+
+Fix sequence frames validator to use clipIn and clipOut data instead of frameStart and frameEnd.
+
+
+___
+
+Unreal: Fix render instances collection to use correct data #5023
+
+Fix render instances collection to use `frameStart` and `frameEnd` from the Project Manager, instead of the sequence's ones.
+
+
+___
+
+Resolve: loader is opening even if no timeline in project #5025
+
+Loader is opening now even no timeline is available in a project.
+
+
+___
+
+nuke: callback for dirmapping is on demand #5030
+
+Nuke was slowed down on processing due this callback. Since it is disabled by default it made sense to add it only on demand.
+
+
+___
+
+Publisher: UI works with instances without label #5032
+
+Publisher UI does not crash if instance don't have filled 'label' key in instance data.
+
+
+___
+
+Publisher: Call explicitly prepared tab methods #5044
+
+It is not possible to go to Create tab during publishing from OpenPype menu.
+
+
+___
+
+Ftrack: Role names are not case sensitive in ftrack event server status action #5058
+
+Event server status action is not case sensitive for role names of user.
+
+
+___
+
+Publisher: Fix border widget #5063
+
+Fixed border lines in Publisher UI to be painted correctly with correct indentation and size.
+
+
+___
+
+Unreal: Fix Commandlet Project and Permissions #5066
+
+Fix problem when creating an Unreal Project when Commandlet Project is in a protected location.
+
+
+___
+
+Unreal: Added verification for Unreal app name format #5070
+
+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.
+
+
+___
+
+Docs: Display wrong image in ExtractOIIOTranscode #5045
+
+Wrong image display in `https://openpype.io/docs/project_settings/settings_project_global#extract-oiio-transcode`.
+
+
+___
+
+Drop-down menu to list all families in create placeholder #4928
+
+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.
+
+
+___
+
+add sync to specific projects or listen only #4919
+
+Extend kitsu sync service with additional arguments to sync specific projects.
+
+
+___
+
+