# Release notes (/en/realtime-media/rtc-server-sdk/reference/release-notes)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<_PlatformTabsGroup groupMode="structured" canonicalPlatform="linux-cpp" platforms="[&#x22;linux-cpp&#x22;,&#x22;linux-java&#x22;,&#x22;python&#x22;,&#x22;go&#x22;]" showTabs="true">
  <_PlatformPanel platform="linux-cpp">
    <_PlatformProcessedMarker groupMode="structured" canonicalPlatform="linux-cpp" platform="linux-cpp" />

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

    ## v4.4.32 [#v4432]

    Released on April 28, 2025.

    ### Improvements [#improvements]

    * Improved the concurrent performance of the SDK when sending and receiving PCM audio streams.

    ### Fixed issues [#fixed-issues]

    * Fixed a color cast issue that occurred in specific scenarios.
    * Fixed occasional app crashes and memory leaks.

    ## v4.4.30 [#v4430]

    Released on December 11, 2024.

    ### Compatibility changes [#compatibility-changes]

    #### Log encryption behavior 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, please check the API logs and print the SDK callback logs yourself.
    * For any other special requirements, please contact technical support and provide the corresponding encrypted logs.

    ### New features [#new-features]

    #### Audio send buffer settings [#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 `ILocalAudioTrack` 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.
    * `setAudioFrameSendDelayMs`: Sets the minimum data duration allowed to be sent by the audio send buffer, applicable to precise control of audio transmission delay.

    #### Audio labels [#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 [#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 `sendAudioPcmData` method to send raw audio data.

    #### SDK global custom parameters [#sdk-global-custom-parameters]

    This release adds the `getAgoraParameter` method in the `IAgoraService` class. The difference between this method and the `getAgoraParameter` method in the `IRtcConnection` class is as follows:

    * `IAgoraService::getAgoraParameter` is effective globally for the SDK.
    * `IRtcConnection::getAgoraParameter` is only effective for the current connection.

    ### Improvements [#improvements-1]

    This release reduces CPU consumption in multi-channel use-cases.

    ### Issues fixed [#issues-fixed]

    This release fixed issues caused by a null `channelId` pointer in the `onPlaybackAudioFrameBeforeMixing` callback.

    ## v4.2.32 [#v4232]

    Released on August 30, 2024.

    ### Improvements [#improvements-2]

    This release enhances the efficiency and performance of the FFmpeg library when decoding H.264 and H.265 video data, improving the user experience.

    ### Fixed issues [#fixed-issues-1]

    This release fixed the issue of socket file descriptor leakage, ensuring proper management of network connection resources.

    ## v4.2.30 [#v4230]

    Released on February 6, 2024.

    ### New features [#new-features-1]

    #### Multipath network transmission [#multipath-network-transmission]

    This release adds the multipath network transmission feature, which allows simultaneous transmission of audio and video streams over multiple network paths. For example, when you insert two IoT SIM cards in the device, the SDK can transmit audio and video streams through the network of both SIM cards, thereby improving the stability and reliability of audio and video transmission. Contact [support@agora.io](mailto\:support@agora.io) to enable and use this feature.

    #### Hardware encoding acceleration [#hardware-encoding-acceleration]

    This release supports utilizing NVIDIA GPU hardware acceleration for video encoding, which reduces the power consumption of CPU and improves hardware encoding efficiency and performance. Contact [support@agora.io](mailto\:support@agora.io) to enable and use this feature.

    ### Improvements [#improvements-3]

    #### Audio sending timestamp [#audio-sending-timestamp]

    To set the timestamp at which you send the audio data, this release adds the `presentation_ms` parameter in the `sendAudioPcmData` method. In use-cases such as video conferences and remote collaboration, this parameter allows you to achieve audio and video synchronization.

    ### Bug fixes [#bug-fixes]

    This release fixed the following issues:

    * App memory growth caused by receiving H.264 video raw data.
    * Garbled data stream when using both string-type user IDs and data stream functions simultaneously.

    <_PlatformProcessedMarker close="true" />
  </_PlatformPanel>

  <_PlatformPanel platform="linux-java">
    <_PlatformProcessedMarker groupMode="structured" canonicalPlatform="linux-cpp" platform="linux-java" />

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

    ## v4.4.32 [#v4432-1]

    Released on June 6, 2025.

    ### New features [#new-features-2]

    This release adds the following new features:

    #### Audio metadata support [#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 [#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 [#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 [#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 [#manage-connection-domains]

    Control connection domains using the new `domainLimit` parameter in `AgoraServiceConfig`.

    ### Improvements [#improvements-4]

    This release includes the following improvements:

    #### Improved audio and video data sending interfaces [#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 [#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 [#issues-fixed-1]

    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 [#v4430-1]

    Released on December 11, 2024.

    ### Compatibility changes [#compatibility-changes-1]

    #### Log encryption behavior changes [#log-encryption-behavior-changes-1]

    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 [#new-features-3]

    #### Maven integration method [#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
    <?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 [#audio-send-buffer-settings-1]

    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 [#audio-labels-1]

    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 [#22050-hz-audio-send-sample-rate-1]

    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 [#sdk-global-custom-parameters-1]

    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 [#improvements-5]

    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 [#fixed-issues-2]

    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.

    <_PlatformProcessedMarker close="true" />
  </_PlatformPanel>

  <_PlatformPanel platform="python">
    <_PlatformProcessedMarker groupMode="structured" canonicalPlatform="linux-cpp" platform="python" />

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

    ## v2.2.4 [#v224]

    Released on June 6, 2025.

    ### New features [#new-features-4]

    This release adds the following new features:

    #### Audio metadata support [#audio-metadata-support-1]

    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 `send_audio_metadata` method to transmit metadata. Remote users receive this information through the `on_audio_metadata_received` callback.

    #### Enhanced external video source support [#enhanced-external-video-source-support]

    This version adds the following fields to `ExternalVideoFrame`:

    * `fill_alpha_buffer` and `alpha_buffer` to support Alpha data channel.
    * `color_space` to support custom color space for externally captured video data.

    #### Secure data transmission [#secure-data-transmission]

    This version adds the `enable_encryption` method to support encryption when sending and receiving data streams. If you encounter problems during encryption and decryption that lead to failure, they are notified through the `on_encryption_error` callback.

    ## v2.1.0 [#v210]

    Released on December 11, 2024.

    This is the first version of the Server Gateway for Python.

    ### New features [#new-features-5]

    #### Media streams transmission [#media-streams-transmission]

    Server Gateway supports various audio and video encoding formats, such as H.264, H.265, VP8 for video, and OPUS, G722, and PCMA for audio. You can send and receive multiple types of audio and video data without being restricted by audio and video devices.

    #### Data streams transmission [#data-streams-transmission]

    Server Gateway supports sending and receiving data stream messages, applicable to use-cases requiring message transmission. For example, a chat application can use this feature to implement instant messaging between users.

    #### Multiple channels [#multiple-channels]

    Server Gateway supports sending or receiving media streams in multiple channels simultaneously, applicable to use-cases requiring multiple channel management. For example, an online education platform can conduct live classes for multiple classes simultaneously, ensuring that the audio and video data for each class does not interfere with one another.

    #### Subscribing to specific users [#subscribing-to-specific-users]

    You can selectively subscribe to specific users' media streams using their user IDs. For example, in a large conference, attendees can subscribe only to the speaker's media stream, saving bandwidth and improving efficiency.

    #### Audio mixing [#audio-mixing]

    Server Gateway supports mixing multiple audio streams, applicable to use-cases where multiple users or devices are sending streams simultaneously. For example, an online concert can mix audio streams from guitar, drums, and vocals into a high-quality audio stream for the audience.

    #### Cloud proxy [#cloud-proxy]

    Server Gateway allows access to Agora services within an intranet by whitelisting specific IPs and ports on the firewall. It is applicable to large enterprises, hospitals, universities, banks, and other institutions with high security requirements, ensuring a secure and stable connection.

    <_PlatformProcessedMarker close="true" />
  </_PlatformPanel>

  <_PlatformPanel platform="go">
    <_PlatformProcessedMarker groupMode="structured" canonicalPlatform="linux-cpp" platform="go" />

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

    ## v2.2.4 [#v224-1]

    Released on June 6, 2025.

    ### New features [#new-features-6]

    This release adds the following new features:

    #### Audio metadata support [#audio-metadata-support-2]

    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. Remote users receive the information through the `OnAudioMetadataReceived` callback.

    #### Enhanced external video capabilities [#enhanced-external-video-capabilities]

    This version adds the following fields to `ExternalVideoFrame`:

    * `FillAlphaBuffer` and `AlphaMode` to support Alpha data channel.
    * `ColorSpace` to support custom color space for externally captured video data.

    #### Secure data transmission [#secure-data-transmission-1]

    This version adds the `EnableEncryption` method to support encryption when sending and receiving data streams. If you encounter problems during encryption and decryption that lead to failure, they are notified through the `OnEncryptionError` callback.

    ## v2.1.0 [#v210-1]

    Released on December 11, 2024.

    This is the first version of the Server Gateway for Go.

    ### New features [#new-features-7]

    This release adds the following new features:

    #### Media streams transmission [#media-streams-transmission-1]

    Server Gateway supports various audio and video encoding formats, such as H.264, H.265, VP8 for video, and OPUS, G722, and PCMA for audio. You can send and receive multiple types of audio and video data without being restricted by audio and video devices.

    #### Data streams transmission [#data-streams-transmission-1]

    Server Gateway supports sending and receiving data stream messages, applicable to use-cases requiring message transmission. For example, a chat application can use this feature to implement instant messaging between users.

    #### Multiple channels [#multiple-channels-1]

    Server Gateway supports sending or receiving media streams in multiple channels simultaneously, applicable to use-cases requiring multiple channel management. For example, an online education platform can conduct live classes for multiple classes simultaneously, ensuring that the audio and video data for each class does not interfere with one another.

    #### Subscribing to specific users [#subscribing-to-specific-users-1]

    You can selectively subscribe to specific users' media streams using their user IDs. For example, in a large conference, attendees can subscribe only to the speaker's media stream, saving bandwidth and improving efficiency.

    #### Audio mixing [#audio-mixing-1]

    Server Gateway supports mixing multiple audio streams, applicable to use-cases where multiple users or devices are sending streams simultaneously. For example, an online concert can mix audio streams from guitar, drums, and vocals into a high-quality audio stream for the audience.

    #### Cloud proxy [#cloud-proxy-1]

    Server Gateway allows access to Agora services within an intranet by whitelisting specific IPs and ports on the firewall. It is applicable to large enterprises, hospitals, universities, banks, and other institutions with high security requirements, ensuring a secure and stable connection.

    <_PlatformProcessedMarker close="true" />
  </_PlatformPanel>
</_PlatformTabsGroup>
