search
HomeSystem TutorialLINUXCurl 8.9.0 Released: New Features, Bugfixes, and How to Install

Curl 8.9.0 release: 260 bug fixes and multiple improvements

Swedish open source developer Daniel Stenberg announced the release of Curl 8.9.0, an important milestone in the development history of the project. This release contains an amazing 260 bug fixes, 11 changes, and 2 security fixes.

Table of contents

  • Security enhancement
  • New Features
  • improve
    • New Options
  • Important bug fixes
  • Download and install Curl 8.9.0
  • Looking to the future: Curl 8.10.0

Curl 8.9.0 version statistics

Curl is one of the oldest and most mature software in the open source ecosystem.

Curl 8.9.0 is the 258th version of the software, demonstrating the project's ongoing commitment to improvement and innovation.

The new release has 11 changes and an impressive 260 bug fixes, setting a record for the project. These improvements came from 423 submissions from 80 contributors, including 38 newbies. This edition also received contributions from 47 authors, 16 of whom were first-time contributors, showing the project’s growing community.

This brings the total number of contributors to an impressive 3209, with 1288 authors contributing to the project so far.

The following is a brief summary of Curl 8.9.0 version statistics:

  • Version 258,
  • 11 changes were implemented,
  • Added 260 bug fixes,
  • 423 submissions were made,
  • 80 contributors, including 38 newbies,
  • 47 authors, 16 of whom are first-time contributors.

Security enhancement

Security remains Curl's priority. Version 8.9.0 resolves two vulnerabilities : CVE-2024-6197 and CVE-2024-6874 . These fixes further enhance Curl's security features.

The first vulnerability, CVE-2024-6197 , is a moderately severity issue in the ASN1 parser. This vulnerability involves freeing the stack buffer in the utf8asn1str function.

This problem occurs in the ASN1 parser of libcurl when the utf8asn1str function detects an invalid field and returns an error. Unfortunately, it also calls free() on a 4-byte local stack buffer.

The second vulnerability, CVE-2024-6874 , is a low-severity issue related to the punycode conversion in the URL API.

This problem occurs in the URL API function curl_url_get() of libcurl, which provides a conversion from puzzle code to IDN. When converting a name that is exactly 256 bytes, libcurl reads content outside the stack buffer when constructed to use the macidn IDN backend. The conversion function then completely fills the provided buffer, but does not end with null.

New Features

Curl 8.9.0 introduces several new command-line options to enhance its functionality. Users can now set IP service type/traffic category using the --ip-tos option.

The --mptcp option enables multipath TCP connections, which may improve network performance.

For local network management, the --vlan-priority option allows setting the VLAN priority field for IP traffic.

Finally, the --keepalive-cnt option allows the user to specify the number of keepalive probes before marking the connection as invalid.

improve

This update brings various enhancements to Curl's capabilities. Both GnuTLS and WolfSSL now support CA caching , which can significantly speed up serial TLS connections.

MbedTLS adds support for CURLOPT_CERTINFO, allowing applications to retrieve certificate information.

The URL API introduces CURLU_NO_GUESS_SCHEME to better perform scheme detection. Additionally, users can now bind connections to both interfaces and IPs, providing greater flexibility in network configuration.

New Options

Curl 8.9.0 introduces a new curl_easy_setopt() option and four new command line options. These new features extend Curl's capabilities, giving users more tools and flexibility.

Important bug fixes

This release contains a record 260 bug fixes, the most in Curl's long history. These improvements cover various areas, including many enhancements to CMake and configuration scripts.

Documentation and help features have been improved to provide a better user experience. The team resolved memory leaks and crashes in the DNS over HTTPS (DoH) implementation.

The processing of HTTPS, QUIC and TLS connections has been improved. This release also includes better support for various operating systems and SSL libraries, making Curl more universal on different platforms.

Here are some important bug fixes in this release:

  • cmake : 26 separate bug fixes.
  • configure : 10 separate bug fixes.
  • Help Category Cleanup : Improve --help output by listing categories and cleaning presentations.
  • 3xx Reply : Allow 3xx replies to etag and content-disposition.
  • Documentation : Countless repairs, polishes and corrections.
  • Test Summary : Displays the name and keywords of the failed test in the summary.
  • GetAddrInfoExW : Avoid using it with simulation.
  • AWS Sigv4 : ​​URL encoding specification path.
  • DoH (DNS over HTTPS) : Various fixes include cleaning, memory leak resolution, and zero-length HTTPS RR crash fix.
  • AppleIDN : Fixed the processing of ß.
  • OpenSSL 1.x : Fixed the compilation issue of disabling md4.
  • Progress Update : Added final progress update when the connection fails.
  • Multi : Fixed pollset during the RESOLVING phase.
  • QUIC : UDP GRO enabled and closing support added, OpenSSL 3.3 is now required.
  • Input Conversion : Fixed CRLF conversion of input.
  • SMTP : Fixed starttls for SMTP.
  • TCP keepalive : Change from milliseconds to seconds on DragonFly BSD and support parameters on Solaris
  • TLS and TCP : Improved shutdown.
  • GnuTLS : Passed in the SNI name instead of the host name when checking the certificate, and corrected the TLS version check of QUIC.
  • mbedTLS v3.6.0 : Added workaround.
  • X509 ASN.1 parser : multiple fixes.

With numerous bug fixes, new options and security enhancements, this release ensures Curl remains a powerful and reliable data transfer tool.

Download and install Curl 8.9.0

You can always download the new Curl version from curl.se. Since this release is new, it has not been packaged for most Linux distributions. But don't worry. You can use GNU Stow to install the latest Curl from source.

1. Make sure your system package database is up to date.

 <code>sudo apt update # Debian/Ubuntu 系统sudo yum update # CentOS/RHEL 系统sudo dnf update # Fedora 系统sudo pacman -Syu # Arch Linux 系统</code>

2. If the necessary development tools have not been installed, install them.

 <code>sudo apt install build-essential # Debian/Ubuntu sudo yum groupinstall "Development Tools" # CentOS/RHEL sudo dnf groupinstall "Development Tools" # Fedora sudo pacman -S base-devel # Arch Linux</code>

If you want to compile Curl using the OpenSSL backend, you also need to install the OpenSSL development library. For example, on a Debian-based system, you can install the OpenSSL development library using the following command:

 <code>sudo apt install libssl-dev</code>

If you want to compile Curl using the GnuTLS backend, install the following on a Debian-based system:

 <code>sudo apt install libgnutls28-dev libgnutls30</code>

3. Install GNU Stow.

 <code>sudo pacman -S stow # Arch Linux sudo apt install stow # Debian/Ubuntu sudo yum install stow # 旧版CentOS/RHEL sudo dnf install stow # 最新Fedora/RHEL/AlmaLinux/Rocky Linux</code>

4. Download the latest Curl source code from its official releases page and unzip it.

 <code>wget https://github.com/curl/curl/releases/download/curl-8_9_0/curl-8.9.0.tar.gz tar xvf curl-8.9.0.tar.gz</code>

5. Build with prefix configuration.

Go to the decompressed directory:

 <code>cd curl-8.9.0</code>

Built with the TLS backend and installation directory configuration for management by GNU Stow.

 <code>./configure --with-ssl --prefix=/usr/local/stow/curl-8.9.0</code>

If you want to configure Curl using GnuTLS, use the following command instead:

 <code>./configure --with-gnutls --prefix=/usr/local/stow/curl-8.9.0</code>

6. Compile the software.

 <code>make</code>

7. Install Curl 8.9.0

 <code>sudo make install</code>

8. Use GNU Stow to add Curl to your PATH.

Change to the stall directory and use stall to manage the installation.

 <code>cd /usr/local/stow sudo stow curl-8.9.0</code>

9. Verify that Curl is installed correctly and available.

 <code>curl --version</code>

Sample output :

 <code>curl 8.9.0 (x86_64-pc-linux-gnu) libcurl/8.9.0 GnuTLS/3.7.1 zlib/1.2.11 libidn2/2.3.0 Release-Date: 2024-07-24 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS HSTS HTTPS-proxy IDN IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets</code>

Curl 8.9.0 Released: New Features, Bugfixes, and How to Install

Looking to the future: Curl 8.10.0

Due to the extended release cycle of Curl 8.9.0, the developer said that the next version 8.10.0 will shorten the cycle.

He also added that Curl 8.10.0's feature window is only two weeks old, which may affect the number of new features and changes that can be merged.

Nevertheless, there are still a large number of requests to be merged waiting for the publishing window to open.

If all goes well, Curl 8.10.0 is expected to be released on September 11, 2024 . The upcoming release will continue Curl's famous tradition of improvement and innovation.

For more details, please check the official release notes:

  • Curl 8.9.0 Release Notes

Related readings :

  • Wcurl: A user-friendly Curl wrapper for easy download of files
  • Debian Curl now supports HTTP3: What you need to know
  • How to install Curl using GnuTLS backend in Debian

Please note that the format of the image remains the same as I have not modified the format information of the image in the input text. I used similar titles and descriptions to keep the article intact.

The above is the detailed content of Curl 8.9.0 Released: New Features, Bugfixes, and How to Install. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Does the internet run on Linux?Does the internet run on Linux?Apr 14, 2025 am 12:03 AM

The Internet does not rely on a single operating system, but Linux plays an important role in it. Linux is widely used in servers and network devices and is popular for its stability, security and scalability.

What are Linux operations?What are Linux operations?Apr 13, 2025 am 12:20 AM

The core of the Linux operating system is its command line interface, which can perform various operations through the command line. 1. File and directory operations use ls, cd, mkdir, rm and other commands to manage files and directories. 2. User and permission management ensures system security and resource allocation through useradd, passwd, chmod and other commands. 3. Process management uses ps, kill and other commands to monitor and control system processes. 4. Network operations include ping, ifconfig, ssh and other commands to configure and manage network connections. 5. System monitoring and maintenance use commands such as top, df, du to understand the system's operating status and resource usage.

Boost Productivity with Custom Command Shortcuts Using Linux AliasesBoost Productivity with Custom Command Shortcuts Using Linux AliasesApr 12, 2025 am 11:43 AM

Introduction Linux is a powerful operating system favored by developers, system administrators, and power users due to its flexibility and efficiency. However, frequently using long and complex commands can be tedious and er

What is Linux actually good for?What is Linux actually good for?Apr 12, 2025 am 12:20 AM

Linux is suitable for servers, development environments, and embedded systems. 1. As a server operating system, Linux is stable and efficient, and is often used to deploy high-concurrency applications. 2. As a development environment, Linux provides efficient command line tools and package management systems to improve development efficiency. 3. In embedded systems, Linux is lightweight and customizable, suitable for environments with limited resources.

Essential Tools and Frameworks for Mastering Ethical Hacking on LinuxEssential Tools and Frameworks for Mastering Ethical Hacking on LinuxApr 11, 2025 am 09:11 AM

Introduction: Securing the Digital Frontier with Linux-Based Ethical Hacking In our increasingly interconnected world, cybersecurity is paramount. Ethical hacking and penetration testing are vital for proactively identifying and mitigating vulnerabi

How to learn Linux basics?How to learn Linux basics?Apr 10, 2025 am 09:32 AM

The methods for basic Linux learning from scratch include: 1. Understand the file system and command line interface, 2. Master basic commands such as ls, cd, mkdir, 3. Learn file operations, such as creating and editing files, 4. Explore advanced usage such as pipelines and grep commands, 5. Master debugging skills and performance optimization, 6. Continuously improve skills through practice and exploration.

What is the most use of Linux?What is the most use of Linux?Apr 09, 2025 am 12:02 AM

Linux is widely used in servers, embedded systems and desktop environments. 1) In the server field, Linux has become an ideal choice for hosting websites, databases and applications due to its stability and security. 2) In embedded systems, Linux is popular for its high customization and efficiency. 3) In the desktop environment, Linux provides a variety of desktop environments to meet the needs of different users.

What are the disadvantages of Linux?What are the disadvantages of Linux?Apr 08, 2025 am 12:01 AM

The disadvantages of Linux include user experience, software compatibility, hardware support, and learning curve. 1. The user experience is not as friendly as Windows or macOS, and it relies on the command line interface. 2. The software compatibility is not as good as other systems and lacks native versions of many commercial software. 3. Hardware support is not as comprehensive as Windows, and drivers may be compiled manually. 4. The learning curve is steep, and mastering command line operations requires time and patience.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.