<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cláudia Delgado</title>
    <description>The latest articles on DEV Community by Cláudia Delgado (@claudiatd).</description>
    <link>https://dev.to/claudiatd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F709711%2F8349dedd-ebfd-4d28-8a4a-20c8c174d731.jpg</url>
      <title>DEV Community: Cláudia Delgado</title>
      <link>https://dev.to/claudiatd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/claudiatd"/>
    <language>en</language>
    <item>
      <title>Changelog #0024 — ✨️ Improved variables and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 29 May 2023 15:21:36 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0024-improved-variables-and-more-149h</link>
      <guid>https://dev.to/pie/changelog-0024-improved-variables-and-more-149h</guid>
      <description>&lt;p&gt;Check out what’s new in HTTPie for Web &amp;amp; Desktop &lt;a href="https://github.com/httpie/desktop/releases/tag/v2023.3.0"&gt;2023.3.0&lt;/a&gt;, and HTTPie for Terminal &lt;a href="https://github.com/httpie/httpie/releases/tag/3.2.2"&gt;3.2.2&lt;/a&gt; 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  🔖 Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🪆 Recursive variables —&lt;/strong&gt; Keep your variables DRY and atomic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✏️ Inline name editing —&lt;/strong&gt; Quickly rename requests and collections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💾 Save body as file&lt;/strong&gt; — Save body as file directly from the client.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔃 Re-order variables —&lt;/strong&gt; Bring order to your variables.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🖼 Re-order environments —&lt;/strong&gt; And to your environments as well.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✨ Other enhancements —&lt;/strong&gt; Use longer collection &amp;amp; request names, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📟‍ CLI v3.2.2 —&lt;/strong&gt; A compatibility bug fix release.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop 2023.3.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🪆 Use variables recursively
&lt;/h3&gt;

&lt;p&gt;Referencing a variable from another variable’s value? Why not‽ HTTPie now resolves variables recursively to help you keep your Spaces DRY.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XMEjI8qT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Frecursive-variables-NUACBLQK.gif%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XMEjI8qT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Frecursive-variables-NUACBLQK.gif%26w%3D1920%26q%3D95" alt="recursive" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✏️ Edit names inline
&lt;/h3&gt;

&lt;p&gt;Quickly change the name of a request or collection with a double click. Just like that. Simple.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oRDBD6U7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Finline-rename-QR44GDUG.gif%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oRDBD6U7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Finline-rename-QR44GDUG.gif%26w%3D1920%26q%3D95" alt="Double-click a collection or request in the sidebar to quickly rename it" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  💾 Save body as file
&lt;/h3&gt;

&lt;p&gt;You could always copy the request and response body. Now you can also save it as a file directly from the client.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kW53AQQH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Fsave-to-file-22CCEUIC.gif%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kW53AQQH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Fsave-to-file-22CCEUIC.gif%26w%3D1920%26q%3D95" alt="Save body as file from the message menu" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔃 Re-order variables
&lt;/h3&gt;

&lt;p&gt;HTTPie orders your variables by the creation time by default. Now you can use any ordering system that makes sense for your variables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Uw68GoVP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Freorder-variables-5C6GHFVY.gif%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Uw68GoVP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Freorder-variables-5C6GHFVY.gif%26w%3D1920%26q%3D95" alt="Use drag-and-drop to re-order variables in the table" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔁 Re-order environments
&lt;/h3&gt;

&lt;p&gt;And you can now re-order environments as well 🪷&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NdQqziE0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Freorder-environments-QEVYQCVS.gif%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NdQqziE0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0024%252Freorder-environments-QEVYQCVS.gif%26w%3D1920%26q%3D95" alt="Use the Shift left/right menu items to re-order environments" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Other enhancements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Collection and request names now may be up to ~40~ &lt;em&gt;80&lt;/em&gt; characters long.&lt;/li&gt;
&lt;li&gt;Numerous under-the-hood stability and performance improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal 3.2.2
&lt;/h2&gt;

&lt;p&gt;HTTPie for Terminal &lt;a href="https://github.com/httpie/httpie/releases/tag/3.2.2"&gt;v3.2.2 is now available&lt;/a&gt; 🎉 This version fixes compatibility with &lt;code&gt;urllib3&lt;/code&gt; 2.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤗 Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✉️ Thoughts? Questions? Shoot us an email at &lt;a href="//mailto:feedback@httpie.io"&gt;feedback@httpie.io&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📋 You can also help us improve by completing a &lt;a href="https://httpie.io/survey"&gt;quick survey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 Follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt; to stay up to date.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0024"&gt;https://httpie.io/blog/changelog-0024&lt;/a&gt;&lt;/p&gt;

</description>
      <category>httpie</category>
      <category>api</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Changelog #0023 — 🛠️ Internal refactoring and improvements</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 29 May 2023 15:13:25 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0023-internal-refactoring-and-improvements-41ga</link>
      <guid>https://dev.to/pie/changelog-0023-internal-refactoring-and-improvements-41ga</guid>
      <description>&lt;p&gt;HTTPie for Web &amp;amp; Desktop &lt;a href="https://github.com/httpie/desktop/releases/tag/v2023.2.4"&gt;v2023.2.x&lt;/a&gt; is out, and it’s probably our biggest release yet — regarding lines of code changed, anyway!&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨What’s new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added the ability to sync requests with binary data in text bodies&lt;/li&gt;
&lt;li&gt;Added the ability to sync requests with binary data in form field values&lt;/li&gt;
&lt;li&gt;Fixed various sync issues preventing some users from fully syncing&lt;/li&gt;
&lt;li&gt;Fixed the auto-update dialog to appear only once for each version&lt;/li&gt;
&lt;li&gt;Fixed an occasional crash when re-ordering items via drag-and-drop&lt;/li&gt;
&lt;li&gt;Numerous small fixes and improvements throughout the app&lt;/li&gt;
&lt;li&gt;⚡️ A comprehensive refactoring and re-architecture of the entire codebase&lt;/li&gt;
&lt;li&gt;🏎️ Internal DX optimizations for rapid development of upcoming features&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🛠️ Internal refactoring
&lt;/h2&gt;

&lt;p&gt;We focused on reducing technical debt accumulated over the past 30+ releases. This led to a comprehensive refactoring and re-architecture. Our codebase v2 is much leaner and cleaner, and our internal DX and development pace has greatly improved.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LRprBcJL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0023%252Fpr-OKJIHAHN.png%26w%3D1920%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LRprBcJL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0023%252Fpr-OKJIHAHN.png%26w%3D1920%26q%3D95" alt="files" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most impactful has been reworking our data model layer and state management system. The original codebase had evolved to keep much of its business logic inside &lt;a href="https://github.com/pmndrs/jotai"&gt;jotai&lt;/a&gt; atoms, and we generally had very little abstraction in the model layer. This made the model layer code complex, rigid, and bug-prone.&lt;/p&gt;

&lt;p&gt;Our new data layer is powered by an internal framework where all entities are defined as classes inheriting from a base &lt;code&gt;Model&lt;/code&gt;, connected to a &lt;code&gt;Backend&lt;/code&gt;. The latter provides implementions of reactive CRUD on top of localStorage, RxDB, etc.&lt;/p&gt;

&lt;p&gt;The decision to write our solution came after carefully evaluating existing options. Our app is highly data-driven, and we couldn’t find a solution to satisfy all our criteria (class-based models, support for relationships, swappable storage backends, sync and React interface as an add-on, etc.).&lt;/p&gt;

&lt;p&gt;We took inspiration from the many frameworks we worked with throughout our careers. And maybe surprisingly, Django’s ORM layer impacted our design choices and the API quite a bit. The resulting framework relies on &lt;a href="https://zod.dev/"&gt;Zod&lt;/a&gt; for schemas and validation and &lt;a href="https://github.com/pmndrs/valtio"&gt;Valtio&lt;/a&gt; for React integration.&lt;/p&gt;

&lt;p&gt;We’re extremely pleased with the result and hope to open-source the framework soon. We cannot wait to ship our upcoming &lt;a href="https://httpie.io/ai"&gt;AI&lt;/a&gt;, &lt;a href="https://httpie.io/blog/changelog-0020#help-wanted-teams-and-collaboration"&gt;collaboration&lt;/a&gt;, and scripting features we’re building already using the new framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤗 Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✉️ Thoughts? Questions? Shoot us an email at &lt;a href="//mailto:feedback@httpie.io"&gt;feedback@httpie.io&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📋 You can also help us improve by completing a &lt;a href="https://httpie.io/survey"&gt;quick survey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 Follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt; to stay up to date.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0023"&gt;https://httpie.io/blog/changelog-0023&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Changelog #0020 — 🔦 Data filtering, search &amp; replace, RegExp, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 24 Oct 2022 22:02:50 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0020-data-filtering-search-replace-regexp-and-more-4ffp</link>
      <guid>https://dev.to/pie/changelog-0020-data-filtering-search-replace-regexp-and-more-4ffp</guid>
      <description>&lt;p&gt;Hello, API World! We’re back with a new release of HTTPie for &lt;a href="https://httpie.io/app"&gt;Web&lt;/a&gt; &amp;amp; &lt;a href="https://httpie.io/product"&gt;Desktop&lt;/a&gt;, the API testing client that you’ll enjoy using. &lt;a href="https://httpie.io/blog/changelog-0019"&gt;Last time&lt;/a&gt;, we hinted at additional tools for navigating and processing data. And that’s been our theme for this release. Check out what we shipped in &lt;a href="https://github.com/httpie/desktop/releases/tag/v2022.15.0"&gt;v2022.15.0&lt;/a&gt;👇&lt;/p&gt;

&lt;h2&gt;
  
  
  🔖 Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔦 Data filtering –&lt;/strong&gt; Filter, transform and analyze JSON, XML, and HTML.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔣 RegExp support –&lt;/strong&gt; Level up your search powers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔀 Search &amp;amp; replace –&lt;/strong&gt; Edit the request body text the smart way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✨ Other improvements —&lt;/strong&gt; Tweaks and fixes for an improved experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;👥 Teams &amp;amp; collaboration -&lt;/strong&gt; Help us build the best collaborative experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔦 Filter, transform and analyze structured data
&lt;/h2&gt;

&lt;p&gt;We’ve recently &lt;a href="https://httpie.io/blog/changelog-0019#search-in-any-message"&gt;introduced text search&lt;/a&gt; to help you navigate large messages. Text search is available everywhere in the app as a universal way to navigate textual content.&lt;/p&gt;

&lt;p&gt;When talking to APIs, though, you often deal with structured data like JSON, XML, and HTML. The explicit structure of these formats unlocks additional, more powerful ways of navigating and processing the data they contain.&lt;/p&gt;

&lt;p&gt;In this release, we focused on taking advantage of that and added the ability to filter structured formats using various query languages. With filtering, you can quickly analyze, transform, and selectively extract data from structured documents without leaving HTTPie.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CNqZQUAV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Ffilter-OD37BAIC.gif%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CNqZQUAV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Ffilter-OD37BAIC.gif%26w%3D3840%26q%3D95" alt="Filter" width="880" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The following data formats and query languages are now available:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data format&lt;/th&gt;
&lt;th&gt;Query language&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;JSON&lt;/td&gt;
&lt;td&gt;&lt;a href="https://httpie.io/r/docs/app/jsonpath"&gt;JSONPath&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XML&lt;/td&gt;
&lt;td&gt;&lt;a href="https://httpie.io/r/docs/app/xpath"&gt;XPath&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML&lt;/td&gt;
&lt;td&gt;&lt;a href="https://httpie.io/r/docs/app/xpath"&gt;XPath&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Activate the filter field via a keyboard shortcut when the textarea is focused (macOS: ⇧⌘F; Windows &amp;amp; Linux: ⇧⌃F) or use the “Filter” item in the panel’s menu.&lt;/p&gt;

&lt;p&gt;Data filtering is available everywhere where structured data can appear: in the preview and the request and response panels. To filter the request body data you’re editing, open the preview panel and activate the filter there. The preview shows the effective request body with all variables already substituted, which allows more robust filtering.&lt;/p&gt;

&lt;p&gt;Data filtering and text searching are independent features. You can, for example, filter a massive JSON response and still search inside the filtered output. To do that, simply open both the filter field (⇧⌘F) and the text search field (⌘F).&lt;/p&gt;

&lt;p&gt;This feature is part of a theme of making data easy to process and digest, and we’ll continue to add more ways to transform and visualize data.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔣 Upgrade your searches through RegExp
&lt;/h2&gt;

&lt;p&gt;Regular expressions (aka RegExp) are a powerful tool for searching for patterns in text, and now you can use them in HTTPie as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2DFXy40L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Fregexp-ZLZ4ZXTY.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2DFXy40L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Fregexp-ZLZ4ZXTY.png%26w%3D3840%26q%3D95" alt="RegExp search" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔀 Search &amp;amp; replace in the request body
&lt;/h2&gt;

&lt;p&gt;Any request body should be comfortably editable directly in HTTPie, no matter how big. The new ability to search &amp;amp; replace is another step in that direction!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WUIXP7um--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Freplace-VHAGISVG.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WUIXP7um--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0020%252Freplace-VHAGISVG.png%26w%3D3840%26q%3D95" alt="Replace" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Activate the search field via a keyboard shortcut when the textarea is focused (macOS: ⌘F; Windows &amp;amp; Linux: ⌃F), and check out the new replacing options. Either replace the occurrences one by one or all at once — up to you!&lt;/p&gt;

&lt;p&gt;When searching using a RegExp, you can reference matching groups using the dollar-group-number syntax, where &lt;code&gt;$0&lt;/code&gt; references the whole match, &lt;code&gt;$1&lt;/code&gt; is the first group, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Other improvements and bug fixes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;When the response body preview is active, and you invoke search or filter, we automatically turn the preview off so you can operate on the raw body.&lt;/li&gt;
&lt;li&gt;The app now uses dark mode for the UI by default. No worries, you can still change it back to the system or light one via the settings (⌘,) if that’s what you prefer.&lt;/li&gt;
&lt;li&gt;All &lt;a href="https://httpie.io/blog/changelog-0019#work-blazing-fast-with-keyboard-shortcuts"&gt;keyboard shortcuts&lt;/a&gt; would repeat during a long press. We’ve now streamlined it so that, for example, holding ⌘↩ results only into one request.&lt;/li&gt;
&lt;li&gt;Now we warn you when you reach or approach the maximum &lt;a href="https://httpie.io/blog/changelog-0017#variables"&gt;variable name&lt;/a&gt; character limit.&lt;/li&gt;
&lt;li&gt;We’ve fixed a bug that sometimes led to 100% CPU usage with many tabs open.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📢 Help wanted: teams and collaboration
&lt;/h2&gt;

&lt;p&gt;Like with delicious pies, we believe the magic of HTTPie can be best experienced when shared with others. 😋&lt;/p&gt;

&lt;p&gt;We’ve been heads down working on a multiplayer mode for a while now. Teams and collaboration are some of the most exciting and requested features on our roadmap. We can’t wait to see what shape they’ll take and all the opportunities they unlock for our users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NZu3e3-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0019%252Fteams-V3NNZ5RR.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NZu3e3-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0019%252Fteams-V3NNZ5RR.png%26w%3D3840%26q%3D95" alt="Teams and collaboration" width="880" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re as excited as we are, or the opposite, we’d love to talk to you! We want to ensure we’re building the right thing, and your help would be greatly appreciated &amp;amp; &lt;a href="https://dev.to/blog/changelog-0017#thanks-to-our-community-and-private-beta-users"&gt;swag-rewarded&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;As a start, you can help us by completing a &lt;a href="https://us16.list-manage.com/survey?u=99f5ce2d00a123af1593451c6&amp;amp;id=77dc9762bd&amp;amp;attribution=false"&gt;quick survey&lt;/a&gt;. Then, if you’re up for it, we’d be delighted to interview you over Zoom.&lt;/p&gt;

&lt;p&gt;&lt;a href="//mailto:feedback@httpie.io"&gt;Get in touch&lt;/a&gt;, and help shape the best collaborative API experience! 💪&lt;/p&gt;

&lt;h2&gt;
  
  
  🤗 Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✉️ Thoughts? Questions? Shoot us an email at &lt;a href="//mailto:feedback@httpie.io"&gt;feedback@httpie.io&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📋 You can also help us improve by completing a &lt;a href="https://httpie.io/survey"&gt;quick survey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 Follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt; to stay up to date.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>httpie</category>
    </item>
    <item>
      <title>Changelog #0019 — 🖐️ Library ordering, search, keyboard shortcuts, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Wed, 28 Sep 2022 21:27:57 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0019-library-ordering-search-keyboard-shortcuts-and-more-3pod</link>
      <guid>https://dev.to/pie/changelog-0019-library-ordering-search-keyboard-shortcuts-and-more-3pod</guid>
      <description>&lt;p&gt;Hello, API World! We’re back with a new major release of HTTPie for &lt;a href="https://httpie.io/app" rel="noopener noreferrer"&gt;Web&lt;/a&gt; &amp;amp; &lt;a href="https://httpie.io/product" rel="noopener noreferrer"&gt;Desktop&lt;/a&gt;, the API testing client that you’ll enjoy using.&lt;/p&gt;

&lt;p&gt;The theme of this release is developer productivity and streamlining the overall experience. Check out what we shipped in &lt;a href="https://github.com/httpie/desktop/releases/tag/v2022.14.0" rel="noopener noreferrer"&gt;v2022.14.0&lt;/a&gt;👇&lt;/p&gt;

&lt;h2&gt;
  
  
  🔖 Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🖐️ Library ordering —&lt;/strong&gt; Reorder your items for tailored organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔍 Search in messages —&lt;/strong&gt; Find specific values in message bodies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⌨️ Keyboard shortcuts —&lt;/strong&gt; Move at the speed of your fingers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🐈 “What’s inside” tooltips —&lt;/strong&gt; Peek at the content of the request form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💡 Multi-body hints —&lt;/strong&gt; Know which body types already have data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;👁️ Preview toggle —&lt;/strong&gt; Quickly toggle the response preview mode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌩 Improved web errors —&lt;/strong&gt; Better web app limitation hints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✨ Other improvements —&lt;/strong&gt; Fixed localhost connection error, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;👥 Teams &amp;amp; collaboration -&lt;/strong&gt; Help us build the best collaborative experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🖐️ Drag &amp;amp; drop to reorder library items
&lt;/h2&gt;

&lt;p&gt;HTTPie orders your collections and saved requests by the creation time by default. But you should fully own the organization of your library, right? Right! And now you do.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fdnd-2V3NNPJL.gif%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fdnd-2V3NNPJL.gif%26w%3D3840%26q%3D95" alt="Drag and drop in HTTPie"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition to the ability to move requests between collections, you can now use drag-and-drop to reorder saved requests and collections in your library.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔎 Search in any message
&lt;/h2&gt;

&lt;p&gt;Navigating sizeable responses can be a burden. With the help of the newly added search, you won’t feel like you’re looking for a needle in a haystack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fsearch-DN7P4QJW.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fsearch-DN7P4QJW.png%26w%3D3840%26q%3D95" alt="Message search"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search is available everywhere where long content can appear: In the body editor and the preview, request, and response panels. You can activate the search field via a keyboard shortcut when the textarea is focused or use the “Search” item in the menu.&lt;/p&gt;

&lt;p&gt;Coming next: RegExp search and structural filtering for various languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⌨️ Work blazing fast with keyboard shortcuts
&lt;/h2&gt;

&lt;p&gt;Even as we continue to add top-notch drag-and-drop support throughout the app, the goal for HTTPie for Web &amp;amp; Desktop is to become fully controllable via well-designed keyboard shortcuts.&lt;/p&gt;

&lt;p&gt;We believe that’s the most efficient way to work. And we aim for our users to be able to work blazing fast.&lt;/p&gt;

&lt;p&gt;All components are keyboard-accessible, and you can navigate to and invoke all actions using the ⇥ Tab and ↩ Enter keys.&lt;/p&gt;

&lt;p&gt;For this release, we focused on exposing the most common actions via explicit keyboard shortcuts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fshortcuts-FFDEKENN.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fshortcuts-FFDEKENN.png%26w%3D3840%26q%3D95" alt="Keyboard shortcuts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See the sections below for an overview of all the shortcuts available today. As always, we’ll continue to improve this area, and you can look forward to more shortcuts and a ⌘K menu in upcoming releases.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌍 Global keyboard shortcuts
&lt;/h3&gt;

&lt;p&gt;These shortcuts are available on the desktop today, and we’ll bring a version of them to the web over time.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;macOS&lt;/th&gt;
&lt;th&gt;Windows &amp;amp; Linux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;New tab (draft)&lt;/td&gt;
&lt;td&gt;⌘ T&lt;/td&gt;
&lt;td&gt;⌃ T&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Close tab&lt;/td&gt;
&lt;td&gt;⌘ W&lt;/td&gt;
&lt;td&gt;⌃ W&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next tab&lt;/td&gt;
&lt;td&gt;
⌃ ⇥ &lt;br&gt;⇧ ⌘ }
&lt;/td&gt;
&lt;td&gt;⌃ ⇥&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Previous tab&lt;/td&gt;
&lt;td&gt;
⌃ ⇧ ⇥ &lt;br&gt;⇧ ⌘ {
&lt;/td&gt;
&lt;td&gt;⌃ ⇧ ⇥&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nth tab&lt;/td&gt;
&lt;td&gt;⌘ 1–8&lt;/td&gt;
&lt;td&gt;⌃ 1–8 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last tab&lt;/td&gt;
&lt;td&gt;⌘ 9&lt;/td&gt;
&lt;td&gt;⌃ 9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toggle library&lt;/td&gt;
&lt;td&gt;
⌘ B&lt;br&gt;⌃ ⌘ S
&lt;/td&gt;
&lt;td&gt;⌃ B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open settings&lt;/td&gt;
&lt;td&gt;⌘ ,&lt;/td&gt;
&lt;td&gt;⌃ ,&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  🛫 Request keyboard shortcuts
&lt;/h3&gt;

&lt;p&gt;You can use these shortcuts when a request tab is open.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;macOS&lt;/th&gt;
&lt;th&gt;Windows &amp;amp; Linux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Focus URL&lt;/td&gt;
&lt;td&gt;⌘ L&lt;/td&gt;
&lt;td&gt;⌃ L&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Send request&lt;/td&gt;
&lt;td&gt;⌘ ↩&lt;/td&gt;
&lt;td&gt;⌃ ↩&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  🔍 Search keyboard shortcuts
&lt;/h3&gt;

&lt;p&gt;These shortcuts are available in the body editor and the preview, request, and response panels when the textarea or search field has focus.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;macOS&lt;/th&gt;
&lt;th&gt;Windows &amp;amp; Linux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Open search&lt;/td&gt;
&lt;td&gt;⌘ F&lt;/td&gt;
&lt;td&gt;⌃ F&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next occurrence&lt;/td&gt;
&lt;td&gt;⌘ G&lt;/td&gt;
&lt;td&gt;⌃ G&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Previous occurrence&lt;/td&gt;
&lt;td&gt;⇧ ⌘ G&lt;/td&gt;
&lt;td&gt;⇧ ⌃ G&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next occurrence &lt;br&gt;(inside search box)&lt;/td&gt;
&lt;td&gt;↩&lt;/td&gt;
&lt;td&gt;↩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Previous occurrence &lt;br&gt;(inside search box)&lt;/td&gt;
&lt;td&gt;⇧ ↩&lt;/td&gt;
&lt;td&gt;⇧ ↩&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🐈 Peek at request content with tooltips
&lt;/h2&gt;

&lt;p&gt;The request creation form is organized into tabs, and we hint to you about what’s inside them and whether they contain any errors through icons next to the title. From now on, you can also peek at the content of each tab without having to activate it with the newly added tooltips.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Ftooltips-JR3AUE4D.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Ftooltips-JR3AUE4D.png%26w%3D3840%26q%3D95" alt="Request form tabs tooltips"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And as for the icons, can you spot a difference? You got it! The bolt icon is blue as opposed the yellow if a request inherits auth from a collection that doesn’t specify any.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Know which body types already have data
&lt;/h2&gt;

&lt;p&gt;When building a request, you can specify multiple body types and quickly toggle between them. This feature comes in handy when a specific API endpoint accepts both JSON and form data, for example.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fhints-PQCHRYTN.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fhints-PQCHRYTN.png%26w%3D3840%26q%3D95" alt="Multi-body hints"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To make this feature more transparent, we now show you an indicator in the switcher for each body type that has some data specified.&lt;/p&gt;

&lt;h2&gt;
  
  
  👁️ Quickly toggle response preview
&lt;/h2&gt;

&lt;p&gt;When the server sends back a response type for which there’s a human-friendly preview mode, such as HTML, we render the response to make it easier to digest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fpreview-B3L4MLZ2.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fpreview-B3L4MLZ2.png%26w%3D3840%26q%3D95" alt="Preview toggle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have simplified the response body type selector, and now the preview mode is exposed as a toggle. It’s currently available for HTML responses, and more preview types will come soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌩 Improved web app limitation hints
&lt;/h2&gt;

&lt;p&gt;HTTPie for Web has several technical limitations that don’t exist in the Desktop version. Even though our main priority here is to gradually eliminate the differences, we now gracefully handle more scenarios with improved error screens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Flargebody-75LIFFWZ.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Flargebody-75LIFFWZ.png%26w%3D3840%26q%3D95" alt="Large body"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you encounter a web limitation, we’ll offer you to switch to the desktop app.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Other improvements and bug fixes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No more connections refused for localhost requests: HTTPie now prefers IPv6 for localhost connections if available. This change makes HTTPie for Desktop work consistently with HTTPie for Terminal and Google Chrome, for example.&lt;/li&gt;
&lt;li&gt;To help new users to create their first environment, we now show a label in the button until they create one.&lt;/li&gt;
&lt;li&gt;The environment color selector is now more compact.&lt;/li&gt;
&lt;li&gt;The GraphQL editors were adjusted to better fit small screens.&lt;/li&gt;
&lt;li&gt;There are new icons in the messages menus making them consistent with the rest.&lt;/li&gt;
&lt;li&gt;Variable values now handle whitespace values more robustly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📢 Help wanted: teams and collaboration
&lt;/h2&gt;

&lt;p&gt;Like with delicious pies, we believe the magic of HTTPie can be best experienced when shared with others. 😋&lt;/p&gt;

&lt;p&gt;We’ve been heads down working on a multiplayer mode for a while now. Teams and collaboration are some of the most exciting and requested features on our roadmap. We can’t wait to see what shape they’ll take and all the opportunities they unlock for our users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fteams-V3NNZ5RR.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2F_next%2Fimage%3Furl%3D%252FBlog%252Fchangelog-0019%252Fteams-V3NNZ5RR.png%26w%3D3840%26q%3D95" alt="Teams and collaboration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re as excited as we are, or the opposite, we’d love to talk to you! We want to ensure we’re building the right thing, and your help would be greatly appreciated &amp;amp; &lt;a href="https://dev.to/blog/changelog-0017#thanks-to-our-community-and-private-beta-users"&gt;swag-rewarded&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;As a start, you can help us by completing a &lt;a href="https://us16.list-manage.com/survey?u=99f5ce2d00a123af1593451c6&amp;amp;id=77dc9762bd&amp;amp;attribution=false" rel="noopener noreferrer"&gt;quick survey&lt;/a&gt;. Then, if you’re up for it, we’d be delighted to interview you over Zoom.&lt;/p&gt;

&lt;p&gt;&lt;a href="//mailto:feedback@httpie.io"&gt;Get in touch&lt;/a&gt;, and help shape the best collaborative API experience! 💪&lt;/p&gt;

&lt;h2&gt;
  
  
  🤗 Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✉️ Thoughts? Questions? Shoot us an email at &lt;a href="//mailto:feedback@httpie.io"&gt;feedback@httpie.io&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📋 You can also help us improve by completing a &lt;a href="https://httpie.io/survey" rel="noopener noreferrer"&gt;quick survey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 Follow &lt;a href="https://twitter.com/httpie" rel="noopener noreferrer"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord" rel="noopener noreferrer"&gt;Discord community&lt;/a&gt; to stay up to date.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs" rel="noopener noreferrer"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Changelog #0018 — 🚀 GraphQL, custom HTTP method, interactive URLs, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Tue, 30 Aug 2022 16:47:45 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0018-graphql-custom-http-method-interactive-urls-and-more-46ag</link>
      <guid>https://dev.to/pie/changelog-0018-graphql-custom-http-method-interactive-urls-and-more-46ag</guid>
      <description>&lt;p&gt;Hello, API World! After &lt;a href="https://httpie.io/blog/changelog-0017"&gt;launching in public beta&lt;/a&gt; earlier this month, we’re back with more news on HTTPie for &lt;a href="https://httpie.io/app"&gt;Web&lt;/a&gt; &amp;amp; &lt;a href="https://httpie.io/product"&gt;Desktop&lt;/a&gt;. Check out the API testing  improvements we’ve shipped in &lt;a href="https://github.com/httpie/desktop/releases/tag/v2022.12.0"&gt;v2022.12.0&lt;/a&gt;&lt;br&gt;
and &lt;a href="https://github.com/httpie/desktop/releases/tag/v2022.13.0"&gt;v2022.13.0&lt;/a&gt; since then 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  🔖 Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🚀 GraphQL support —&lt;/strong&gt; Test GraphQL APIs just like REST and HTTP APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✏️ Custom HTTP methods —&lt;/strong&gt; Talk to APIs using custom HTTP methods.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔗 Interactive URLs&lt;/strong&gt; — Interact with URLs returned by APIs and elsewhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📯 Auto-switch to POST —&lt;/strong&gt; Send requests with fewer clicks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🖼 New web app icon —&lt;/strong&gt; Crisp new icon for easier navigation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💆‍♀️ Better header validation —&lt;/strong&gt; Spot syntax errors quicker.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🪲 Bug fixes —&lt;/strong&gt; Hopefully, we caught them before you noticed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Support for GraphQL APIs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; is a popular API query language created at Facebook. It’s designed to help develop strongly typed APIs that give clients the power to ask for precisely the data they need while minimizing the number of requests.&lt;/p&gt;

&lt;p&gt;Under the hood, GraphQL requests are regular POST requests. That means it has always been possible to talk to GraphQL endpoints with HTTPie, albeit inelegantly: You would simply make a JSON POST request with a body including the GraphQL query and variables.&lt;/p&gt;

&lt;p&gt;But now we're introducing built-in support for crafting GraphQL requests to improve your experience when talking to GraphQL APIs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Is92pEAG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fgraphql-ZDR55TPD.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Is92pEAG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fgraphql-ZDR55TPD.png%26w%3D3840%26q%3D95" alt="GraphQL API support in HTTPie" width="880" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When defining a request, choose “GraphQL” as the body type. Then specify your GraphQL query and JSON variables separately. You get syntax highlighting and other features specific to each language. And, of course, you can reference your &lt;a href="https://httpie.io/blog/changelog-0017#variables"&gt;space variables&lt;/a&gt; in both editors.&lt;/p&gt;

&lt;p&gt;GraphQL support is marked as beta as we continue to work on schema support and other improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✏️ Use custom HTTP methods in your requests
&lt;/h2&gt;

&lt;p&gt;To keep the user interface light, we only include the most common HTTP methods in the selector (GET, POST, HEAD, PUT, PATCH, DELETE, OPTIONS).&lt;/p&gt;

&lt;p&gt;This is typically all you need when talking to conventional REST, GraphQL, and HTTP APIs. However, there are other—less popular—HTTP methods like COPY, TRACE, etc. And APIs may also introduce custom ones.&lt;/p&gt;

&lt;p&gt;When testing APIs that use unconventional HTTP methods, you can now supplement the default list with a method of your choosing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PHvJsKtC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fcustom_method-4N2HBC7K.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PHvJsKtC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fcustom_method-4N2HBC7K.png%26w%3D3840%26q%3D95" alt="Custom_HTTP method" width="880" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To apply a custom method to your request, select the last option in the method drop-down and type away. One more detail: the method list is now color-coded as the rest of the app.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Navigate APIs faster with interactive URLs
&lt;/h2&gt;

&lt;p&gt;URLs are one of the main building blocks of the internet, and links and HyperText have been with us since Web 1.0. Now in the era of APIs, they get a whole new purpose of allowing machines to navigate different resources exposed through an API.&lt;/p&gt;

&lt;p&gt;So it’s only natural for HTTPie to make them interactive so that you, as a human, can conveniently flow through APIs as well. And now they are!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pvoe1x1N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Finteractive_urls-RJUYJ33B.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pvoe1x1N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Finteractive_urls-RJUYJ33B.png%26w%3D3840%26q%3D95" alt="Interactive URLs" width="880" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clickable links have a subtle underline. When you spot one, control-click (⌘-click on macOS) or right-click it to get a menu with the URL options.&lt;/p&gt;

&lt;p&gt;All links offer you to copy the URL and open it in the browser. Links in the response additional offer several shortcuts for creating a new request using the given URL:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;“Create new draft”&lt;/strong&gt; creates a fresh new draft with that URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Duplicate as draft”&lt;/strong&gt; creates a new draft that is a complete copy of the current request (i.e., with all your headers, request body, auth, etc.) while using the new URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Duplicate in collection”&lt;/strong&gt; makes a copy of the current request with the new URL next to the original; only available if the current request belongs to a collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Besides complete URLs, we also make relative ones like &lt;code&gt;/api/users&lt;/code&gt; interactive. To generate the complete URL, we prefix the relative one with the request’s base URL.&lt;/p&gt;

&lt;p&gt;The prominent place for interactive links is the response body. But you don’t need to talk to a full-blown Hypermedia REST API to take advantage of this feature. HTTPie makes URLs interactive in all contexts, including the request body editor, headers, and other places where URLs can be expected to occur.&lt;/p&gt;

&lt;h2&gt;
  
  
  📯 Send requests quicker with POST-auto-switch
&lt;/h2&gt;

&lt;p&gt;When you add a body to a request, it’s unlikely that the default GET method is what you want. There’s nothing wrong with GET requests that include a body, but they’re rarely useful. The most common method for sending data is POST.&lt;/p&gt;

&lt;p&gt;So now we auto-switch your request to POST as soon as you add a body if it still has the default GET method. You can always undo this action and have HTTPie send the body via GET.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ExnrlceZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fpost-LVZBXNJ6.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ExnrlceZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Fpost-LVZBXNJ6.png%26w%3D3840%26q%3D95" alt="Add body to your request and we’ll auto-switch to POST" width="880" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Accidentally sending data without changing the method is a common human error, and this feature is designed to save you frustration and confusing results. It also mimics &lt;a href="https://httpie.io/docs/cli/optional-get-and-post"&gt;the behavior of HTTPie for Terminal&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  🖼 HTTPie for Web has a new icon
&lt;/h2&gt;

&lt;p&gt;HTTPie for Web now uses a green app icon as the favicon. This makes it easier to distinguish between browser tabs with the HTTPie website and the web app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nIBj6z2z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Ficon-A6MYIHXV.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nIBj6z2z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0018%252Ficon-A6MYIHXV.png%26w%3D3840%26q%3D95" alt="New icon" width="880" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out the new icon and an improved sharing appearance on &lt;a href="https://dev.to/app"&gt;httpie.io/app&lt;/a&gt;. Or use the short and sweet &lt;a href="https://req.new"&gt;req.new&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  💆‍♀️ Specify headers without headaches
&lt;/h2&gt;

&lt;p&gt;We’ve improved the validation of HTTP header names and values. Now you can see whether they include any disallowed characters straight in the form rather than after sending the request.&lt;/p&gt;

&lt;h2&gt;
  
  
  🪲 Stability improvements and bug fixes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;In the macOS Desktop app, the title bar draggability got compromised with many tabs open. Now it’s always draggable.&lt;/li&gt;
&lt;li&gt;Talking about tabs… There was an edge case leading to visual tab flickering. Hopefully, you didn’t run into it.&lt;/li&gt;
&lt;li&gt;Did you know you can easily switch from a URL-encoded form to a multipart one and the other way around? When you switch back to URL-encoded with a binary file attached, there’s a warning dialog. You couldn’t close that warning before, but now you can, ufff!&lt;/li&gt;
&lt;li&gt;When you’re logged in and offline, sync pauses. When you go back online, it resumes. However, the app would incorrectly continue to indicate a network error. Now it gets cleared as it should.&lt;/li&gt;
&lt;li&gt;We’ve polished a few rough edges in the URL bar syntax and added more granular highlighting.&lt;/li&gt;
&lt;li&gt;Fixed a possible double-submit issue in the “Create environment” dialog.&lt;/li&gt;
&lt;li&gt;Removed an unintended 10MB request body size limit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🤗 Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📋 You can help us improve by completing a &lt;a href="https://httpie.io/survey"&gt;quick survey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 Follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt; to stay up to date.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Changelog #0016 — ℹ️ OPTIONS method, 🔑 param auth, Terminal 3.2, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 23 May 2022 13:58:58 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0016-options-method-param-auth-terminal-32-and-more-4d15</link>
      <guid>https://dev.to/pie/changelog-0016-options-method-param-auth-terminal-32-and-more-4d15</guid>
      <description>&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ℹ️ OPTIONS method
&lt;/h3&gt;

&lt;p&gt;One more option in the method select — 🥁 — &lt;code&gt;OPTIONS&lt;/code&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5xPOod-4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Foptions-http-method-TSAIZRWU.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5xPOod-4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Foptions-http-method-TSAIZRWU.png%26w%3D3840%26q%3D95" alt="Options HTTP method" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use &lt;code&gt;OPTIONS&lt;/code&gt; to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS"&gt;request information&lt;/a&gt; about the communication options available on a given URL or server.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔑 API key auth through parameters
&lt;/h3&gt;

&lt;p&gt;We &lt;a href="https://httpie.io/blog/changelog-0014"&gt;recently&lt;/a&gt; introduced a way to authenticate requests using a custom API key header. Now we’re expanding this auth type with the option to send the API key as a URL parameter:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HhmsVxvA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Fapi-key-param-5RFHEUAM.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HhmsVxvA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Fapi-key-param-5RFHEUAM.png%26w%3D3840%26q%3D95" alt="API key via a URL_parameter" width="880" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This allows you to specify your auth at the collection level and have HTTPie add it to the URL automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✍🏻 Font improvements
&lt;/h3&gt;

&lt;p&gt;As with everything else, we &lt;a href="https://httpie.io/blog/changelog-0014"&gt;continue to improve&lt;/a&gt; the monospace variant of our font, and this time we focused on making the &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;O&lt;/code&gt; characters more distinct:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xYWVocex--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Fmonospace-zero2-52BHC7A4.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xYWVocex--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0016%252Fmonospace-zero2-52BHC7A4.png%26w%3D3840%26q%3D95" alt="Monospace font used by HTTPie with improved 0 characters" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🪲 Bug fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You probably didn’t encounter this, but if you typed fast while having multiple HTTPie browser tabs, the text would start flashing. Fixed!&lt;/li&gt;
&lt;li&gt;Some generated headers (e.g., &lt;code&gt;Content-Type&lt;/code&gt;) weren’t displayed in some preview formats. Now they are.&lt;/li&gt;
&lt;li&gt;Inherited auth was also missing from the preview in some cases.&lt;/li&gt;
&lt;li&gt;Draft requests created via the global &lt;code&gt;+&lt;/code&gt; button could lose their name.&lt;/li&gt;
&lt;li&gt;Fixed an app crash in case of invisible characters in the URL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;HTTPie for Terminal 3.2 is now available 🎉 This version introduces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💅 Refined UI&lt;/li&gt;
&lt;li&gt;📖 Man pages&lt;/li&gt;
&lt;li&gt;📦 Single binary executables&lt;/li&gt;
&lt;li&gt;🌀 Debian releases&lt;/li&gt;
&lt;li&gt;⬆️ Update warnings&lt;/li&gt;
&lt;li&gt;🤩 And more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have a separate post covering this release, check it out 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://httpie.io/blog/httpie-3.2.0"&gt;What’s new in HTTPie for Terminal 3.2 →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0016"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Changelog #0015 — 🐑 Duplicating collections and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 02 May 2022 16:49:02 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0015-duplicating-collections-and-more-3j2k</link>
      <guid>https://dev.to/pie/changelog-0015-duplicating-collections-and-more-3j2k</guid>
      <description>&lt;p&gt;Last week we &lt;a href="https://httpie.io/blog/changelog-0014"&gt;announced Spaces&lt;/a&gt;, a new way to organize your requests and collections. Since then, our main focus has been on the upcoming integration of HTTPie for Web &amp;amp; Desktop with our cloud sync backend. At the same time, we’ve also shipped a few goodies.&lt;/p&gt;

&lt;p&gt;Check out what's new 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🐑 Duplicating collections
&lt;/h3&gt;

&lt;p&gt;It’s been possible to duplicate requests for a while. Now you can also duplicate whole collections for even faster reuse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CrwxYyaC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0015%252FDuplicate_Collections-EDWERZ2D.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CrwxYyaC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0015%252FDuplicate_Collections-EDWERZ2D.png%26w%3D3840%26q%3D95" alt="Duplicate_Collections" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Other improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We’ve moved the “Preview &amp;amp; export…” panel toggle up next to the request form tabs based on our users’ feedback. More accessible and easy.&lt;/li&gt;
&lt;li&gt;Look at our new settings icon! You can access your settings through the account menu.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🪲 Bug fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The header name autocomplete dropdown doesn’t hide the name field anymore.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;…&lt;/code&gt; menu in the message panel that allows you to copy the messages was misaligned when activated. It’s fixed now.&lt;/li&gt;
&lt;li&gt;The icon inside the collection tab was too small. Now it has the correct size.&lt;/li&gt;
&lt;li&gt;The settings tab’s checkmarks could sometimes overlap the library in some outstanding layouts. Fixed.&lt;/li&gt;
&lt;li&gt;The new font improvements uncovered an extra backtick we had on the preview type selector. A tiny bug that is now gone.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;We’ve been putting the finishing touches on a new 3.2.0 release that we plan to release next week. See &lt;a href="https://httpie.io/blog/changelog-0014"&gt;last week’s changelog&lt;/a&gt; for an &lt;a href="https://httpie.io/blog/changelog-0014#httpie-for-terminal"&gt;overview of the upcoming features&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0015"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devtools</category>
      <category>httpie</category>
      <category>api</category>
      <category>testing</category>
    </item>
    <item>
      <title>Changelog #0014 — 🗄 Spaces, API key auth, UI improvements, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 25 Apr 2022 20:55:43 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0014-spaces-api-key-auth-ui-improvements-and-more-4343</link>
      <guid>https://dev.to/pie/changelog-0014-spaces-api-key-auth-ui-improvements-and-more-4343</guid>
      <description>&lt;p&gt;It’s changelog time 🥁 Check out what's new this time around 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🗄 Spaces
&lt;/h3&gt;

&lt;p&gt;Spaces have arrived in HTTPie! Spaces (short for workspaces) are containers for your projects. Each space is its own universe with a library, collections, saved requests, drafts, open tabs, and—soon—variables. &lt;/p&gt;

&lt;p&gt;Your journey starts with a single space bearing your name. But it’s only the beginning of your space odyssey. You can create as many spaces as you need. The organizing opportunities have leveled up!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o1URPYTa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fspaces-RZBL33U5.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o1URPYTa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fspaces-RZBL33U5.png%26w%3D3840%26q%3D95" alt="Spaces" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔑 API key auth
&lt;/h3&gt;

&lt;p&gt;When you need to authenticate requests using a custom API key header, there's now a new option for that. This way you can specify your auth at the collection level even if it’s not one of the standard types HTTPie currently supports.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QcQ-m1RR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252FAPIkey-7J3RRQE4.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QcQ-m1RR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252FAPIkey-7J3RRQE4.png%26w%3D3840%26q%3D95" alt="APIkey" width="880" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🗑 Contextual delete dialogs
&lt;/h3&gt;

&lt;p&gt;When we’re in the flow we do things somewhat automatically. That’s great, we want our users to be fast and productive. There are some sensitive actions, though, that need special attention and care. Deleting something is one of them. That’s why the deletion confirmation modals got more informative, to make you fully aware of what you are deleting and make sure that’s what you want to do.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ncJ9SBQM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fdelete-BEP4OHTV.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ncJ9SBQM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fdelete-BEP4OHTV.png%26w%3D3840%26q%3D95" alt="delete" width="880" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ➕ Unified “Create new” button
&lt;/h3&gt;

&lt;p&gt;One button to rule them all. The new versatile ➕ button allows you to conveniently create any kind of content from one place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6sPRN7ly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fadd-B6CCMGCW.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6sPRN7ly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Fadd-B6CCMGCW.png%26w%3D3840%26q%3D95" alt="add" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✍🏻 Font improvements
&lt;/h3&gt;

&lt;p&gt;Thanks to our beta users’ feedback, we’ve identified a few issues in the monospace variant of our font, now fixed: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Brackets &lt;code&gt;[]&lt;/code&gt; and braces &lt;code&gt;{}&lt;/code&gt; are now more distinct thanks to the more pronounced tip of the latter.&lt;/li&gt;
&lt;li&gt;The backtick &lt;code&gt;`&lt;/code&gt; character is no longer missing.&lt;/li&gt;
&lt;li&gt;The command key looped square character &lt;code&gt;⌘&lt;/code&gt; is now also included in the set. (Btw, there’s an &lt;a href="https://en.wikipedia.org/wiki/Command_key#History"&gt;interesting backstory&lt;/a&gt; on how Apple adopted this lovely symbol to avoid the overuse of its logo in the Macintosh UI).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8A4-ngiT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Ffont-IOEW3PDU.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8A4-ngiT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0014%252Ffont-IOEW3PDU.png%26w%3D3840%26q%3D95" alt="font improvements" width="880" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’re also planning on making zeros and big O’s more distinguishable in an upcoming release. Big shoutout to &lt;a href="https://wearegradient.net/"&gt;Gradient&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Other improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Contextual menus are now clearer than ever, with icons and easier-to-understand labels.&lt;/li&gt;
&lt;li&gt;The Web &amp;amp; Desktop apps are now interlinked in the profile menu. You will also find a handy link to the Terminal app there. One small step towards integrating the HTTPie universe.&lt;/li&gt;
&lt;li&gt;The internal storage and state management have been completely rewritten, offering more stability and robust persistency.&lt;/li&gt;
&lt;li&gt;We’ve also concluded our cloud backend for the HTTPie API platform. Our next focus here will be on integration and synchronization across devices while keeping the apps fully offline-first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🪲 Bug fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You can use &lt;code&gt;⌘–Enter&lt;/code&gt; (macOS) or &lt;code&gt;Control–Enter&lt;/code&gt; (elsewhere) to send a request. But previously it could erroneously send all open requests and not just the one you're working on. Now it doesn’t.&lt;/li&gt;
&lt;li&gt;When you send a request and then change your mind, you can still cancel the in-progress transaction. In the desktop app this mechanism was broken, but not anymore.&lt;/li&gt;
&lt;li&gt;Oops, a &lt;code&gt;-&lt;/code&gt; in a custom header name would lead the app to crash. It is fixed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;It’s been an eventful few weeks for &lt;a href="https://httpie.io/cli"&gt;HTTPie for Terminal&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Upcoming 3.2.0 release
&lt;/h3&gt;

&lt;p&gt;We are getting close to and excited about the upcoming v3.2.0. Here's a sneak peek of the new features:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🤩 Refined UI —&lt;/strong&gt; compact help output, improved progress bars, more meaningful colors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📖 Man pages —&lt;/strong&gt; HTTPie is finally getting complete manuals available through &lt;code&gt;man httpie&lt;/code&gt;, &lt;code&gt;man http&lt;/code&gt;, and &lt;code&gt;man https&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📦 Single binary executables —&lt;/strong&gt; download HTTPie as a single binary file and run it without installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🗞 Debian releases —&lt;/strong&gt; most recent releases will now be offered also through our custom Apt repo with new releases instantly available for Debian, Ubuntu, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⬆️ Update available notice —&lt;/strong&gt; get notified about new versions as soon as they become available for your system straight in the terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚖️ Improved sessions —&lt;/strong&gt;  multiple headers with the same name are persisted in the sessions.&lt;/p&gt;

&lt;p&gt;If you missed it, check out also what’s new in  &lt;a href="https://httpie.io/blog/httpie-3.0.0"&gt;3.0.0&lt;/a&gt; and &lt;a href="https://httpie.io/blog/httpie-3.1.0"&gt;3.1.0&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub stars — lost and found
&lt;/h3&gt;

&lt;p&gt;Last week we shared our experience on &lt;a href="https://dev.to/blog/stardust"&gt;how we lost 54k GitHub stars&lt;/a&gt; from the HTTPie for Terminal’s repo. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l4d25afn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Images/Share/stardust.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l4d25afn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Images/Share/stardust.png" alt="stardust" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since then, the post has been shared thousands of times on Twitter and other channels. It also occupied the &lt;a href="https://news.ycombinator.com/item?id=31033758"&gt;front page of Hacker News&lt;/a&gt; for two days (displacing Elon Musk’s attempt to buy Twitter from the #1 spot). &lt;/p&gt;

&lt;p&gt;It has triggered a lot of interesting discussions on the importance of good UX and database design, human fallibility, taking responsibility, and GitHub’s reaction to the situation. &lt;/p&gt;

&lt;p&gt;But most importantly, the incredible reaction of the community has completely blown us away. We’ve received countless supportive and compassionate messages and public calls for starring our repo. Big thanks to everyone!&lt;/p&gt;

&lt;p&gt;As a result, the repo is now &lt;a href="https://github.com/httpie/httpie"&gt;approaching 20k stars&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We feel like this minor-tragedy-turned-heart-warming-experience will deserve an article on its own once the situation has stabilized.&lt;/p&gt;

&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0014"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devtools</category>
      <category>api</category>
      <category>testing</category>
      <category>httpie</category>
    </item>
    <item>
      <title>Changelog #0013 — 👁️ Browser preview, drag &amp; drop, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 07 Mar 2022 17:43:27 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0013-browser-preview-drag-drop-and-more-3m31</link>
      <guid>https://dev.to/pie/changelog-0013-browser-preview-drag-drop-and-more-3m31</guid>
      <description>&lt;p&gt;Over the past few weeks, we’ve been heads-down working on our cloud backend for the HTTPie API platform that will soon enable many important features on our roadmap as well the integration of HTTPie for Web, Desktop, and gradually also Terminal.&lt;/p&gt;

&lt;p&gt;At the same time, we also added browser preview to HTTPie for Web &amp;amp; Desktop, continued the streamlining of the library, added numerous improvements, and fixed some bugs. As for HTTPie for Terminal, we continued enhancing its UI, this time focusing on its help output.&lt;/p&gt;

&lt;p&gt;Check out what’s new 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;h3&gt;
  
  
  👁️ Rendered response body
&lt;/h3&gt;

&lt;p&gt;Now you can see HTML responses like a human: rendered as if you were in a browser. It’s especially helpful when you’re debugging APIs and get back rich error pages, need to get through a CAPTCHA, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gxi5izfJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0013%252Fbrowser_preview-QWSFP7G4.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gxi5izfJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0013%252Fbrowser_preview-QWSFP7G4.png%26w%3D3840%26q%3D95" alt="Browser_preview" width="745" height="629"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we detect an HTML body, the message view switches to “Browser”. You can switch back to source view by selecting “HTML” instead.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✊🖐️ Drag &amp;amp; drop in the library
&lt;/h3&gt;

&lt;p&gt;The streamlining of the library continues. Now you can move requests around in the most intuitive: just drag and drop a request to a collection and you’re all set.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ic8R66Pa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0013%252Flibrary_dragdrop-OCVTJ2SF.png%26w%3D3840%26q%3D95" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ic8R66Pa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/_next/image%3Furl%3D%252FBlog%252Fchangelog-0013%252Flibrary_dragdrop-OCVTJ2SF.png%26w%3D3840%26q%3D95" alt="Library dragdrop" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Collections have their own tab, where you can manage their nested requests and access other features, like the &lt;a href="https://httpie.io/blog/changelog-0007"&gt;collection auth&lt;/a&gt;. Now, when you create a new collection, its tab opens automatically.&lt;/li&gt;
&lt;li&gt;You can expand and collapse collections in the library panel as you wish. But when you are working on a request saved in a collection, you’ll most likely want it expanded. Now we expand it automatically for you when you activate its tab.&lt;/li&gt;
&lt;li&gt;Headers are now sorted by name and capitalized. Check them out in the request preview, and the request and response views.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🪲 Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;Content-Length&lt;/code&gt; header was not sent in the desktop app for requests with a body. That resulted in &lt;code&gt;Transfer-Encoding: chunked&lt;/code&gt; requests, which some servers don’t support. Fixed.&lt;/li&gt;
&lt;li&gt;You couldn’t send a request after removing the body file in the desktop app. Now you can.&lt;/li&gt;
&lt;li&gt;When you’re building a form request, you can attach files as a value, and if the file is a textual one, you can embed its contents (&lt;a href="https://httpie.io/docs/cli/file-based-separators"&gt;just like HTTPie for Terminal&lt;/a&gt;). The embed toggle was buggy, however, which made it hard to operate. Now it’s usable again.&lt;/li&gt;
&lt;li&gt;You can choose to name a request; otherwise, the URL will be used dynamically to identify it. But if you duplicated a request without a name, then the URL would be set as a non-dynamic name. We’ve fixed it.&lt;/li&gt;
&lt;li&gt;You can use &lt;code&gt;⌘–Enter&lt;/code&gt; (macOS) or &lt;code&gt;Control–Enter&lt;/code&gt; (elsewhere) to send the request you’re working on. But when you were editing the request body, it would also enter a new line. Now it doesn’t.&lt;/li&gt;
&lt;li&gt;The panel resizer was overlapping the scrollbar, so you were unable to scroll in the request builder panel if it was long. Now you can.&lt;/li&gt;
&lt;li&gt;Booleans and nulls in JSON are now correctly syntax-highlighted again.&lt;/li&gt;
&lt;li&gt;There are tooltips all around to help you understand the interface. Some of them extended too long horizontally. Now they have a max-width and wrap up nicely.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;After the &lt;a href="https://httpie.io/blog/httpie-3.0.0"&gt;3.0 release&lt;/a&gt; of &lt;a href="https://httpie.io/cli"&gt;HTTPie for Terminal&lt;/a&gt;, we’re preparing for 3.1. Here’s what’s new in the &lt;a href="https://github.com/httpie/httpie"&gt;development version&lt;/a&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  Simplified usage help (&lt;a href="https://github.com/httpie/httpie/pull/1296"&gt;#1296&lt;/a&gt;)
&lt;/h3&gt;

&lt;p&gt;HTTPie for Terminal grew a lot in the past decade, so did the usage section in the help messages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;http
usage: http
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--json&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--form&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--multipart&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--boundary&lt;/span&gt; BOUNDARY]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--raw&lt;/span&gt; RAW] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--compress&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--pretty&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;all,colors,format,none&lt;span class="o"&gt;}]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--style&lt;/span&gt; STYLE]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--unsorted&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--sorted&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--response-charset&lt;/span&gt; ENCODING]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--response-mime&lt;/span&gt; MIME_TYPE]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--format-options&lt;/span&gt; FORMAT_OPTIONS] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--print&lt;/span&gt; WHAT]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--headers&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--meta&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--body&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--verbose&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--all&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--history-print&lt;/span&gt; WHAT] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--stream&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--output&lt;/span&gt; FILE]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--download&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--continue&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--quiet&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--session&lt;/span&gt; SESSION_NAME_OR_PATH |
    &lt;span class="nt"&gt;--session-read-only&lt;/span&gt; SESSION_NAME_OR_PATH]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--auth&lt;/span&gt; USER[:PASS] | TOKEN]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--auth-type&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;basic,bearer,digest,edgegrid&lt;span class="o"&gt;}]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--ignore-netrc&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--offline&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--proxy&lt;/span&gt; PROTOCOL:PROXY_URL]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--follow&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--max-redirects&lt;/span&gt; MAX_REDIRECTS]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--max-headers&lt;/span&gt; MAX_HEADERS] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--timeout&lt;/span&gt; SECONDS]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--check-status&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--path-as-is&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--chunked&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--verify&lt;/span&gt; VERIFY] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--ssl&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;ssl2.3,tls1,tls1.1,tls1.2&lt;span class="o"&gt;}]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--ciphers&lt;/span&gt; CIPHERS] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--cert&lt;/span&gt; CERT] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--cert-key&lt;/span&gt; CERT_KEY]
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--ignore-stdin&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--help&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--version&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--traceback&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--default-scheme&lt;/span&gt; DEFAULT_SCHEME] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--debug&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt;METHOD] URL &lt;span class="o"&gt;[&lt;/span&gt;REQUEST_ITEM ...]
http: error: the following arguments are required: URL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We redesigned this segment to be more simple, so it reveals what you really care about:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;http
usage:
    http &lt;span class="o"&gt;[&lt;/span&gt;METHOD] URL &lt;span class="o"&gt;[&lt;/span&gt;REQUEST_ITEM ...]

error:
    the following arguments are required: URL

For more information try &lt;span class="s1"&gt;'http --help'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It can also contextually highlight the usage of specific options. In the example below, it adds &lt;code&gt;--pretty {all, colors, ...}&lt;/code&gt; to the usage since you’ve just mistyped that option:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;http &lt;span class="nt"&gt;--pretty&lt;/span&gt;

usage:
    http &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--pretty&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;all,colors,format,none&lt;span class="o"&gt;}]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;METHOD] URL &lt;span class="o"&gt;[&lt;/span&gt;REQUEST_ITEM ...]

error:
    argument &lt;span class="nt"&gt;--pretty&lt;/span&gt;: expected one argument

For more information try &lt;span class="s1"&gt;'http --help'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✨ Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;httpie cli export&lt;/code&gt; command now applies the same prettification (coloring and auto-indenting) to the exported argument definition as it does to all other output. (&lt;a href="https://github.com/httpie/httpie/pull/1293"&gt;#1293&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0013"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Changelog #0012 — 💎 Streamlined library, smarter request duplication, and more</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Wed, 09 Feb 2022 17:33:17 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0012-streamlined-library-smarter-request-duplication-and-more-enb</link>
      <guid>https://dev.to/pie/changelog-0012-streamlined-library-smarter-request-duplication-and-more-enb</guid>
      <description>&lt;p&gt;This past week we shipped several features streamlining the library in HTTPie for Web &amp;amp; Desktop and improving interoperability in HTTPie for Terminal.&lt;/p&gt;

&lt;p&gt;Check out what’s new 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔀 Streamlined library
&lt;/h3&gt;

&lt;p&gt;The organizational powers of the library just leveled up. Now you can quickly move requests around from one collection to another.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Flibrary_context_menu-WRFH3PZF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Flibrary_context_menu-WRFH3PZF.png" alt="Library context menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  🐑 Smarter request cloning
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Fduplicate-5FQCZDZS.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Fduplicate-5FQCZDZS.png" alt="duplicate"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🖱 Right-click context menus
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Fcontext-menu-I5FK4LX5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhttpie.io%2FBlog%2Fchangelog-0012%2Fcontext-menu-I5FK4LX5.png" alt="right click to open context menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;After the &lt;a href="https://httpie.io/blog/httpie-3.0.0" rel="noopener noreferrer"&gt;3.0 release&lt;/a&gt;, we’re actively working on structural reforms every day to prepare HTTPie for the future. Here’s what’s new in the &lt;a href="https://github.com/httpie/httpie" rel="noopener noreferrer"&gt;development version&lt;/a&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  🎄 Nested JSON improvements
&lt;/h3&gt;

&lt;p&gt;We’ve polished off a few corner cases on the new &lt;a href="https://httpie.io/docs/cli/nested-json" rel="noopener noreferrer"&gt;nested JSON syntax&lt;/a&gt; enriching the HTTPie request language:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handling of top-level arrays is more robust now. For example, it’s no longer allowed to mix them with other top-level objects (&lt;a href="https://github.com/httpie/httpie/pull/1292" rel="noopener noreferrer"&gt;#1292&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;We’ve fixed the escaping of integers with multiple backslashes (&lt;a href="https://github.com/httpie/httpie/pull/1288" rel="noopener noreferrer"&gt;#1288&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📦 New export command (&lt;a href="https://github.com/httpie/httpie/pull/1293" rel="noopener noreferrer"&gt;#1293&lt;/a&gt;)
&lt;/h3&gt;

&lt;p&gt;The new &lt;code&gt;httpie cli export&lt;/code&gt; 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.&lt;/p&gt;

&lt;p&gt;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 &lt;code&gt;man&lt;/code&gt; page, and more.&lt;/p&gt;

&lt;p&gt;Here is a sneak peek of that new command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;httpie cli &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nt"&gt;--format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;json | jq &lt;span class="s1"&gt;'.spec.groups[].args[].options'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="s2"&gt;"METHOD"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="s2"&gt;"URL"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="s2"&gt;"REQUEST_ITEM"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="s2"&gt;"--json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="s2"&gt;"-j"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="s2"&gt;"--form"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="s2"&gt;"-f"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta" rel="noopener noreferrer"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie" rel="noopener noreferrer"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord" rel="noopener noreferrer"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs" rel="noopener noreferrer"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0012" rel="noopener noreferrer"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>api</category>
      <category>devtools</category>
      <category>httpie</category>
      <category>testing</category>
    </item>
    <item>
      <title>Changelog #0011 - ⚙️ Settings, auto redirects, and speed-ups</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Mon, 31 Jan 2022 15:47:57 +0000</pubDate>
      <link>https://dev.to/pie/changelog-0011-settings-auto-redirects-and-speed-ups-4fp6</link>
      <guid>https://dev.to/pie/changelog-0011-settings-auto-redirects-and-speed-ups-4fp6</guid>
      <description>&lt;p&gt;This week on our journey to make APIs simple and intuitive, we shipped features related to personalization and faster API testing in HTTPie for Web &amp;amp; Desktop, and worked on propagating and polishing rough edges around &lt;a href="https://httpie.io/blog/httpie-3.0.0"&gt;HTTPie for Terminal 3.0&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check out what’s new 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie for Web &amp;amp; Desktop
&lt;/h2&gt;

&lt;p&gt;HTTPie for Web &amp;amp; Desktop continues in the tradition of HTTPie for Terminal and comes equipped with a thoughtful set of defaults reflecting the needs of most users and most of their use cases.&lt;/p&gt;

&lt;p&gt;However, when it comes to a product as use case-rich as an API development platform, stopping at the defaults level doesn’t provide enough flexibility. Some means of customization are necessary.&lt;/p&gt;

&lt;p&gt;We treasure both simplicity and flexibility. Balancing these two opposing forces is a delicate process, though, and we’ll always strive to maintain the equilibrium.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U63pwpWS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/changelog-0011/settings-NIPU45OF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U63pwpWS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/changelog-0011/settings-NIPU45OF.png" alt="Settings" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ New settings tab
&lt;/h3&gt;

&lt;p&gt;To provide more flexibility, settings now have their dedicated tab. You can open it from the menu under your avatar. For now, you can change your interface (light/system/dark theme) and request (redirects) preferences there. We’ll be conservatively adding more over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏭ Automatically follow redirects
&lt;/h3&gt;

&lt;p&gt;Auto redirects have been a frequent request from our beta users. It is also the more common behavior in graphical HTTP clients (from browsers to API testing tools). Now we have adopted them as well: when you make a request to &lt;code&gt;http://httpie.io/hello&lt;/code&gt;, for example, HTTPie for Web &amp;amp; Desktop will now follow the redirect to &lt;code&gt;https://httpie.io/hello&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Suppose that’s not something you want and prefer the default no-follow behavior from HTTPie for Terminal instead, no worries. Go to your settings and disable this option. This new setting made the change of the default redirection behavior possible without breaking anyone’s API workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Similarly to the &lt;a href="https://httpie.io/blog/httpie-3.0.0#speed-ups"&gt;recent speed-ups in HTTPie for Terminal 3.0&lt;/a&gt;, we continue to improve the performance of the Web &amp;amp; Desktop app as well. This time, we focused on making the processing of large responses many times festers.&lt;/li&gt;
&lt;li&gt;We’re now also smarter about detecting network issues in the Web app that the Desktop one wouldn’t run into (for example, DNS errors possibly related to private networks). We’ll offer you to switch to desktop whenever we detect a situation like that.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🪲 Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This week we also shipped a bunch of small fixes. For example, the body and auth type selectors opened by default now close when you click anywhere on the screen, so they no longer trap the focus and keyboard navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTTPie for Terminal
&lt;/h2&gt;

&lt;p&gt;Last week we were thrilled to announce the availability of the &lt;a href="https://httpie.io/blog/httpie-3.0.0"&gt;3.0 release of HTTPie for Terminal&lt;/a&gt;. This week we continued polishing some rough edges, shipped &lt;a href="https://github.com/httpie/httpie/releases"&gt;3.0.2&lt;/a&gt; fixing a bug in the new plugin manager, and worked on propagating the release to different channels. Don’t miss it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Happy testing, and see you next week!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💁🏻‍♀️ If you’re not on the private beta yet, you can &lt;a href="https://httpie.io/beta"&gt;join the waitlist here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👉 You can also follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; and join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/changelog-0011"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What’s new in HTTPie for Terminal 3.0</title>
      <dc:creator>Cláudia Delgado</dc:creator>
      <pubDate>Tue, 25 Jan 2022 12:57:36 +0000</pubDate>
      <link>https://dev.to/claudiatd/whats-new-in-httpie-for-terminal-30-1jl5</link>
      <guid>https://dev.to/claudiatd/whats-new-in-httpie-for-terminal-30-1jl5</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J9QZGe10--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Images/Share/blog-httpie-3.0.0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J9QZGe10--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Images/Share/blog-httpie-3.0.0.png" alt="Nested JSON in HTTPie" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s hard to believe it’s been almost ten years since HTTPie for Terminal’s &lt;a href="https://github.com/httpie/httpie/commit/b966efa17d837dc62c23d5f8064e184e22b14c2e"&gt;initial commit&lt;/a&gt;. Seeing the result of &lt;a href="https://httpie.io/about"&gt;scratching our own API itch&lt;/a&gt; getting adopted by developers across the world and becoming the most popular API tool GitHub with 50K+ stars has been an incredible experience.&lt;/p&gt;

&lt;p&gt;Since then, we have been working enthusiastically to provide the best user experience for anyone working with APIs and, as of recently, growing HTTPie into a comprehensive API development platform accessible from Terminal, &lt;a href="https://httpie.io/product"&gt;Web &amp;amp; Desktop&lt;/a&gt;, and Mobile. Today, we are thrilled to announce the 3.0 release of HTTPie for Terminal.&lt;/p&gt;

&lt;p&gt;Our fantastic community has been providing thoughtful feedback over the years. And for 3.0, we focused on some of the most requested features of all time. Let us take you on a tour of the new features 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🌲 Nested JSON —&lt;/strong&gt; HTTPie language extended for crafting complex JSON structures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔌 Plugin manager —&lt;/strong&gt; robust handling of plugin installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⏱️ Response metadata —&lt;/strong&gt; a new built-in way to display response metrics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Speed-ups —&lt;/strong&gt; 30–250% speed-ups over different areas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎨 Improved UI/UX —&lt;/strong&gt; unified Pie theme, improved stdin handling, and better errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✨ Other features —&lt;/strong&gt; bearer auth, repeated headers, prompted session passwords, headers &amp;amp; params from files, effortless URL-to-command conversion, JSON types with forms, and auto-streaming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🪲 Bug fixes —&lt;/strong&gt; extinguished and regression-test-covered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;♥️ Community contributions —&lt;/strong&gt; dozens of amazing people have contributed to making this the best HTTPie release ever.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌲 Nested JSON
&lt;/h2&gt;

&lt;p&gt;Have you ever wondered whether the simplicity of the existing &lt;a href="https://httpie.io/docs/cli/request-items"&gt;HTTPie request language&lt;/a&gt; could meet with the power of nesting? This was a long journey, but ultimately, we embedded our mini path nesting format into the request language.&lt;/p&gt;

&lt;p&gt;We designed it to offer the highest functionality with the best user experience possible. For that, we took an existing format (namely, &lt;a href="https://www.w3.org/TR/html-json-forms/"&gt;HTML JSON form&lt;/a&gt;), and built our specification on top of it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http pie.dev/post \
  platform[name]=HTTPie \
  platform[mission]='Make APIs simple and intuitive' \
  platform[homepage]=httpie.io \
  platform[stars]:=54000 \
  platform[apps][]=Terminal \
  platform[apps][]=Desktop \
  platform[apps][]=Web \
  platform[apps][]=Mobile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"platform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"HTTPie"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"mission"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Make APIs simple and intuitive"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"homepage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"httpie.io"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"stars"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;54000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"apps"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"Terminal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"Desktop"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"Web"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"Mobile"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We focused on keeping the experience pleasant even when the user makes errors, which made us treat this as a complete language and implement small productivity boosters all around.&lt;/p&gt;

&lt;p&gt;For example, when typing all these structures on the terminal, if you happen to make a typo, not only do we show you where it occurs, but we also tell you how to possibly fix it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http pie.dev/post data[foo][baar]]baz[:=2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;HTTPie Syntax Error: Expecting '['
data[foo][baar]]baz[
               ^
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another time-saver is object-level type safety, which prevents you from implicitly creating an ill-formatted JSON object:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http pie.dev/post data[foo][bar]=object data[0][baz]="not an array"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;HTTPie Type Error: Can't perform 'index' based access on 'data' which has a type of 'object' but this operation requires a type of 'array'.
data[0][baz]
    ^^^
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(If you happen to be a Python developer and these error messages look familiar, it’s because we took inspiration from &lt;a href="https://docs.python.org/dev/whatsnew/3.11.html#enhanced-error-locations-in-tracebacks"&gt;improved errors in Python 3.10 / 3.11&lt;/a&gt;, that our very own &lt;a href="https://github.com/isidentical"&gt;@isidentical&lt;/a&gt; helped bring to life.)&lt;/p&gt;

&lt;p&gt;There is a lot more to learn about this feature. We recommend taking a minute familiarizing yourself with it so that your API interactions become more enjoyable than ever.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/nested-json"&gt;Nested JSON docs →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔌 Plugin manager
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--09lEksvy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/plugin-manager-UYMAX7R4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--09lEksvy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/plugin-manager-UYMAX7R4.jpg" alt="HTTPie plugin manager" width="880" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTTPie shines with plugins, and, even though we never publicized &lt;a href="https://github.com/httpie/httpie/blob/master/httpie/plugins/base.py"&gt;the plugin API&lt;/a&gt;, developers and companies have written and open-sourced dozens of them.&lt;/p&gt;

&lt;p&gt;Their functionality ranges from adding support for different authentication methods to changing how responses are displayed on the terminal; they serve various purposes and offer infinite possibilities to expand HTTPie itself.&lt;/p&gt;

&lt;p&gt;For example, &lt;a href="https://github.com/guardian/httpie-hmac-auth"&gt;guardian/httpie-hmac-auth&lt;/a&gt; and &lt;a href="https://github.com/akamai/httpie-edgegrid"&gt;akamai/httpie-edgegrid&lt;/a&gt; add custom auth protocols to HTTPie, which are then available to you through the &lt;code&gt;--auth-type&lt;/code&gt; option:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;http &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--auth-type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;edgegrid &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--auth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;default: &lt;span class="se"&gt;\&lt;/span&gt;
  :/diagnostic-tools/v2/ghost-locations/available
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the past, however, it was impossible to reliably install plugins for some distribution methods of HTTPie that come with a bundled Python interpreter (e.g., brew and snap).&lt;/p&gt;

&lt;p&gt;With 3.0, we make plugins first-class citizens. It is now possible to manage plugins directly by using the new &lt;code&gt;httpie&lt;/code&gt; management command and its &lt;code&gt;httpie plugins&lt;/code&gt; subcommands. This interface unifies plugin installation no matter how you installed HTTPie itself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;httpie plugins &lt;span class="nb"&gt;install &lt;/span&gt;your-favorite-plugin
Installing your-favorite-plugin...
&lt;span class="o"&gt;[&lt;/span&gt;snip]
Installed your-favorite-plugin&lt;span class="o"&gt;==&lt;/span&gt;1.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;httpie plugins list
httpie-edgegrid &lt;span class="o"&gt;(&lt;/span&gt;1.0.6&lt;span class="o"&gt;)&lt;/span&gt;
  httpie_oauth1 &lt;span class="o"&gt;(&lt;/span&gt;httpie.plugins.auth.v1&lt;span class="o"&gt;)&lt;/span&gt;
httpie-image &lt;span class="o"&gt;(&lt;/span&gt;1.0.0&lt;span class="o"&gt;)&lt;/span&gt;
  httpie_image &lt;span class="o"&gt;(&lt;/span&gt;httpie.plugins.converter.v1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you’re curious what kind of plugins exist, you can &lt;a href="https://pypi.org/search/?q=httpie-"&gt;find most of them on PyPI&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/plugin-manager"&gt;Plugin manager docs →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⏱️ Response metadata
&lt;/h2&gt;

&lt;p&gt;We created a new &lt;code&gt;meta&lt;/code&gt; section in our universal request/response display format.&lt;/p&gt;

&lt;p&gt;The section currently includes the total time elapsed. It’s the number of seconds between opening the network connection and downloading the last byte of the response body.&lt;/p&gt;

&lt;p&gt;Surprisingly, this was one of the oldest and &lt;a href="https://github.com/httpie/httpie/issues/243"&gt;the most 👍’ed issue in our tracker&lt;/a&gt;, and we finally implemented it!&lt;/p&gt;

&lt;p&gt;You can use &lt;code&gt;-vv&lt;/code&gt; to display everything (whole request/response + meta section) or customize this display with our &lt;code&gt;--print=&lt;/code&gt; option.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --print=hm pie.dev/delay/0.5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; &lt;span class="ne"&gt;OK&lt;/span&gt;
&lt;span class="na"&gt;Content-Type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;application/json&lt;/span&gt;

&lt;span class="err"&gt;Elapsed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;time:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.856867&lt;/span&gt;&lt;span class="err"&gt;s&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or only display the meta section with &lt;code&gt;--meta&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --meta pie.dev/delay/1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;Elapsed time: 0.856867s
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🐰 By the way, if you use one of the new Pie theme styles (e.g., &lt;code&gt;--style=pie-dark&lt;/code&gt;), you’ll see the time information color-coded (green/yellow/orange/red) based on how long the exchange took:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X2lNHLDN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/colorful-response-time-M5J4ZBOD.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X2lNHLDN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/colorful-response-time-M5J4ZBOD.png" alt="Colorful response time" width="880" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/response-meta"&gt;Response meta docs →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Speed-ups
&lt;/h2&gt;

&lt;p&gt;We believe that performance is a critical part of the overall user experience. And HTTPie is all about the user and how they feel when using our tools.&lt;/p&gt;

&lt;p&gt;HTTPie for Terminal is designed with interactive API communication in mind. In this context, the top priority has always been making active tasks requiring user cognition, such as defining requests and understanding responses, as fast as possible. The human brain’s I/O is a more precious resource than the computer’s one, and the number of brain cells doesn’t double every two years, regrettably.&lt;/p&gt;

&lt;p&gt;Having said that, we consider all forms of performance important and are working hard to reduce also the waiting time for developers, and this release includes multiple speed-ups over different areas:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_4m1iPXu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/speedups-CG42NGWI.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_4m1iPXu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/speedups-CG42NGWI.png" alt="HTTPie is now fast" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Startup time is now ~30-50% faster (depending on the environment).&lt;/li&gt;
&lt;li&gt;Decoding of streamed responses is ~30% faster.&lt;/li&gt;
&lt;li&gt;Downloads (i.e., when using &lt;code&gt;--download&lt;/code&gt;) are more than ~2.5× faster — for locally served files, the download speed went from ~320 MB/s to ~680 MB/s.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🐙 &lt;a href="https://github.com/httpie/httpie/tree/master/extras/profiling"&gt;Benchmarking code →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🎨 Improved UI/UX
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pie theme
&lt;/h3&gt;

&lt;p&gt;While we are continuously improving HTTPie for Terminal, it is now part of a bigger platform that brings the beauty and simplicity of HTTPie to &lt;a href="https://httpie.io/product"&gt;Web &amp;amp; Desktop&lt;/a&gt;, and Mobile. Alongside consistent behavior, we work toward a unified style across these apps. This effort led us to create a new  set of styles called the Pie theme:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nYxGqjcG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/pie-theme-6QXLSQ44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nYxGqjcG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://httpie.io/Blog/httpie-3.0.0/pie-theme-6QXLSQ44.png" alt="Unified Pie theme" width="880" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The theme comes in three flavors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;pie-dark&lt;/code&gt; — for terminals with dark background&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pie-light&lt;/code&gt; — for terminals with light background&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pie&lt;/code&gt; — for both, but slightly compromises text legibility
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http -vv --style=pie-dark pie.dev/post hello=world foo:=42
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;While &lt;code&gt;auto&lt;/code&gt; is still the default style (which takes colors from your shell environment), we highly recommend making &lt;code&gt;pie-dark&lt;/code&gt; your default style for the best experience:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cat ~/.config/httpie/config.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"default_options"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--style=pie-dark"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🐰 Just like the dynamically colored timings, we color the HTTP method and status code to match with our apps across the platform. &lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/colors-and-formatting"&gt;Style docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Improved stdin handling
&lt;/h3&gt;

&lt;p&gt;Something that will excite our users who like to use HTTPie for Terminal inside their scripts, workflow definitions, or cron jobs, are our new warnings about when there is no incoming data. If you happen to forget passing &lt;code&gt;--ignore-stdin&lt;/code&gt;, instead of waiting indefinitely for a stream that will never yield anything, HTTPie will now complain and let you know about this situation.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/scripting"&gt;Scripting docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Better errors
&lt;/h3&gt;

&lt;p&gt;We also focused on improving error messages. A typical example is a mistyped hostname:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http this.host.does.not.exist
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;http: error: gaierror: [Errno -2] Name or service not known
Couldn’t resolve the given hostname. Please check the URL and try again.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ✨ Various enhancements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Bearer authentication
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;bearer&lt;/code&gt; is now a natively supported authentication type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http -A bearer -a token pie.dev/bearer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/bearer-auth"&gt;Bearer auth docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Non-unique header names
&lt;/h3&gt;

&lt;p&gt;Sending and receiving multiple HTTP header lines with the same name is now fully supported. They’re now shown and sent exactly as specified, i.e., multiple headers lines as opposed to a single header with a comma-separated list of values:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --offline pie.dev/get X-Pie:Apple X-Pie:Pumpkin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="nf"&gt;GET&lt;/span&gt; &lt;span class="nn"&gt;/get&lt;/span&gt; &lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;
&lt;span class="na"&gt;X-Pie&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Apple&lt;/span&gt;
&lt;span class="na"&gt;X-Pie&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Pumpkin&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/multiple-header-values-with-the-same-name"&gt;Repeated headers docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Prompted password in sessions
&lt;/h3&gt;

&lt;p&gt;Prompted passwords are now stored in local sessions. Try typing &lt;code&gt;123&lt;/code&gt; to the given prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http -a user --session=./sess.json pie.dev/basic-auth/user/123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now try without passing the auth option:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --session=./sess.json pie.dev/basic-auth/user/123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shout out to &lt;a href="https://github.com/sebastianczech"&gt;Sebastian Czech&lt;/a&gt; for contributing this feature.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://dev.to/docs/cli/password-prompt"&gt;Password prompt docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Query params and headers from files
&lt;/h3&gt;

&lt;p&gt;There are two new operators for reading query parameters and headers from files — &lt;code&gt;==@&lt;/code&gt; and &lt;code&gt;:@&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --offline pie.dev/headers \
  Header-From-File:@files/text.txt \
  param-from-file==@files/text.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/file-based-separators"&gt;File loading docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Effortless URL-to-command conversion
&lt;/h3&gt;

&lt;p&gt;Keep &lt;code&gt;://&lt;/code&gt; in the URL argument if you want to. Pasting URLs into HTTPie calls has never been easier: just add a space after the protocol name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ https ://pie.dev
# =&amp;gt; https://pie.dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/request-url"&gt;URL docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  JSON types with forms
&lt;/h3&gt;

&lt;p&gt;We added support for basic JSON types with &lt;code&gt;--form&lt;/code&gt; and &lt;code&gt;--multipart&lt;/code&gt; when using the otherwise JSON-only operators &lt;code&gt;:=&lt;/code&gt; and &lt;code&gt;:=@&lt;/code&gt;, which allows you to quickly toggle between form and JSON requests. This change doesn’t alter the existing behavior, but it makes what was previously implicit/undefined/buggy explicitly supported:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ http --form pie.dev/post id:=10 'username:="httpie"'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/forms"&gt;Forms docs →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Auto-stream
&lt;/h3&gt;

&lt;p&gt;If the response headers include &lt;code&gt;Content-Type: text/event-stream&lt;/code&gt;, we now auto-stream the response body. So you no longer need to explicitly specify &lt;code&gt;--stream&lt;/code&gt; when reading event streams.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://httpie.io/docs/cli/streamed-responses"&gt;Streaming docs →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🪲 Bug fixes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An XML declaration was auto-added to the beginning of each formatted XML response, but not anymore. Now you'll only see it if it's already present in the raw response.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Broken plugins would crash the whole application, yikes! They no longer do.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automatic syntax highlighting and formatting now works for complex &lt;code&gt;Content-Type&lt;/code&gt; headers (e.g., when charset is specified).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using &lt;code&gt;--raw&lt;/code&gt; together with &lt;code&gt;--chunked&lt;/code&gt; is now fixed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🐙 &lt;a href="https://github.com/httpie/httpie/blob/master/CHANGELOG.md"&gt;Full changelog →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ♥️ Community contributions
&lt;/h2&gt;

&lt;p&gt;Last but not least we’d like to thank the amazing people who’ve contributed to this phenomenal release of HTTPie:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aaronhmiller"&gt;Aaron Miller&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/ab-kily"&gt;Alexander Bogdanov&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/andrascz"&gt;András Czigány&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/isidentical"&gt;Batuhan Taskaya&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/bac"&gt;Brad Crittenden&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/cythrawll"&gt;Chad&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/sym3tri"&gt;Ed Rooth&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/gmelodie"&gt;Gabriel Cruz&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/gkcs"&gt;Gaurav&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/janbrasna"&gt;Jan Brašna&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/blyxxyz"&gt;Jan Verbeek&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/strindberg"&gt;Jesper Holmberg&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/seguri"&gt;Marco Seguri&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/markrosenbaum"&gt;Mark Rosenbaum&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/BoboTiG"&gt;Mickaël Schoentgen&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/mivade"&gt;Mike DePalatis&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/hroncok"&gt;Miro Hrončok&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/sevenc-nanashi"&gt;Nanashi.&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/pmeister"&gt;Patrick Taylor&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/paullaffitte"&gt;Paul Laffitte&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/rshurts"&gt;Russell Shurts&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/sebastianczech"&gt;Sebastian Czech&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/doublevcodes"&gt;Vivaan Verma&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/dair-targ"&gt;Vladimir Berkutov&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/arloan"&gt;arloan&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/blueray453"&gt;blueray453&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/coldcoff"&gt;coldcoff&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/hosseingt"&gt;hosseingt&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/josephworks"&gt;josephworks&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/peterpt"&gt;peterpt&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/stonebig"&gt;stonebig&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/whodidthis"&gt;whodidthis&lt;/a&gt;,&lt;br&gt;
&lt;a href="https://github.com/zoulja"&gt;zoulja&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;🐙 &lt;a href="https://github.com/httpie/httpie/blob/master/CONTRIBUTING.md"&gt;How to contribute →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Happy API testing, and see you again soon!
&lt;/h2&gt;

&lt;p&gt;But in the meantime…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎉 &lt;a href="https://httpie.io/docs/cli/installation"&gt;Install the latest version&lt;/a&gt; of HTTPie for Terminal.&lt;/li&gt;
&lt;li&gt;💬 Please &lt;a href="https://github.com/httpie/httpie/issues"&gt;report any bugs&lt;/a&gt; and share your feedback on 3.0.&lt;/li&gt;
&lt;li&gt;🐙️ &lt;a href="https://github.com/httpie/httpie"&gt;Star &amp;amp; watch the GitHub repo&lt;/a&gt; to learn about new releases.&lt;/li&gt;
&lt;li&gt;👉 Join our &lt;a href="https://httpie.io/discord"&gt;Discord community&lt;/a&gt; and follow &lt;a href="https://twitter.com/httpie"&gt;@httpie&lt;/a&gt; to stay up-to-date.&lt;/li&gt;
&lt;li&gt;💁🏻‍♀️ &lt;a href="https://httpie.io/beta"&gt;Join the private beta&lt;/a&gt; of &lt;a href="https://httpie.io/product"&gt;HTTPie for Web &amp;amp; Desktop&lt;/a&gt;, if you haven’t yet.&lt;/li&gt;
&lt;li&gt;👩‍💻 We’re also looking for new colleagues in &lt;a href="https://httpie.io/jobs"&gt;engineering and design roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Originally published on &lt;a href="https://httpie.io/blog/httpie-3.0.0"&gt;HTTPie blog&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
