1.26.0

Minor Changes and Other Fixes

  • [documentation] Added missing metrics, description details and new unit column.

  • [documentation] Corrected the output example for the Services endpoint.

  • [documentation] Added metrics in the GCL table of the documentation.

  • [documentation] Improved metrics documentation for the SDK services.

  • [sdk] Renamed 2 metrics sent by GVEncode to correct typos:
    • compostionssent is now compositionsent.

    • compostionssentsize is now compositionsizesent.

  • [sdk] Fixed issue where the metrics delayedframe and delayedframesize sent incorrect values.

  • [sdk] Improved error messages by converting error code to human readable errors.

  • [sdk] Removed the Stream Enabled option from the Cluster-UI settings.

  • [sdk] Improved SDK log readability about stream and annotation format.

  • [sdk] Fixed an issue where retrieving a key in Consul failed when a parsing error occurs.

  • [sdk] Updated audio stream granularity to be automatically set to the sampling rate when WASAPI is enabled.

  • [sdk] Fixed missing logs report when the DirectX 11 swapchain or texture returned an error.

  • [sdk] Fixed an issue where composeD and the native SDK would reconfigure their NATS address for no reason.

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

  • [gvencode] Fixed an issue where the audio buffer occasionally reported an incorrect time in the logs.

  • [gvencode] Fixed an issue in composition mode where sending audio data before video data results in Audio/Video desync.

  • [gvencode] Fixed a bug causing a freeze in the game data at loading time when using picture-in-picture or chromakey

  • [gvencode] Fixed a bug causing invalid composition data when in picture-in-picture or chroma key

  • [composed] Fixed an issue where composeD would send data frames while no appropriate A/V stream was present.

  • [composed] Fixed an issue where the data would be permanently out of sync after changing a source delay.

  • [composed] Fixed an issue where composeD would crash on startup with JSON errors.

  • [composed] Fixed an issue where sync and composition streams were present in annotation causing parsing errors.

  • [rootd] Added metrics for the rootD service.

  • [rootd] Changed the Session: read error:read tcp : i/o timeout from an error to a warning.

  • [rootd] Added a filter to prevent invalid entries from being added to the data cache.

  • [rootd] Added better error handling for communication with composeD. (More specifically, disconnecting on protocol errors and ensuring there is only have one session allowed at a time.)

  • [rootd] Modified rootD to disconnect a leaf that becomes unresponsive.

  • [rootd] Changed metrics for StreamFormat messages tagged with type=notifications to type=format. (This only affects StreamFormat messages signalling the end of a stream.)

  • [rootd/leafd] Fixed an issue causing rootD/leafD to potentially crash when the annotations cache contained invalid data.

  • [rootd/leafd] Fixed a race condition that could lead to connection problems between composeD, rootD, and leafD.

  • [leaf/web] Changed the WebSocket authentication process between the webclient and the server. The authentication information is now passed through the WebSocket URL and any error is returned through the WebSocket control message, closing the WebSocket at the same time.

  • [leafd] Optimized the leaf CPU usage by encoding less when sending messages.

  • [studio] Fixed an issue where the default wipe transition was applied instead of the one in the scene when cutting between two scenes that both a custom wipe transition.

  • [studio] Converted Studio to be part of the services jobs and removed the Studio Sample.

  • [studio] Fixed an issue at initialization where the Studio audio mixer state wasn’t representing the actual composition.

  • [studio] Fixed an issue where the streamed scene didn’t match the one in program after reloading the page.

  • [studio] Fixed an issue where Studio would generate transition errors on startup and when modifying composition values.

  • [ue4] Added Unreal Engine 4.26.1 Genvid plugin support.

  • [unity-plugin] Fixed compilation errors in Unity when building a plugin with platforms other than Windows.

  • [unity editor plugin] Fixed an issue where doing a repaint in the editor GUI threw an exception.

  • [ut4-sample] Fixed a bug where setting up the environment for building Unreal Tournament 4 would fail due to the the plugin symlink pointing on an invalid location.

  • [cube sample] Fixed an issue where the cube halos would no longer be synchronized after refreshing the web client page with two cube sample sources streaming.

  • [cube sample] Fixed an issue where the admin reset button was only resetting the position but not the direction, rotation, and speed of the cubes.

  • [cube sample] Fixed an issue where the overlay was displaying the foreground source data instead of the background when picture in picture or chroma key composition was used.

  • [loadtester] Fixed a build issue with the loadtester sample.

  • [remotegui] Added data streams information along with audio and video streams in remoteGUI.

  • [bastion-api] Added a retry mechanism to reconnect the cluster API to its cluster when the IPs change. (For example, when the cluster is updated.)

  • [bastion-api] Removed the cidr variable from AWS clusters.

  • [bastion-api] Added the variable subnet_cidr_block_size for setting the size of the CIDR blocks used in subnets.

  • [bastion-api] Fixed a subnet collision bug when changing the number of availability zones in AWS.

  • [bastion-api] Updated importing Terraform modules into Bastion to automatically populate the input variable bastionid with that bastion server’s name.

  • [bastion-ui] Fixed UI for map variables in the Terraform settings.

  • [bastion-ui] Disabled the command buttons (Plan Apply, Destroy, Init, etc.) for cloned clusters on the Terraform Commands page. This prevents users from using those commands before the cluster finishes initializing.

  • [bastion-ui] Added a warning message to inform users when the command buttons on the Terraform Commands page are disabled while a cluster initializes.

  • [bastion-ui] Removed the dropdown menu for selecting the type of variable for maps/lists in the Terraform Settings UI. The variable type field now only accepts strings.

  • [bastion-ui] Updated the max limit for cluster names to 64 characters for cluster creation.

  • [bastion-ui] Removed the YouTube-specific VideoID field from the Cluster UI stream settings and labelled encode.stream.channel with the selected streaming-service terminology. (See the YouTube documentation for more information.)

  • [bastion-api, consul-api] Fixed race condition in consul-template integration.

  • [cluster-api] Added a new API GET /v1/settings/schema to fetch the Genvid Settings schema for future extension.

  • [toolbox] Added a new region parameter for the genvid-sdk upload* and samples upload-images commands.

  • [toolbox] Updated genvid.toolbox.SDK.load_config to return the configuration after loading.

  • [toolbox] Added a dryrun parameter to both genvid.toolbox.SDK.load_config and genvid-sdk load-config that prevents automatically setting the configuration after loading it.

  • [toolbox] Fixed a bug causing genvid-sdk load-config <file> to not load on Python 3.5.

  • [aws] Renamed the Name tag to genvid:cluster-name. You need to update your filters to reflect this. (See the upgrade notes for more information.

  • [aws] Removed NAME from AWS resources.

  • [aws] Updated tags for AWS resources with genvid:cluster-name and genvid:creator-service-id for identification.

  • [aws] Removed index offset from AWS numbered resources. They now start counting from 0 instead of 1.

  • [aws] Updated clusters to support names up to 256 characters.

  • [aws] Added variable reusable_delegation_sets_id in minimal_cluster_alb_ssl. This variable allows users to specify the reusable delegation set they wish to use. If none is provided, none are sent to AWS.

    You can send the reusable delegation set ID using the new variable reusable_delegation_sets_id in minimal_alb_ssl.

  • [azure] Added a generic name to all resources.

  • [azure] Updated tags for AWS resources with genvid:cluster-name and genvid:creator-service-id for identification.

  • [azure] Removed index offset from AWS numbered resources. They now start counting from 0 instead of 1.

  • [azure] Clusters now support names up to 256 characters.

  • [azure] Updated the name of the resource group in Azure to always be either the value of resource_group_name variable (if it is filled in by user) or it will be bastionid-clustername.

  • [terraform] Added the new custom_tags setting for all clusters to let users add custom tags to their cluster resources.

  • [terraform] Removed Terraform variables Stage and Namespace.