[{"data":1,"prerenderedAt":535},["ShallowReactive",2],{"\u002Fblog\u002F2026-08-24-release-v0-58-0\u002F":3},{"id":4,"title":5,"articleSection":6,"author":7,"body":8,"coverImage":512,"createdAt":513,"description":514,"excerpt":515,"extension":516,"meta":517,"navigation":518,"path":519,"readingTime":520,"seo":525,"seoTitle":526,"stem":527,"subtitle":528,"tags":529,"updatedAt":515,"useFirstImageAsCover":533,"__hash__":534},"blog\u002Fblog\u002F2026-08-24-release-v0-58-0.md","Caido v0.58.0","Release Notes","Ian Bouchard",{"type":9,"value":10,"toc":497},"minimark",[11,15,24,29,45,66,77,80,96,106,110,113,116,119,123,138,141,145,148,151,158,161,165,180,187,201,205,215,222,233,237,240,263,274,278,288,293,379,383,455,459,462],[12,13,14],"p",{},"Race condition testing depends on timing. Several requests need to reach the same server-side state within a narrow window. Until now, reproducing that timing in Caido meant leaving Replay or coordinating the requests yourself.",[12,16,17,18,23],{},"Caido v0.58.0 adds Pipeline sessions to Replay for that workflow. It also ships HTTP\u002F2 in beta, expands ",[19,20,22],"a",{"href":21},"\u002Fhttpql","HTTPQL"," with precise header and body filters, rebuilds the Plugins page, and lets you customize the sidebar.",[25,26,28],"h2",{"id":27},"test-race-conditions-with-replay-pipeline","Test race conditions with Replay Pipeline",[12,30,31,32,36,37,40,41,44],{},"Replay now has a third session type alongside ",[33,34,35],"strong",{},"HTTP Request"," and ",[33,38,39],{},"WebSocket",": ",[33,42,43],{},"Pipeline",".",[12,46,47,48,51,52,54,55,58,59,62,63,44],{},"A Pipeline session groups several requests into one run. Select ",[33,49,50],{},"New Session"," and choose ",[33,53,43],{},". Add requests under ",[33,56,57],{},"Requests",", select a ",[33,60,61],{},"Pipeline strategy",", then press ",[33,64,65],{},"Run",[12,67,68],{},[69,70],"img",{"alt":71,"caption":72,"height":73,"src":74,"width":75,"window":76},"A Pipeline session in Replay with Sequential and Last Byte Synchronization strategies","",900,"\u002Fimages\u002Fblog\u002F2026-08-24-release-v0-58-0\u002Freplay-pipeline.webp",1600,"v0.58.0 · Replay Pipeline",[12,78,79],{},"Two strategies control how the requests are sent:",[81,82,83,90],"ul",{},[84,85,86,89],"li",{},[33,87,88],{},"Sequential"," sends requests in a defined order.",[84,91,92,95],{},[33,93,94],{},"Last Byte Synchronization"," coordinates the final byte across requests to narrow their arrival window for race condition testing.",[12,97,98,99,101,102,105],{},"The ",[33,100,57],{}," table shows each request's status. The ",[33,103,104],{},"Results"," tab collects every response from the run, so you can compare them without leaving Replay.",[25,107,109],{"id":108},"send-replay-and-pipeline-requests-over-http2","Send Replay and Pipeline requests over HTTP\u002F2",[12,111,112],{},"v0.58.0 introduces HTTP\u002F2 support in beta. Replay and Pipeline sessions can send requests over HTTP\u002F2, so you can test a target without forcing the same traffic through HTTP\u002F1.1.",[12,114,115],{},"This matters when a target negotiates HTTP\u002F2: forcing the request through HTTP\u002F1.1 changes the protocol under test.",[12,117,118],{},"The new network stack is beta and opt-in in this release. Send us feedback if a target behaves unexpectedly.",[25,120,122],{"id":121},"filter-exact-headers-and-bodies-with-httpql","Filter exact headers and bodies with HTTPQL",[12,124,125,126,36,130,133,134,137],{},"HTTPQL now exposes ",[127,128,129],"code",{},"header",[127,131,132],{},"body"," fields on both the request and response namespaces. You no longer need to search ",[127,135,136],{},"raw"," when you only need one section of the message.",[12,139,140],{},"For example, filter by header name, search across header values, or address a specific header directly:",[142,143],"httpql-code",{":lines":144},"[\"req.header.name.eq:\\\"Authorization\\\"\",\"req.header.value.cont:\\\"Bearer\\\"\",\"req.header[\\\"Authorization\\\"].cont:\\\"Bearer\\\"\",\"resp.header[\\\"Set-Cookie\\\"].cont:\\\"HttpOnly\\\"\"]",[12,146,147],{},"You can query request and response bodies separately:",[142,149],{":lines":150},"[\"req.body.regex:\\\"password=[^&]+\\\"\",\"resp.body.cont:\\\"stack trace\\\"\"]",[12,152,153],{},[69,154],{"alt":155,"caption":72,"height":73,"src":156,"width":75,"window":157},"HTTP History filtered by an Authorization header with the matching request visible","\u002Fimages\u002Fblog\u002F2026-08-24-release-v0-58-0\u002Fhttpql-headers.webp","v0.58.0 · HTTPQL filters",[12,159,160],{},"Find a token in a header, a parameter in a request body, or an error signature in a response body without scanning the entire message or matching unrelated sections.",[25,162,164],{"id":163},"compare-plugins-before-installing-them","Compare plugins before installing them",[12,166,167,168,172,173,176,177,44],{},"The rebuilt Plugins page makes it easier to compare ",[19,169,171],{"href":170},"\u002Fplugins","plugins"," before installing them. The store lives under ",[33,174,175],{},"Plugins","; anything already on your instance is under ",[33,178,179],{},"Installed",[12,181,182],{},[69,183],{"alt":184,"caption":72,"height":73,"src":185,"width":75,"window":186},"The rebuilt Plugins page with Official badges, quality ratings, filters, and plugin metadata","\u002Fimages\u002Fblog\u002F2026-08-24-release-v0-58-0\u002Fplugins-page.webp","v0.58.0 · Plugins",[12,188,189,190,193,194,196,197,200],{},"Each row shows the author, downloads, version, and quality rating. Plugins maintained by Caido carry an ",[33,191,192],{},"Official"," badge. You can filter by ",[33,195,192],{}," or ",[33,198,199],{},"Community",", sort the table, select multiple plugins, then install or update them together.",[25,202,204],{"id":203},"make-the-sidebar-fit-your-workflow","Make the sidebar fit your workflow",[12,206,207,208,211,212,44],{},"The sidebar is no longer fixed. Select ",[33,209,210],{},"Customize"," at the bottom, then drag pages and plugins into a new order. You can also pin frequent tools, hide items or entire categories, and create categories with ",[33,213,214],{},"New category",[12,216,217],{},[69,218],{"alt":219,"caption":72,"height":73,"src":220,"width":75,"window":221},"Caido sidebar customization with drag handles, pin and hide controls, and a New category action","\u002Fimages\u002Fblog\u002F2026-08-24-release-v0-58-0\u002Fsidebar-customize.webp","v0.58.0 · sidebar",[12,223,224,225,228,229,232],{},"Select ",[33,226,227],{},"Save"," to apply the layout. ",[33,230,231],{},"Reset to defaults"," restores the original structure. If you spend most of an engagement in Replay and HTTP History, pin those tools near the top and hide the pages you rarely use.",[25,234,236],{"id":235},"quality-of-life-improvements","Quality-of-life improvements",[12,238,239],{},"The release also includes several smaller workflow improvements:",[81,241,242,245,251,254,257,260],{},[84,243,244],{},"Editors stay responsive when opening larger requests and responses.",[84,246,247,250],{},[33,248,249],{},"Go to"," in the command palette can now open every page and plugin.",[84,252,253],{},"You can assign the same shortcut to multiple commands.",[84,255,256],{},"You can assign a shortcut to delete the current selection.",[84,258,259],{},"Shift-clicking a Sitemap element fully expands it.",[84,261,262],{},"Replay tab tags now use a clearer visual treatment.",[264,265,271],"blog-cta",{"icon":266,"persona":267,"position":268,"title":269,"variant":270},"fa-bolt","pentesters","end","Put v0.58.0 to work on your next target","card",[12,272,273],{},"Download Caido v0.58.0 and test your next target with Replay Pipeline, HTTP\u002F2 beta, and the new HTTPQL fields.",[25,275,277],{"id":276},"full-change-list","Full change list",[12,279,280,281,44],{},"v0.58.0 closes ",[19,282,287],{"href":283,"rel":284},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fmilestone\u002F94?closed=1",[285,286],"noopener","noreferrer","22 reported issues",[289,290,292],"h3",{"id":291},"features-and-improvements","Features and improvements",[81,294,295,302,309,316,323,330,337,344,351,358,365,372],{},[84,296,297],{},[19,298,301],{"href":299,"rel":300},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F705",[285,286],"#705: Add sending grouped requests",[84,303,304],{},[19,305,308],{"href":306,"rel":307},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1448",[285,286],"#1448: Send requests in parallel and sequence",[84,310,311],{},[19,312,315],{"href":313,"rel":314},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1254",[285,286],"#1254: Add a send-in-parallel workflow to Replay",[84,317,318],{},[19,319,322],{"href":320,"rel":321},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F855",[285,286],"#855: Add header filtering to HTTPQL",[84,324,325],{},[19,326,329],{"href":327,"rel":328},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1472",[285,286],"#1472: Add body fields to HTTPQL",[84,331,332],{},[19,333,336],{"href":334,"rel":335},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F765",[285,286],"#765: Filter on body content",[84,338,339],{},[19,340,343],{"href":341,"rel":342},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1747",[285,286],"#1747: Reorder plugins in the sidebar",[84,345,346],{},[19,347,350],{"href":348,"rel":349},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2179",[285,286],"#2179: Rework Replay tab tags",[84,352,353],{},[19,354,357],{"href":355,"rel":356},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2170",[285,286],"#2170: Add Go to for pages and plugins",[84,359,360],{},[19,361,364],{"href":362,"rel":363},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2147",[285,286],"#2147: Add a shortcut to delete the current selection",[84,366,367],{},[19,368,371],{"href":369,"rel":370},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F644",[285,286],"#644: Allow the same shortcut on multiple commands",[84,373,374],{},[19,375,378],{"href":376,"rel":377},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F74",[285,286],"#74: Fully expand a Sitemap element with Shift-click",[289,380,382],{"id":381},"bug-fixes","Bug fixes",[81,384,385,392,399,406,413,420,427,434,441,448],{},[84,386,387],{},[19,388,391],{"href":389,"rel":390},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2034",[285,286],"#2034: Keep typed characters outside placeholders",[84,393,394],{},[19,395,398],{"href":396,"rel":397},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1776",[285,286],"#1776: Prevent freezes when opening very long requests",[84,400,401],{},[19,402,405],{"href":403,"rel":404},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1104",[285,286],"#1104: Restore JSON folding in the HTTP History request editor",[84,407,408],{},[19,409,412],{"href":410,"rel":411},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1055",[285,286],"#1055: Export only the current rows when requested",[84,414,415],{},[19,416,419],{"href":417,"rel":418},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F836",[285,286],"#836: Stop Prettify from scrolling HTTP History requests",[84,421,422],{},[19,423,426],{"href":424,"rel":425},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1185",[285,286],"#1185: Fix cursor movement between a closing bracket and newline",[84,428,429],{},[19,430,433],{"href":431,"rel":432},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1673",[285,286],"#1673: Stabilize the JSON beautifier in Replay",[84,435,436],{},[19,437,440],{"href":438,"rel":439},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F703",[285,286],"#703: Prevent crashes when handling long responses",[84,442,443],{},[19,444,447],{"href":445,"rel":446},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1735",[285,286],"#1735: Correct the offset when formatting JSON",[84,449,450],{},[19,451,454],{"href":452,"rel":453},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1897",[285,286],"#1897: Keep End on the current line",[25,456,458],{"id":457},"keep-reading","Keep reading",[12,460,461],{},"Explore the features and workflows behind this release:",[463,464,465],"blog-links",{},[81,466,467,474,482,490],{},[84,468,469,473],{},[19,470,472],{"href":471},"\u002Fblog\u002F2024-01-17-httpql","Introducing HTTPQL",": the language design, operators, and reusable filters.",[84,475,476,481],{},[19,477,480],{"href":478,"rel":479},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Fquickstart\u002Freplay.html",[285,286],"Replay quickstart",": the core workflow for editing and resending requests.",[84,483,484,489],{},[19,485,488],{"href":486,"rel":487},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Fguides\u002Fplugins_installing.html",[285,286],"Installing plugins",": how to install from the store or a package.",[84,491,492,496],{},[19,493,495],{"href":494},"\u002Fblog\u002F2026-06-05-release-v0-57-0","Caido v0.57.0",": WebSocket Replay, StreamQL, and Automate extractors.",{"title":72,"searchDepth":498,"depth":498,"links":499},2,[500,501,502,503,504,505,506,511],{"id":27,"depth":498,"text":28},{"id":108,"depth":498,"text":109},{"id":121,"depth":498,"text":122},{"id":163,"depth":498,"text":164},{"id":203,"depth":498,"text":204},{"id":235,"depth":498,"text":236},{"id":276,"depth":498,"text":277,"children":507},[508,510],{"id":291,"depth":509,"text":292},3,{"id":381,"depth":509,"text":382},{"id":457,"depth":498,"text":458},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2026-08-24-release-v0-58-0\u002Fog.png","2026-08-24","Caido v0.58.0 adds Replay Pipeline for race condition testing, HTTP\u002F2 beta, HTTPQL header and body filters, a rebuilt Plugins page, and a customizable sidebar.",null,"md",{},true,"\u002Fblog\u002F2026-08-24-release-v0-58-0",{"text":521,"minutes":522,"time":523,"words":524},"4 min read",3.585,215100,717,{"title":5,"description":514},"Caido v0.58.0: Replay Pipeline, HTTP\u002F2 beta, HTTPQL","blog\u002F2026-08-24-release-v0-58-0","Replay Pipeline, HTTP\u002F2 beta, HTTPQL header and body filters, a rebuilt Plugins page, and a customizable sidebar",[5,530,531,532,22,175],"Replay","Replay Pipeline","HTTP\u002F2",false,"_WccT1jOxcBglWJZdlS-NRC50C7AtJVL4BwpebgTBzw",1787608765214]