Major Fixes and Changes

Azure Multi-AZ Load Balancing

We’ve added the ability to deploy in multiple availability zones (AZs). This introduces a new variable in the settings tab called azs and brings it on par with AWS support. For more details, see the Tags section of the Azure Cloud documentation.

Azure SSL-enabled clusters

The module azurerm_basic_cluster_alb_ssl allows the deployment of SSL-enabled clusters. This module allows you to manage certificates, DNS, and uses Application Gateway for your cluster. This is important for building Twitch Extensions and other platforms which require using SSL clusters.

Cube Samples Data Streams Refactoring

We refactored the Cube samples in accordance with best practices of Data Streams usage.

Data Submission is now split into multiple streams:

  • Names

  • Positions

  • Colors

  • Camera

In addition, we added the following improvements:

  • Popularity is now sent every second as notification.

  • RESET, SPEED, and DIRECTION events trigger notifications as a response to a change.

  • COLORS event triggers an annotation as a response to a change.

  • The Twitch Extension now shows a visual notification upon reception of color changes.

  • The Web sample now displays a countdown popup for color changes.

  • The Web sample now displays a green popup for responses to events.

Studio as a Service

We converted the Studio sample to a standard service, so the standalone Studio sample no longer exists. See the upgrade notes for details.

Minor Changes and Other Fixes

  • [documentation] Improved the documentation quicksearch results by scoring down the release notes pages.

  • [documentation] Improved Genvid_Initialize and Genvid_Terminate documentation.

  • [documentation] Added missing definitions for genvid.webgateway metrics.

  • [documentation] Fixed an issue where rtmspMessageQueueCount, outputbufferlimit_us, and writeframe metrics under the genvid.gvencode-compose prefix were of the wrong type.

  • [documentation] Added metrics for GCL missing frames.

  • [documentation] Updated the metrics for DLL calls.

  • [sdk] Added metrics for framemissed key to the Metrics documentation.

  • [sdk] Added GCL metrics to tick and composed.

  • [sdk] Added metrics for audio/video information. Also available in Remote GUI.

  • [sdk] Added metrics for time spent in Genvid DLL calls.

  • [sdk] Improved logs by only reporting the number of duplicated and dropped frames every 30s, rather than in real time.

  • [sdk] Fixed an issue where framesubmitted, framesizesubmitted, framesubmitteddropped, and framesizesubmittedropped metrics were not sent.

  • [sdk] Fixed an issue where audio-submit delta-metrics would not be sent.

  • [sdk] Fixed an issue where a crash can occur when using WASAPI audio capture.

  • [sdk] Fixed an issue where audio stream became choppy when A/V lags.

  • [sdk] Fixed an issue where annotations fail to submit after first one is sent.

  • [sdk] Fixed an issue where audio framerate uses the default value instead of the configured one.

  • [sdk] Fixed an issue where the system over compensates for frames already in the submit list.

  • [sdk] Fixed an issue where missing submits would not be compensated.

  • [sdk] Fixed an issue where the FPS in the Remote GUI was miscomputed.

  • [sdk] Added logs showing Audio/Video frame statistics between Game and GVEncode.

  • [sdk] Fixed a bug where the output buffer size of an HTTP response would appear as too big.

  • [sdk] Fixed a bug preventing the game data from synchronizing.

  • [sdk} Fixed an issue where games streaming with a framerate lower than 1 FPS was locking the stream.

  • [sdk] Fixed missing exception handling not activated in libraries.

  • [web-sdk] Added missing TypeScript description files to Web SDK.

  • [studio] Fixed an issue where Studio crashed the browser if the user didn’t press play.

  • [studio] Fixed an issue where Studio wasn’t starting when using the UT4 sample.

  • [studio] Fixed an issue where the stream stops when using CUT.

  • [studio] Fixed an issue where streaming fails when disabling Studio after it was enabled once.

  • [studio] Fixed an issue where Studio was not opening in the monitor tab when opening it for the first time.

  • [studio] Fixed an issue where the chosen settings would not be remembered properly.

  • [studio] Fixed an issue where audio settings would not get applied.

  • [composed] Improved composeD backend composition state preventing mismatch between backend and Studio UI by storing state in binsD.

  • [composed] Fixed an issue where composeD cannot reconnect after an exception occurs.

  • [composed] Fixed an issue where the data stream bandwidth abnormally increases.

  • [composed] Fixed an issue where composeD will not reconnect after a crash.

  • [composed] Fixed an issue where memory grows when the connection between composeD and GVEncode is lost.

  • [composed] Fixed an issue where the frontend fails to send game-data metrics.

  • [composed] Added compose-backend frame-discarded metrics.

  • [composed] Fixed an issue where streams would not always be recognized.

  • [composed] Fixed an issue where composeD would not send game data when connection with GVEncode is offline.

  • [gvencode] Fixed an issue where GVEncode would crash on initialization.

  • [gvencode] Fixed an issue where disabling audio stream in Genvid Settings resulted in Audio/Video/Data desynchronization.

  • [gvencode] Fixed an issue causing rtmspMessageQueueCount metric to not contain separate Audio and Video fields.

  • [gvencode] Fixed an issue where the service crashes when resources are not flushed during a connection error.

  • [gvencode] All filters metrics are now activated by default in local and cloud templates.

  • [gvencode] Fixed a bug with composition commands that could lead to a crash in gvencode.

  • [gvencode] Fixed a bug that would lead gvencode to run out of memory when ingest was receiving a stream.

  • [rootd] Changed log level of Session: read error: read tcp : i/o timeout from error to warning.

  • [rootd] Fixed a bug where data frames were emitted with an invalid timestamp.

  • [leafd/rootd] Fixed an issue where rootD and leafD can crash when no annotation is submitted for a stream.

  • [cube sample] Fixed an issue where the cube halo would not switch color when the cube changed color.

  • [cube sample] Fixed an issue where the reset notification sent by the UE4. Cube sample would say it was triggered by admin even if it wasn’t.

  • [cube sample] Fixed an issue where resetting a cube in the UE4 Cube sample would make it change direction, orientation, velocity, and color instead of location only.

  • [cube sample] Removed an unused configuration file from Cube DirectX sample.

  • [cube sample] Fixed an issue where cube positions and color format couldn’t be set when the region setting on the instance was not set to US/English.

  • [unity plugin] Fixed an issue where the stream FPS parameter was ignored.

  • [unity plugin] Fixed an issue where data fails to be submitted.

  • [unity plugin] Fixed an issue where the audio stream parameters are set every time audio is submitted.

  • [unity plugin] Updated Genvid Video Prefab with a new field in the Unity UI letting users set the video framerate.

  • [unity plugin] Fixed Audio/Video/Data Streams destroy function that was not called correctly.

  • [ue4 plugin] Updated the plugin to be compatible with the current Unreal LTS version 4.25.4.

  • [ue4 plugin] Added support for UE 4.22 version build when it is installed with both -v (--version) and -e (--envpath) flags.

  • [ue4 plugin] Fixed an issue where GenvidStreams crashed when using the SubmitNotification function.

  • [ue4 sample] Fixed an issue where logs cannot be accessed in Cluster UI.

  • [ue4 sample] Moved the manifest file for transfered UE4 plugin files to the application folder. See the GenvidPlugin installation documentation for more information.

  • [ue4 sample] Fixed an issue where modified files are deleted when calling ue4.py prepare.

  • [ue4 sample] Added --quiet and --progress options to the ue4.py prepare command.

  • [ue4 sample] Fixed an issue where UE4 cube script ignores the environment command.

  • [ue4 sample] Fixed an issue where UE4 cube script sets default empty environment variables.

  • [ue4 sample] Fixed an issue where Blueprints using SubmitNotification are missing notification data link.

  • [ut4 sample] Added support for SSL streaming.

  • [ut4 sample] Updated BP_GenvidStreams to reflect the new SubmitNotification function location.

  • [youtube] Fixed an issue where the embedded YouTube player won’t connect when using channel name. Connections now use the video ID.

  • [toolbox] Fixed an issue where -c option in genvid-clusters command would be ignored and apply to all clusters.

  • [toolbox] Removed requirement for a fixed version of the requests library.

  • [toolbox] Upgraded default Python version from 3.5 to 3.8.6.

  • [bastion-api] Added /isIPinCidr API endpoint to Bastion API.

  • [bastion-ui] Fixed an issue where the DELETE confirm dialog was disappearing.

  • [bastion-ui] Added a visual flag on the Terraform configuration page to let the user know if current Bastion IP is not a part of trusted CIDR(s).

  • [bastion-ui] Added missing caret icon to the menu dropdown item called Monitor.

  • [bastion-ui] Added new setting web_health_check_path to basic_cluster_alb_ssl, minimal_cluster_alb_ssl, and azurerm_basic_cluster_alb_ssl.

  • [bastion-ui] Improved UI by showing the correct status while dealing with the module import on multiple clusters.

  • [bastion-ui] Improved display of Terraform settings with very long values.

  • [bastion-ui] Fixed an issue where an Unsaved changes dialog on the Terraform settings page appeared when values haven’t been modified.

  • [cluster-ui] Fixed an issue where the broadcast settings section was disappearing when using Edge and Chrome.

  • [aws] Removed variables private_subnets and public_subnets from AWS cluster basic_cluster_alb_ssl.

  • [aws] Added support for default AWS authentication provider which enables the use of Organizational Units (OUs).

  • [aws] Added support for S3 bucket creation for regions outside of us-east-1.

  • [aws] Added support of encrypted local storage for new clusters. (Can be disabled for upgrades.)

  • [aws] Upgraded server instances from Debian version 9 to version 10.

  • [aws] Renamed some Terraform variables and outputs and removed others from AWS clusters. See the upgrade notes for more information.

  • [aws] Added support for changing the subdomain in AWS after creating a cluster. The NS record needs to be manually deleted.

  • [aws] Fixed an issue where Terraform picks an AMI with a version suffix when the suffix is unspecified in the ami_version variable.

  • [aws] Fixed an issue where user cannot switch to another leaf connection when variables leaf_tg_stickiness_enabled, leaf_stickiness_ttl, web_tg_stickiness_enabled and web_stickiness_ttl are used in minimal_cluster_alb_ssl and basic_cluster_alb_ssl.

  • [aws] Added variables server_instance_profile_name, game_instance_profile_name, key_pair_private and key_pair_public in minimal_cluster_alb_ssl to be consistent with other minimal_* cluster modules.

  • [azure, aws] Disabled Windows Defender SmartScreen when creating wingame images to reduce CPU usage for non required processes.

  • [consul] Upgraded Consul to version 1.8.6

  • [consul] Added support for auto-join in Azure cluster.

  • [nomad] Upgraded Nomad Server and Client to version 0.12.1.

  • [tick] Added a dashboard for monitoring the Genvid Connect Library (GCL).