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

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