New Features In Deadline 6.1.54665 (Released January 29, 2014)

Overview

Deadline 6 introduced an incredibly flexible and efficient User Interface across all platforms, combined with a new highly-scalable database backend. The new User Group Management system allows users to be split into groups, with different permissions assigned to each group. Farm administration is made easier with the ability to stream the render log from remote machines.

Deadline 6.1 is the latest version of Thinkbox Software's render farm management system, and features improved stability, enhanced housecleaning operations and faster job submission. With highly optimized functions that can perform more than 10x faster, this significant update can also be easily scaled up to support thousands of machines. Additionally, Deadline 6.1 incorporates Draft 1.1, the latest iteration of Thinkbox’s lightweight compositing and video processing plug-in designed to automate typical post-render tasks, which now includes improved OpenEXR support.

Note that a new 6.1 license is required to run this version. If you have a license for Deadline 6.0 or earlier, you will need an updated license. Also note that Deadline 6.1 ships with Draft 1.1, which also requires an updated license.

Highlighted Features

New Scheduling Options

New scheduling options have been added to the Job Scheduling settings in the Repository Options. Previously, you had control over how a job's pool, priority, and submission date affected its scheduling order. Now, you have the following options:

  • First-in First-Out: Job order will be based solely on submission date, and will be rendered in the order they are submitted.
  • Pool, First-in First-Out: Job order will be based on the job's pool first, with submission date being the tie-breaker.
  • Pool, Priority, First-in First-Out: This is the default scheduling order that is used. Job order will be based on the job's pool, then priority, with submission date being the tie-breaker.
  • Priority, First-in First-Out: Job order will be based on the job's priority first, with submission date being the tie-breaker.
  • Priority, Pool, First-in First-Out: Job order will be based on the job's priority, then pool, with submission date being the tie-breaker.
  • Balanced: Job order will be balanced so that each job has the same number of slaves rendering them at a time.
  • Pool, Balanced: Job order will be based on the job's pool first, with a balance being applied to jobs that are in the same pool.
  • Pool, Priority, Balanced: Job order will be based on the job's pool, then priority, with a balance being applied to jobs that have the same pool and priority.
  • Priority, Balanced: Job order will be based on the job's priority first, with a balance being applied to jobs that have the same priority.
  • Priority, Pool, Balanced: Job order will be based on the job's priority, then pool, with a balance being applied to jobs that have the same pool and priority.
  • Weighted, First-in First-out: A weighted system that takes priority, submission time, number of rendering tasks, and number of job errors into account, but does not take pools into account. If two or more jobs have the same calculated weight, the submission date will act as the tie-breaker.
  • Pool, Weighted, First-in First-out: A weighted system that still respects pool priority. If two or more jobs have the same calculated weight, the submission date will act as the tie-breaker.
  • Weighted, Balanced: A weighted system that takes priority, submission time, number of rendering tasks, and number of job errors into account, but does not take pools into account. A balance will be applied to jobs that have the same calculated weight.
  • Pool, Weighted, Balanced: A weighted system that still respects pool priority. A balance will be applied to jobs that have the same calculated weight.

For the weighted options, you can control how much weight is applied to the job priority, submission time, number of rendering tasks, and number of errors. Deadline then sorts by this weight so that jobs with the largest weight value have the higher priority. Note that the weight values can be negative. For example, if you set a negative weight value to the number of job errors, a job with more errors will end up having a lower overall weight so that precedence is given to other jobs in the queue.

Secondary Job Pool

Jobs now have an optional Secondary Pool property. Here's how it works:

  • By default, a job's secondary pool is disabled, so Deadline's default behavior won't change. This ensures backward compatibility with existing 6.0 jobs.
  • When searching for a job, a slave does a first pass using the primary pool of the available jobs.
  • If the slave doesn't find any jobs using the primary pool, it then makes a second pass using the secondary pool.

This system can allow a job to spread to a secondary pool as necessary. It can also ease the configuration of pools in the farm if there are lots of pools and slaves. For example, let's say you have 5 pools and 10 slaves. You want each pool to have top priority on 2 machines, but then be able to spread to the rest of them if they are idle. Before the secondary pool system, you might have something like this:

  • Slaves 0-1: pool_1, pool_2, pool_3, pool_4, pool_5
  • Slaves 2-3: pool_2, pool_3, pool_4, pool_5, pool_1
  • Slaves 4-5: pool_3, pool_4, pool_5, pool_1, pool_2
  • Slaves 6-7: pool_4, pool_5, pool_1, pool_2, pool_3
  • Slaves 8-9: pool_5, pool_1, pool_2, pool_3, pool_4

This can be tricky to maintain. The new secondary pool system can make this easier:

  • Slaves 0-1: pool_1, pool_all
  • Slaves 2-3: pool_2, pool_all
  • Slaves 4-5: pool_3, pool_all
  • Slaves 6-7: pool_4, pool_all
  • Slaves 8-9: pool_5, pool_all

In this case, all jobs could have pool_all as their secondary pool, and will spread to the rest of the farm as necessary.

Note that while this system has been built into Deadline, it has NOT been built into the submission scripts. We may add it to the submission scripts if there is demand, but for now, custom submitters can set a secondary pool by adding the "SecondaryPool" entry to the job info file.

Monitor Layout Management

A new Monitor Layout management tab has been added to the Monitor Settings in the Repository Options. System-wide Monitor layouts can be added here, and if their Pinned option is enabled, they will show up in the Pinned Layouts menu in the Monitor on all machines. In addition, you can select one of these saved layouts as the default layout for a user group in the Manage User Groups dialog. This allows you to control different layout options for different user groups.

Job Dependency View

A new Job Dependency View panel has been added to the Deadline Monitor that allows you to view and modify a job's dependency tree in a node-based view. You can open the new Job Dependency View panel from the Panel list in the Monitor. You can lock the view to the currently selected job, which allows you to drag & drop other jobs into the view to hook up new dependencies. In addition, you can drag & drop Python scripts or asset files directly into the view and hook them up as dependencies.

Asset and Script Dependencies

Set up dependencies on assets (textures, cache files, etc.) or Python scripts so that a job only starts when all assets are available and the Python scripts return success. These dependencies can be set up in custom submissions, in the Job Properties window in the Deadline Monitor, or by dragging & dropping the Python script or asset files into the new Job Dependency View.

RESTful API in Pulse

The new RESTful API in Pulse can be used to request information from the database, store new data, alter existing data or remove entries from the database. Requests to the API can be categorized by the type of data you are attempting to access and by the type of HTTP request you are using to access said data.

Note that the original web service functionality in Pulse is still available, but is now deprecated. We won't be removing it anytime soon, but we won't be adding new features to it either and will instead continue to focus on the new RESTful API.

Standalone Python API

A new Standalone Python API is shipped with Deadline that communicates with the new RESTful API in Pulse. This allows you to communicate with Deadline from native Python scripts without having to run them in the context of Deadline, or have the Deadline Client installed on the machine.

Additional Cloud Provider Support

Support for Azure has been added via our new Cloud Plugin system, and the existing Amazon EC2 support has been moved to the new plugin system as well. These plugins can be configured from the Tools menu in the Monitor. With the new plugin system, you can now modify the existing plugins or add your own.

Maintenance Job Mode

A maintenance job can now be submitted to Deadline that will render once on each slave in the farm. This is useful for performing benchmark tests, installing new software, synchronizing files to each machine, etc. When a maintenance job is submitted, a task will automatically be created for each slave, and once a slave has finished a task, it will no longer pick up the job.

Popup Message Notification System

This is basically the old Net Send feature from Deadline 5. Users can now be notified with a popup window on their machine when their job completes, fails, etc. This can be used exclusively or in conjunction with the existing notification system.

Advanced Tile Rendering in 3ds Max

A new multi-region rollout has been added to SMTD to give you more control over the tiles and/or regions that you are submitting to Deadline. This feature uses Thinkbox Software's Draft library to assemble the final image instead of the old TileAssembler.exe application. Note that Deadline 6.1 ships with Draft 1.1, which requires a license. If you already have a Draft 1.0 license, contact Thinkbox Sales to request a Draft 1.1 license upgrade.

VRay Distributed Rendering (DBR) Support for 3ds Max and Maya

A new interface has been created for 3ds Max and Maya to allow VRay DBR to work on your Deadline farm. After you have brought up the new interface, you can choose the number of Servers to use for DBR, and then click Reserve Servers to submit a special VRay Spawner job to Deadline. The interface will automatically update to show which Deadline Slaves are running the VRay DBR Server. When you're happy with your list, press Start Render to render to begin rendering. After you close the interface, the job will automatically be marked as complete so that the Slaves can move on.

New Product Support

Support has been added for After Effects CC, Anime Studio 9/9.5, Cinema 4D 15, Houdini 13, Mantra Standalone 13, Maxwell 3, Nuke 8, Realflow 2013, Terragen 3, VRay 3, Vue 2014, and xNormal.

General Improvements

  • Added a new Popup Notification System, which is basically the old Net Send system from Deadline 5.
  • Added 10 extra info properties that can be set for Slaves.
  • Added an option for a secondary SMTP server for email notifications in the Repository Options.
  • Added a new Repository Option to have Deadline's remote control features connect to a slave using its IP address instead of its host name.
  • Added an email notification option to the Repository Options for when the MongoDB database runs low on available connections.
  • Fixed a Python bug that would cause Deadline's Python engine to become unstable if an error occurs in a Python script. This should fix Python-related crashes in all Deadline applications, and should also fix the problem where the Slave hangs while trying to execute a script.
  • Found a few cases were the Deadline wasn't acquiring the Python GIL when interacting with Python objects. This has been fixed.
  • Added a new Repository Option to have Deadline perform its housecleaning in a separate process. This can be useful when using dependency scripts to ensure that a crash caused by the script doesn't cause the main application (Pulse, Slave, or Monitor) to crash.
  • Pending job scanning has been separated from housecleaning so that its interval isn't affected by the rest of the housecleaning process.
  • Pending scanning can now be run in a separate process instead of housecleaning. This setting can be set in the Job Settings page in the Repository Options under the Cleanup tab.
  • The Python Search Paths in the Repository Options now have Path Mappings applied to them.
  • Limit group modifications are now logged in the Repository history.
  • Added a Repository Option to have timestamps in the job logs.
  • New Amazon and Azure cloud plugins are shipped with Deadline, and are used by the Cloud panel in the Deadline Monitor.
  • On OSX, dpython now uses Deadline's Python libraries instead of the system Python libraries.
  • The Deadline Client can now override the Repository's auto-update setting in its deadline.ini file.
  • Deadline user name character restrictions now match those of Active Directory.
  • During housecleaning, job auxiliary files, old job reports, or orphaned machine limits are no longer purged for jobs that are in the process of being submitted.
  • During housecleaning, orphaned tasks and limits are now cleaned up after they have been orphaned for at least a minute.
  • Job reports are now saved with archived jobs.
  • Added new balanced scheduling algorithms to repository options.
  • Added new weighted scheduling algorithms to repository options.
  • The length of an archived job .zip file name is now capped to avoid running into issues when the file name gets too long.
  • Housecleaning has been refactored to improve performance and memory usage.
  • Housecleaning process is now locked so that only a single application can perform housecleaning at any given time.
  • Added timings and counts to the housecleaning log for better debugging.
  • Added configurable maximums for file-based housecleaning operations (archiving jobs, deleting auxiliary folders, deleting old job report files), which can be configured from the Monitor.
  • Task progress is now reset to 0 when the task changes to a state other than completed.
  • Fixed a bug where the archived job file name would just consist of the user's first name if they have a period in their user name.
  • Added some code to Slave, Pulse, and Command to prevent them from potentially showing C++ error dialogs on crashes.
  • Improved job submission speed by decreasing the amount of database calls required to create the tasks, and by removing an initial dependency check (which housecleaning does anyways).
  • Improved task collection query speed by about 33%.
  • The DeletedDocuments collection in the database is now purged on a regular basis by housecleaning.

Installer Improvements

  • The Windows Client installer now creates a Start menu entry for Pulse.
  • The Windows Client installer will now continue if there are Visual C++ Redistributable errors during installation (the error will still be saved to the log). These errors typically occur if there is already a newer version of the Visual C++ Redistributables installed.
  • The Linux Client installer now creates shortcuts in the Client install folder. They can be double-clicked to launch the Deadline applications.
  • The Windows Repository installer now creates a start menu in the Thinkbox folder that contains the shortcut to the uninstaller.
  • In the Repository Installer, the Linux and OSX bin.zip files now have their permissions set properly.
  • The Windows Client installer now sets the password correctly when installing the Launcher as a service.
  • The Client installer now has a command line option to set the auto-update override.
  • The Client installer on OSX now installs the Python Framework with the proper permissions set.
  • Fixed a bug in the Windows Repository installer that could prevent the creation of the dbConnect.xml file if the repository folder path ends with a backward slash.
  • The Windows Repository installer can now reinstall MongoDB if there is already an existing MongoDB service already installed.
  • Added unattended installation option to Client Installer to control if the Launcher should restart the Slave on the machine if it becomes stalled. It is enabled by default.

Repository Improvements

  • Added a new api folder in the Repository that contains the Standalone Python API.
  • The major Deadline version number is now stored in the dbConnect.xml file in the Repository, and is used to prevent incorrect versions of Deadline from connecting to it.

Database Improvements

  • Users are now stored in User Groups in the database using their IDs instead of their name.
  • Added new collections for deleted jobs and reports, which are purged by Deadline's housecleaning operation.
  • Fixed a bug that prevent jobs that were imported from being deleted.

Job Improvements

  • A maximum priority for jobs can now be configured in the Repository Options.
  • Added a new Maintenance Job type, which is designed to only render once on each Slave in the farm.
  • Added a new Tile Job type for tile-based jobs, and refactored the plugins that support tile rendering to pull tile information from the job itself.
  • Jobs can now be dependent on asset files and Python scripts.
  • Jobs with frame-based dependencies can now set a frame offset range.
  • Job transfers no longer fail for jobs with more than one auxiliary file.
  • Added a Secondary Pool option for jobs.
  • If a Limit or a Machine Limit white list is empty, it will no longer prevent a job from rendering (it's treated the same as an empty black list).
  • The "Resume on Deleted Dependencies" property for jobs with dependencies is now respected.
  • When changing the frame range of a job with frame dependencies, the new incomplete tasks are now set to pending instead of queued.

Client Application Improvements

  • The Deadline applications now ignore the system's Python environment variables if they are defined to help avoid conflicts with other versions of Python.
  • The Deadline applications will respect the system's original Python environment variables when launching any applications (including rendering applications).
  • If the Deadline applications need to ignore the system's Python environment, they will write a message to their log file.
  • The error message shown when the Deadline applications can't connect to MongoDB connection now mentions the Firewall as something to check.
  • Splash screens for the Client applications are no longer top-most windows.
  • Dialogs that popup during startup when only the splash screen is visible now show up in the task bar, so you can't alt+tab to them.
  • When browsing for files in the Deadline applications, the "All Files" filter now uses "*" instead of "*.*" so that you can select files without extensions on non-Windows systems.
  • When any of the Deadline applications start up, they now ensure that the MongoDB database has the proper indices set.
  • Fixed a bug that caused the menu colors to change if the machine went to sleep or the machine's logged in user was switched.
  • Cleaned up the MongoDB error message that the Deadline applications would show at startup if they couldn't connect to the database.
  • When the Monitor, Slave, or Pulse shuts down, any Log windows that it spawned are closed with it.
  • Added mnemonics to the main menus in all the Deadline applications.
  • A cleaner error message is now thrown if the dbConnect.xml file in the Repository is corrupt, and it no longer causes the Deadline applications to crash.
  • The Deadline applications no longer require the current working directory to be the Deadline bin directory when they are launched.
  • Added Release or Debug tag to version number in About box for the Deadline applications.
  • Fixed a bug on Windows that prevented the Deadline applications from closing their listening socket on shut down when a child process belonging to that application is still open. This problem can still affect the Slave application, but unfortunately we can't workaround this because the Slave must pass its open handles to the child process in order for standard output redirection to work.
  • Fixed a small bug in the message output for invalid slave remote log requests.
  • Added more profiling sections to the Deadline applications, which can be viewed by selecting Help -> Debugging Tools -> Profiling Statistics.
  • When viewing profiling statistics from the Help menu, there is now an option to write the statistics to the application log.
  • Changed the Select All icon.
  • The '?' button is no longer shown in any dialogs on Windows, since it didn't do anything.
  • Fixed a race condition that could cause the deadline.ini file to be reset if multiple Deadline applications try to access it at the same time.

Launcher Improvements

  • Improved the error message sent back to the Monitor when remote administration is disabled.
  • Fixed a crash that could occur when Launcher exits.
  • The Launcher menu now remains responsive when the Launcher cannot connect to the database.
  • Submitting a job from the Launcher's context menu no longer causes it to hang.
  • On OSX, the Launcher's popup dialogs no longer appear behind the window that currently has focus.
  • On OSX, the Remove Slave Instances menu item now has a dark icon.
  • Fixed a bug on OSX that prevented more than one slave instance from being started through the Launcher menu.
  • Fixed a bug that required the Launcher menu to be shown once before the Scripts and Submission menus were populated.
  • All dialogs now have the Launcher icon instead of the default icon.
  • The Remove Slave Instances dialog is now just a multiselect list, instead of a checked list.
  • When changing repositories, the repository list dropdown is now sorted by most recently used repositories.
  • Added some output to the Launcher that gets printed whenever it updates the repository options.
  • The Python environment is now set properly after an auto-upgrade.
  • The Launcher now notifies the user when an upgrade is available while the Slave or Pulse is running and gives them the option to upgrade.
  • Added an option to have the Launcher restart the Slave on the machine if it becomes stalled. It's currently on by default.
  • Added Launcher menu item to enable and disable the option to restart the slave if it stalls.

Monitor Improvements

General

  • Improved performance by moving the row generation code for lists into a proper background thread that doesn't impact the user interface.
  • Added new Job Dependency View panel to view job dependencies as nodes.
  • Items in the Filter drop down are now sorted alphabetically.
  • Added option to Tools menu to re-synchronize the local plugin icons and reload the script menu items.
  • User names are now sorted in the Manage Users dialog in the Tools menu.
  • Jobs can now be un-deleted again from the tools menu.
  • Updating the user group menu item permissions is now immediately reflected in the Monitor.
  • Keyboard shortcuts can now be set for Script menus in the Repository Options.
  • Unicode characters are now supported in the Monitor.
  • The Monitor no longer disappears when restoring a pinned layout.
  • Improved the error message when a plugin doesn't have an icon file while synchronizing plugin icons.
  • The VNC script now supports Chicken of the VNC.
  • When right-clicking on slaves, tasks, etc, the VNC script no longer displays the options window if it isn't necessary. You can always run it from the Scripts menu in the Monitor to change settings in the options window.
  • When configuring script menus, the shortcut and icon controls are now disabled when selecting sub-menus.
  • Fixed an issue on Mac OSX when choosing the repository path during the initial launch.
  • Fixed a display issue when purging groups in the Manage Groups dialog.
  • Housecleaning now properly cleans up orphaned limit stubs for job machine limits.
  • Settings like Repository Options, pools, groups, etc, are now updated in the background on a more regular basis.
  • Fixed a "selectedSlaveInfoSettings" error when trying to access Remote Commands in the Task, Job Report, or Slave Report panels.
  • The statistics window now supports multi-selecting rows in the various lists for better copy & paste support.
  • Added new Farm Reports option to the Tools menu which replaces the old Repository Statistics option in Deadline 6.0.
  • Fixed an editQuickFilterColumn error in ExtendedTreeView after loading a new layout file.
  • Added an option in the Pools and Groups management dialogs to copy the pools/groups from one slave and paste them to one or more slaves.
  • Repository options now have finer-grained permissions in the User Group permissions.
  • The Farm Reports window no longer shows negative values for data file sizes.
  • The Farm Reports now shows summaries for completed jobs again.
  • Fixed an error in the plugin and event configuration dialogs that occurred if you opened the dialog and pressed OK without clicking on a plugin or event first.
  • Monitor layouts can now be saved in the Repository options. The can be pinned to everyone's Monitor, and set as a default layout for user groups.
  • Added "Find" (CTRL-F) functionality to the report panels, history dialogs, and the console panel.
  • Added an Apple Remote Desktop scripts option to the script menus that already support VNC and RDC.
  • The Monitor settings in the Repository Options now has an interval setting for Cloud list updates.
  • When changing user, the current user is now selected properly even if the letter casing doesn't match.
  • Fixed an issue that caused the Monitor to crash when using the native file or folder browser on Kubuntu.
  • Fixed up some tab orders, and added missing tooltips in various dialogs.
  • Added buttons to clear the current icon and shortcut when customizing the script menus in the Repository Options.
  • When choosing icons for submission scripts, the last icon path is now remembered for the next time the browser dialog is shown.
  • The Housecleaning process is now run in a separate thread so that you can continue to use the Monitor while it's running.
  • Added a popup message sending script most right-click script menus.
  • Fixed a bug that caused pinned or saved layouts from restoring properly when some panels are tabbed.
  • Fixed a bug that caused some integer based columns from being filtered properly (ie: CPU usage in the Slave list).
  • Fixed a bug on Windows were an image viewer from a previous Monitor session is still running, and a new Monitor can't be started.
  • Lowercase slave names, user names, etc are now used in the selection lists for Whitelist/Blacklists, User Group Permissions, Power Management groups, etc. This provides consistency, and ensures that an item won't appear in both the selected and unselected lists when the letter casing is different.
  • Added some more user friendly options to the date/time column filters.
  • Added separate user group permissions for whitelists/blacklists in the job properties.
  • Fixed a bug when using the Edit Filter dialog which could result in the removal of all previous filters.
  • Fixed a bug where adding, removing or clearing groups in the Manage Groups window wouldn't properly update the selected slaves (this fix applies to the Manage Pools window as well).
  • Fixed a bug in the Manage Groups window where groups weren't removed properly if the slave was configured to not accept jobs in the "none" group (this fix applies to the Manage Pools window as well).
  • When launching the Monitor with super use mode enabled by default, panels like Cloud and Remote Commands are now opened properly if they were open during the previous session.
  • The Search boxes now support regular expressions.
  • When filtering date-based columns, there are additional options that allow you to filter based on Today, Yesterday, and the current or previous Week, Month, or Year.
  • When the date changes, all data models are invalidated so that any date-based filters are reapplied.
  • The Monitor now maintains one open connection to mongo at all times instead of two.
  • Added multi-select support in Manage Users, Manage User Groups, and Power Management Groups dialogs.
  • Fixed some bugs that affected the list counts in the Monitor.
  • Monitor start up times are now logged to the Monitor log.
  • Fixed a bug where submenus with all disabled menu items would get hidden. Only submenus with all hidden menu items should be hidden.
  • Renamed Dynamic Sorting menu item in the list drop down menu to Auto-Sorting and Filtering.
  • Made some improvements to the Monitor startup speed.
  • The job's history is now imported properly when importing a job.
  • Fixed a bug where importing an archived Job could mess up the job's internal task state counts.
  • Fixed a bug where changing a job's frame range could mess up the job's internal task state counts.
  • The Monitor settings in the Repository Options now has a flag to enable manual refreshing in the Monitor, which can be used if the data intervals are set to high values.
  • The Monitor settings in the Repository Options now has an option to disable auto sorting and filtering in the Monitor by default.
  • Added the Debugging Tools menu back to the Monitor.
  • Added Monitor Options to disable color changing in the job and task lists when errors are accumulated.
  • Script menu shorts that override existing shortcuts now work when nested in submenus.
  • Fixed the visibility of some Monitor menu items when disconnected from a repository.
  • Fixed a drag & drop dependency typo in the Monitor Options dialog.
  • History entries now indicate if the Monitor was in super user mode when they were logged.
  • A history entry is now logged when someone enters super user mode.
  • The tooltips in the repository options and power management options now show the default value.
  • Fixed a bug where clicking 'ok' on the Pool window could re-save pool lists even if no changes were made.
  • Increased the default intervals for slave, limit, and pulse updates.
  • Fixed some memory leaks.
  • Fixed some status message inconsistencies for menu items.
  • The VNC script now starts a VNC instance for each slave in the list, instead of just one of them.
  • Added Radmin script to the Monitor.

Job and Task Panels

  • Improved performance when changing the states of multiple jobs at once (suspending, resuming, deleting, etc).
  • When sorting by state in the job list, the "Rendering" state is now sorted by number of tasks being rendered for the job.
  • Added new Weight column to job list that shows the job's weight when a Weighted scheduling algorithm is being used.
  • Added a right-click menu to the job quick filter to expand or collapse all filter sections.
  • A job's frame list can now be modified without changing the frames per task, and vice versa.
  • Added Job Mode column to job list to show if a job is a Normal, Tile, or Maintenance job.
  • Fixed a job refreshing bug that affected performance slightly.
  • The row height in the job list no longer shrinks a bit when sorting a column while the icon column is off screen.
  • Improved the wording of the window that pops up when using drag & drop to set job dependencies.
  • Duplicate dependencies will no longer be set when using drag & drop to set job dependencies.
  • When using drag & drop to set job dependencies, you can no longer drop on to one of the selected jobs.
  • Job dependency properties are now shown in the Job Details panel.
  • When changing the frame range for a job, changing the frame list will now highlight the correct label.
  • Double-clicking column headers in the job list now sizes them properly based on the column's contents.
  • The quick filters in the job panel are now updated properly when the pools, groups, users, etc, are updated in the background.
  • The "Rendering" job quick filter now works properly.
  • Consolidated all "Pending (...)" job quick filters into a single "Pending" quick filter.
  • Drag and drop job dependencies now respect user group permissions.
  • You are now prompted to automatically pend jobs when their dependencies are modified.
  • Fixed some typos in the Scan For Missing Output dialog.
  • If you clear the selection in the job list, or select more than one job, the Job Details panel is now cleared.
  • In the job list's quick filters, the User list has been moved to the bottom, since it is typically the longest list.
  • Fixed a bug in the job properties dialog where the plugin specific panel didn't load float values properly.
  • Added functionality to view and export submission parameters (the job and plugin info file contents) in the Job Properties dialog.
  • Added a notification at the end of importing and exporting jobs.
  • Fixed a bug where drag & drop job dependencies wouldn't work if the Job ID column was hidden.
  • Added the missing On Task Timeout setting to the Timeouts page in the job properties dialog.
  • Added a paragraph of helpful info to the Scan For Missing Output dialog.
  • If no tasks are selected in the Scan For Missing Output dialog, no prompt is shown when pressing OK.
  • When changing the frames per task of a job to a small size, any stats for the original completed tasks are now averaged over the newly created tasks.
  • The job list and the job details panels now show the secondary pool for a job if it has one (in the format "primary / secondary").
  • Changed the wording of the Sync All Auxiliary Files job property to Re-sync Auxiliary Files Between Tasks.
  • Reordered the properties in the job details panel to be more consistent with the property ordering in the Job Properties dialog.
  • Added job right-click script to clean up ALT files rendered by 3ds Max jobs.
  • Fixed a bug were using CTRL to deselect jobs would result in the wrong task list being shown when there is only one job left selected.
  • The job properties dialog now selects the job's user name properly if it has uppercase letters.
  • The timeout maximum in the job properties dialog is now 1000000.
  • Added a confirmation window when changing the job's frame range.
  • Added secondary pool column to job list.
  • Added secondary pool quick filter to job list.
  • Fixed some bugs in the task and job list when viewing output for chunked tasks.
  • Added the estimated time remaining back to the task panel.
  • The estimated time remaining in the job details and task panels is now more accurate.
  • You can now right-click on one or more rendering or completed tasks and select View Slave For Task to show the slave(s) in a new Slave panel.
  • Fixed a time sorting issue in the Task list.
  • Non-rendering tasks can no longer show up as "Waiting To Start" in the task list.
  • Fixed a bug where custom image viewers weren't being spawned properly on OSX.
  • The Monitor now only caches the task collection for the current selected job. Before, it could end up caching every task collection, which would increase memory usage.
  • Fixed a NullReferenceException that could occur when updating tasks for the currently selected job.
  • Fixed a bug where repeatedly changing job states from the Monitor could mess up the job's internal task state counts.
  • Fixed a bug that could cause jobs to disappear in the Monitor after importing or undeleting them, and they would only show up again after restarting the Monitor.
  • Fixed a potential error when changing the job's frame range that could cause it to fail.
  • Fixed a bug where adding/removing pre/post Job scripts would mess up the job's internal task state counts.
  • Instead of showing the data file name and data file size for a job, we now show the number of auxiliary files and the combined size of all of them.
  • Removed some debugging output when using the Notify Me When Complete job context menu item.
  • In the job quick filters, the current user is now shown at the top of the Users section.
  • Added option to Task right-click menu to explore the output.

Slave and Pulse Panels

  • The Slave and Pulse log windows should no longer popup behind the Monitor on OSX.
  • You can now right-click on one or more rendering Slaves and select View Job For Slave to show the job(s) in a new Job panel.
  • Fixed a bug where the Slave Availability filter wasn't working if a Limit Group didn't exist.
  • The Enable/Disable Slave menu item is no longer a toggle menu item.
  • Using remote control to create a new slave instance no longer creates two instances on the remote machine.
  • Using remote control to delete a slave instance now works properly.
  • Fixed a bug where remote commands would timeout too quickly.
  • When sending remote commands, if the host name resolves to 255.255.255.255, a better error message is shown that says the host name is unknown.
  • Fixed Execute Command help message to not mention the Slave, since the Pulse panel also uses it.
  • Fixed a bug with Slave auto updating that caused Slaves to get updated in the slave list when they haven't changed.
  • Fixed an error when using the Start All Slave Instances option in the Slave's Remote Control menu.
  • Made some performance improvements to the Job Candidate filter in the Slave list.
  • You can now start up new Slave instances on multiple machines at the same time from the Slave list.
  • Slave pinging now uses the slave's host name or IP address override if necessary.
  • The Slave-based and machine-based remote control menu items are now in separate sub-menus.
  • Added the Cloud Region as a column in the Slave List.
  • Removed the Bad Jobs column from the Slave list. The reason is because the slave doesn't track this any more because it's stored with the job object.

Limit Panel

  • Fixed some bugs in the New/Edit/Clone Limit dialog. Using the arrow buttons to move slave names now works properly.
  • The New/Edit/Clone Limits dialog now remembers it's last size and position.
  • Fixed a bug when moving multiple slaves between lists in the Limit dialog.
  • The selection is now maintained when moving items between lists in the limit dialog.

Job Report and Slave Report Panels

  • Added line numbers to Job/Slave Report panels.
  • Improved performance when deleting reports for a job.
  • Event logs in the Job Reports panel now show what event the log is for in the title.
  • Deleting job reports now resets the task error counts properly.
  • Log and error reports now contain more information about the slave at the bottom of the log.
  • Fixed the orders of the remote control menu items in the job and slave report lists to match the order in the slave list.

Cloud Panel

  • The Cloud panel now uses the new cloud plugins that ship with the Repository installer.

Console Panel

  • The Console panel now has a right-click option to clear it.

Slave Improvements

  • The Slave log window can now be minimized.
  • The Slave log window now has a right-click option to clear it.
  • The Slave log window should no longer popup behind the Slave on OSX.
  • Added a confirmation window when Slave is closed from the user interface while it is rendering a task.
  • Fixed a bug on Windows that could cause the slave to crash when reading stdout asynchronously from a process.
  • The slaves no longer show "Cleaning up orphaned tasks" when verbose logging is disabled.
  • Slaves no longer hold onto limit stubs when they shouldn't be.
  • When checking for its next task while rendering a job with Concurrent Tasks, the Slave now takes Limits into account. This can help prevent the Slave from unloading its current job unnecessarily when there are higher priority jobs with maxed out Limits.
  • A slave can now remain running (and even start up) when it's been disabled. It just won't check for any tasks, and won't check out a license.
  • A properly licensed slave should no longer show up in the Monitor as being unlicensed when it first starts up.
  • Stalled slave detection now ignores time differences greater than a century. This avoids false positives if there is an issue getting the slave's last update time.
  • Fixed a bug that could prevent multiple slave instances from running on the same machine.
  • The slave now creates a sub-folder with the job's ID in its local "jobsData" and "plugin" folders. This ensures that files from one job will never impact another job. These sub-folders are cleaned up whenever a new job is loaded.
  • Fixed potential NullReferenceExceptions that could occur when getting a badly formatted Auto-Config from Pulse.
  • CPU and RAM values are now collected at a much quicker interval at the start of a render, and then taper off a bit. This ensures we collect some data for very fast renders.
  • Fixed a bug that prevented Bad Slave detection from working properly.
  • When a slave creates a Stalled Slave Report for itself (because it didn't shutdown cleanly the previous session), it's now more clear in the report that the slave is doing a self-cleanup operation.
  • Fixed a bug where the slave still gathers CPU and RAM info on Linux/OSX even if the feature is disabled in the Repository Options.
  • Fixed a bug where the slave wasn't always setting the task's render start time accurately.
  • When attempting to dequeue a job that has asset dependencies, the slave will skip over that job if it can't see any of its required assets.
  • The Slave now only maps drives at the start of a job.
  • Fixed a bug where the slave would start at the wrong task for a job with Sequential rendering enabled.
  • The .lock files for additional Slave instances are now deleted when the Slave instance is removed.
  • Added a command line option to tell the running Slave to continue, stop, restart, shutdown the machine, or restart the machine after it finishes its current task.
  • Cleaned up the error message when the Slave can't connect to Pulse.
  • The Slave now suppresses any power management messages when power management is disabled.
  • The slave now attempts to flush the stdout of the rendering process one last time before checking its exit code.
  • When the slave gets the output image size, it just resets it to -1 if no output images could be found.
  • Fixed tab orders in Slave UI.
  • When a slave cancels a task because it can't be found, it now prints out more information explaining why.
  • The slaves now print out the scheduling logic they are using.
  • When the slave can't get a license, it now shows a better message in the License field in the slave UI and the slave list in the Monitor.
  • Slaves no longer try to send email or popup notifications to empty email addresses or machine names (respectively).
  • Fixed a bug where the GatherResourceUsageDuringRendering repository option was checked on Windows, instead of being checked on Linux and OSX.
  • Fixed a bug where jobs with frame dependencies might not get picked up by a slave.
  • A slave now checks if Pulse is running BEFORE it checks if it has to do housecleaning on start up.
  • The stalled slave scan no longer checks every active job for orphaned tasks if the previous slave state has no job information associated with it.
  • Added "Connected To Pulse" information to the Slave Information tab in the slave UI.
  • Added a field to the Slave Information tab that shows if the slave is connected to the database.
  • Added a field to the Slave Information tab that shows the slave's multiplier value(s).
  • Fixed a bug where choosing to restart the slave after its current task from the slave's control menu didn't actually restart the slave after it closed.
  • When looking for a job, the slave no longer acquires limit stubs or task collections for jobs that don't have any queued tasks available.
  • Fixed a bug that could cause the slave to crash on OSX immediately after starting the render process with an "Illegal Instruction: 4" error.
  • Improved the license error message printed out by the slave when the license expires while the slave is running.
  • Increased the default intervals for how often a slave checks for a job when it's idle.

Pulse Improvements

  • Pulse now has a RESTful HTTP API.
  • The Pulse log window can now be minimized.
  • The Pulse log window now has a right-click option to clear it.
  • The Pulse log window should no longer popup behind Pulse on OSX.
  • Added a confirmation window when Pulse is closed from the user interface.
  • Auto configuration now supports the auto-update override for clients.
  • Added auto-configuration option to control if the Launcher should restart the Slave on the machine if it becomes stalled.
  • The Pulse server thread now gets the connected client info regardless of the request type it received.
  • Fixed a bug that could cause Pulse to requeue orphaned tasks that aren't actually orphaned. This was happening because it could be using out-of-date information.
  • Fixed tab orders in Pulse UI.
  • Fixed some "duplicate key" errors.
  • The web service no longer caches data from the database to reduce memory usage.
  • Added a field Pulse to show if its connected to the database.
  • Fixed a bug that could cause Pulse to crash if Auto Configuration is set to use an IP match, and the input is improperly formatted.

Command Improvements

  • The GetMachineList command now sorts the machine names in the list on the left.
  • Added a new GetSlavesRenderingJob command to get the names or IP addresses of the slave(s) rendering the specified job.
  • Added commands to add users to user groups or to remove them (AddUserToUserGroup, RemoveUserFromUserGroup, and SetUserForUserGroup).
  • The deadlinecommand and deadlinecommandbg applications now suppress any python log messages. This ensures that python log messages don't affect queries for information like pools, groups, slave names, etc.
  • Fixed some duplicate entries in the help output.
  • The SetUser command now supports specifying a user group.
  • The GetJob command (and other commands that print out job properties) no longer prints out the Properties object.
  • The GetJob command (and other commands that print out job properties) no longer print out some legacy job properties that are no longer used.
  • Added some commands to get the submission info from an existing job (GenerateSubmissionInfoFiles, JobSubmissionInfoFromJob, and PluginSubmissionInfoFromJob).
  • Added GetJobErrorReportFilenames, GetJobLogReportFilenamescommands, and GetSlaveErrorReportFilenames commands to get report file names.
  • The filter option for the SelectFilenameSave and SelectFilenameLoad commands now works properly.
  • Added missing help info to the GetJobAuxiliaryPath command.
  • Fixed a bug with the ShowMessageBox command where it would throw an exception when closing instead of printing out the pressed button.
  • The SetJobSetting command now prints out the appropriate message when no jobs with the given ids could be found.
  • Fixed some stack overflow errors that could happen with the SubmitJobAndNotify and SubmitMultipleJobs commands.
  • Fixed a typo in the help text for the SetGroupsForSlave command.
  • Added missing Release/Debug character at the end of the Deadline version in the About command.
  • Removed the Version command, since it conflicted with the Version file in the Deadline bin folder. All information in the Version command is already printed out by the About command.

Submission Improvements

  • The "FrameList" setting in the job info file is now optional, and defaults to 0 if not specified.
  • If the job info file has an empty "Name" value, the job name is now set to "Untitled" instead of being left empty.
  • Added "MaintenanceJob", "MaintenanceJobStartFrame", and "MaintenanceJobEndFrame" options for the job info file for Maintenance jobs.
  • Added "TileJob", "TileJobFrame", "TileJobTileCount", "TileJobTilesInX", and "TileJobTilesInY" options for the job info file for Tile jobs.
  • Added "RequiredAssets" and "ScriptDependencies" options for the job info file for asset and script based dependencies.
  • Added "FrameDependencyOffsetStart" and "FrameDependencyOffsetEnd" options for the job info file to set the offset for frame-based dependencies.
  • Added "SecondaryPool" option for the job info file.
  • During submission, jobs with comments now have the time set properly in their comment tag.
  • When submitting a job, the Auxiliary file information in the results has been cleaned up.
  • During submission, enum-based values in the job info file (like OnJobComplete) are just ignored if their value is empty.
  • Fixed some issues with trimming white space off of values in the job info and plugin info files.
  • When submitting a job with the IncludeEnvironment job info property set to True, the system's PYTHONHOME and PYTHONPATH variables are included (if they are defined) instead of Deadline's values for those variables.
  • When submitting arbitrary command line jobs to Deadline using the -SubmitCommandLineJob option, a temporary file is no longer created. The submission is all done in memory now.

Power Management Improvements

  • Fixed a Thermal Shutdown bug that caused the Machine Startup feature to not be disabled properly.
  • Fixed a bug that could cause Power Management settings to not be saved properly.
  • The Slave Restart interval maximum in the Power Management settings is now much larger.
  • In Machine Startup, the same slave can no longer be chosen as the only candidate to wake up for multiple jobs.
  • The power management dialog now properly disables the slave scheduling time boxes for newly created groups.
  • Fixed a bug where Pulse would send more than one slave scheduling shutdown/startup command to a slave on the same day. This prevented someone from running the slave on their machine after the "Stop Slave" time.
  • Added tooltips to Power Management dialog.
  • Fixed some group selection/deselection bugs in the power management dialog.
  • Fixed a bug when setting important processes in the Power Management dialog.
  • Fixed a bug in the Power Management dialog that prevented Idle Shutdown overrides that used specific days of the week from being saved properly.

Statistics Improvements

  • Added a new Farm Reports option to the Tools menu in the Monitor that replaces the old Repository Statistics panel.
  • The Farm Reports window allows you to generate custom reports and graphs and export them.

Scripting Improvements

  • Added a Standalone Python API that wraps the communication with the new Pulse RESTful API. It can be found in the api folder in the Repository.
  • Python scripts with trailing spaces no longer cause syntax errors.
  • Python scripts with comments on the last line no longer cause syntax errors.
  • When adding a RadioButton control to the DeadlineScriptDialog, the text for the RadioButton control is now set properly.
  • Added a RepositoryUtils.SubmitJob function to submit a job.
  • Added a RepositoryUtils.GetJobReportLogFileName function to get the log file name for a job report.
  • Added a RepositoryUtils.GetSlaveReportLogFileName function to get the log file name for a slave report.
  • Added SetJobOutputDirectories and SetJobOutputFileNames functions to the job object to set a job's output directories or output file names.
  • Fixed a bug where the MonitorUtils functions that get the list of selected items could return stale data. This caused the Remote Desktop and VNC scripts in the Task panel to sometimes connect to the wrong slave.
  • Global plugin variables (set using DeadlinePlugin.SetProcessEnvironmentVariable) no longer clobber process specific environment variables (set using ManagedProcess.SetEnvironmentVariable).
  • Added scripting utility functions that hook into cloud plugins.
  • Added GetCloudPluginsDirectory() to RepositoryUtils to get the cloud plugins folder in the Repository.
  • Script UI example script now shipped with the Repository installer. It will show up in the Scripts menu in the Monitor.
  • The ProcessUtils.KillProcesses function now returns false if there are no processes with the given name to kill.
  • The JobEntry object returned by JobUtils.CalculateJobStatistics function now only computes statistics for completed tasks for the job.
  • Added task state counts to the job object.
  • Removed manual garbage collection from Deadline's scripting manager when cleaning up scopes.
  • Python print statements in monitor scripts no longer create empty new lines, and are prefixed with "PYTHON:".
  • Fixed a bug where Python print statements wouldn't show up after calling ClientUtils.ExecuteCommand.
  • DirectoryUtils.SynchronizeDirectories now returns if a sync was required or not.
  • Fixed a font size issue in the separator control that was really noticeable on OSX.
  • Added API functions to log job, slave, or history entries.
  • Fixed a small memory leak in Python.NET when executing scripts.
  • Added RepositoryUtils functions to save job output properties.
  • Fixed a Python bug on Windows that caused a Runtime error when importing the uuid module.

Event Plugin Improvements

General

  • Added a new OnJobErrorCallback event for event plugins.
  • Fixed a bug where the JobStarted event wasn't firing properly for event plugins.
  • Added cleanup code to all the event plugins to prevent memory leaks.
  • Fixed a "Scope 'EventPluginScope' does not exist" error that could occur when processing Event plugins.

Draft

  • Fixed the output folder creation in the Draft event plugin to properly map paths between operating systems.
  • Fixed a draft event plugin bug when there are multiple outputs for a job.

Shotgun

  • Updated the Shotgun API that ships with Deadline to version 3.0.14.
  • Renamed Version Template to Version Name in the Shotgun connection window.
  • Made some minor UI improvements in the Shotgun connection window.

Application Plugin Improvements

General

  • Added the Machine List option to the integrated submission scripts that were missing it (Maya, After Effects, etc).
  • Added cleanup code to all the application plugins to prevent memory leaks.

3ds Command

  • Fixed some bugs in the integrated 3dsCmd submitter, including the bug where it wasn't setting the frame list option properly.
  • Fixed a bug in the integrated submitter where it would appear off screen and never show up.

3ds Max

  • Fixes a bug that could cause the Slave to consume large amounts of memory when rendering 3ds Max jobs.
  • Fixed a problem with unicode characters in output paths.
  • Fixed a bug that prevented SMTD from launching if RPM was installed, even if Deadline was not selected as network manager in RPM.
  • In SMTD, script files are now submitted properly with tile jobs.
  • For 3ds Max 2013 and later, the correct path to the 3dsmax.ini file is now used if user profiles are disabled.
  • Removed some debugging output when saving a region bitmap.
  • In SMTD, the browse button for the Draft template is no longer overlapped by the text box.
  • In SMTD, Draft's "use shotgun" controls are now updated properly.
  • VRay progress reporting is working again.
  • Fixed an error that occurred during shutdown if the socket connection to 3ds Max wasn't initialized yet.
  • The DeadlineUtil.GetAuxFilename maxscript utility function now works properly again.
  • Render element paths are now stored in the job's plugin info.
  • Path mapping is now performed by the 3ds Max plugin (including all contents in the job's plugin info).
  • Added missing DeadlineUtil functions to the MAXScriptJobTemplate.ms script file.
  • Added a workaround in SMTD for gw.transpoint which was broken in Nitrous in Max 2012.
  • Lightning now saves its 3dsmaxConnect.log file to the Deadline 6 logs folder.
  • Added a submission option to override the language of 3ds Max that will be used for rendering.
  • Added FumeFX stdout handling and additional popup handlers.
  • Added an option to SMTD to skip rendering (useful for FumeFX sims).
  • The customize.ms script now prints out version information.
  • Added ability to change VRay's Brute Force GI settings after submission.
  • In SMTD, fixed some issues with tile renders when saving multiples of the same type of render element.
  • The Max.log file is now appended properly to the error log when Max exits unexpectedly.
  • Updated the message when SMTD is opened after RPM was used.
  • Added option to plugin configuration to kill WSCommCntr.exe executables during rendering.
  • Fixed some typos in the 3dsmax.options file.
  • The Show Slave Info option in the Limit tab in SMTD now works again.
  • Fixed a bug that caused simple socket timeout connections whenever the Lightning SetProgress function was called.
  • Added executable version info output to 3dsmax plugin.
  • Added a fix that allows SMTD to handle the case where the selected camera in the viewport is actually a light.
  • Fixed a bug where the Max.log index was reset when starting a job.
  • Added improved backburner PATH information to 3dsmax plugin.
  • Added some additional popup handlers.
  • The max.log contents now get appended to the error message when Max quits unexpectedly.
  • When accessing the Max.log file, we now make multiple attempts in case it's locked by Max.
  • Added some backburner path sanity checking that won't fail the render.
  • The region coordinates in 3dsmax.options are now strings to support the region formatting for multi-region animation jobs.
  • In SMTD, added ExtraInfoKeys array to add unlimited extra info via MAXScript (not exposed to UI).
  • In SMTD, added StateSetRenameOutput option to prepend the state set name to the output file name.
  • In SMTD, added StateSets Submit and Rename to the list of properties supported for sticky/defaults settings.
  • In SMTD, added Menu option to Explore Temp. Submission folders
  • In SMTD, added About SMTD window
  • In SMTD, added UI controls to quickly load a preset from a list with one click.
  • In SMTD, disabled Tooltips of the DotNet Tabs as they affected focus of VRAY VFB etc.
  • In SMTD, renamed "Nth Frame" to "Out Of Order Step" to reduce confusion
  • In SMTD, added a Tile/Region Options rollout with common settings for both Regions and Tiles
  • In SMTD, added Region Animation controls for setting, navigating and deleting Keyframes
  • In SMTD, added Menu > Tools > Explore SMTD Logs folder option
  • In SMTD, removing empty lines from submission messages in the Log report
  • In SMTD, added message prints from all intermediate submissions when sending regions/tiles.
  • Added a plugin config option to disable the _alt file renaming when the render can't be saved to the original output location.
  • Texture baking jobs now fail if the RTT main output path hasn't been set to something.
  • Added try()catch() to all 84 unprotected calls to UI_report in the SMTD UI just in case it is not up.
  • Changed the SMTD UI Log to colorize all lines of a multiline message according to the prefix of the first non-empty line.
  • Added a call to close the UI from the Functions script to ensure the UI changes are committed before the structs are reinitialized. This also fixes the problem with restarting SMTD clearing last region setup if Tile tab has focus.
  • Added a new JobInfoFile key SubmittedFromVersion using the file version of 3dsmax.exe.
  • Tile rendering is now supported when rendering to VRay's raw image format (EXR only) and when splitting channels into separate images.
  • In SMTD, combined all Region render options into one single drop down list.
  • Added 3ds Max version descriptions to the 3dsmax plugin.
  • Fixed some State Set related bugs in SMTD.
  • In SMTD, cleaned up Output paths in Monitor for region rendering.
  • Updated the VRay advanced options that can be modified after the job has been submitted to work with VRay 2.x and 3.0.
  • A "success" message is now printed out after the 3dsmaxcmd sanity check completes successfully.

After Effects

  • Added support for After Effects CC.
  • The main submission script now looks for the sanity check script in the correct place.
  • Fixed a typo in the project file browser in the Monitor submitter that prevented the selection of AEPX files.
  • Added an option to the integrated submitter to just use the comp name for multiple jobs, instead of both the project and the comp name.
  • Added an option to fail After Effects jobs if there is another After Effects GUI process running.
  • The integrated submitter now includes output paths for all output modules in the render item instead of just the first.
  • The Monitor submitter no longer checks if the frame list is valid when using multi-machine rendering.

Anime Studio

  • Added explicit support for Anime Studio 8, 9, and 9.5.
  • The submitter now sets the padding in the output file name properly for Anime Studio 9 and later.
  • The plugin now sets the output format command line argument to lower case for Anime Studio 9.5 and later.

Arnold Standalone

  • Added an icon to the Arnold plugin.
  • Added an option to the Monitor submitter to automatically calculate the frame list based on the selected input file.

Blender

  • The "failed to read blend file" error is now caught.

Cinema 4D

  • Added support for Cinema 4D 15.
  • The "Error Loading Project" error message is now caught by Deadline.
  • The integrated submitter has a more helpful error message when it can't find the Repository.
  • The integrated submitter now gives a better error message if it can't access the repository.
  • Added some additional progress handling.

CommandLine

  • Added a submission script to the Monitor to submit arbitrary command line jobs to Deadline. Previously, these could only be submitted using deadlinecommand.
  • Fixed an indentation issue in the CommandLine.py file.

CommandScript

  • Removed the "executable found" and "arguments found" output messages, since they're redundant, and could be confusing.

Composite

  • Updated the plugin icon with the Composite 2014 icon.

Draft

  • Upgraded Draft to 1.1, which includes improved EXR support to bring it line with the old Tile Assembler's feature set.
  • Note that Draft 1.1 requires an updated license.
  • Added concurrent tasks flag to the Draft plugin.
  • Fixed some text cut-off issues in the Monitor submitter.
  • Added the Additional Arguments option to all the other submitters that support Draft.

FFMpeg

  • Some FFMpeg settings can now be configured from the Monitor after submission.
  • Fixed a bug in the file type filter when selecting a Video Preset file.
  • Added an option to not replace frame numbers in input files that have frame padding.
  • Fixed some text cut-off issues in the Monitor submitter.
  • Fixed a bug when replacing the input/output path padding with the required FFMpeg syntax for files that have a '-' before the padding.

Fusion

  • Fixed a bug that could prevent the integrated submitter from appearing if multiple comps are open.
  • The environment variable for the Fusion preference file is now set for rendering process only instead of the Slave process.
  • Fixed a fusion error when rendering.
  • The Draft template "Browse" button in the integrated submitter now sets the file filter drop down properly in the file browser.

Hiero

  • Jobs submitted from Hiero now have the proper start frame, instead of always starting at 0.
  • Fixed a strToBool error when submitting to Deadline.
  • Added Nuke 8 version options to the Hiero submitter.

Houdini

  • Added support for Houdini 13.
  • We no longer loop over individual frames for a multi-frame task when rendering, which can cause problems with simulation jobs. Instead, we just call the rop once with the full frame range.
  • Before rendering, we now enable "vm_alfprogress" and set "vm_verbose" to 3 for ifd rops, and enable "alfprogress" and "reportnetwork" for geometry rops.
  • The Houdini plugin now parses the Alfred style progress written to stdout from the progress change above.
  • Added option to Houdini plugin configuration to specify which slaves should use an Escape license.

Mantra Standalone

  • Added support for Mantra 13.
  • Path mapping can now be performed on the contents of the IFD files.
  • Added an option to the Monitor submitter to automatically calculate the frame list based on the selected input file.

Maya

  • Added VRay DBR support.
  • The original submitter and the new VRay DBR submitter are on the same shelf in Maya, and have different icons. If the original submitter isn't showing the new icon, you can delete the shelf and restart Maya to get it back.
  • Added tile rendering support for Arnold jobs.
  • Fixed some path issues in the global functions for MayaBatch script jobs.
  • Maya job output paths are now stored in Deadline using '#' instead of '?' for the frame padding.
  • Fixed an error in the integrated submission script that occurs when there are multiple cameras in the scene file with the same name.
  • Deadline no longer ignores a Mental Ray error that is printed when it can't create a file.
  • PYTHONHOME is now set for Maya jobs on OSX and Windows to help avoid errors when Maya can't find its Python libraries.
  • The MayaBatch plugin now writes the correct "render" command for Arnold jobs.
  • Fixed a "PATH" environment variable issue on Windows that prevented the integrated submitter from working properly on some Windows systems.
  • When the integrated submitter calls deadlinecommand, it now ignores anything written to stderr.
  • The Monitor submitter now has the project folder listed first, and the Maya scene file and output directory will default to this project path unless they already have paths defined.
  • The Edit Project button in the integrated submitter now works again.
  • When stripping the scene file name in the integrated submitter, only the .mb or .ma extension is stripped. This ensures that the output file name is set correctly if the scene file has a '.' in its name and the output file name is set to use the scene file name.
  • When submitting an Arnold export job, a dependent Arnold standalone job is now submitted for each layer and each renderable camera.
  • When using the MayaBatch plugin, there is now an option to run a mel script when Maya starts up.
  • The Explore Output option now works correctly when right-clicking a Maya Krakatoa job that was submitted in Deadline.
  • Added new stdout handler to catch vray error "Error writing render region to raw image file".
  • When submitting an Arnold export job, the input path for the defaultRenderLayer is now set properly in the dependent Kick job.
  • Arnold export jobs now respect the Frames Per Task setting, and dependent Kick jobs are now frame dependent on the export job.
  • The integrated submitter now sets the file filter properly when browsing for mi and vrscene files for Mental Ray and VRay export jobs.
  • Updated the plugin icon with the Maya 2014 icon.
  • When submitting a dependent VRay standalone job after doing a VRay export job, the .vrscene extension is added to the vrscene file path if it isn't already specified.
  • Added stdout handlers for fatal vray error messages.
  • Updated how Deadline specifies verbosity for Arnold for Maya because it changed recently.
  • Tweaked how we get the version of Maya in the integrated submitter.

Maxwell

  • Added support for Maxwell 3.
  • When rendering an animation, the MXI file is now padded with the appropriate frame number so that they don't overwrite each other.
  • Added additional Maxwell 3 channels to cleanup after a merge job.
  • Fixed a Maxwell submission bug that could cause more than 1 results dialog being displayed.

modo

  • Fixed a modo submission error.

Nuke

  • Added support for Nuke 8.
  • The library path environment variables are now set for rendering process only instead of the Slave process.
  • Sticky Deadline settings are now stored in the Nuke script before it is submitted to Deadline.
  • In the integrated submitter, simplified the threaded submission a bit.
  • In the integrated submitter, increased height slightly for OSX.
  • Batch mode now defaults to True in the Nuke plugin (it was already defaulting to True in the submitters).
  • Added a BatchModeIsMovie plugin info property. If True, BatchMode will render the frame sequence as one chunk, instead of one render command per frame. This is necessary for movie renders, otherwise only the last frame will be written to the movie file.
  • Nuke plugin now calls nuke.scriptClose() at the end of the job when BatchMode is enabled.
  • Switched the default Nuke executable to upper case on windows (though it really shouldn't matter).
  • Tweaked some confirmation dialogs in the Nuke submitter to prevent them from being too wide.
  • Added submission option to use the GPU for rendering (Nuke 7 and later).
  • Added submission option to enforce the write node rendering order.
  • Added submission option to specify view(s) to render.
  • Added submission option to set minimum stack size when rendering.
  • The integrated submission window is taller so that the buttons on the bottom aren't cut off on OSX.
  • The Nuke submitter in the Monitor no longer cuts off "Enforce Render Order" on OSX.

Python

  • Changed the Python Plugin to allow setting additional search paths.

Quicktime

  • Fixed a syntax error in the Quicktime submitter.
  • Fixed some UI bugs in the Job list's quicktime submission script.

Realflow

  • Added support for Realflow 2013.
  • Updated progress reporting to work with Realflow 2013.
  • Fixed a bug on Linux where the render executable would get replaced with a *.bin file when doing bitness checking.
  • Version and Build settings in the Monitor submitter are now sticky.

Rhino

  • The Rhino integrated submitter now uses DEADLINE_PATH to build up the path to deadlinecommand.

Softimage

  • Added a submission option to skip the Softimage batch license check when rendering. This allows you to use 3rd party renderers like VRay or Arnold without using a Softimage batch license.
  • Added a button to the integrated submitter to set the job name to the scene file name.
  • Updated the plugin icon with the Softimage 2014 icon.
  • Fixed a bug in the integrated submitter that could cause Softimage to freeze after the job has been submitted.

Terragen

  • Added support for Terragen 3.

Tile Assembler

  • The library path environment variables are now set for rendering process only instead of the Slave process.

VRay Standalone

  • Fixed a bug that caused an output path of "" (quotes included) to be passed to VRay, which caused an error after rendering.

VRay2Exr

  • Default pool is now "none" in the Monitor submitter, which is consistent with the other submission scripts.

Vue

  • Added support for Vue 2014.

xNormal

  • Re-added support for xNormal.