1.1 Release Notes

We are excited to release v1.1 of our integrations. This release includes a whole new take on our default configuration, updates to our new publisher, and updates to how the communication between Shotgun Desktop and Shotgun Web works.

Our default configuration has been updated to use the new Publisher, to take advantage of the new Software entity in Shotgun, and to make updating easier via a new organization. These changes allow a seamless transition for people using our integrations from running without a configuration to running with one.

We have also added new features to our new Publisher which make editing settings across multiple selections easier and give you the ability to embed custom UI for different types of publishes. Additionally we have updated the default hooks for the publisher so that they cover the functionality from the old default configuration while moving the engine specific logic into the engine itself.

The protocol for how Shotgun Desktop works with Shotgun Web has been updated. We have optimized the protocol so anybody running tools from within Shotgun should see a significant improvement in how quickly those menus are populated (note that we will need to recache the menus, which will happen when somebody first uses the update). The commands themselves now come from the tk-shotgun instance in the environment returned by the pick_environment core hook, which allows much more flexibility in deciding what menu items should show up where.

The new default configuration

The initial release of our out of the box integrations had a few features that were available as long as your project did not have a custom configuration. With our new default configuration, all the new functionality is available along with everything that was in our old configuration. This includes:

  • An update to our project configuration wizard to make the new configuration available while preserving the ability to keep on using the tried and true configuration that we've had for years.


  • A new directory structure that organizes the configuration into easier to find and easier to update files.
  • An updated pick_environment hook that deprecates the use of the old shotgun_*.yml environment files.
  • An update to use the new tk-multi-publisher2, with updated hooks that have been moved into the app and engines. The updated hooks are compatible with how the publisher works without a configuration, but adds in the extra functionality that becomes available once you have a configuration (such as the ability to publish our custom Nuke and Houdini nodes).
    • The new hooks support publishing to a location specified via a template.
    • The new hooks are implemented in their corresponding engine (e.g. in tk-maya for Maya).

For more information on the default configuration changes, please see our Default Configuration Update FAQ.

Publisher updates 


We've finished up some features that will make our new publisher more powerful and easier to use:

  • You can now add custom UI to a type of publish to give artists the power to control aspects of the publish.
  • It is now possible to set common settings (such as thumbnail and description) across multiple publish items at the same time.
  • Toolkits let you know the details about warnings and errors without needing to switch over to the log view.

Websocket protocol updates

Last but not least, with this release we are enabling an update to the protocol that Shotgun Web uses to populate its action menus and that implements local file linking. The protocol updates speed up the way we populate these menus and implements a more flexible environment lookup. Now rather than looking for an environment corresponding to the Shotgun entity type a menu is displaying (such as shotgun_asset.yml) we use the pick environment core hook to find an environment containing an instance of the tk-shotgun engine and use the configuration of that engine to populate the menu. For example, you can now have a different launchers for Asset versus Shot tasks, or different launchers per pipeline step.

The old protocol is still available via an environment variable (SHOTGUN_ENABLE_LEGACY_BROWSER_INTEGRATION_WORKAROUND) if you want to compare the old behavior to the new. Note that the old protocol requires shotgun_asset.yml style environment files to populate the menus in Shotgun, which the new default protocol does not have. This fallback is only compatible with the legacy configuration.

Additional features

  • Path cache optimizations. Removed inner loop for secondary entities and batched find queries into smaller chunks. [44807]
  • synchronize_folders command was looking at every FilesystemLocation entity on the site, causing large sync times when there were a lot of entities. This optimization ensures that performing a full sync of the path cache now only considers FilesystemLocation entities that belong to the current project. [44508]
  • Introduced the SHOTGUN_DISABLE_APPSTORE_ACCESS environment variable to disable all attempts to talk to the Shotgun app store. [44140]
  • Updated pipeline_configuration.yml, shotgun.yml, interpreter_*.cfg, tank, and tank.bat for compatibility with Rez style environment management. [43297]

Fixed bugs

  • Previously, when an unhandled exception bubbled up, we replied to the web app with the full exception stack. This fix ensures we reply with a general error message and log the full exception. If debug logging is turned on, we do still reply with the full exception. [42770]
  • Nuke read node frame ranges were not set when loaded from the loader app when templates were not available. This fix ensures we correctly determine the start/end frame of an image sequence, regardless of whether a template can be used to parse the file name or not. [44569]
  • unregister_folders command failed when unregistered a large amount of folders. This fix resolves that issue by batching up any large deletions into batched sql queries where 200 items are deleted at a time. [44931]
  • v0000 files were incorrectly being published as v1. This fix publishes the correct name. [43560]
  • Files with UTF-8 characters were not supported. This fix enables the publishing of files with UTF-8 characters. [43826]
  • Descriptors had no flexibility in where they could be cached. This fix introduced the SHOTGUN_BUNDLE_CACHE_PATH environment variable to allow control over where descriptors are cached. [44757]
  • Hook templates were breaking. This fix ensures hook templates from run properly. [45071]



What’s new?

Official support for Mari 4, as well as a number of improved features and bug fixes, including:

  • Added support for distributed configs in the setup wizard,
  • Introduced the standalone publish API, and
  • Resolved path cache synchronize issue when running the launchfolder command.


  • Official support for Mari 4. [SG-2625]
  • Added support for distributed configs in the setup wizard. [SG-8474]
    • We added a new dialog to choose between a Distributed or Centralized setup.
    • DistributedCentrilized.png
    • There is a new app, tk-multi-devutils, which will be available when running a distributed setup project. The “New config sandbox...” option will be available after you select your project inside Shotgun Desktop. This replaces the Clone configuration actions, which are not available for distributed setup.
    • NewConfigSandbox.png
    • When selecting the “New config sandbox...”, a new dialog will open to create your config sandbox.
    • CreateConfigSandbox.png
    • New tools will be available within your created config sandbox.
    • CheckUpdates.png
    • It will be now possible to do core and config updates directly from Shotgun Desktop.
    • Updates.png
  • Introduced the standalone publish API. The standalone publish API allows you to do the same operations in a script that you can do with the Toolkit application. As such, you can entirely automate the publish process without any user interaction or use it on a render farm in order to automate the publication of rendered jobs. [SG-7260]
  • Added the post phase hook, which allows you to do some post-processing after validation, publish and finalize. [SG-2871]
  • Publisher log messages in the UI are now colorized. A big thanks to Joe Hultgren for his contribution to this feature. [SG-9236]
    • ColorLogs.png 
  • Cloning repositories on Windows will now display a terminal only if authentication is required with the Git server. [SG-4824]
  • Trying to publish with an advanced Shotgun integration while "Enable linking to local files" is not enabled under Site Preferences now has better error messages. [SG-9118]
  • Updated some third-party libraries of tk-framework-desktopserver. [SG-9003]


  • Path cache wasn’t synchronized when running the launchfolder command. This fix ensures that we synchronized the path cache prior to attempting to gather the context from path. [SG-4463]
  • There were issues around project filtering with the Software entity. This fix ensures the project filtering is working fine either with no engines associated or when two software with the same engine use different project restrictions. [SG-4623]
  • There was an issue where a cached configuration was always considered out of date and therefore always deleted and rewritten when bootstrapping. The fix ensures we are are not rewriting a cached configuration over and over again. [SG-8646]



What’s new?


  • The Maya plugin's bootstrap routine contained a thread safety problem related to progress reporting that could cause Maya to crash or hang at startup. This fix ensures this logic is now always run on the main thread to improve stability during bootstrap. [SG-9012]



What’s new?

Official support for Mari 3.4, as well as a number of improved features and bug fixes, including:

  • Added a new configurable option to enable actions for the convert to and from Shotgun Writenode methods,
  • Added documentation for core hooks to the reference documentation, and
  • Fixed text cutoff issues in Workfiles2 display.


  • Official support for Mari 3.4. [SG-7668]
  • Added a new configurable option in the Shotgun Nuke Writenode app that exposes the API’s convert methods as UI actions in the Shotgun Menu. [SG-7398]
    • Adds two new actions under the Shotgun menu that enable converting to and from Shotgun write nodes. These options can be enabled by setting the app setting show_convert_actions: True. However, they won’t be shown if you are using promoted knobs in any of the Shotgun write node presets.
    • ConvertWritenode.png
    • Shotgun write nodes converted to standard Nuke write nodes will now have the “create directories” option ticked on.
  • Added documentation for core hooks to the reference documentation. [SG-6464]
  • Added the ability to configure the tabs displayed in Workfiles2. A big thanks to Luke Harris and Boulder Media for his contribution to this feature. [SG-7629]
  • Added ability to set hotkeys in the tk-nuke.yml settings file. A big thanks to Anthony Kramer and CBFX for his contribution to this feature. [SG-7622]
  • Added MP4 to valid extensions for Loader2 and Shotgun Panel apps. [SG-7631]
  • Introduced a new core hook called Bootstrap that can be used to cache Toolkit bundles from another location than the original one, i.e., Git or the Toolkit AppStore. [SG-7596]
  • Added items name in publish completed and finalize complete messages. [SMOK-48149]
  • Made some changes in tk-photoshopcc engine to considerably reduce the risk of a filename length issue on Windows. [SG-7965]
  • Added some tweaks in tk-core to the Link and LinkVisited colors provided by the palette used in Qt5 environments. [SG-6442]
  • Added a way to allow a parent object to be given when bootstrapping asynchronously. [SG-8369]
  • We are now using Flame Python API PyExporter functionality to generate thumbnails in tk-flame-review and tk-flame-export. [SMOK-48751 and SMOK-49295]
  • Created Open Clip based on Shotgun information of shot when loading batch setup through the loader. [SMOK-49598]


  • There was an issue introduced in Workfiles2 v0.11.x where date/time cut off from right pane file listings. This fix ensures that date/time is now correctly displayed. [SG-7357]
  • There was an issue in Shotgun Desktop where you can get some missing app launchers. This fix ensures the application will now skip over undownloadable software icons instead of failing and not showing them. [SG-8274]
  • There was an issue with the Shotgun demo app where Python can crash on exit. This fixed various thread-leaking issues that caused some stability problems in some environments on close. [SG-6409]
  • There was an issue in Flame where you were not able to render a write file node coming from a setup loaded from the Loader2 app. This fix ensures we are now able to do a render by supporting {flame.frame} token in batch write file node. [SMOK-49318]
  • There was an issue in Flame where Shots were created for only one sequence in Shotgun when multiple clips were exported. This fix ensures that all the Shots and Sequences are created in Shotgun. [SMOK-49144]



What’s new?


  • Updated third-party modules used by the browser integration.



What’s new?

Official support for Nuke 11.2, as well as a number of improved features and bug fixes, including:

  • Updated the Python API to 3.0.37,
  • Resolved issues when running Nuke in no-display mode, and
  • Resolved issues with Houdini nodes.


  • Official support for Nuke 11.2. [SG-7668]
  • Added tk-multi-loader2 app for Flame in the advanced Shotgun Integration. [SMOK-49215]
  • Updated the Python API to 3.0.37, which includes a new preferences_read method and fixes around non-ASCII file names when given to various upload methods. [SG-4483]


  • There was an issue causing the engine.context_change() to fail when running Nuke in no-display mode. This fix ensures that context changing works correctly in no-display mode. A big thanks to Sai Aparna Ramamurthy and Digital Domain for her contribution to this bug fix. [SG-7331]
  • There was an issue with the Shotgun panel when running Nuke in no-display mode. This fix ensures we no longer attempt to navigate the panel in no-display mode. A big thanks to Amy Ahronek and Netflix for her contribution to this bug fix. [SG-7626]
  • In Houdini 15.5+, there was a bug with converting to standard Houdini nodes. This fix ensures converting to standard Houdini nodes works fine. [SG-7360]
  • There was an issue with setting color values on Houdini node profiles. With this fix, color values now must be a list of RGB colors with values between 0.0–1.0. [SG-7719]
  • There was a bug in Houdini where if you specify a setting for the Alembic node settings, it will error when you try to create the Alembic node using that profile in Houdini. This fix ensures no more errors occur when you specify a setting for the Alembic node settings. [SG-7703]
  • There was an issue that caused leading underscores in folders created to not present properly to the user in Shotgun after folder creation. With this fix we now escape Windows path backslashes in that specific case. A big thanks to Joe Hultgren and Visual Concepts for his contribution to this bug fix. [SG-7625]



What’s new?

Official support for Photoshop CC 2018, as well as a number of improved features and bug fixes, including:

  • Resolved Shotgun integration issue in Houdini 16.5.481+ on Windows,
  • Resolved Workfiles2 hierarchy view disappearing when the my tasks checkbox is selected, and
  • Resolved Loader2 reload feature spinning forever.


  • Official support for Photoshop CC 2018. [SG-7145]
  • We now use more reliable means of finding the first video track in an openclip file produced by Flame in Nuke. We also preserve the openclip version number during our update of its contents. [SG-6781]
  • Added a new {flame.frame} sequence token and use it in Flame templates. [SMOK-49006]


  • In Houdini 16.5.481+, Shotgun integration was broken on Windows because of a Qt dialog raising fatal error. This fix ensures that Shotgun integration is working fine with latest Houdini 16.5 production builds. A big thanks to Craig Barnett and Falcon’s Treehouse for his contribution to this bug fix. [SG-7314]
  • Loader2 reload feature was spinning forever. This fix ensures reload feature is working fine by implementing a hard_refresh method on the publish type model. [SG-6836]
  • Workfiles2 hierarchy view disappeared when the my tasks checkbox was selected. With this fix, we are now hiding the “my tasks” checkbox in entity tree views when deferred queries are in use. [SG-4520]
  • When opening files from the“recent files” menu in Nuke, if the writenode app wasn’t configured in the current environment, the app would fail to properly set profiles on the gizmos on read. This fix ensures the app is properly setting profiles. [SG-4426]
  • There was an issue with promoted write knobs that resulted in saved values not being restored on file open. This fix ensures promoted write knobs get properly restored on file open. [SG-4426]
  • There was a bug where Project Filesystem Folder would not be displayed in the Shotgun Desktop menu for projects configured through the Advanced Project Setup. This fix ensures the Project Filesystem Folder is correctly displayed in the Shotgun Desktop menu. [SG-6816]
  • Photoshop CC could sometimes be in the wrong context if a document was opened before the engine completed its initialization. This fix ensures we are always in the right context. [SG-6662]



What’s new?

New Import Clip published file action for Nuke Studio and Hiero, as well as a number of improved features and bug fixe, including:

  • Resolved built-in Houdini pypanels being removed from the Python pane menus when Toolkit is used, and
  • Resolved publisher randomly failing during publishing.


  • Certain types of publishes (images, image sequences, etc.) can now be imported into Nuke Studio and Hiero as clips via the Loader2 or Shotgun panel apps. A big thanks to Brice Lefebvre and Digiteyes Studio for his contribution to this feature. [SG-5387]


  • Added support for rendering a Flame write file node without having pre-created a shot in Shotgun. [SMOK-48641]


  • Publisher randomly failed during publishing. This fix ensures Publisher is not failing anymore by reacquiring the parent pointer just before processing. [SG-4584]
  • In Houdini 15+, when you have Toolkit enabled, the 'Shotgun' submenu in the 'New Pane Type' menu was taking the place of Autorigs, Character Picker, and Pose Library. This fix ensures we append our apps to the Python pane menu rather than rebuilding the entire menu definition. [SG-6457]
  • In Houdini 15+, Qt printed a warning on panel launch about an issue finding the QCheckbox's check image file. This fix ensures no more warnings show up on panel launch. [SG-6604]
  • If a user signed in to Desktop or authenticated TK using a URL with uppercase characters, Shotgun integration would fail to initialize properly during DCC launch. This fix ensures we lower the casing of the URL when going through our existing sanitization routine during login to Shotgun Desktop. [SG-6617]
  • Flame Shotgun Export was failing with one frame or Virtual source clips. This fix ensures we can successfully do a Shotgun Export with one frame or Virtual source clips. [SMOK-45352]
  • Shotgun Panel was crashing on launch when script key authentication was used and the current OS user didn’t match a Shotgun user name. This fix ensures that Shotgun Panel is working fine with script key authentication. [SG-4556]
  • There was an issue where the background task manager was never properly passed to the shotgunmodel base classes from the hierarchy widget, if it was provided. This resulted in a separate bg task manager being allocated, leading to resource leaks and unclean shutdown. This fix ensures that the background task manager assignment is working fine. A big thanks to Anousack Kitisa and Epic for his contribution to this bug fix. [SG-6700]
  • There was a background manager thread-leaking issue in the qtwidgets framework when closing Shotgun app dialogs. This Fix ensures there are no more leaks when closing Shotgun app dialogs. A big thanks to Anousack Kitisa and Epic for his contribution to this bug fix. [SG-6701]
  • There was an issue with the visibility option for the accept method of publish plugins. This fix ensures that the publisher now respects the visible entry in the acceptance dict returned by publish plugins. [SG-6463]



What’s new?

New support for complex filters in Loader2, as well as a number of improved features and bug fixes, including:


  • Added support for complex filters in Loader2 to be used when setting the tab filters. [SG-5399]
    • Previously you would not be able to add a filter to a tab through the settings that used sub conditions and filter operators. With the update you can now do something like this:

            - [project, is, "{context.project}"]
            - filter_operator: "any"
                - [entity, type_is, Asset]
                - [entity, type_is, Shot]
  • We are now providing versioned download links to Shotgun Desktop releases. [SG-2608]
  • We now defer the shelf population by an event loop cycle to resolve slow Houdini launches on Windows.  [SG-2898]
  • Toolkit dialogs will now display their icon, if available, in the title bar. Note that for certain combinations of OSes and versions of PySide2, the icon may not appear due to bugs in PySide2 and/or Qt5. [SG-5793]
  • Toolkit dialogs inside of Flame will now display the new Flame 2019 icon. [SG-4868]
  • In PySide2 environments on Windows 10, we were seeing "condensed light" being used for Open Sans when font-weight was set instead of "light". We are now installing font TTF files in reverse-alphanumeric order to ensure that "light" is installed before "condensed light". [SG-4682]
  • Makes Publish2 common file info dictionary part of the base collector API. [SG-5389]


  • As of Nuke 11, there was an issue on Windows where Nuke could hang on its splash screen when launched from Toolkit. This fix ensures Nuke 11 no longer hangs by making sure we no longer import the QWebEngineWidgets submodule from PySide2 on Windows in Nuke 11+. [SG-4782]
  • As of tk-houdini v1.5.1, some issues around workfiles2 were reported related to the os.chdir call. This fix changes how we path to a checkbox image in QSS to avoid issues with workfiles2 file open. [SG-5789]
  • As of tk-multi-publish2 v2.1.1, it was impossible to select a folder to publish image sequences. This fix ensures we can successfully publish image sequences. [SG-6355]
  • As of tk-core v0.18.134, the PublishedFile.path_cache field would not be correctly populated when using a windows local storage with a drive letter on the form X:\. This fix ensures that path_cache field always get populated. [SG-6314]
  • "Node" type engine commands were not properly handled in Nuke Studio when building menus. This fix ensures we properly handle them. [SG-4609]
  • There was an error when selecting the publish description for "Submit for Review" plugin in Nuke. This fix ensures it displays the correct description, and not cause an error. [SG-6358]
  • There was an issue where workfiles2 would cause the whole DCC to hang when the user ran the new file action, and had a version folder in the work file template path. This fix ensures that DCCs are no longer hanging. [SG-6431]
  • There was an issue where publish would error if the work file save path contained a dynamic folder that needed to be created. It wouldn't check to see if the folder for the new file existed before running the save command. This fix ensures that the work folder exists when saving the scene at publish time. [SG-6429]
  • There was an issue where frameworks in `bundle.frameworks` were named after the descriptor's system name. If a dev or a shotgun descriptor used a different bundle name, frameworks were not correctly recognized. This fix ensures frameworks on app.frameworks are now properly named after the name of the framework dependencies inside an application's info.yml and not after the descriptor's system_name. [SG-5386]



What’s new?

New storage mapping interface during project setup, as well as a number of improved features and bug fixes, including:

  • Using tk-config-default2 as a site configuration to run Shotgun Desktop
  • Adding a local_properties property to publish items in tk-multi-publish2 for storing data that is specific to the current plugin
  • Fixing an issue that prevents Shotgun Integration to work in Nuke Studio 9.0.


  • New storage mapping interface during project setup. [SG-2845]

    • Roots required by a configuration are no longer required to match the name of a local storage defined in SG.
    • The Toolkit Setup wizard will ask you to map each storage root required by the configuration to a local storage in Shotgun.


    • Storage mappings can be defined explicitly in the configuration's roots.yml file by specifying shotgun_storage_id: <id> where <id> is the id of a local storage defined in site preferences

    • The default root can also be defined explicitly in roots.yml by specifying a default: true key/value pair

  • Updated the git-based config example we provide in the project setup wizard to use tk-config-default2. [SG-2636]
  • We can now use tk-config-default2 as a site configuration to run Shotgun Desktop.
    • sgtk_from_path can now be used with site-wide pipeline configurations. [SG-4715]
    • Better error handling if a pipeline configuration uses a roots.yml but it's project does not have a tank_name set. [SG-4686]
  • When unregistering folders via entity type and id, if the entity is retired (or just doesn’t exist), we now suggest to the user that they try to unregister the folder(s) by path instead of by entity. [SG-2818]
  • Added local_properties property to publish items for storing data that is specific to the current plugin. [SG-4299]
  • Fixed path length issues on Windows. Copying the core into a configuration will no longer carry over tests and documentation. [SG-4717]
  • Updated the Python API to 3.0.36, which adds support for downloads and uploads when using SHOTGUN_API_CACERTS and properly handles malware scanning error codes from the server. [SG-4718]
  • The Delivery entity is now supported by the folder creation and unregistering. A big thanks to Patrick Macdonald and Halo VFX for his contribution to this feature. [SG-4729]
  • Sgtk.templates_from_path method is now available to retrieve all templates which match a given path. A big thanks to Patrick Macdonald and Halo VFX for his contribution to this feature. [SG-2830]
  • Added ability to sort ./tank commands by name when listing all commands. [SG-4783]


  • Shotgun Desktop was crashing on startup if the desktopstartup framework was locked to an old version or when using an old Shotgun Desktop installer, v1.3.6 or before, for the first time. This fix ensures that Shotgun Desktop does not crash on startup. [SG-4816]
  • As of tk-core v0.18.141, a shared core couldn’t be used to launch project actions if site-wide configurations were found that could be used with that project. This fix ensures a shared core can launch project actions. [SG-4798]
  • There was an issue that prevented Shotgun integrations from working in Nuke Studio 9.0. This fix ensures that Shotgun integration works fine in Nuke Studio 9.0. [SG-2631]
  • There was an issue where folder creation symbolic links did not correctly support references to list fields. With this fix, it is now possible to define symbolic links referencing for example Asset.sg_asset_type as part of the folder schema. [SG-4785]



What’s new?

Improved Workfiles2 performance with Step filtering for Tasks and deferred queries, as well as a number of improved features, including:

  • Updated Shotgun’s integration with 3dsMax for 3ds Max 2019,
  • Hook methods for building custom widgets for each processor we provide in tk-hiero-export, and
  • New descriptor tokens and multi-level folder creation.


  • Improved Workfiles2 performances with Step filtering for Tasks and deferred queries. [38483]
    • It is now possible to reduce the amount of data fetched from Shotgun for Tasks by only retrieving Tasks for a given set of Pipeline Steps. Step filtering is controlled by a small piece of the application under entity tabs, and is saved in user settings when closing the application and restored when opening it.
    • A new sub_hierarchy setting is now available to run two steps queries, with the second query being deferred until fetching children from Shotgun is really needed—typically when the user expands the tree view. Not systematically fetching a huge amount of data from Shotgun when the application is started can greatly improve performance.


  • Updated Shotgun’s integration with 3dsMax for 3ds Max 2019. [46763]
  • Provided hook methods for building custom widgets for each processor we provide in tk-hiero-export. This allows for custom preset properties to be created, and those properties then being used to set/initialize the custom widgets. In addition, additional hook methods have been added to allow for customization of if/how Shots, Cuts, and CutItems are created/updated during the export process. A big thanks to Dashiel Bivens and CBS Digital for his contribution to this feature. [46928]


  • It is now possible to define Shotgun Entity folder schemas that can span multiple folders. It is also possible to include a regular expression syntax to allow for the extraction of substrings from Shotgun values. This follows the same syntax and format as the subset token in the template system. [46177]
  • Path-based descriptors in environment files can now use the CONFIG_FOLDER to refer to the folder containing the configuration files (core, hooks, env) in a pipeline configuration. [46721]
  • The clone command has been adjusted so that it will fail quickly if the user does not have permissions to modify/create PC entities in Shotgun, and it'll do so without having copied any data on disk prior to the failure. [46365]
  • In Shotgun Desktop, you now see a message saying ”Retrieving configuration…” when downloading zipped configurations from Shotgun. [46567]
  • Implemented comparison logic for RPC proxy objects in Photoshop CC. This implements equal (==) and not-equal (!=) magic methods for ProxyWrapper and adds the associated RPC logic to compare the wrapped objects in the remote interpreter. [46593]
  • Added support for a tkdeploy file in tk-framework-desktopserver which will be used when uploading to the app store. This file operates similar to a gitignore file and is used to exclude files when the app store zip archive is created. [46849]


  • There was a high CPU usage issue on CentOS when using PySide 2. This fix ensures there is no more high CPU usage with our integration. [45552]
  • There was an issue that caused Shotgun Panel apps to not load when launched from Houdini’s native pane tab menu. This fix ensures the Shotgun panel loads correctly. [46766]
  • Flame Assists and Flare were not launching properly with the Shotgun Integration advanced setup auto-path detection. This fix ensures Flame Assist and Flare launch properly. [46557]
  • Exceptions raised from executing code were not caught in Shotgun Python console. This fix ensures exceptions are caught and also that they are logged to the engine. [46897]
  • In cases where the tank name had a slash in it, and so represents two folders in the hierarchy, it caused an issue where publishes registered incorrectly in Shotgun. This fix ensures publishes in projects where the project contains multiple folders to register correctly in Shotgun. [46674]
  • Sometimes, calling show() and exec_() caused a Qt issue where we were getting an invisible modal QDialog, causing the host application to freeze. This fix ensures the modal QDialog is showing up correctly. [46697]
  • The Shotgun descriptor using local bundle cache could cause issues with long file names on Windows. This fix shortens the file names used by the Shotgun descriptor to avoid running into the filename length limit on Windows. [46894]
  • There was an issue with zipped configurations where a core cached inside it's bundle_cache folder would still be downloaded from the AppStore or Git instead of being pulled from the cache. This fix ensures we are always looking at the cache before downloading a core. [46965]
  • There was an issue that prevented the use of procedural hook based evaluation on complex environment properties such as list and dicts. This fix ensures they are correctly handle. [46693]



What’s new?

We have a new drop-down menu in the login dialog, as well as a number of improved features, such as:

  • Polish and bug fixes for Publisher,
  • Ability to put all configuration dependencies inside a sub-folder named bundle_cache, and
  • Platform improvements around bootstrapping.


  • The login dialog now remembers the list of the 8 most recent sites and users you have used, and displays them. You can also start typing the name of a site or user to filter down the list’s content. [44951]                                              


  • The Publish app has a new app setting, enable_manual_load, which defaults to True. When set to False, it no longer shows the ’splash’ screen which lets you load/drag and drop files or browse to them and turns off the drop zone in the left hand side tree view so that items cannot be dropped in there. [46405]
  • The tk-multi-demo app now has a context selector widget demo. [46265]


  • When using a descriptor-based pipeline configuration, it is now possible to put all its dependencies inside a sub-folder named bundle_cache. It means that you can now store an entire pipeline configuration (hooks, environment and bundles) inside Shotgun so it can be deployed anywhere. [45902]
  • When using a descriptor-based pipeline configuration, the contents of the configuration (e.g., tk-config-basic) are no longer copied inside the pipeline configuration, providing a small speed boost and reducing the risk of locked files when updating the pipeline configuration. Those folders will be read directly from where they are stored on disk, i.e., the bundle cache for a shotgun, git, or app_store descriptor, or at the location where path and dev descriptors point to. [40825]
  • The path to the log file is now exposed via a log_file property on core Logger objects. [42283]
  • Publish with a bad template now has better error handling. [46125]
  • The Shotgun utils framework now performs a cached data clean up when it is loaded, only for the sg, sg_nav and thumbs cached folders. Files which have not been modified or accessed in the last 60 days are removed to prevent the cache to grow indefinitely. [39289]


  • In some circumstances, only the new records added in Shotgun since the previous launch of an app using a ShotgunModel would be added to the model and appear in tree views. This fix ensures that all records always appear in tree views. [45562]
  • There were styling issues with Houdini 16+ versions, where some of our style changes bleed into Houdini’s dialogs. This fix ensures our style changes are not bleed into Houdini’s dialogs. [46152]
  • The Quick Review app was not working if the playlist status field was missing. This fix ensures that the Quick Review app is no longer looking for the playlist status field. [46459]
  • There was an issue which prevented you from configuring the loader in a way so that you would be browsing Versions in the left hand side tree and see the publishes associated with that version. This fix ensures you see the publishes associated with that version. [46438]
  • With the Shotgun Standard Integration workflow, the frame range was not set correctly after doing a create read node from Shotgun Panel. This fix ensures that the frame range is always set correctly. [46249]
  • With the Photoshop CC standard integration, publishing versioned files always converted publishes to .psd file format. This fix ensures tk-multi-publish2 no longer forces the use of the .psd extension. [42803]
  • Sometimes an error was showing up if the .version file was missing. This fix ensures the Photoshop CC extension is now more fault tolerant to a missing .version file. [43699]
  • When roaming user profiles were used on a Windows network, using the CEP api to get the path to the extension’s root folder returned the path with any $ characters encoded as %24. This fix ensures that the extension initializes properly. [46396]
  • It was not possible to load files having utf-8 encoded names. This fix ensures Loader2 app handles files have utf-8 encoded names correctly. [45167]
  • There was a Shotgun Desktop Windows-only issue, where errors raised during bootstrap were not reported to the user. This fix ensures errors are reported successfully. [45989]
  • Shotgun picked storages not used by Toolkit when there were multiple storages overlaps in Shotgun. This fix allows Toolkit to specify the storage into which a file needs to be stored. [30005]
  • Projects with configurations that used a descriptor without `tank_name` defined sometimes led to bootstrap failure. This fix ensures that no failure happen when a pipeline configuration in Shotgun does not have a tank_name defined. [46590]
  • Sometimes after a core swap, Shotgun connection objects were created with an older Core API. This fix ensures that the ShotgunUser instantiated with a previous version of the API is re-instantiated with a newer version of the API. [44546]



What’s new?

We have a new quickreview app for Nuke, as well as a number of improved features, such as:

  • Polish and bug fixes for publisher,
  • Added support for single sign-on (SSO) beta,
  • Motionbuilder thumbnail support,
  • Platform improvements around bootstrapping and git, and
  • New formalized hook interfaces.


  • New Quickreview app for Nuke that works with or without an advanced project setup, that makes it easy to submit Nuke renders for review in Shotgun. [44499]
  • Added support for SSO beta. Adds the necessary authentication logic for Toolkit to be able to interact with Shotgun SSO-enabled sites. [41731]
  • It is now possible to set a thumbnail in the summary of the Publisher items tree that gets inherited by all plugins that accept a thumbnail. [43897]
  • Improved UX around image sequence publishing by adding an additional browse button on the drag/drop screen. [44042]
  • Entire publish item is now draggable in the publisher items tree. [45977]
  • Added validate_on_publish setting to Publisher which allows disabling of validation when Publish is clicked. [46000]
  • Allowed renders published in Flame to be loaded inside of Nuke via the standard Shotgun integrations. [46126]
  • Moved Flame family icons launcher from Finishing Tools to Creative Tools group in Shotgun Desktop. [46219]
  • The Toolkit project setup wizard and project setup command now recognizes the [config]/core/core_api.yml file. If such a file is present, the project setup wizard will automatically localize the new project and pull in whatever core version is defined in the file. [35379]
  • Setup wizard supports zip downloaded directly from Github. It is now possible to download a zipped up tag or branch from Github's webui and use that in the desktop setup wizard. [36070]
  • Improved Git related error messages. [37578, 40633]
  • Clearer error messages in startup and bootstrap. We have cleaned up several places where technical, unhelpful, or misleading error messages where being displayed when Toolkit was starting up. [41067]
  • Collector/Plugin interfaces in Publisher now defined in the app itself, allowing for default implementation and doc generation. Read more in our developer documentation. [45933]
  • Added support for base class restriction for hook interfaces. This change adds a new, optional base_class argument to the various hook methods in core. [45998]
  • Flexible primary root name allows use of any arbitrary name for the primary storage in single root configurations. [44391]
  • Introduced a new context selection widget, first introduced in tk-multi-publish2 and now moved in tk-framework-qtwidgets. [46026]


  • Thumbnails were not showing up inside MotionBuilder. This fix ensures they are showing up correctly. [46148]
  • Nuke promoted write knobs were reverting to their preset’s default value. This fix ensures new values are kept. [43561]
  • There was a slowdown issue in Photoshop CC when using the long/deep folder path. This fix ensures no more slowdown happens with the long/deep folder path. [43589]
  • There was an RPC error when opening Workfiles2 app in Photoshop CC. This fix ensures no more RPC error appears. [41520]
  • Maya playblast and render images collection paths were hard coded directory names. This fix ensures they will write to the right folders configured for the project. [45980]
  • Previously, it was not possible to bootstrap into our default configs if a configuration had been launched via the bootstrap API rather than via a traditional 'project setup' route. This fix ensures that all types of configuration arrangements are supported by bootstrap and descriptor based pipeline configurations. [44543]
  • There were some errors with tank commands, like cache_apps, when running against a Git repo on a project config having UNC path. This fix provides Git support for UNC paths on Windows. [39910]
  • A regression was introduced in tk-core v0.18, causing the .git folder not to be copied in certain situations (clone config, push config, etc). This fix ensures the .git folder is copied during those maintenance operations. [44576]



What’s new?

Better support for running configurations from zip files uploaded directly to Shotgun. We fixed a file locking scenarios that could cause an update to fail, improved support for sharing of cache data, and made improvements and bug fixes for Publish2 and different engines and apps.


  • Added expand/collapse indicators to publish items inside Publish2 app. [42707]
  • Added an option to the publish2 summary overlay that allows going back to the publish page after a publish has been performed. [43161]
  • Added display_name and display_action_name settings to the Publish2 app, allowing a TD to configure how it appears on the Shotgun menu. [45881]
  • Configuration option descriptions have been updated in the Advanced Project Setup Wizard. [45869]
  • Added support for new Shotgun fields PipelineConfiguration.uploaded_config and PipelineConfiguraton.sg_uploaded_config, which configurations can be zipped and uploaded directly to. [41416]
  • Thumbnails and Shotgun queries are now cached at the site level, instead of being cached per project, pipeline configuration, and plugin ID. [43294]
  • Added tk-multi-publish2 and tk-multi-loader2 hooks inside tk-flame. [44071]
  • Added Shotgun Site URL on the project context item in the work area information. [45715]


  • When in a project with a classic config, if you selected the reload and restart option from the project context menu in the top right, then it would duplicate all the options in the menu. This fix ensures no more duplication happens. [43269]
  • Deleting items prevented them from being dropped again in Publish2 app. This fix ensures you can add them back again. [43561]
  • When a user had no work or published files in their sandbox, and chose to open a work file from another users sandbox, it threw an error. This fix ensures no more errors are thrown and that the file opens correctly. [45463]
  • On Windows there were some file locking scenarios that could cause an update to fail.
    This fix provides improvements and cleanup of bootstrap resolver logic to avoid an update to fail. [45876]
  • With SW entities, the engine name was no longer configured and was not guaranteed to be available to the launch hooks. We now supply the engine name to the hooks. [45898]
  • The version number was missing in the version name after doing a publish from Photoshop CC via the Publish2 app. This fix ensures the version number gets added to version name. [45999]