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.
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.
- Path cache optimizations. Removed inner loop for secondary entities and batched find queries into smaller chunks. 
- 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. 
- Introduced the SHOTGUN_DISABLE_APPSTORE_ACCESS environment variable to disable all attempts to talk to the Shotgun app store. 
- Updated pipeline_configuration.yml, shotgun.yml, interpreter_*.cfg, tank, and tank.bat for compatibility with Rez style environment management. 
- 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. 
- 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. 
- 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. 
- v0000 files were incorrectly being published as v1. This fix publishes the correct name. 
- Files with UTF-8 characters were not supported. This fix enables the publishing of files with UTF-8 characters. 
- 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. 
- Hook templates were breaking. This fix ensures hook templates from run properly. 
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. 
- Added support for SSO beta. Adds the necessary authentication logic for Toolkit to be able to interact with Shotgun SSO-enabled sites. 
- 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. 
- Improved UX around image sequence publishing by adding an additional browse button on the drag/drop screen. 
- Entire publish item is now draggable in the publisher items tree. 
- Added validate_on_publish setting to Publisher which allows disabling of validation when Publish is clicked. 
- Allowed renders published in Flame to be loaded inside of Nuke via the standard Shotgun integrations. 
- Moved Flame family icons launcher from Finishing Tools to Creative Tools group in Shotgun Desktop. 
- The Toolkit project setup wizard and project setup command now recognizes the
[config]/core/core_api.ymlfile. 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. 
- 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. 
- 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. 
- Collector/Plugin interfaces in Publisher now defined in the app itself, allowing for default implementation and doc generation. Read more in our developer documentation. 
- Added support for base class restriction for hook interfaces. This change adds a new, optional
base_classargument to the various hook methods in core. 
- Flexible primary root name allows use of any arbitrary name for the primary storage in single root configurations. 
- Introduced a new context selection widget, first introduced in tk-multi-publish2 and now moved in tk-framework-qtwidgets. 
- Thumbnails were not showing up inside MotionBuilder. This fix ensures they are showing up correctly. 
- Nuke promoted write knobs were reverting to their preset’s default value. This fix ensures new values are kept. 
- 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. 
- There was an RPC error when opening Workfiles2 app in Photoshop CC. This fix ensures no more RPC error appears. 
- 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. 
- 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. 
- 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. 
- A regression was introduced in tk-core
v0.18, causing the
.gitfolder not to be copied in certain situations (clone config, push config, etc). This fix ensures the
.gitfolder is copied during those maintenance operations. 
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. 
- Added an option to the publish2 summary overlay that allows going back to the publish page after a publish has been performed. 
- Added display_name and display_action_name settings to the Publish2 app, allowing a TD to configure how it appears on the Shotgun menu. 
- Configuration option descriptions have been updated in the Advanced Project Setup Wizard. 
- Added support for new Shotgun fields PipelineConfiguration.uploaded_config and PipelineConfiguraton.sg_uploaded_config, which configurations can be zipped and uploaded directly to. 
- Thumbnails and Shotgun queries are now cached at the site level, instead of being cached per project, pipeline configuration, and plugin ID. 
- Added tk-multi-publish2 and tk-multi-loader2 hooks inside tk-flame. 
- Added Shotgun Site URL on the project context item in the work area information. 
- 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. 
- Deleting items prevented them from being dropped again in Publish2 app. This fix ensures you can add them back again. 
- 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. 
- 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. 
- 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. 
- 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.