Version 4.17

The release notes will tell you what’s new in each version, and any changes that you must be aware of when upgrading. For reference, Vidispine ticket numbers are printed as (#1234).



Bug fixes

  • Renamed file not re-detected until after 5 hours (#4579).
  • No write from transcoder in 1 hour causes mutable range write to fail (#4575).
  • Error retrieving thumbnails from VSA (#4165).



Bug fixes

  • Mimetype missing on new shape versions (#4514).
  • Possible OOM when updating metadata referenced in many places (#4484).
  • Export with both tag and interval ignores the tag (#4156).

Transcoder fixes

  • Regressions in certain ProRes decodes since transcoder 4.13 (#3866).




  • Improved IMF support (#4427).

Bug fixes

  • Empty thumbnail result when the “version” query parameter is “all” (#4310).
  • Metadata not updated after deleting essence version (#4279).

Transcoder fixes

  • Shape deduction of SVG fail unless rsvg-convert is installed (#4199).

Agent fixes

  • Import from VSA where path contains whitespace fails (#4407).




  • Be able to set “duration” to 1 minute for pre-signed URLs (#4336).
  • Improve large metadata updating speed on item and collection (#4309).
  • Abort Vidispine job if transfer step throws a runtime exception (#4305).
  • Add a “recursive” flag to AccessControlType (#4287).
  • Be able to configure the batch size in DeletionLockBufferCruncher. (#4099).

Bug fixes

  • Incorrect parsing of SCC timecodes (#4314).
  • NPE when timeout occurs (#4284).
  • Fix possible NegativeArraySizeException when uploading large files to S3 (#4256).
  • LDAP user sync fails with “too many parameters” SQL Error (#4228).
  • EXPORT job is incorrectly marked as FINISHED if one of its steps fails due to being DISAPPEARED (#4200).
  • HEAD request to thumbnail URL returns Content-Length: 0 (#4188).
  • PUT request with empty body does not work from JavaScript (#4175).
  • Incorrect search result if fields inside a NOT operator have boost factors (#4127).
  • Thumbnailbackground settings in TranscodePresetDocument does not take effect (#3909).
  • SCC import removes spaces around italic markers (#3737).

Transcoder fixes

  • Overlays are not working properly for YUV422P16 pixel formats (#4286).
  • Deinterlacing provides wrong frame rate (#4258).
  • Closed Captions(EIA-608,CEA-708) not found (#4246).
  • Shape deduction returns wrong duration on certain MXF files (#4243).

Agent fixes

  • 4.17.4 agent fails to start (#4257).
  • Files with semicolon in path do not import using VSA (#4230).
  • VSA transcode job fails if the original file is in S3 bucket (#4225).



Bug fixes

  • Get metadata’s allowed-value with large dataset is slow (#4185).
  • Rename operations should not delete source or destination file on failure (#4233).
  • Search on user groups is inconsistent (#3931).
  • NPE in boost search with wrong sorting field (#4125).



Bug fixes

  • Dataset values not returned in metadata on item search (#4103).
  • Item bulk delete endpoint does not verify deletion locks (#4130).
  • SyntaxError while searching with AND OR NOT in text (#4003).
  • Boolean fields with capital letters do not index properly in Elasticsearch (#4110).
  • Missing administrator role check for the Vidispine log endpoints (#4140).
  • VSA SSH key exposed in configuration properties (#4139).
  • Users authenticated via external Shiro realm are automatically enabled (#4129).
  • Global metadata group/field update without UUID fails with ambiguous update error (#4137).
  • Shape is disconnected from item before shape deletion notification is triggered (#4074).
  • Can not update “group” and “contentType” in notification action (#4080).
  • Storage id cannot be updated in file notification (#3938).



Bug fixes

  • UUID overwritten when updating global metadata (#4109).
  • Missing allowed values for dataset nodes without parent (#4106).
  • Shape content missing from item list output (#3930).

Transcoder fixes

  • Transcoder is using a visually inferior interpolation method (#4071).




  • Enable support to explicitly move files with an inherited deletion-lock (#3976).
  • Support search for values on dataset fields (#3709).

Bug fixes

  • Regression in 4.17.0, performance issue while building ACL cache (#4104).
  • API/whoami returns raw SSO ID, and not the username of the logged in user (#4102).
  • Shiro user sync failing if user already exists with alias (#4065).
  • NPE when updating sequence in storage (#4054).
  • Item deletion fails with thumbnails on Azure blob storage (#3979).
  • Project collection cannot inherit deletion-lock (#3944).
  • Metadata ACL doesn’t work if the field is in a group (#3918).
  • Scheduled requests not honoring the apiUri configuration property (#3911).
  • Importing IMF package failed (#3894).

Transcoder fixes

  • Transcoder is using a visually inferior interpolation method (#4071).
  • Transcoder fail to set mediainfo on last audio stream when timecode stream has id 0 (MXF) (#3972).



New features

  • Allow analyze jobs to run as part of a transcode/import job (#3867).


  • Enable metadata update requests to only return changed entries (#3974).
  • Allow collection to be retrieved without items, collections or libraries (#3927).
  • Support Google Cloud transcoders in Vidinet (#3959).
  • Improve performance of global metadata updates for large documents (#3965).
  • Improve performance of metadata group search on global metadata (#3946).
  • Faster removal of global metadata by UUID (#3922).
  • Expose creation time for shapes (#3899).
  • Support creation of shapes with components referencing different files (#3977).
  • Allow user aliases to be set via Shiro (#3960).
  • Reduce possible database locking error on “t_file” (#3923).
  • Add flag to limit import of unfulfilled partial IMPs (#3853).

Bug fixes

  • Metadata group is still returned after deletion in document metadata (#3917).
  • Missing boost factor for phrase query in Solr (#3901).
  • Components can get incorrect itemTrack when using path projections (#3895).
  • Incorrect search result if query contains a “NOT” operator and a boost factor (#3878).
  • Dataset field validation to support multiple hierarchies (#3994).
  • Missing recursive element in item ACL response (#3887).
  • VSA should only close proxy URIs that VSA has created, not proxy URIs that VS has created (#3892).
  • VXA URIs should always be accepted for VSA transcoders with the same host (#3862).
  • Use IMF InsintricDuration if SourceDuration is not present (#3849).

Transcoder fixes

  • Watermark/timecode appearing in formats that should not have watermark (#3933).



New transcoder features

  • Support for extracting IPTC-metadata from images (#3710).

Bug fixes

  • Job step marked as DISAPPEARED even though sub-steps are running (#3865).
  • Render job fails if sequence does not contain tracks for all audio channels (#3839).
  • NPE on LDAP sync if name attribute is missing from a user entry (#3838).
  • Indexing failing for item with thousands of files (#3837).
  • TTML timecode parser does not handle fractions (#3831).
  • Incorrect essence version on item if essence import job fails (#3830).
  • Binary components missing from shape after placeholder import of binary component (#3828).
  • CloudConvert script not evaluated for essence import jobs (#3827).
  • File on StorNext archive not shown as ARCHIVED (#3824).
  • File on Glacier Deep Archive not shown as ARCHIVED (#3823).
  • Placeholder import job incorrectly overwrites original shape metadata (#3821).
  • Transcode of document formats not working with CloudConvert (#3817).
  • Scheduled requests not working for all endpoints (#3815).
  • Incorrect username migration query shown on dry-run (#3787).
  • Import settings not applied during import to placeholder item (#3770).
  • Normalizer class cannot be accessed from sandboxed JavaScript (#3749).
  • Retrieving storages by storage group doesn’t work since 4.16 (#3748).
  • Dataset values not displayed in search results (#3734).
  • Shape import of .mov file creates item with wrong mimeType and mediaType (#3732).
  • Unable to update all action fields on a notification (#3705).
  • Unable to update trigger on notifications (#3704).
  • EJB notification is not fired if synchronous is set to false (#3703).
  • Items and collections not reindexed after an external idenfitier change (#3697).
  • Can’t import to placeholder that was created before upgrade to 4.16.1 (#3693).
  • Too large document_text causing too large messages on the index queue (#3669).
  • Integer values accepted as input for date fields (#3665).
  • Shape import of IMF package does not set system metadata, like original codec etc. (#3301).

Transcoder fixes

  • Transcoder generates invalid MXF (#3889).
  • Slow media check of tar file on S3 storage (#3835).
  • Incorrect bit rate metadata for MPEG transport stream (#3788).
  • Burn in timecode without background bar causes text shadow (#3777).
  • Shape deduction of SVG files take a very long time (#3720).

Agent fixes

  • Shape deduction by agent fails for file on S3 with special characters (#3563).



PostgreSQL 11 and Ubuntu 18.04

PostgreSQL 11 and Ubuntu 18.04 are now officially supported.

Configure OAuth authentication using API

The OAuth configuration can now be set using the new auth configuration endpoint. Previously it was supported by adding the configuration in the Shiro configuration file.

See Configure OAuth2 using the API for more details.

Trigger notifications from JavaScript

Notifications can now be sent from JavaScript job steps (#3454). This is done using the notification object. This works for all notification actions.

For example, given an SQS notification with id VX-45, adding a message to that queue could be done using:

notification.send("VX-45", {
   "item": "VX-1",
   "state": "VALID"

Import of TTML subtitle sidecar files

Import and basic parsing of TTML subtitle files is now supported (#3581). The content of TTML files will be parsed as subtitle metadata on the items. Currently supported fields are stl_text, stl_justification, stl_color and stl_font.

Storage priority

The user can now assign a priority to a storage. When a source file exists on multiple storages Vidispine server will use the file from the storage with the highest priority. This is, for example, useful if one storage has much faster retrieval speed than the other(s) (#3578).

Control if a storage is active/inactive

This feature allows the user to mark a storage as active by adding a .storage file in the root of the storage. To enable this check for all storages you can add storageActivationFile to the server.yaml. To only enable it for a specific storage you can set the key storageActivationFile in the storage metadata (#3552).

Improved status of thumbnail resources

The thumbnail resource has been updated to contain online/offline information (#3228).

<ResourceDocument xmlns="">

Improved access control options

A new appliesTo setting is introduced for finer control of the entities that an access control entry is inherited to. This replaces the previous recursive option (#2369).


  • Preserve access granted by disabled users (#3631).
  • Support for aborting jobs in Vidinet (#3630).
  • Metadata locks on collections (#3590).
  • Retry to send job to Vidinet if Vidinet is temporarily inaccessible instead of failing the Vidispine job (#3528).
  • Support for using Nexio FTP-servers as storages (#3514).
  • Skip unnecessary media checks for files on object storages (#3511).
  • New endpoint to set multiple configuration properties at once (#3451).
  • Support to get all key/value metadata of metadata-field/group (#3438).
  • Validate bucket region when creating an S3 storage (#3147).

Bug fixes

  • IOException for FTP storage when pooling is enabled (#3700).
  • Get metadata not accepting all timecode formats of interval parameter (#3657).
  • HTTP 500 when adding access controls in bulk (with -Xss256k) (#3617).
  • Stack overflow error when running with a smaller stack size (#3612).
  • High memory usage due to a large number of OpenEJB scheduler threads (#3611).
  • Error message in log if no S3 bucket configured for audit trail purging (#3584).
  • Thumbnail job does not honor resolution set in shape-tag (#3579).
  • Search operator name not validated when using Elasticsearch (#3567).
  • Cannot import sidecar with fileId on Vidinet (#3558).
  • Jobs that have been in WAIT state cannot be deleted (#3555).
  • Bad performance of collection/{cid}/graph/dot if ancestor collections have a lot of items (#3546).
  • Permissions created by grantor persist after deleting grantor account (#3535).
  • URI-escaping of files detected on Azure storages is not working properly (#3532).
  • markDeletedFilesMissing gets stuck on huge amount of entries (#3428).
  • Metadata changes on inherited metadata are not reflected in search index (#3238).

Transcoder fixes

  • Improve transcoder retry logic for mutable regions (#3692).

Agent fixes

  • Allow moving files within the same VSA storage (#3426).
  • VSA rewrites CIFS URLs (#3391).


This release adds support for Ubuntu 18.04 and PostgreSQL 11. At the same time, support for PostgreSQL 9.1 and 9.3, MySQL 5.5 and Ubuntu 14.04 has been discontinued.

Upgrading from 4.16

  • APIinit is needed due to new metadata fields added for TTML parsing.
  • Solr: No changes to the documents. Re-indexing is not required.