Skip to content

rtmp: drop support#20673

Closed
bagder wants to merge 1 commit intomasterfrom
bagder/rm-rtmp
Closed

rtmp: drop support#20673
bagder wants to merge 1 commit intomasterfrom
bagder/rm-rtmp

Conversation

@bagder
Copy link
Copy Markdown
Member

@bagder bagder commented Feb 22, 2026

  • librtmp has no test cases, makes no proper releases and has not had a single commit within the last year

  • librtmp parses the URL itself and requires non-compliant URLs for this

  • we have no RTMP tests

  • RTMP is barely used by curl users (2.2% self-identified in the 2025 survey)

@bagder bagder added feature-window A merge of this requires an open feature window RTMP labels Feb 22, 2026
@github-actions github-actions bot added cmdline tool CI Continuous Integration labels Feb 22, 2026
@bagder bagder marked this pull request as ready for review February 22, 2026 12:14
@bagder bagder requested a review from Copilot February 22, 2026 13:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes RTMP (librtmp-backed) support across curl/libcurl by deleting the protocol handler, dropping build/config integration, and updating documentation and CI to reflect that RTMP is no longer supported.

Changes:

  • Remove RTMP protocol implementation and scheme/port/version plumbing from libcurl.
  • Remove librtmp detection/configuration from Autotools, CMake, VMS tooling, and CI matrices.
  • Update user-facing docs/help text to stop advertising RTMP and to record the removal.

Reviewed changes

Copilot reviewed 35 out of 35 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/tool_help.c Simplifies protocol listing (no RTMP special-casing).
scripts/schemetable.c Drops RTMP-related schemes from scheme-table generator.
scripts/ciconfig.pl Removes librtmp from CI config options list.
scripts/cd2nroff Removes RTMP/RTMPS from known protocol map for docs generation.
projects/vms/generate_config_vms_h_curl.com Removes USE_LIBRTMP handling from VMS config generation.
lib/version.c Removes RTMP version reporting and RTMP schemes from supported protocol list.
lib/urldata.h Removes RTMP default port constants.
lib/url.c Removes RTMP scheme integration and regenerates perfect-hash scheme table without RTMP.
lib/curl_rtmp.h Deletes RTMP scheme declarations / version helper header.
lib/curl_rtmp.c Deletes RTMP protocol handler implementation.
lib/curl_config-cmake.h.in Removes USE_LIBRTMP CMake config define.
lib/Makefile.inc Removes RTMP source/header from build lists.
docs/libcurl/symbols-in-versions Marks RTMP protocol macros as removed (version attribution needs alignment).
docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS_STR.md Removes RTMP* from protocol string list.
docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.md Removes RTMP* from protocol string list and adds history note (version attribution needs alignment).
docs/cmdline-opts/_PROTOCOLS.md Removes RTMP(S) section from command-line protocol docs.
docs/cmdline-opts/_DESCRIPTION.md Removes RTMP/RTMPS from supported protocol list.
docs/URL-SYNTAX.md Removes RTMP schemes, ports, and RTMP URL syntax section.
docs/INSTALL.md Removes --without-librtmp from documented configure options.
docs/INSTALL-CMAKE.md Removes USE_LIBRTMP and related variables from CMake documentation.
docs/HISTORY.md Adds an entry about RTMP removal (currently written as a future date).
docs/FAQ.md Removes RTMP/RTMPS from protocol list.
docs/DEPRECATE.md Adds RTMP to “Past removals” list (version attribution needs alignment).
configure.ac Removes --with/--without-librtmp support and protocol summary output for RTMP.
README.md Removes RTMP/RTMPS from supported protocol list.
Makefile.am Removes CMake/FindLibrtmp.cmake from distributed files.
CMakeLists.txt Removes USE_LIBRTMP option, find_package wiring, and feature listing.
CMake/curl-config.in.cmake Removes librtmp dependency propagation from generated curl-config CMake package.
CMake/FindLibrtmp.cmake Deletes the CMake find-module for librtmp.
.github/workflows/macos.yml Removes librtmp/rtmpdump from CI jobs (one job has an invalid CMake flag token).
.github/workflows/linux.yml Removes librtmp packages/config flags from Linux CI jobs.
.github/workflows/linux-old.yml Removes librtmp packages/config flags from legacy Linux CI jobs.
.github/workflows/codeql.yml Removes librtmp from CodeQL build dependencies/config.
.github/scripts/cmp-config.pl Removes librtmp header define from config comparison script.
.github/labeler.yml Removes RTMP label automation rules.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/macos.yml Outdated
Comment thread docs/libcurl/symbols-in-versions
Comment thread docs/DEPRECATE.md
Comment thread docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.md
@bagder
Copy link
Copy Markdown
Member Author

bagder commented Feb 22, 2026

augment review

@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Feb 22, 2026

🤖 Augment PR Summary

Summary: This PR removes RTMP protocol support from curl/libcurl.

Changes:

  • Drops the librtmp integration across Autotools and CMake (options, find-modules, config exports).
  • Deletes the RTMP protocol implementation and scheme registrations from the library.
  • Updates scheme lookup hashing/table generation to exclude RTMP-related schemes.
  • Removes RTMP from version/protocol reporting in libcurl and from the curl tool’s version output handling.
  • Cleans up CI workflows and helper scripts to stop installing/configuring librtmp.
  • Updates user and API documentation to remove RTMP/RTMP* mentions and document the removal in project history.

Technical Notes: RTMP depended on the external librtmp/rtmpdump codebase; this change eliminates that dependency and the associated maintenance/testing surface.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread docs/URL-SYNTAX.md Outdated
bagder added a commit that referenced this pull request Feb 22, 2026
bagder added a commit that referenced this pull request Feb 22, 2026
bagder added a commit that referenced this pull request Feb 22, 2026
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP is barely used by curl users (2.2% self-identified in the 2025
  survey)

Closes #20673
bagder added a commit that referenced this pull request Mar 3, 2026
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP is barely used by curl users (2.2% self-identified in the 2025
  survey)

Closes #20673
@bagder
Copy link
Copy Markdown
Member Author

bagder commented Mar 3, 2026

@aisle-analyzer

@aisle-research-bot
Copy link
Copy Markdown

aisle-research-bot bot commented Mar 3, 2026

🔒 Aisle Security Analysis

✅ We scanned this PR and did not find any security vulnerabilities.

Aisle supplements but does not replace security review.


Analyzed PR: #20673 at commit 268cee2

Last updated on: 2026-03-03T11:09:42Z

bagder added a commit that referenced this pull request Mar 15, 2026
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP is barely used by curl users (2.2% self-identified in the 2025
  survey)

Closes #20673
bagder added a commit that referenced this pull request Mar 21, 2026
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP was used by 2.2% of curl users (self-identified in the 2025
  survey)

Closes #20673
@github-actions github-actions bot added the tests label Mar 21, 2026
bagder added a commit that referenced this pull request Mar 21, 2026
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP was used by 2.2% of curl users (self-identified in the 2025
  survey)

Closes #20673
- librtmp has no test cases, makes no proper releases and has not had a
  single commit within the last year

- librtmp parses the URL itself and requires non-compliant URLs for this

- we have no RTMP tests

- RTMP was used by 2.2% of curl users (self-identified in the 2025
  survey)

Closes #20673
@bagder bagder requested a review from Copilot March 21, 2026 13:48
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.md
@bagder bagder closed this in ceae02d Mar 21, 2026
@bagder bagder deleted the bagder/rm-rtmp branch March 21, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration cmdline tool feature-window A merge of this requires an open feature window RTMP tests

Development

Successfully merging this pull request may close these issues.

2 participants