1.23.0

Major Fixes & Changes

New Shared Web Sample

We refactored our engine integration samples to use a single shared web sample. This JavaScript web sample requires much less code, making it easier to understand and debug. See the 1.23.0 Upgrade Notes for more information.

Unreal and Unity Integration Changes

We moved the generic code for integrating the Genvid SDK with Unreal Engine and Unity to a dedicated folder in engine-integration. See the 1.23.0 Upgrade Notes for more information on upgrading your game.

Minor Changes and Other Fixes

  • [documentation] Added Terraform Modules section to the References section.
  • [documentation] Added instructions on creating and using a Python Virtual Environment for running Genvid Toolbox.
  • [sdk, composed, gvencode] framesizesent metrics are now gauges instead of counters.
  • [sdk, gvencode] Fixed an Audio/Video and Data offset problem when silent mode is enabled.
  • [sdk] Fixed issue where the stream fails to resume on Twitch after closing the game and restarting it.
  • [eventsd] Fixed a crash in eventsd which happened during restart that could lead to a loss of events subscriptions.
  • [eventsd] Fixed the stream freezing when eventsd is restarted.
  • [web-sdk] Fixed obsolete data being present in the web client after the game has closed the stream.
  • [web-sdk] Fixed buffer latency of the Standalone player.
  • [web-sdk] The es5 version of our library is now distributed to our clients.
  • [web-sdk] Fixed a reconnection issue between NATS and the events service.
  • [web-sdk] Fixed a reconnection issue with leafd.
  • [web-sdk] Chroma key compositions will no longer hide game data.
  • [web sample] Added the volume icon to the Web Sample.
  • [toolbox] Polished ROOTDIR auto-discovery for genvid.toolbox.BaseTool.
  • [toolbox] genvid-sdk show-config can now run properly even when no secrets are present.
  • [toolbox] upload-images-sdk now creates the NATS-window package.
  • [toolbox] Added new Job API /jobs/jobID/settaskgroupcount which allows directly setting the group count.
  • [toolbox] Improved the error messages when rendering job templates.
  • [toolbox] Fixed Python dependencies that break using Docker for Windows with the Genvid Toolbox.
  • [toolbox] The Toolbox now uses Azure CLI calls to avoid dependency conflicts between Azure Python API and Azure CLI.
  • [toolbox] Added debug-level logs to the Azure code base.
  • [genvid-ami] Added a new --region argument to the setup command. You can use this option to override the region used by your Terraform configuration for deploying the game instance.
  • [game image] Fixed the shortcut to the documentation on the Windows game image.
  • [openapi] Added the /consultemplate endpoint definition in the OpenAPI definition file.
  • [bastion-ui] Terraform Variable editor now supports variables of type Map.
  • [bastion-ui] The Bastion-UI Terraform page now shows the number of resources allocated by Terraform next to the status. See the Terraform section for more information.
  • [bastion-ui, cluster-ui] ID for jobs and links of Cluster UI and Bastion UI are no longer editable after they’re created.
  • [bastion-ui, cluster-ui] Improved the error message for cluster name creation.
  • [gvencode] Fixed a memory allocation problem when trying to add audio silences.
  • [gvencode] Improved Audio/Video stream stability.
  • [gvencode] Improved gvencode blitting performance and image quality when the input and output format are identical.
  • [gvencode] Fixed Wipe support in local streaming.
  • [gvencode] Pointed the data directory for gvencode to the correct folder for local streaming.
  • [terraform] Renamed all the main files in our Terraform modules to main.tf for better consistency with the Terraform standard.
  • [terraform] Renamed the new alb_ssl_cluster to match the basic_cluster convention. See the 1.23.0 upgrade notes for more information.
  • [terraform] Added a way to create minimal_alb_ssl cluster on VPC with multiple subnets per availability zone. A list of allowed subnets to use is now available but optional.
  • [composed] Improved RTMSP connection/reconnection.
  • [composed] Fixed a termination when a game connection is lost, preventing the A/V stream from recovering quickly.
  • [composed] Fixed a SIGSEGV error due to a concurrency problem when a source disconnects.
  • [rootd] Improved stability when used with heavy data streams.
  • [rootd/eventsd] Increased the memory limit in the cloud.
  • [commandd/webgateway] We renamed the command service to webgateway. This also applies to the executable and Docker image.
  • [commandd/webgateway] Added a Consul key configuration to activate the command legacy-mode where the service is exposed as commandd instead of webgateway.
  • [webgateway] The Webgateway service now exposes an /events endpoint, allowing the sending of event batches.
  • [samples] Game data no longer persists when changing the primary source.
  • [studio] Fixed an audio crackling noise issue in Studio.
  • [studio] In Studio, the UI of source 1 reflects the state of source 1 audio. If the UI is grayed, there is no audio. If the UI looks activated, you can hear the audio.
  • [studio] Adjusted the internal instance-count in the Terraform Settings to support Studio.
  • [studio] Fixed display issues to enable resize of bottom widgets.
  • [studio] Fixed display of status panel going over two lines.
  • [studio] The Audio autofollow state on/off is now preserved after a refresh of the page.
  • [studio] Audio-follow-video option is now kept when switching scenes.
  • [studio] After modifying transition and video-mixer values, if the user reloads the page without saving the scene, the values are updated to the scene ones.
  • [studio] Fixed the Audio Mixer going in silent mode when selecting the default scene after switching the value in the cluster settings.
  • [studio] Set the value of the Audio-Follow-Video option to false by default.
  • [studio] Fixed a bug where the game data would freeze during a Studio transition.
  • [studio] The video-mixer primary source is now read properly when creating a new scene while the video mixer option is not selected in the configuration.
  • [studio] Updated the streaming strategy to a stable low-latency stream.
  • [studio] Studio always has a scene selected when starting.
  • [ingest] Ingest stream is now independent of its place in the source order.
  • [ingest] Fixed Ingest performance problem when no Audio/Video is streamed.
  • [ingest] Improved OBS Video compatibility for Color Format (NV12, I420, I444, RGB), Color Space (601 or 709), and Color Range (Partial or Full).
  • [ue4-plugin] Fixed reversed Audio On/Off status in the settings section of the Genvid UE4 editor.
  • [ue4-plugin] Fixed Genvid Editor Tab auto refresh when a change is made from Cluster-UI.
  • [unity] You can now specify which version of Unity to use when building the plugin and sample.
  • [unity] Unity plugins are now compatible with the latest Unity 2019 LTS.
  • [unity] Fixed a problem that caused an error to be logged despite the SubmitGameData function being successful.
  • [unity-plugin] Fixed some issues with the Genvid Window UI under Unity 2019.3+.
  • [unity-plugin] Fixed Unity Editor slowdown when Genvid Bastion is stopped while the Genvid Window tab is open.
  • [unity-plugin] Reload settings now updates settings changes in the Unity plugin without having to select another setting.
  • [cube] When using Twitch, Consul uses a configuration key to set the leaf and web endpoint.
  • [twitch] Updated our Twitch API support to the new version by adding the parents option.
  • [tick] Updated instructions for dealing with a lack of resources on the internal worker. See the 1.23.0 upgrade notes for more information.
  • [loadtester] Completed a major rewrite of the Load Tester sample and renamed it loadtester. See the Load Tester section for information on the updates.
  • [loadtester] Removed the load_test module as well as the test instance type. Use the public instance, instead.
  • [consul-template] Updated consul-template to version 0.24.1