In May 2010 curl merged support for the RTMP protocol suite. In March 2026, after almost 16 years, curl is removing RTMP support. This is a fascinating case study in open source maintenance and protocol evolution.
Why RTMP?
RTMP (Real-Time Messaging Protocol) was created by Adobe for Flash applications. It's a proprietary protocol that was never widely used in open source. The protocol represents an earlier era when we thought different transfer protocols would serve different purposes - before HTTP(S) became the one protocol to rule them all.
The Problem: No Tests
Daniel Stenberg discovered that curl had zero tests for RTMP functionality. The underlying librtmp project also has no tests and hasn't made any releases in years - most Linux distributions package code directly from their repositories.
User Impact
In a November 2025 survey, only 2.2% of curl users reported using RTMP in the past year. When asked for RTMP users on the mailing list, only one person responded - and they only used it for testing.
The Removal
curl announced six months in advance, repeating the message in every release note. The first release without RTMP will be 8.20.0, shipping April 29, 2026.
curl now supports 27 URL schemes: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
Key Insight
This is the first time in modern days curl has removed support for a URL scheme without bumping the SONAME. The reasoning: "It is only a break if it actually breaks something." With only 2.2% users and zero tests, removing RTMP improves overall code quality and security posture.
Source: https://daniel.haxx.se/blog/2026/03/21/bye-bye-rtmp/