[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"\u002Fblog\u002F2025-12-09-release-v0-54-0":3},{"id":4,"title":5,"author":6,"body":7,"coverImage":579,"createdAt":580,"description":581,"excerpt":582,"extension":583,"meta":584,"navigation":585,"path":586,"readingTime":587,"seo":592,"stem":593,"subtitle":582,"useFirstImageAsCover":594,"__hash__":595},"blog\u002Fblog\u002F2025-12-09-release-v0-54-0.md","Caido v0.54.0","Ian Bouchard",{"type":8,"value":9,"toc":563},"minimark",[10,14,19,22,25,41,45,48,51,55,58,61,69,73,76,79,83,88,109,113,199,203,359,363,524,528],[11,12,13],"p",{},"This update introduces a new way to convert body formats directly from the editor, HTTPQL history autocomplete, support for running Match & Replace rules inside Automate, the ability to launch a pre-configured Edge browser, and many QoL improvements.",[15,16,18],"h2",{"id":17},"convert-body-format-right-click-menu","📝 Convert Body Format (Right-click Menu)",[11,20,21],{},"You can now convert request bodies between several formats with a single action.",[11,23,24],{},"Supported conversions:",[26,27,28,32,35,38],"ul",{},[29,30,31],"li",{},"x-www-form-urlencoded",[29,33,34],{},"JSON",[29,36,37],{},"multipart\u002Fform-data",[29,39,40],{},"XML",[15,42,44],{"id":43},"httpql-history","📚 HTTPQL History",[11,46,47],{},"HTTPQL now shows autocomplete for your previous queries.",[11,49,50],{},"Autocomplete suggestions will surface filters you've written before, helping you refine complex expressions and reuse common patterns without retyping them.",[15,52,54],{"id":53},"match-replace-in-automate","🔄 Match & Replace in Automate",[11,56,57],{},"Match & Replace rules can now run against requests inside Automate.",[11,59,60],{},"When activating a rule, you can choose which tool it applies to:",[26,62,63,66],{},[29,64,65],{},"Intercept",[29,67,68],{},"Automate",[15,70,72],{"id":71},"pre-configured-edge-browser","🌐 Pre-configured Edge Browser",[11,74,75],{},"You can now launch a pre-configured Microsoft Edge browser, in addition to Chrome and Chromium.",[11,77,78],{},"This expands browser-testing options and aligns with more user environments.",[15,80,82],{"id":81},"developer-features","👩‍💻 Developer Features",[84,85,87],"h3",{"id":86},"️-backend-sdk","🛠️ Backend SDK",[26,89,90],{},[29,91,92,93],{},"Added the following functionality:\n",[26,94,95,103],{},[29,96,97,98,102],{},"New ",[99,100,101],"code",{},"dns"," module",[29,104,97,105,108],{},[99,106,107],{},"sdk.hostedFile"," to interact with Caido's Hosted Files",[84,110,112],{"id":111},"frontend-sdk","🎨 Frontend SDK",[26,114,115],{},[29,116,92,117],{},[26,118,119,124,129,134,139,144,149,154,159,164,169,174,179,184,189,194],{},[29,120,121],{},[99,122,123],{},"sdk.filters.getCurrentFilter()",[29,125,126],{},[99,127,128],{},"sdk.filters.onCurrentFilterChange()",[29,130,131],{},[99,132,133],{},"sdk.filters.addToSlot()",[29,135,136],{},[99,137,138],{},"sdk.httpHistory.addToSlot()",[29,140,141],{},[99,142,143],{},"sdk.matchReplace.getCurrentRule()",[29,145,146],{},[99,147,148],{},"sdk.matchReplace.onCurrentRuleChange()",[29,150,151],{},[99,152,153],{},"sdk.matchReplace.addToSlot()",[29,155,156],{},[99,157,158],{},"sdk.replay.getCurrentSession()",[29,160,161],{},[99,162,163],{},"sdk.replay.showEntry()",[29,165,166],{},[99,167,168],{},"sdk.replay.getEntry()",[29,170,171],{},[99,172,173],{},"sdk.replay.onSessionCreate()",[29,175,176],{},[99,177,178],{},"sdk.replay.onCollectionCreate()",[29,180,181],{},[99,182,183],{},"sdk.scopes.getCurrentScope()",[29,185,186],{},[99,187,188],{},"sdk.scopes.onCurrentScopeChange()",[29,190,191],{},[99,192,193],{},"sdk.scopes.addToSlot()",[29,195,196],{},[99,197,198],{},"sdk.search.addToSlot()",[15,200,202],{"id":201},"features","🔥 Features",[26,204,205,215,223,231,239,247,255,263,271,279,287,295,303,311,319,327,335,343,351],{},[29,206,207,214],{},[208,209,213],"a",{"href":210,"rel":211},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F99",[212],"nofollow","#99",": Add \"Switch body encoding\"",[29,216,217,222],{},[208,218,221],{"href":219,"rel":220},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F174",[212],"#174",": Multipart\u002FForm-data syntax highlighting",[29,224,225,230],{},[208,226,229],{"href":227,"rel":228},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F547",[212],"#547",": Make collections collapsible in replay, automate, etc",[29,232,233,238],{},[208,234,237],{"href":235,"rel":236},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F942",[212],"#942",": Add delete all issues button",[29,240,241,246],{},[208,242,245],{"href":243,"rel":244},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F948",[212],"#948",": Add filter history in http history page",[29,248,249,254],{},[208,250,253],{"href":251,"rel":252},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1601",[212],"#1601",": Allow user to mass delete in Automate",[29,256,257,262],{},[208,258,261],{"href":259,"rel":260},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1751",[212],"#1751",": Enable M&R in Automate",[29,264,265,270],{},[208,266,269],{"href":267,"rel":268},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1867",[212],"#1867",": Enable Creating a New Replay Collection From the Context Menu",[29,272,273,278],{},[208,274,277],{"href":275,"rel":276},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1873",[212],"#1873",": When closing a replay tab it should pick the next open one",[29,280,281,286],{},[208,282,285],{"href":283,"rel":284},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1875",[212],"#1875",": Add a path + query column",[29,288,289,294],{},[208,290,293],{"href":291,"rel":292},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1878",[212],"#1878",": Improve UI responsiveness by getting rid of slow animations",[29,296,297,302],{},[208,298,301],{"href":299,"rel":300},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1882",[212],"#1882",": Subsequent CTRL+v should continue pasting after the selection",[29,304,305,310],{},[208,306,309],{"href":307,"rel":308},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1889",[212],"#1889",": Enable Adding Comments to HTTPQL Queries",[29,312,313,318],{},[208,314,317],{"href":315,"rel":316},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1895",[212],"#1895",": Support Edge for auto-proxied browser",[29,320,321,326],{},[208,322,325],{"href":323,"rel":324},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1898",[212],"#1898",": Allow user to choose alignment of payloads in automate",[29,328,329,334],{},[208,330,333],{"href":331,"rel":332},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1900",[212],"#1900",": Right click menu on the automate editor",[29,336,337,342],{},[208,338,341],{"href":339,"rel":340},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1907",[212],"#1907",": OnReplaySessionCreate and onReplayCollectionCreate events",[29,344,345,350],{},[208,346,349],{"href":347,"rel":348},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1961",[212],"#1961",": sdk.replay.getCurrentSession()",[29,352,353,358],{},[208,354,357],{"href":355,"rel":356},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1983",[212],"#1983",": Hosted file backend sdk",[15,360,362],{"id":361},"bug-fixes","🐛 Bug Fixes",[26,364,365,373,381,398,406,414,425,433,441,452,460,468,476,484,492,500,508,516],{},[29,366,367,372],{},[208,368,371],{"href":369,"rel":370},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F806",[212],"#806",": Workflow convert end should consider empty string as missing",[29,374,375,380],{},[208,376,379],{"href":377,"rel":378},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1333",[212],"#1333",": Environments require double save",[29,382,383,388,389,393,394,397],{},[208,384,387],{"href":385,"rel":386},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1802",[212],"#1802",": ",[390,391,392],"span",{},"M&R"," ",[390,395,396],{},"BUG"," Right-click Rename of Rule Edits Collection Name",[29,399,400,405],{},[208,401,404],{"href":402,"rel":403},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1813",[212],"#1813",": Code Inside Workflow Editor Gets Overwritten When Switching Between Nodes",[29,407,408,413],{},[208,409,412],{"href":410,"rel":411},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1824",[212],"#1824",": Find Box in Response Pane Doesn't Persist When Selecting a Different Row",[29,415,416,388,421,424],{},[208,417,420],{"href":418,"rel":419},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1840",[212],"#1840",[99,422,423],{},"Duplicate"," in Replay Creates an Empty Tab",[29,426,427,432],{},[208,428,431],{"href":429,"rel":430},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1851",[212],"#1851",": Fix UI for large environment variables",[29,434,435,440],{},[208,436,439],{"href":437,"rel":438},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1874",[212],"#1874",": On large screen the gap to resize columns is too small",[29,442,443,388,448,451],{},[208,444,447],{"href":445,"rel":446},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1879",[212],"#1879",[99,449,450],{},"Send to Replay"," in Intercept Causes Wrong Request to be Sent",[29,453,454,459],{},[208,455,458],{"href":456,"rel":457},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1888",[212],"#1888",": Color flicker when scrolled down in http history and new rows are coming in",[29,461,462,467],{},[208,463,466],{"href":464,"rel":465},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1903",[212],"#1903",": Workflow pop-up panel sometimes remove references",[29,469,470,475],{},[208,471,474],{"href":472,"rel":473},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1937",[212],"#1937",": reguest.getHeader split User-Agent",[29,477,478,483],{},[208,479,482],{"href":480,"rel":481},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1940",[212],"#1940",": request.getHeader comma parsing issue",[29,485,486,491],{},[208,487,490],{"href":488,"rel":489},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1945",[212],"#1945",": Request Pane is Not Updated with Caido.graphql.setActiveReplaySessionEntry",[29,493,494,499],{},[208,495,498],{"href":496,"rel":497},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1953",[212],"#1953",": Double slash in calls to AI providers with custom URL",[29,501,502,507],{},[208,503,506],{"href":504,"rel":505},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1954",[212],"#1954",": Update preview browser",[29,509,510,515],{},[208,511,514],{"href":512,"rel":513},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1967",[212],"#1967",": Workflow bytes input doesnt work with text input",[29,517,518,523],{},[208,519,522],{"href":520,"rel":521},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1982",[212],"#1982",": AI SDK various bugs",[15,525,527],{"id":526},"patches","Patches",[26,529,530],{},[29,531,532,536,537],{},[533,534,535],"strong",{},"0.54.1",":\n",[26,538,539,547,555],{},[29,540,541,546],{},[208,542,545],{"href":543,"rel":544},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1917",[212],"#1917",": Scope In-Scope and Out-of-Scope inputs cant be edited until scope is created",[29,548,549,554],{},[208,550,553],{"href":551,"rel":552},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1928",[212],"#1928",": Convert Panel doesn't Auto Detect URL Encoding + Base64 Decode and fails in Chain",[29,556,557,562],{},[208,558,561],{"href":559,"rel":560},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2002",[212],"#2002",": sdk.ui.httpRequestEditor doesn't render properly",{"title":564,"searchDepth":565,"depth":565,"links":566},"",2,[567,568,569,570,571,576,577,578],{"id":17,"depth":565,"text":18},{"id":43,"depth":565,"text":44},{"id":53,"depth":565,"text":54},{"id":71,"depth":565,"text":72},{"id":81,"depth":565,"text":82,"children":572},[573,575],{"id":86,"depth":574,"text":87},3,{"id":111,"depth":574,"text":112},{"id":201,"depth":565,"text":202},{"id":361,"depth":565,"text":362},{"id":526,"depth":565,"text":527},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-12-09-release-v0-54-0\u002Fog.png","2025-12-09","Release Notes",null,"md",{},true,"\u002Fblog\u002F2025-12-09-release-v0-54-0",{"text":588,"minutes":589,"time":590,"words":591},"3 min read",2.2,132000,440,{"title":5,"description":581},"blog\u002F2025-12-09-release-v0-54-0",false,"lPcGYfmYgUrm4AO-A9RkJdjwjytdmJCjVb_qfIaIqDY",1779975412578]