HTTPie has always been about making interaction with APIs as human-friendly as possible. Part of that is ensuring our apps are ubiquitous and up-to-date. This release of HTTPie for Terminal brings many improvements in all these areas.
Check out what’s new 👇
Summary
🤩 Refined UI — Improved user experience and usability.
📖 Man pages — HTTPie is finally getting complete manuals available through man httpie
, man http
, and man https
.
📦 Single binary executables — download HTTPie as a single binary file and run it without installation.
🌀 Debian releases — most recent releases will now be offered also through our custom Apt repo with new releases instantly available for Debian, Ubuntu, etc.
⬆️ Update warnings — get notified about new versions as soon as they become available for your system straight in the terminal.
⚖️ Improved persistence for headers — multiple headers with the same name are persisted in the sessions.
🪲 Bug fixes — multiple headers with the same name are persisted in the sessions.
♥️ Community contributions — lots of amazing people who have contributed to this release.
🤩 Refined UI
This release brings various UI and UX improvements. For example, here is HTTPie’s new progress bar:
Even though our original progress bar implementation was simple and elegant, we’ve decided to adopt the powerful Rich library for various parts of the UI.
By the way, the example above uses the recently-added --style=pie-dark
style. We highly recommend making it your default style for the best experience and consistency with HTTPie for Web & Desktop.
📖 Man Pages
The long-awaited man pages are here now. You can use man http
or man https
to have the full man page experience with colors and pager:
$ man http
We have also introduced a shorthand for this operation, http --manual
:
$ http --manual
When the man pages are available (installed by your platform’s packager), it will automatically open you the HTTPie’s manual. When they are not, this command will open the regular manual but inside of a pager.
The httpie
management command now has a man page as well:
$ man httpie
📦 Single binary executables
For Linux systems, we now offer single binary executables which you can download and start using without installation. The new asset named http
now included in every release of HTTPie on GitHub is all you need:
$ https -do http_standalone github.com/httpie/httpie/releases/download/3.2.1/http
$ chmod +x ./http_standalone
$ ./http_standalone --version
📖 Single binary installation docs →
🌀 Debian releases
We now host our own Debian Apt repository to provide instant updates with new features to users of Debian, Ubuntu, and other derived distros:
$ curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
$ curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
$ apt update
$ apt install httpie
📖 Debian & Ubuntu installation docs →
⬆️ Update warnings
HTTPie for Terminal is now part of a broader platform, and we iterate quickly and deliver new features frequently. To keep existing users up-to-date, this version adds a gentle new warning:
$ http pie.dev/get
http: info: A new HTTPie release (3.3.0) is available.
To see how you can update, please visit https://httpie.io/docs/cli/pypi
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: application/json
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip",
"Cdn-Loop": "cloudflare",
},
"url": "http://pie.dev/get"
}
You can also check the latest release by manually running check-updates
:
$ httpie cli check-updates
⚖️ Improved persistence for headers
Multiple headers with the same name are now correctly persisted inside sessions. E.g.:
$ http --session test pie.dev/headers X-Foo:bar X-Foo:baz
$ http --session test pie.dev/headers
For upgrading your old sessions, you can use httpie cli sessions upgrade
:
$ httpie cli sessions upgrade pie.dev test
To upgrade all named sessions in one go, you can try httpie cli sessions upgrade-all
.
$ httpie cli sessions upgrade-all
✨ Other improvements
Moved httpie plugins *
command to the new httpie cli plugins
namespace. This provides a more scalable namespacing of the management subcommands. The original httpie plugins *
commands are now hidden aliases.
🪲 Bug fixes
- Removed the redundant addition of
Content-Length: 0
header to body-lessOPTIONS
requests. - The thread observing standard input to provide a warning when no data arrives is now properly terminated when HTTPie itself exists.
♥️ Community contributions
Last but not least, we’d like to thank the amazing people who’ve contributed to this release of HTTPie: Ethan Mills, Jan Verbeek, Mohamed Daahir, Nicklas Ansman Giertz, Oliver Fish, Roberto López López, luzpaz, and zhaohanqing95.
Top comments (0)