Release notes

Updated

Shows Server Gateway's past releases.

This document tracks important changes and improvements to the Server Gateway.

v4.4.32

Released on June 6, 2025.

New features

This release adds the following new features:

Audio metadata support

This version adds the ability to send and receive audio metadata. In use-cases where you need to send auxiliary audio information, such as playback progress, call the sendAudioMetadata method to transmit metadata. Remote users receive this information through the onAudioMetadataReceived callback.

Get VAD information from raw audio data

Enable voice activity detection (VAD) for raw audio data using the new registerAudioFrameObserver method with the enableVad parameter. Access VAD status through the vadResult parameter in the onPlaybackAudioFrameBeforeMixing callback.

Receive encoded audio data

Access encoded audio data using these new interfaces:

  • registerAudioEncodedFrameObserver: Register an observer for encoded audio data.
  • IAudioEncodedFrameObserver: Receive encoded audio data through the onEncodedAudioFrameReceived callback.

Set custom color spaces for external video

Use the new colorSpace attribute in ExternalVideoFrame to specify custom color spaces for externally captured video data.

Manage connection domains

Control connection domains using the new domainLimit parameter in AgoraServiceConfig.

Improvements

This release includes the following improvements:

Improved audio and video data sending interfaces

Method names are now more descriptive:

  • sendAudioPcmData replaces the deprecated send in AgoraAudioPcmDataSender.
  • sendEncodedAudioFrame replaces send in AgoraAudioEncodedFrameSender.
  • sendEncodedVideoImage replaces send in AgoraVideoEncodedImageSender.
  • sendVideoFrame replaces send in AgoraVideoFrameSender.

Send stream messages with byte arrays

Use the new sendStreamMessage overload to send byte array data without specifying a length parameter. The message parameter now accepts byte[] instead of String.

Issues fixed

This release resolves the following issues:

  • Fixed alphaBuffer and metadataBuffer handling in VideoFrame.
  • Fixed potential crashes in the destroy method.
  • Fixed memory leaks and multi-threading issues for improved stability.

v4.4.30

Released on December 11, 2024.

Compatibility changes

Log encryption behavior changes

For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console.

Refer to the following solutions for different needs:

  • If you need to know the API call status, check the API logs and print the SDK callback logs yourself.
  • For any other special requirements, contact technical support and provide the corresponding encrypted logs.

New features

Maven integration method

This release supports integrating the SDK through Maven. After creating a Maven project, open the pom.xml file and replace its contents with the following:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>agora-rtc-linux-java</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
    <groupId>io.agora.rtc</groupId>
    <artifactId>linux-java-sdk</artifactId>
    <version>4.4.30</version>
    </dependency>
</dependencies>

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<build>
    <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <configuration>
        <createDependencyReducedPom>true</createDependencyReducedPom>
        </configuration>
        <executions>
        <execution>
            <phase>package</phase>
            <goals>
            <goal>shade</goal>
            </goals>
            <configuration>
            <transformers>
                <transformer
                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                <mainClass>App</mainClass>
                </transformer>
            </transformers>
            </configuration>
        </execution>
        </executions>
    </plugin>
    </plugins>
</build>
</project>

Audio send buffer settings

In use-cases such as AI interaction, the frequency of sending audio frames may be uneven. If the SDK sends to the Agora server according to the actual sending frequency, the receiver may experience issues such as stuttering or frame loss. To optimize audio transmission performance, this release adds methods to set the audio send buffer in the AgoraLocalAudioTrack class:

  • setMaxBufferedAudioFrameNumber: Sets the maximum capacity of the audio send buffer.
  • clearSenderBuffer: Clears the current audio send buffer, applicable to interrupt audio in human-machine dialogue use-cases.
  • setSendDelayMs: Sets the minimum data duration allowed to be sent by the audio send buffer, applicable to precise control of audio transmission delay.

Audio labels

This release introduces the audio labeling capability (AudioLabel). By adding audio labels, you can intuitively obtain audio information such as user audio energy, fundamental frequency, and voice type, making it convenient for post-processing. Contact technical support to enable and use this feature.

22050 Hz audio send sample rate

This release supports a 22050 Hz audio send sample rate, and you can set the sample rate when calling the AgoraAudioPcmDataSender.send method to send raw audio data.

SDK global custom parameters

This release adds the getAgoraParameter method in the AgoraService class. The difference between this method and the getAgoraParameter method in the AgoraRtcConn class is as follows:

  • AgoraService.getAgoraParameter is effective globally for the SDK.
  • AgoraRtcConn.getAgoraParameter is only effective for the current connection.

Improvements

This release includes the following improvements:

  • Reduces CPU consumption in multi-channel use-cases.
  • Optimizes memory management mechanism for audio frame callbacks onPlaybackAudioFrameBeforeMixing, onRecordAudioFrame, onPlaybackAudioFrame, and onMixedAudioFrame, improving the efficiency and stability of AudioFrame processing.

Fixed issues

This release fixed the following issues:

  • Issues caused by a null channelId pointer in the onPlaybackAudioFrameBeforeMixing callback.
  • Occasional crashes in the onRemoteAudioTrackStatistics, onUserAudioTrackSubscribed, onUserAudioTrackStateChanged, onUserVideoTrackSubscribed, onUserVideoTrackStateChanged, or onRemoteVideoTrackStatistics callbacks.