Releases: httpie/cli
HTTPie 2.5.0
Blog post: What’s new in HTTPie 2.5.0
- Added
--rawto allow specifying the raw request body without extra processing as
an alternative tostdin. (#534) - Added support for XML formatting. (#1129)
- Added internal support for file-like object responses to improve adapter plugin support. (#1094)
- Fixed
--continue --downloadwith a single byte to be downloaded left. (#1032) - Fixed
--verboseHTTP 307 redirects with streamed request body. (#1088) - Fixed handling of session files with
Cookie:followed by other headers. (#1126)
→ Join our Discord community: https://httpie.io/chat
→ Install HTTPie: https://httpie.io/docs#installation
→ Learn more: https://httpie.io
HTTPie 2.4.0
HTTPie /aitch-tee-tee-pie/ CLI is a human-friendly CLI HTTP client for the API era.
The 2.4.0 release introduces the following improvements:
- Added support for
--sessioncookie expiration based onSet-Cookie: max-age=<n>. (#1029) - Show a
--check-statuswarning with--quietas well, not only when the output is redirected. (#1026) - Fixed upload with
--session(#1020). - Fixed a missing blank line between request and response (#1006).
Join our Discord community: https://httpie.io/chat
Install HTTPie: https://httpie.io/docs#installation
Learn more: https://httpie.io
HTTPie 2.3.0
- Added support for streamed uploads (#201).
- Added support for multipart upload streaming (#684).
- Added support for body-from-file upload streaming (
http httpbin.org/post @file). - Added
--chunkedto enable chunked transfer encoding (#753). - Added
--multipartto allowmultipart/form-dataencoding for non-file--formrequests as well. - Added support for preserving field order in multipart requests (#903).
- Added
--boundaryto allow a custom boundary string formultipart/form-datarequests. - Added support for combining cookies specified on the CLI and in a session file (#932).
- Added out of the box SOCKS support with no extra installation (#904).
- Added
--quiet, -qflag to enforce silent behaviour. - Fixed the handling of invalid
expiresdates inSet-Cookieheaders (#963). - Removed Tox testing entirely (#943).
HTTPie /aitch-tee-tee-pie/ CLI is a user-friendly command-line HTTP client for the API era. It comes with JSON support, syntax highlighting, persistent sessions, wget-like downloads, plugins, and more.
Learn more: https://httpie.org
Install HTTPie: https://httpie.org/docs#installation
HTTPie 2.2.0
- Added support for custom content types for uploaded files (#927, #668).
- Added support for
$XDG_CONFIG_HOME(#920). - Added support for
Set-Cookie-triggered cookie expiration (#853). - Added
--format-optionsto allow disabling sorting, changing JSON indent size, etc. (#128) - Added
--sortedand--unsortedshortcuts for (un)setting all sorting-related--format-options. (#128) - Added
--ciphersto allow configuring OpenSSL ciphers (#870). - Added
netrcsupport for auth plugins. Enabled for--auth-type=basicand digest, 3rd parties may opt in (#718, #719, #852, #934). - Fixed built-in plugins-related circular imports (#925).
HTTPie 2.1.0
- Added
--path-as-isto bypass dot segment (/../or/./) URL squashing (#895). - Changed the default
Acceptheader value for JSON requests fromapplication/json, */*toapplication/json, */*;q=0.5to clearly indicate preference (#488). - Fixed
--formfile upload mixed with redirectedstdinerror handling (#840).
HTTPie 2.0.0
- Removed Python 2.7 support (Python 3.6+ is now required).
- Added
--offlineto allow building an HTTP request and printing it but not actually sending it over the network. - Replaced the old collect-all-then-process handling of HTTP communication with one-by-one processing of each HTTP request or response as they become available. This means that you can see headers immediately, see what is being sent even if the request fails, etc.
- Removed automatic config file creation to avoid concurrency issues.
- Removed the default 30-second connection
--timeoutlimit. - Removed Python’s default limit of 100 response headers.
- Added
--max-headersto allow setting the max header limit. - Added
--compress to allow request body compression. - Added
--ignore-netrcto allow bypassing credentials from.netrc. - Added
httpsalias command withhttps://as the default scheme. - Added
$ALL_PROXYdocumentation. - Added type annotations throughout the codebase.
- Added
tests/to the PyPi package for the convenience of downstream package maintainers. - Fixed an error when
stdinwas a closed fd. - Improved
--debugoutput formatting.
HTTPie 1.0.3
Fixed CVE-2019-10751 — the way the output filename is generated for --download requests without --output resulting in a redirect has been changed to only consider the initial URL as the base for the generated filename, and not the final one. This fixes a potential security issue under the following scenario:
- A
--downloadrequest with no explicit--outputis made (e.g.,$ http -d example.org/file.txt), instructing HTTPie to generate the output filename from theContent-Dispositionresponse header, or from the URL if the header is not provided. - The server handling the request has been modified by an attacker and instead of the expected response the URL returns a redirect to another URL, e.g.,
attacker.example.org/.bash_profile, whose response does not provide aContent-Dispositionheader (i.e., the base for the generated filename becomes.bash_profileinstead offile.txt). - Your current directory doesn’t already contain
.bash_profile(i.e., no unique suffix is added to the generated filename). - You don’t notice the potentially unexpected output filename as reported by HTTPie in the console output (e.g.,
Downloading 100.00 B to ".bash_profile").
HTTPie 1.0.2
- Fixed tests for installation with pyOpenSSL.
HTTPie 1.0.1
- Removed external URL calls from tests.
HTTPie 1.0.0
- Added
--style=autowhich follows the terminal ANSI color styles. - Added support for selecting TLS 1.3 via
--ssl=tls1.3
(available once implemented in upstream libraries). - Added
true/falseas valid values for--verify
(in addition toyes/no) and the boolean value is case-insensitive. - Changed the default
--stylefromsolarizedtoauto(on Windows it staysfruity). - Fixed default headers being incorrectly case-sensitive.
- Removed Python 2.6 support.