Skip to content

Releases: ant-media/Ant-Media-Server

Ant Media Server Community 2.16.2

08 Dec 18:43

Choose a tag to compare

Ant-Media-Server-Parent

  • 182 Fix CVE-2025-61795 - #7593
  • 181 Fix CVE-2025-58056 - #7578
  • 180 Fix CVE-2025-12383 - #7573
  • 179 fix/CVE-2025-53864 and CVE-2025-11226 - #7574
  • 178 Fix CVE-2025-55752 - #7553
  • Ant-Media-Management-Console

  • 279 Book Free Consultancy meeting from DashBoard - #7547
  • Ant Media Server Community 2.16.0

    07 Nov 14:55

    Choose a tag to compare

    Ant-Media-Server

  • 7537 separate the synchronized blocks for each room - #7509
  • 7508 Block RTMP playback if it is already blocked -
  • 7507 handle head request in manifest modifier - #7493
  • 7496 validate sdp when missing rtpmap - #7089
  • 7495 Improve test stability -
  • 7486 Make max TOTP time to Integer.MAX_VALUE -
  • 7478 Add webhook for RTMP play/stop and block RTMP players with subsId - #7481
  • 7475 Update readme -
  • 7463 Add vod naming functionality
  • 7462 Handle errors/exceptions in stream listener methods
  • 7459 fix buzzing sound by setting correct audio number of audio channels - #7452
  • 7451 Fix for DRM playback from edge node in cluster - #7439
  • 7448 Add CORS headers before redirect - #7134
  • 7434 RTMP play security -
  • 7425 Add viewer info into web hook message - #7421
  • 7423 Release/2.15.0 - #7422
  • 7376 Fix playback stops in VoD Linear Streaming for long files - #7286
  • 7360 Implement custom expiry time on totp tokens - #7292
  • 7358 Support RTMP Playback - #7320
  • Ant-Media-Enterprise

  • Fix snapshot url of repository-
  • Add test code to block RTMP playback via subscriberId-
  • fix rtpmap payload missing in sdp crash-
  • Block RTMP players through REST API- #7481
  • Update variable names to make it easy to understand-
  • Use environment variable for IP in SSH connection-
  • fix ssh authentication issue-
  • add test fix buzzing sound by setting correct channel-
  • Ensure SSL fix runs from after_script-
  • Fix for DRM playback from edge node in cluster- #7439
  • check packet dts value after decode- #7440
  • Plugin filter before sending frame to adaptors-
  • Add CI job to fix SSL and port 5443 if staging deployment fails-
  • add securtiy options for rtmp playback-
  • add viewer info into playStarted/playStopped web hook message- #7421
  • Release/2.15.0- #7422
  • Implement custom expiry totp tokens-
  • Support RTMP playback- #7320
  • Extend tests for filter plugin-
  • StreamApp

  • 570 Fix WHIP upgrade -
  • 567 Set cors header for httpforwarding - #7134
  • 565 Add streamPlaySecurityList for RTMP playback - #7320
  • 564 Update web player to support withCredentials option - #7413
  • 563 Update red5-web.xml -
  • 562 Release/2.15.0 - #7422
  • Ant-Media-Server-Parent

  • 176 Fix Netty version - #7504
  • 175 Fix CVE-2025-41249 - #7497
  • 174 Revert "Fix Netty version from 4.1.124.Final to 4.1.124"
  • 173 Fix Netty version from 4.1.124.Final to 4.1.124 -
  • 172 Fix CVE-2025-55163 - #7454
  • 171 Fix CVE-2025-48989 - #7453
  • 170 Release/2.15.0 - #7422
  • Ant-Media-Management-Console

  • 7537 separate the synchronized blocks for each room - #7509
  • 7508 Block RTMP playback if it is already blocked -
  • 7507 handle head request in manifest modifier - #7493
  • 7496 Validate sdp when missing rtpmap -
  • Read more

    Ant Media Server Community 2.15.0

    05 Aug 08:58

    Choose a tag to compare

    ant-media-server-enterprise-2.15.0-20250805_0738.zip

    Ant-Media-Server

  • 7411 Parse stream url parameter in order - https://github.com/ant-media/Ant-Media-Server/issues/7410
  • 7409 Check if subscriber is blocked in RTMP publish - #7271
  • 7407 Add timestamp-based naming for JVM crash logs - #7399
  • 7401 Add rtmp stream parameters to liveStreamEnded webhook - #7402
  • 7359 Move to maven central - #7357
  • 7352 Have full mp4 recording even if sessions are interrupted for long time - #7353
  • 7347 Call webhook after idle time is expired - #7318
  • 7346 Add RTSP URL param(allowed_media_types) to disable audio / video receiving - #7343
  • 7341 Stop subscriber with stream id and subscriber id - #7329
  • 7340 Add vod duration to vodReady webhook - #7290
  • 7331 Add RTMP query parameter to publish web hook - #7293
  • 7310 Deliver play messages in cluster - https://github.com/ant-media/Ant-Media-Server/issues/7312 https://github.com/ant-media/Ant-Media-Server/issues/7313 https://github.com/ant-media/Ant-Media-Server/issues/7314
  • 7304 Support subscriber name and support play only DataChannel for WebRTC - https://github.com/ant-media/Ant-Media-Server/issues/7276 https://github.com/ant-media/Ant-Media-Server/issues/7275
  • 7281 Make it ready for auto-managed deployments - #7260
  • 7277 Fixed bug where blocked TOTP tokens would still be able to publish RTMP/SRT - #7271
  • 7274 add connected subscriber queries - #7273
  • 7252 Release/2.14.0 - #7211
  • 7116 Fix hls stream id parsing when hls segment file suffix %s - #7113
  • 7054 Clean files from S3 after stream finished - #6891
  • Ant-Media-Enterprise

  • skip checking video codecs in audio only mode- #7396
  • Feature/retry on runner failure-
  • Check if subscriber blocked for SRT ingest- #7271
  • add commons-lang3 dependency- Update commons-lang3 version.
  • Refactor code to adapt the changes on the server project-
  • Update maven-
  • Update ci image-
  • Feature/ci improvement part 2-
  • Add subscriber count to the player added/removed messages- #7371
  • Have full mp4 recording even if sessions are interrupted for long time- #7353
  • Decrease total test runtime-
  • Migrate runners to AWS and separate tasks- #7253
  • Fix check runner-
  • Fix/track deletion on self track remove- Keep tracks in case of a participant leaves the room as publisher but continues as player.
  • Fix remove CI runners automatically-
  • Stop playing and publishing with stream id and subscriber id- #7341
  • Add publish parameters to web hook- #7293
  • Fix duplicate message in play only conference users- #7327
  • Migrate ad-hoc runner creation script from OpenStack to AWS-
  • Support subscriber name and support play only DataChannel for WebRTC- https://github.com/ant-media/Ant-Media-Server/issues/7276 https://github.com/ant-media/Ant-Media-Server/issues/7275
  • Deliver player_added and player_removed messages in cluster- https://github.com/ant-media/Ant-Media-Server/issues/7312 https://github.com/ant-media/Ant-Media-Server/issues/7313 https://github.com/ant-media/Ant-Media-Server/issues/7314
  • Fixed bug where blocked TOTP tokens would still be able to publish RTMP/SRT- #7271
  • Handle role changes on the fly from non-playable to playable streams- #7316
  • Resolve: Webhook start event would get called without streamName param with WebRTC streams in cluster mode- #7267
  • List web rtc players- #7273
  • Fix where cloud origin nodes would sometimes disappear from the panel- #7226
  • Fixed issue where miliseconds ware compared seconds.- Resolves iss...
  • Read more

    Ant Media Server Community 2.14.0

    14 May 06:34

    Choose a tag to compare

    🎉 Ant Media Server 2.14.0 – New Update Highlights! 🚀

    We’ve been busy behind the scenes making your real-time streaming even smoother, faster, and more reliable. Here’s what’s new:

    🔧 Performance Improvements

    • MongoDB caching & locking = faster dashboard and queries
    • 🧠 Removed subtrack polling – quicker cluster reactions
    • 🚀 Faster startup with auto-reconnect enabled

    🌐 Webhooks & API Enhancements

    • ✅ Webhooks now include subscriberId, token, and code
    • ⏱️ Recording API returns the correct timestamp

    📡 Streaming Reliability Boosts

    • 🎯 AV sync issues fixed under heavy packet loss
    • 🕒 RTMP connections timeout and close gracefully

    🔐 Security & Infrastructure

    • 🔒 Apache version hidden from failed requests
    • 📦 Gzip support added for HLS
    • 📈 Increased systemd limits for heavy load
    • 🔧 Easier RTMPS setup with SSL

    🧪 SRT & HLS Enhancements

    • 🎞️ SRT ingest now supports mainTrack
    • 🧹 HLS manifest cleaned up (no double ampersands, supports stream IDs ending with _)

    🏢 Enterprise-Only Fixes

    • 🎮 Multi-GPU encoder utilization bug fixed
    • 🧰 Cluster stream filter logic improved
    • 🕰️ Better timestamp handling for audio/video mismatches

    Let us know your feedback, and thanks for streaming with Ant Media! 🧡

    #AntMediaServer #StreamingUpdate #WebRTC #RTMP #SRT #HLS #Changelog #LowLatencyStreaming

    Ant-Media-Server

  • 7245 Get `acceptOnlyStreamsInDataStore` from AppsSettings directly - #7202
  • 7220 Add domain parameter handling in renew_certificate function - #7219
  • 7212 Fix not deleting app having underscore - #7209
  • 7208 Add token, subscriberId and code to the Authorization WebHook - #7190
  • 7205 Make rtmps.enabled placeholder not break upgrade operation - #7204
  • 7193 Add subscriberId to the publish start/stop webhooks - #7194
  • 7192 Add websocket constants for getting ice server config from server - #6975
  • 7189 Fix Filter APIs Exception when Ingest protocol is RTMP and WebRTC playback is disabled - #7166
  • 7185 Use separate locks for MongoDB queries to perform faster - #7173
  • 7184 Add cache for MongoDB to have less query execution and work faster - #7174
  • 7181 Do not append double ambersand(&) in the HLS manifest modifier - #7152
  • 7162 Support mainTrack feature for SRT ingest - #7161
  • 7146 Increase LimitNOFILE and TasksMax in systemd unit options - #7145
  • 7143 Make it easy to enable RTMPS and enable RTMPS with SSL by default - #7115
  • 7139 Log build number - #7128
  • 7137 Set recording timestamp for all cases - #7102
  • 7127 Don't set virtual false for broadcast update and refactor code - #7039
  • 7120 Refactor code to update custom broadcasts easily - #7039
  • 7102 Fix recording API not returning timestamp and returning 0 instead (#7079). -
  • 7100 Resolve A/V synch issue when high packet loss and CPU is not fast enough to encode - #7021
  • 7085 Fix HLS play when stream id ends with under score - #7066
  • 7084 fix hls play when stream id ends with _ -
  • 7083 Subtrack list ordering - #7082
  • 7072 Add isVirtual check to saveUndefined streams - #7039
  • 7071 Start playing faster when auto reconnection is enabled - #6972
  • 7058 Improve the recent developments to pass the enterprise tests - #6946
  • 7056 Fix: stream source is not restarting after update - #7055
  • 7053 Close RTMP connection if no audio/video packets are received during timeout - #7047
  • 7052 Add subtrack notification definitions...
  • Read more

    Ant Media Server Community 2.13.2

    08 Feb 06:49

    Choose a tag to compare

    Ant Media Server Community 2.13.0

    03 Feb 15:38

    Choose a tag to compare

    Highlights 🎸

    • Provide insightful information on the web panel and through REST API 😎
      • Stream resolution, bitrate, RTT, etc.
      • GPU utilization/Database Performance
    • Improve stability 💪
      • Starting up the instance when receiving high number of requests
      • Stopping WebRTC viewers when it is under high load
      • Add integration test codes for some previous features to confirm
    • Fix several vulnerabilities/issues and use system resources more efficiently 🚀

    Ant-Media-Server

  • 6994 Improve test stability for deleteSubtracks -
  • 6993 Remove clusterNotifier in xml and code for TomcatLoader -
  • 6991 Add integration test code for content security filter - #6934
  • 6983 Support 'startTime' and 'endTime' parameters in HLS(m3u8 files) when httpForwarding is active - #6964
  • 6982 Show stream health info and average db query time and gpu utilization - #6965, #6968, #6966, #6985, #6965, #6968, #6966
  • 6959 add cluster delete rest call - ant-media/conference-call-application#451
  • 6957 Fix server restart under high http load - #6933
  • 6955 Fix Mp4 upload To S3 - #6927
  • 6949 Try none loopback address first for localhost address - #6948
  • 6931 Update subscriber to db if it requires for http viewer and tune some settings - #6914 #6929
  • 6920 Add clientIP to WebSocket Communication to use it in WebRTC - #6894
  • 6916 Add uninstall script - #6917
  • 6912 Make it easy to configure encoders - #6911
  • 6892 S3 transfer buffer size configuration - #6871
  • 6888 Fix lost VoD fields values - #6877
  • 6880 Remove session maps because we put tokens as query parameter by default - #6681
  • 6873 Release/2.12.0 - #6872
  • 6868 Support changing hls segment files' name with timestamps - #6863
  • 6730 Forward auto start request to origin - #6712
  • 6671 Add s3PathStyleAccessEnabled setting
  • 5272 Add height bitrate parameter to CustomBroadcast - #5172
  • Ant-Media-Enterprise

  • Use the available GPU or switch back to CPU if no GPU is available- #6986
  • Delete subtracks when the broadcast is deleted- ant-media/conference-call-application#451
  • Revert back to aligning audio video in WebRTC ingest- #6954
  • Fix multiple public ip for licensing- #6948
  • Fix unexpected stream id format in SRT ingest- #6945
  • Fix rare crash on native OnEncodedFrame method- #6780
  • Fix same m3u8 download problem, improve stability- #6930 #6914
  • Set WebRTC Client IP address coming from WebSocket communication- #6894
  • Make it easy to configure encoders- #6911
  • Add backup stream integration test code- #3917
  • Make the codes run asynch to not block in any state- #6893
  • Make data channel registration synchronized- #6883
  • Remove sessions map because we put tokens as query parameter- #6681
  • Release/2.12.0- #6872
  • Parse streamId correctly if Hardware encoder prefix exists in SRT ingest- #6840
  • Add Viewer Info to Webhook Play Auth Payload- #6746
  • Support height and bitrate parameters for Filter output- #5172
  • StreamApp

  • 530 Add contentSecurityFilter again to the web.xml - #6934
  • 529 Fix webrtc undefined js error and UTF-8 support for html pages - #6990 #6988
  • 528 Import whip-client.modern.js to resolve constructor issue -
  • 527 Fix warning message in webrtc test tool and simple refactor - #6942
  • 526 Get Client IP from WebSocket Communication - #6894
  • 525 Limit Chart.js data points to play smoothly -
  • Read more

    Ant Media Server Community 2.12.0

    12 Dec 07:45

    Choose a tag to compare

    Highlights

    • Update FFmpeg to 7.1
    • Support WebP, JPEG previews
    • Support ID3 in HLS HEVC streams
    • Support USB stick licensing
    • Optimize MongoDB utilization

    Ant-Media-Server

  • 6862 Refactor Subscriber & Add setting to write events to datastore #6860 #6861
  • 6857 Fix big app installation in clusters - #6777
  • 6852 Support WebP Previews - #6859
  • 6849 Add user publish id constant - ant-media/conference-call-application#426
  • 6844 Handle port number suffixes in IP filters - #6838 @jantekb
  • 6842 Add JPG support for previews - #6841
  • 6833 Add subFolder AppSettings with mainTrackId and streamId variable support - #6821
  • 6829 Add Debian support to enable_ssl.sh - #6792
  • 6828 Reconnect faster and shutdown faster - #6786
  • 6822 Cache subscriber to decrease query count - #6783
  • 6816 Add get subtrack count commands - ant-media/conference-call-application#403
  • 6814 Add Spring Packages used in applications -
  • 6811 Update FFmpeg to 7.1 - #6804
  • 6784 Fix typo in getTOTP REST method output -
  • 6769 Fix HLS Modifier Returning Wrong Content in Case of Https - #6308
  • 6767 Fix allowable values in Broadcast definitions - thank you to @Himpoke - #6740
  • 6764 Add stream name to the stream status webhook -
  • 6763 Return error in getToken REST Method When token type is not valid - #6744
  • 6752 Resolve CVE 202 13956 - #6750
  • 6739 Add allowableValues expects an array to map to enum -
  • 6735 Make encoding Q size configurable - #6705
  • 6734 Fix Wrong Memory Display If AMS is running in a Container - #6626
  • 6726 Upgrade FFmpeg to 7.1 - #6551
  • 6721 Correct JWT function name in enable_ssl.sh -
  • 6718 Call webhook for stream status & Make streamId unique index in MongoDB for Broadcasts - #3847
  • 6717 Call webhook for stream status - #6711
  • 6709 Split RTMP StreamId by slash(/) to parse Token and TOTP - #6704
  • 6701 add getRemoteIpAddress into IWebRTCClient - #6638
  • 6688 Add SRT latency configuration in application settings - #6665
  • 6687 Add correct IP address in Docker cluster environments - #6707
  • 6686 Fix enable_ssl.sh script warnings in Docker environment - #6706
  • 6683 Add latitude, longitude, altitude, metadata and description fields to VoD - #6662
  • 6676 Fix frame size format in ID3 header
  • 6661 Fix unexpected null pointer exception for streamId in logs -
  • 6656 Add custom text support in stream endpoints for VoD & HLS - #6650
  • 6644 Support mp3 file upload - #6643
  • 6630 Add getter for dbId field in AppSettings - #6629
  • 6620 Improve rtmp overflow check because it causes a test fail in enterprise - #6427
  • 6613 Improve VoD Upload API - #6612
  • 6611 Get REST API JWT From Authorization Bearer - #6516
  • 6610 Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration -
  • Read more

    Ant Media Server Community 2.11.3

    06 Sep 12:00

    Choose a tag to compare

    Ant-Media-Enterprise

  • Add products to website automatically: Update downloadable file in products-
  • Put audio packets in queue, update audio/video timing after restore- #5601
  • Fix Wrong Overflow Trigger in Audio & Video- #6632
  • Ant Media Server Community 2.11.2

    04 Sep 05:34

    Choose a tag to compare

    Ant-Media-Server

  • 6630 Add getter for dbId field in AppSettings - #6629
  • Ant-Media-Enterprise

  • Delete old AppSettings's index if exists to not have IndexConflict in MongoDB 4.4- #6629
  • Ant Media Server Community 2.11.1

    31 Aug 15:57

    Choose a tag to compare

    Ant-Media-Server

  • 6620 Improve rtmp overflow check because it causes a test fail in enterprise - #6427
  • 6613 Improve VoD Upload API - #6612
  • 6610 Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration - #6605
  • 6609 Reverted - Ignore this PR: Stop WebRTC Ingest if no audio packet is received for the timeout duration - #6605
  • 6604 Relay RTMP metadata to Muxers writeMetadata method - #6550
  • 6602 Allow RTSPS urls as stream source - Accept rtsps URLs as Stream Source
  • 6601 Release/2.11.0 -
  • 6598 Remove date extension from the access log filename to rotate the log files -
  • 6559 Fix RTMP timestamp overflow after 24 days of non-stop streaming - #6486
  • 6457 Fix logging statement - Hi, We found a formatting issue in the logging messages. It's an incremental commit but it can improve the quality of logging messages.
  • 6352 Refactor Installing SSL in Marketplace Instances -
  • Ant-Media-Enterprise

  • Stop connection(not immediately) when ICE is disconnected because it already waits 10 secs to let the client reconnect- #6427
  • Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration- #6605
  • Add Settings Field to Stop WebRTC Ingest if no audio packet is received for the timeout duration- #6605
  • Add metadata to HLS-
  • Release/2.11.0-
  • StreamApp

  • 484 Reset websocket connections flags to re-connect faster - #6427
  • 482 Release/2.11.0 -
  • Ant-Media-Server-Parent

  • 137 Release/2.11.0 -
  • Ant-Media-Management-Console

  • 260 Allow RTSPS urls while creating stream source - Accept rtsps URLs as Stream Source