Releases: httpie/cli
HTTPie 2.5.0
Blog post: What’s new in HTTPie 2.5.0
- Added
--raw
to 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 --download
with a single byte to be downloaded left. (#1032) - Fixed
--verbose
HTTP 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
--session
cookie expiration based onSet-Cookie: max-age=<n>
. (#1029) - Show a
--check-status
warning with--quiet
as 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
--chunked
to enable chunked transfer encoding (#753). - Added
--multipart
to allowmultipart/form-data
encoding for non-file--form
requests as well. - Added support for preserving field order in multipart requests (#903).
- Added
--boundary
to allow a custom boundary string formultipart/form-data
requests. - 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, -q
flag to enforce silent behaviour. - Fixed the handling of invalid
expires
dates inSet-Cookie
headers (#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-options
to allow disabling sorting, changing JSON indent size, etc. (#128) - Added
--sorted
and--unsorted
shortcuts for (un)setting all sorting-related--format-options
. (#128) - Added
--ciphers
to allow configuring OpenSSL ciphers (#870). - Added
netrc
support for auth plugins. Enabled for--auth-type=basic
and 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-is
to bypass dot segment (/../
or/./
) URL squashing (#895). - Changed the default
Accept
header value for JSON requests fromapplication/json, */*
toapplication/json, */*;q=0.5
to clearly indicate preference (#488). - Fixed
--form
file upload mixed with redirectedstdin
error handling (#840).
HTTPie 2.0.0
- Removed Python 2.7 support (Python 3.6+ is now required).
- Added
--offline
to 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
--timeout
limit. - Removed Python’s default limit of 100 response headers.
- Added
--max-headers
to allow setting the max header limit. - Added
--compres
s to allow request body compression. - Added
--ignore-netrc
to allow bypassing credentials from.netrc
. - Added
https
alias command withhttps://
as the default scheme. - Added
$ALL_PROXY
documentation. - Added type annotations throughout the codebase.
- Added
tests/
to the PyPi package for the convenience of downstream package maintainers. - Fixed an error when
stdin
was a closed fd. - Improved
--debug
output 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
--download
request with no explicit--output
is made (e.g.,$ http -d example.org/file.txt
), instructing HTTPie to generate the output filename from theContent-Disposition
response 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-Disposition
header (i.e., the base for the generated filename becomes.bash_profile
instead 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=auto
which 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
/false
as valid values for--verify
(in addition toyes
/no
) and the boolean value is case-insensitive. - Changed the default
--style
fromsolarized
toauto
(on Windows it staysfruity
). - Fixed default headers being incorrectly case-sensitive.
- Removed Python 2.6 support.