Version 5.0

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

  • User can assign himself to a group without _group_write permission (#4546).
  • Imports failing due to Infinispan lock errors for XMP fields (#4487).
  • Bulk collection delete fails if collection has ancestor relationship (#4405).
  • Direct S3 to S3 transfers not used when useSegmentFiles is true (#4383).
  • Metadata modified notification triggered on empty changes (#4465).
  • 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

  • Prevent possible JGroups “split-brain” issue during VidiCore startup (#4518).
  • Mimetype missing on new shape versions (#4514).
  • VidiCore fails to update VidiCoder License in some cases (#4494).
  • Incorrect search hit on the /search endpoint in some cases (#4488).
  • Possible OOM when updating metadata referenced in many places (#4484).
  • Incorrect timecode if fetching metadata containing “inherited timespan” using the “interval” query parameter (#4368).
  • Export with both tag and interval ignores the tag (#4156).
  • Removed child collection is still available from parent collection search (#4404)

Transcoder fixes

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




  • Be able to choose which transcoder to use for an essence import job using the resourceId parameter.(#4458).
  • Improved IMF support (#4427).
  • Add ‘vidinetJobId’ and ‘vidinetResourceId’ to analyze job metadata (#4401).

Bug fixes

  • Vidispine server fails to send/create essence version job to Vidinet (#4422).
  • Empty thumbnail result when the “version” query parameter is “all” (#4310).
  • Metadata not updated after deleting essence version (#4279).

Agent fixes

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




  • Be able to set “duration” to 1 minute for pre-signed URLs (#4336).
  • Support SQL Query rewriting for MSSQL (#4324).
  • Improve the performance of fetching metadata with “defaultValue=true” in a cluster environment. (#4319).
  • Improve large metadata updating speed on item and collection (#4309).
  • Abort Vidispine job if transfer step throws a runtime exception (#4305).
  • Be able to configure the batch size in DeletionLockBufferCruncher. (#4099).

Bug fixes

  • Fix possible NegativeArraySizeException when uploading large files to S3 (#4256).
  • Cannot create collection with schema validation enabled without specifying bogus collection id (#4236).
  • 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).
  • Deletion-lock does not show full siteId in systems using long identifiers (#4195).
  • PUT request with empty body does not work from JavaScript (#4175).
  • Subtitle rendering is broken for all video formats that are not 4:2:0 (#4024).
  • 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).

Agent fixes

  • Files with semicolon in path do not import using VSA (#4230).




  • Prevent user names been resolved many times during a search request (#4289).
  • Add a “recursive” flag to AccessControlType (#4287).

Transcoder improvements

  • Be able to create 8 channels of AAC-LC per track in mp4 (#4317).
  • Support decoding AAC in MXF (#4158).

Bug fixes

  • Fix possible user privilege escalation since 5.0 (#4316).
  • Fails to connect to an ActiveMQ that requires username and password (#4269).
  • Fail to create project version (#4217).
  • Items in a child collection not inheriting ancestor’s deletion-locks (#4202).
  • Search item by metadata field group fails when long identifiers are enabled (#4194).
  • Handle PUT (write) to APInoauth URIs pointing to vxa:// resources (#4132).
  • Incorrect search result if fields inside a NOT operator have boost factors (#4127).
  • Content path not working for transient metadata on the “/API/search” endpoint (#4040).

Transcoder fixes

  • Shape deduction returns wrong duration on certain MXF files (#4243).

Agent fixes

  • VSA transcode job fails if the original file is in S3 bucket (#4225).
  • Can’t connect multiple VSAs on the same machine to the same Vidispine server (#4133).



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).

Transcoder fixes

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



Bug fixes

  • PUT APIinit/schema/update fails for Solr as the /solr/admin/system endpoint has moved (#4166).
  • Elasticsearch health check fails with scope not active error (#4108).
  • 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).

Transcoder fixes

  • 24- and 32-bit audio not handled by Nablet AAC encoder (#4232).



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

  • Redundant ADIF header in MOV/MP4 output with Nablet AAC (#4148).
  • Transcoder crashing on extensive MediaInfo metadata (#4134).




  • 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).
  • SQL syntax error for document metadata indexing when using MySQL (#4096).
  • Regression in 5.0.0, Solr self test fails (#4092).
  • Incorrect job data when calling job.setData with an array (#4090).
  • Shiro user sync failing if user already exists with alias (#4065).
  • NPE when updating a storage using StorageDocument with empty sequence tag (#4054).
  • Item deletion fails with thumbnails on Azure blob storage (#3979).
  • Projects don’t inherit deletion-lock (#3944).
  • ignoreSidecarImport=true not adhered during placeholder import (#3934).
  • Metadata ACL doesn’t work if the field is in a group (#3918).
  • Scheduled requests not honoring the apiUri configuration property (#3911).
  • Import of 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).

Agent fixes

  • Regression in 5.0.0, Agent depends on old jaxb2-basics-runtime library (#4100).



Transcoding using Bitmovin

Vidispine now supports transcoding using Bitmovin on Vidinet. (#3820) This is supported for files on S3.

VSA to VSA transfers

Vidispine Server Agent now supports direct transfers between VSAs (#3582). By configuring several VSAs with the same agentGroup they can directly transfer files between each other instead of using Vidispine Server as a middle man.

Example of agent configuration:

<VXADocument xmlns="">
    <name>Test agent</name>

New AAC encoder

A new AAC encoder library from Nablet has been implemented (#3799). This now adds support for creating AAC files with up to 8 channels. To enable the new codec set the codec element to nablet_aac. This new codec also requires an updated license key.

<TranscodePresetDocument xmlns="">

New XDCamHD encoder

A new XDCamHD encoder library from Nablet has been implemented (#3741). To enable the new codec set the codec element to nablet_mpeg2video or mpeg2video. This new codec also requires an updated license key. If your license allows for both Nablet and MainConcept XDCamHD, the codec tag mpeg2video will default to Nablet version (if the preset is an XDCamHD valid preset). To explicitly use MainConcept, you can use the old codec tag mc_mpeg2video.

<TranscodePresetDocument xmlns="">

New H.264 encoder

A new H.264 encoder library from Nablet has been implemented (#3427). To enable the new codec set the codec element to nablet_h264 or h264. This new codec also requires an updated license key. If your license allows for both Nablet and MainConcept H.264, the codec tag h264 will default to Nablet version. To explicitly use MainConcept, you can use the new codec tag mc_h64.

<TranscodePresetDocument xmlns="">

JavaScript execution using GraalVM

Vidispine now uses GraalVM JavaScript as the default JavaScript engine. GraalVM is ECMAScript 2018 compliant. What engine to use can be set on per script basis or as a system-wide setting (#3898).

Example using default parameters and object literals:

function getDetail(item, tag='original') {
  let title = "...";
  let created = "...";
  return {
   title, created

Searching for documents

Document metadata can now be searched for using the document search endpoint. Note that document indexing is disabled by default. Enable by setting indexDocumentMetadata to true.

PUT /document
Content-Type: application/xml

<ItemSearchDocument xmlns="" version="2">

Existing documents can be indexed using a reindex request.

Simplified migrations

Users no longer need to run both db init and db migrate to ensure an up to date database schema. The only command needed is db migrate. Any init commands will now redirect to this new all-inclusive migration mechanism. We recommend users to update their process to only call db migrate.

Vidispine is now Spring-powered

Vidispine Server no longer uses OpenEJB but has migrated to Spring. As a user, this does not change the way Vidispine works. However, this means that EJB notifications and EJB task definitions are no longer supported. Plain Java classes or Spring beans can be used instead.

Support for matrix parameters has been deprecated

Vidispine no longer uses matrix parameters for requests made to the server. They have been replaced by query parameters of the same name. Note that your current requests using matrix parameters will function for now, but may fail in later versions of Vidispine. We urge all users to update their requests to only use query parameters from this point on. Support for matrix parameters can be disabled using the convertMatrixParameters setting.

Previous usage of matrix parameters:


New usage of query parameters:


Java 11

Vidispine server and Vidispine server agent (VSA) now use Java 11.


Supported Solr version has been changed to 8.1.0 (#3832)


Supported Elasticsearch version has been changed to 6.8.1 (#3688)

New features

  • New endpoint to send job metadata in body when starting a custom job (#3598).
  • Allow absolute timecodes of timed metadata to be inherited from collections to items (#3550).
  • Add a _user_read role that grants read access to user information (#3458).
  • Support for S3 Storage SNS (Simple Notification Service) (#3265).
  • New role _item_write required to delete an item (#981).


  • Transcoder should give proper error message in case of missing license (#3996).
  • Support mutable writes directly to Google Cloud Storage (#3984).
  • Support creation of signed URLs for Google Cloud Storage (#3982).
  • Allow Google Cloud Storage private key to be embedded in URL (#3980).
  • Speed up the fetching of thumbnails from no-auth URL (#3958).
  • Make it possible to control which tracks are written in CPL and physically based on shape (#3861).
  • New license parameter to limit database size (#3844).
  • Support decoding of “qtrle” for all licenses (#3826).
  • Include cluster in selftest documentation (#3778).
  • Support adding external hash values to files (#3610).
  • Speed up Vidinet jobs by requesting a media check of output file(s) in the transcode job (#3603).
  • Support new AWS regions even though they are not in the included SDK (#2731).

New transcoder features

Transcoder improvements

  • Speed up PSD/PSB to low-res (#3772).

Bug fixes

  • Can not tell which metadata-field caused an error on update (#3950).
  • S3 bucket online check fails when lacking S3:ListBucket permission (#3914).
  • COPY_FILE job does not copy the entire file when the source file is growing (#3882).
  • Python SDK handling of binary data (#3851).
  • Users can not read their own metadata via the metadata endpoint (#3843).
  • Missing element, expire, in deletion-lock notification (#3803).
  • OPTIONS results in 403 Forbidden response for endpoint collection/{id}/item (#3801).
  • Terse as JSON produce broken output when using Jackson (#3740).
  • Thumbnail in item metadata refer to sub layer, instead of flattened image for multi-layered files (#3714).
  • URI generation tool from APIdoc generates bad URI for special characters (#3574).

Transcoder fixes

  • Can not create 96kHz audio tracks in MP4 container (#3978).
  • A/V out-of-sync when creating sub clips with no transcode (#3961).

Upgrading from 4.17


Because of a change in our internal system for the handling of database migrations, all users MUST upgrade to version 4.17 of Vidispine server and complete the database migration process before attempting to upgrade to Vidispine Server 5.0.

  • Reindex needed due to Solr/Elasticsearch upgrade and changes to how dataset field values are indexed.
  • APIinit is needed due to new roles being added.
  • Solr: Supported version has been changed to 8.1.0.
  • Elasticsearch: Supported version has been changed to 6.8.1.
  • ActiveMQ: Supported version has been changed to 5.15.9.

For more information on upgrading to 5.0, see Upgrading to Vidispine 5.0.