This document records all notable changes to HTTPie. This project adheres to Semantic Versioning.
1.0.0-dev (Unreleased)
- Added Python 3 as a dependency for Homebrew installations to ensure some of the newer HTTP features work out of the box for macOS users (starting with HTTPie 0.9.4.).
- Added the ability to unset a request header with
Header:, and send an empty value withHeader;. - Added
--default-scheme <URL_SCHEME>. - Added
-Ias a shortcut for--ignore-stdin. - Added fish shell completion (located in
extras/httpie-completion.fishin the Github repo). - Updated
requeststo 2.10.0 so that SOCKS support can be added viapip install requests[socks]. - Changed the default JSON
Acceptheader fromapplication/jsontoapplication/json, */*.
0.9.4 (2016-07-01)
- Added
Content-Typeof files uploaded inmultipart/form-datarequests - Added
--ssl=<PROTOCOL>to specify the desired SSL/TLS protocol version to use for HTTPS requests. - Added JSON detection with
--json, -jto work around incorrectContent-Type - Added
--allto show intermediate responses such as redirects (with--follow) - Added
--history-print, -P WHATto specify formatting of intermediate responses - Added
--max-redirects=N(default 30) - Added
-Aas short name for--auth-type - Added
-Fas short name for--follow - Removed the
implicit_content_typeconfig option (use"default_options": ["--form"]instead) - Redirected
stdoutdoesn't trigger an error anymore when--output FILEis set - Changed the default
--styleback tosolarizedfor better support of light and dark terminals - Improved
--debugoutput - Fixed
--sessionwhen used with--download - Fixed
--downloadto trim too long filenames before saving the file - Fixed the handling of
Content-Typewith multiple+subtypeparts - Removed the XML formatter as the implementation suffered from multiple issues
0.9.3 (2016-01-01)
- Changed the default color
--stylefromsolarizedtomonokai - Added basic Bash autocomplete support (need to be installed manually)
- Added request details to connection error messages
- Fixed
'requests.packages.urllib3' has no attribute 'disable_warnings'errors that occurred in some installations - Fixed colors and formatting on Windows
- Fixed
--authprompt on Windows
0.9.2 (2015-02-24)
- Fixed compatibility with Requests 2.5.1
- Changed the default JSON
Content-Typetoapplication/jsonas UTF-8 is the default JSON encoding
0.9.1 (2015-02-07)
- Added support for Requests transport adapter plugins (see httpie-unixsocket and httpie-http2)
0.9.0 (2015-01-31)
- Added
--certand--cert-keyparameters to specify a client side certificate and private key for SSL - Improved unicode support
- Improved terminal color depth detection via
curses - To make it easier to deal with Windows paths in request items,
\now only escapes special characters (the ones that are used as key-value separators by HTTPie) - Switched from
unittesttopytest - Added Python wheel support
- Various test suite improvements
- Added
CONTRIBUTING - Fixed
User-Agentoverwriting when used within a session - Fixed handling of empty passwords in URL credentials
- Fixed multiple file uploads with the same form field name
- Fixed
--output=/dev/nullon Linux - Miscellaneous bugfixes
0.8.0 (2014-01-25)
- Added
[email protected]andfield:[email protected]for embedding the contents of text and JSON files into request data - Added curl-style shorthand for localhost
- Fixed request
Hostheader value output so that it doesn't contain credentials, if included in the URL
0.7.1 (2013-09-24)
- Added
--ignore-stdin - Added support for auth plugins
- Improved
--helpoutput - Improved
Content-Dispositionparsing for--downloadmode - Update to Requests 2.0.0
0.6.0 (2013-06-03)
- XML data is now formatted
--sessionand--session-read-onlynow also accept paths to session files (eg.http --session=/tmp/session.json example.org)
0.5.1 (2013-05-13)
Content-*andIf-*request headers are not stored in sessions anymore as they are request-specific
0.5.0 (2013-04-27)
- Added a download mode via
--download - Fixes miscellaneous bugs
0.4.1 (2013-02-26)
- Fixed
setup.py
0.4.0 (2013-02-22)
- Added Python 3.3 compatibility
- Added Requests >= v1.0.4 compatibility
- Added support for credentials in URL
- Added
--no-optionfor every--optionto be config-friendly - Mutually exclusive arguments can be specified multiple times. The last value is used
0.3.0 (2012-09-21)
- Allow output redirection on Windows
- Added configuration file
- Added persistent session support
- Renamed
--allow-redirectsto--follow - Improved the usability of
http --help - Fixed installation on Windows with Python 3
- Fixed colorized output on Windows with Python 3
- CRLF HTTP header field separation in the output
- Added exit status code
2for timed-out requests - Added the option to separate colorizing and formatting
(
--pretty=all,--pretty=colorsand--pretty=format)--uglyhas bee removed in favor of--pretty=none
0.2.7 (2012-08-07)
- Added compatibility with Requests 0.13.6
- Added streamed terminal output.
--stream, -Scan be used to enable streaming also with--prettyand to ensure a more frequent output flushing - Added support for efficient large file downloads
- Sort headers by name (unless
--pretty=none) - Response body is fetched only when needed (e.g., not with
--headers) - Improved content type matching
- Updated Solarized color scheme
- Windows: Added
--output FILEto store output into a file (piping results in corrupted data on Windows) - Proper handling of binary requests and responses
- Fixed printing of
multipart/form-datarequests - Renamed
--tracebackto--debug
0.2.6 (2012-07-26)
- The short option for
--headersis now-h(-thas been removed, for usage use--help) - Form data and URL parameters can have multiple fields with the same name (e.g.,``http -f url a=1 a=2``)
- Added
--check-statusto exit with an error on HTTP 3xx, 4xx and 5xx (3, 4, and 5, respectively) - If the output is piped to another program or redirected to a file,
the default behaviour is to only print the response body
(It can still be overwritten via the
--printflag.) - Improved highlighting of HTTP headers
- Added query string parameters (
param==value) - Added support for terminal colors under Windows
0.2.5 (2012-07-17)
- Unicode characters in prettified JSON now don't get escaped for improved readability
- --auth now prompts for a password if only a username provided
- Added support for request payloads from a file path with automatic
Content-Type(http URL @/path) - Fixed missing query string when displaying the request headers via
--verbose - Fixed Content-Type for requests with no data
0.2.2 (2012-06-24)
- The
METHODpositional argument can now be omitted (defaults toGET, or toPOSTwith data) - Fixed --verbose --form
- Added support for Tox
0.2.1 (2012-06-13)
- Added compatibility with
requests-0.12.1 - Dropped custom JSON and HTTP lexers in favor of the ones newly included
in
pygments-1.5
0.2.0 (2012-04-25)
- Added Python 3 support
- Added the ability to print the HTTP request as well as the response
(see
--printand--verbose) - Added support for Digest authentication
- Added file upload support
(
http -f POST file_field_name@/path/to/file) - Improved syntax highlighting for JSON
- Added support for field name escaping
- Many bug fixes
0.1.6 (2012-03-04)
- Fixed
setup.py
0.1.5 (2012-03-04)
- Many improvements and bug fixes
0.1.4 (2012-02-28)
- Many improvements and bug fixes
0.1 (2012-02-25)
- Initial public release