1.13.0

Major changes in this version

Cluster-API Runs in the Bastion

The cluster-API is now running in the bastion instead of the cluster. This means that this service can be available even if a cluster is down. You can also stop and restart this job from the bastion.

We also added a new ability to have a job by cluster. Those jobs run for each individual cluster inside the Bastion.

UE4 Genvid Module (Client/Server)

The Genvid Module now follows the Genvid SDK Client/Server architecture. The Genvid Module is still backward compatible with SDK version 1.12.0. You can find information on migrating to this version in the 1.13.0 release notes, or the Blueprint and Client/Server sections of the documentation.

New Health Page

A health page has been added to see the services’ health in both the Cluster UI and Bastion UI.

Improved Synchronization and Long-Term Stability with YouTube

We’ve made many improvements in our system:

  • We fixed a bug that was causing the compose service to use an increasing quantity of memory when having a network congestion.
  • We updated the code to follow the ASIO specification.
  • We added a reference clock in the compose service and Genvid SDK.
  • Better accuracy for missing frames detection.
  • Avoid a crash when gvencode receives an end of composition.
  • Fixed crash which occurred in the compose service when gvencode was ready to start a new job.
  • Fixed a bug where gvencode stopped after receiving a bad NTP response.
  • More accurate data synchronization. Now the sync is based on sending time.

Minor changes and other fixes

  • [sdk] Fixed a bug that was causing the compose service to use an increasing quantity of memory when having a network congestion.
  • [sdk] Updated code to follow the ASIO specification.
  • [sdk] Fixed several data race conditions.
  • [sdk] Now dropping frames that have the same frame numbers.
  • [sdk] Any message with an invalid stream type will now be dropped upon arrival in the SDK.
  • [bastion-api] Fixed the possibility to terminate a terraform command.
  • [consul] Fixed a high cpu load problem when a Consul request returned an error.
  • [cluster-api] We don’t renew the Vault’s token when running consul-template on a job anymore.
  • [ami] The Genvid Python Toolbox was added within the Genvid AMIs. You can still update it by setting the toolbox_location variable to a path accessible by the Genvid Bastion.
  • [ami] Ensure the wingame AMI has the latest Windows Update installed.
  • [toolbox] Added new delete command in genvid-ami.
  • [toolbox] Allow passing the arguments list in a file, using the @file syntax. E.g. genvid-ami delete -n @todelete.txt.
  • [toolbox] Added the --region argument to the genvid-ami list command.
  • [toolbox] Fixed a race condition on services installation (like genvid-bastion install) where we try to initialize Vault before it accepts connections. It happens often after Consul has been killed by a reboot or the machine going to sleep.
  • [toolbox] The clean command in genvid-ami has better error handling.
  • [terraform] The three Genvid Terraform repositories (cluster, game and genvid) are now grouped under a single repository SDK-X.Y.Z.
  • [broadcast pipeline] Added reference clock in the compose service and Genvid SDK.
  • [services] Allow configuring the initial data streams cache. The settings are under genvid.dataStreams.
  • [composed] Log all missing frames. Not one log for each 1000 frames.
  • [composed] Better accuracy for missing frames detection.
  • [composed] Avoid flooding logs with missing frames messages.
  • [gvencode] Fixed corrupted fonts files in gvencode Docker image.
  • [gvencode] Avoid a crash when gvencode receives an end of composition.
  • [gvencode] Fixed crash which occurred in the compose service when gvencode was ready to start a new job.
  • [gvencode] Avoid a resource leak when the monitor of studio is connected.
  • [ntp] Change default ntp server to pool.ntp.org.
  • [ntp] Fixed a bug where gvencode stopped after receiving a bad NTP response.
  • [youtube player] More accurate data synchronization. Now the sync is based on sending time.
  • [standalone player] If the compose service crashes, the video playback will now resume by itself.
  • [statsd] Added a watch on the statsd URL to reconnect when the URL changes or a connection error occurs.
  • [statsd] Used long polling query when looking for statsd service and fixed a crash on termination.
  • [genvid-bastion] Added new option --jobs-only to the genvid-bastion stop and start command to only affect the jobs, not the services.
  • [linux] Upgraded our Linux server and images to Debian 9.4.
  • [linux] Adding stack frame in log when Linux raised a signal, and build with debugging information.
  • [cluster-ui - bastion-ui] Added access to the SDK documentation, forum page, and services version information from the Help button in the UI.
  • [cluster-ui - bastion-ui] Added the SDK version in the about prompt.
  • [cluster-ui] Fixed incorrect color displayed for a system job running properly and having multiple tasks running but having only one task count.
  • [bastion-ui] It is now possible to import a module on a non empty cluster.
  • [swagger-ui help] Added the ability to try the API calls from the Swagger UI.
  • [unity prefab] We removed the Camera capture type selection from the Genvid Video script. The Texture capture type is now supporting both Camera and Texture capture types.
  • [unity prefab] Modified the default values of the prefab to make the integration faster.
  • [unity prefab] Added better support for video capture via texture and camera to prevent issues where the video would be flipped.
  • [unity-plugin] Fixed an error occurring when a cluster selection is saved upon closing the Unity editor.
  • [ue4-plugin] Fixed problem with video streams and video capture destruction.
  • [ue4 plugin] Added compatibility with Unreal Engine 4.18 and 4.19.
  • [ue4 plugin] Added some Rest API validation to fix a potential crash when the response or request is not valid.
  • [ue4-plugin] Fixed compile errors when disabling PCH files.
  • [tutorial] Added the session time (in-game clock) to the debug overlay in addition to the streaming time (encoder clock).
  • [studio] Optimized the slider controllers to be touchscreen friendly.
  • [studio] Added push and cover video transitions.
  • [studio] Fixed a crash occurring when using the audio mixer sliders.
  • [studio] Fixed the monitor page that stopped working after changing page.
  • [studio] Fixed dashboard creation that wasn’t working anymore.
  • [studio] Avoid gvencode to crash when we select a source with no audio in the monitor view.
  • [documentation] Added more examples for the REST API.
  • [documentation - unity] Added a new step-by-step guide to make the local integration easier.
  • [documentation - unity] Added a list of best practices to follow for the Unity integration.
  • [documentation - cloud] Added a clarification about the public machine IP of the game machine.
  • [unity sample] Added a fullscreen button like the other samples.
  • [ut4-sample] Fixed the player selection highlight wrong color bug that can occur when a specific camera is used which could prevent the game from sending all the team data.