Two years ago

Changelog #0012 — 💎 Streamlined library, smarter request duplication, and more

This past week we shipped several features streamlining the library in HTTPie for Web & Desktop and improving interoperability in HTTPie for Terminal.

Check out what’s new 👇

HTTPie for Web & Desktop

We tend to release features as soon as possible to provide value to our beta users fast and gain insights on how to improve them through feedback. The library is a good example, we released a minimal version, collected lots of valuable feedback, and keep iterating to make it simpler and more intuitive.

🔀 Streamlined library

The organizational powers of the library just leveled up. Now you can quickly move requests around from one collection to another.

Library context menu

Upon clicking “Edit…” in a request’s context menu, you can rename it as before, but now you can also change its home. Create your request first, decide where it goes later, and change your mind as many times as you need.

🐑 Smarter request cloning

The existing tab duplication has been very popular; it works great for cloning a request and creating a new one that reuses parts of the original one. Now, request duplication is also available through the library panel, and you can duplicate requests inside their collection as well as open them as a new draft.

duplicate

🖱 Right-click context menus

The library items’ context menus are now consistent with the tabs’ ones and can be triggered with a right-click. Also, tabs can now be closed via a middle click.

right click to open context menu

HTTPie for Terminal

After the 3.0 release, we’re actively working on structural reforms every day to prepare HTTPie for the future. Here’s what’s new in the development version:

🎄 Nested JSON improvements

We’ve polished off a few corner cases on the new nested JSON syntax enriching the HTTPie request language:

  • Handling of top-level arrays is more robust now. For example, it’s no longer allowed to mix them with other top-level objects (#1292).
  • We’ve fixed the escaping of integers with multiple backslashes (#1288).

📦 New export command (#1293)

The new httpie cli export command has been designed to improve interoperability by exposing our CLI definition to third-party tools in a machine-readable format (not unlike an API description). This will make it easier for developers to generate auto-complete for different shells and utilities, power playgrounds, cheatsheets, etc.

HTTPie users will also benefit from the internal CLI-definition-as-data refactorings directly as they will allow us to implement a more user-friendly and contextual help output, finally generate a proper man page, and more.

Here is a sneak peek of that new command:

$ httpie cli export --format=json | jq '.spec.groups[].args[].options'
"METHOD"
"URL"
"REQUEST_ITEM"
[
 "--json",
 "-j"
]
[
 "--form",
 "-f"
]
…

Happy API testing, and see you next week!

But in the meantime…