Changelog
Added
Vertical sequence view table borderstoggle under Settings -> Appearance -> UI Options (disabled by default)Added
Show content type iconstoggle under Settings -> Appearance -> UI Options (disabled by default)Fixed app breaking when deleting entries under specific conditions
+Highlight Entries
Added ability to highlight entries via the
Highlightcontext menu option (strikethrough and/or colorize in red, green, blue, yellow, gray, orange, pink, purple)Added
highlightedquery parameter to the/sessions/{session_id}/entriesroute of the Data APIAdded
highlight.*properties to custom theme structureAdded Bookmarks to section droppers (tile layout only)
Updated placeholder process icon to only show if the process name is available
Updated
Highlightsearch option to be disabled by defaultFixed last column of the sequence view table not growing in width to fill the available space
+Bookmarks
Added ability to bookmark entries via the Inspector, context menu or the Requests section
Added Bookmarks section where you can manage all bookmarks in a session and open bookmarked entries in the Inspector
Added
/sessions/{session_id}/bookmarksroute to the Data APIAdded
bookmarkedquery parameter to the/sessions/{session_id}/entriesroute of the Data APIFixed small visual bug in the sequence view
Double-clicking on table cells will now expand the cell and turn it into a read-only textarea (especially useful for cells with truncated text; not available for the sequence view table)
Parent directories of imported and exported files are now saved and reused for following file dialogs
Added
All Filesfilter to the import file dialog which shows all supported formats (selected by default)Improved sequence view lazy-rendering (scrolling should be smoother now)
Other rendering improvements
Query, Cookies and body-related tabs are now hidden if no data is present to show
Added placeholder icon for processes where icon extraction fails
Fixed process icon not showing on macOS and Windows
Fixed body from
.chlsjimport not getting fully decoded if the body is still compressedFixed status code missing from
.chlsjimport in some cases
+Invisible Proxying
Added support for direct HTTP/S requests from non-proxy-aware clients (Invisible Proxying) by using the
Hostheader for HTTP and theserver_nameof theclient_hellofor HTTPS as the target address
Added ability to switch internal DNS resolver in Settings -> DNS (currently supported are Google, Cloudflare and Operating System, which is the default)
Patched server certificates are now cached and reused until the original server certificate changes (this should significantly improve the proxying experience when using Firefox-based browsers)
Fixed requests from previously established connections getting added to the session even if recording has stopped
Improved
.chlsimport supportThe Spawn Browser button gets disabled now if there is no active proxy server
Code viewer search results now automatically update when the content changes
Fixed switching proxy server port failing when there's no active proxy server already
Fixed switching proxy server port crashing active proxy server if the desired port is already taken
Improved child window positioning
The main window position is now persisted between app launches
Added ability to select all entries by pressing
ctrl/cmd+aThe main window size is now persisted between app launches
+Filter Rules
Added ability to create filter rules in the Filter section
Added built-in filter rules for content types and status codes (e.g. JSON or 2XX) to the Filter section
Small UI improvements and bug fixes
Added Inspector -> General
tls.fingerprint.ja4_rfieldFixed opening
.chlsjfiles with powhttp not importing any requests
Added ability to delete all selected request by pressing the
Deletekey when the Requests section is focusedThe Compare section now automatically opens when pressing
ctrl/cmd+dwith exactly two entries selected for comparison (only when tiles layout is disabled)Added ability to close sessions by pressing the middle mouse button on session tabs
More flexible
.chlsjimports (it seems like numbers get encoded as strings sometimes, additionally some fields are missing here and there)
Added warning which shows up in the toolbar and in settings if the root certificate expired or couldn't be found
Deleting entries will now also remove search results that are connected with those entries
Fixed default UI state displaying
Protocolcolumn three times and missesRequest SizeandResponse Sizecolumn
UI state is now persisted between app launches
Moved most component level UI state (reset after unmounting the component, e.g. column visibility and order) to the session level, which also results in it being persisted between app launches
Added ability to quickly set entry A and B for comparison by pressing
ctrl/cmd+dwhile having exactly two entries selectedSwitched
Python -> Requestscodegen to new custom module which supports lossless body inlining (body gets inlined as a base64 encoded string and gets decoded in the generated code if needed)Switched
JavaScript -> fetchcodegen to new custom module which supports lossless body inlining (same as above)Improved
Shell -> cURLcommand generation
Improved WebSocket implementation efficiency
Fixed unhandled EOF in WebSocket implementation (most likely fixes the high CPU usage issue that occurs sometimes)
Added support for zooming in and out via hotkeys and mousewheel
Added
Start Timecolumn (enabled by default)Renamed
Timecolumn toDurationImproved performance when batch deleting a lot of entries
Body tabs with syntax highlighting now display the content formatted by default
Fixed syntax view fold icon not getting displayed (this bug was introduced in the prior version)
+Compare
Added Compare section with ability to compare two entries and view differences in request, response, WebSocket messages and TLS messages
Added
Compare entry (A)andCompare entry (B)context menu options to entriesAdded
diff.inserted_text.background,diff.inserted_line.background,diff.removed_text.backgroundanddiff.removed_line.backgroundproperties to custom theme structure (more info here)
Added
Copy request bodyandCopy response bodycontext menu option withText,Base64andHexsubmenu optionsRenamed
Copy ascontext menu option toCopy as codeRenamed
Copy valuecontext menu option toCopy field valueUpdated authentication
Multiple smaller UI design changes which also result in more available space in some areas
Improved toolbar responsiveness by moving certain elements to a dropdown when there's not enough space left
Added ability to add custom command arguments when launching a browser from the Browsers section
Added
Copy valuecontext menu action to sequence view table cellsAdded ability to select the keys and values of tree structures (e.g. TLS -> Messages and HTTP/2 -> Frames)
Added
Copy keycontext menu action to tree structuresAdded
Accept first clickoption under Settings -> Appearance -> UI Options (disabled by default, macOS only)Opening windows by clicking a button now focuses the corresponding window if it's already open instead of doing nothing
Fixed Inspector -> Contents sections overflowing vertically when collapsed in horizontal mode
Fixed big images in the
Imagetab overflowingOther smaller UI bug fixes
Added ability to delete all selected entries by pressing
ctrl/cmd+backspaceAdded a few rows of padding to the bottom of the sequence view
Fixed Inspector -> Contents layout shifts when expanding/collapsing sections
Added drag and drop import support
Fixed WebSocket frames with payloads bigger than 65,535 bytes not being encoded correctly (caused Discord's desktop app to infinitely load for example)
Added
URLcolumn (disabled by default)Fixed
left-clickfollowed byshift + left-clicknot selecting range
Added the ability to select ranges in sequence view using
shift + left-clickAdded support for
.chlsjsession importsAdded system theme detection to Linux GNOME environments (used to sync with system settings for the
Autotheme)Added system proxy support to Linux GNOME environments
Switched
Copy as -> Shell -> cURLcontext menu option to new curl shell command generator which encodes the body lossy instead of lossless but base64 encodedFixed Browsers section only utilizing 25% of available height when not using tile layout
+Browsers
Added Browsers section with ability to spawn Chromium and Firefox-based browsers with a pre-configured proxy server
Installed browser detection with support for Chrome, Firefox, Edge, Opera, Vivaldi, Arc, Brave, Zen and Opera GX
Added app icon lookup support for Linux freedesktop environments
Updated Linux window appearance
Fixed
WebSocket Messagessection not getting shown (seems like this bug was introduced in one of the last few releases)Fixed selection background color alpha value not being respected
The
Clear allaction now only deletes entries that are getting shown and not entries that are hidden because of applied filtersClicking the
Clear allbutton will now ask for confirmation before deleting all entries
+Filter
Added Filter section
Added
Copy URLcontext menu optionAdded toggle to highlight search results in the Requests section to the Search section (enabled by default)
Added
style.greenproperty to custom theme structure (more info here)Improved panel resizing and scrolling by dragging the scrollbar thumb
Added byte-order mark (BOM) handling for
.harimports (caused the import of files with BOM's to fail before)Updated
.harimport handler to work better with Fiddler exports (Fiddler exports a field as null sometimes even though it should be a string)
Support for non-CONNECT requests to proxy server (mostly used for http:// requests)
Added HTTP/1.0 support
Fixed bug where the old proxy server port is not getting freed when switching ports or closing sessions
Added
Processcolumn displaying the name, PID and icon of the app sending the requestSmoother macOS traffic light positioning when switching between fullscreen and windowed mode
Updated font rendering
Increased Session Settings and Settings -> Defaults
Proxyinput field widthFixed structured view toggle not updating background color when hovered or active
Added
ECHtoggle to the session toolbar (disabled by default, when enabled keeps theencrypted_client_helloextension and sends it to the server which might cause issues on some websites)
TLS and HTTP/2 packets are now also getting saved locally when closing the app and restored upon reopening
Fixed unhandled EOF's in HTTP/1.1 and WebSocket implementation (most likely fixes the high CPU usage issue)
Improved crypto backend efficiency, especially AEAD ciphers
Fixed app crashing on Windows Server due to missing registry entries
All releases for macOS are now being code signed and notarized by Apple, starting with this release
Added
Typecolumn which displays Push Promise if the request got created due to the server sending aPUSH_PROMISEframe on a different stream and Request otherwise (this column is disabled by default)Big error handling and performance improvements for all networking protocols powhttp implements (TLS, HTTP/2, HTTP/1.1 and WebSocket)
Fixed HTTP/2 Server Push support
Fixed applying session settings with empty proxy field not unsetting proxy
Fixed selected HTTP/2 stream switching to the stream of the selected request when new requests arrive
Other small bug fixes
Fixed overlay scrollbars blocking pointer events on underlying content when invisible. This caused issues when switching sessions for example
Fixed blurry dropdown menus bug (it looks like macOS was the only platform affected by this)
Fixed reordering table columns not working in some cases when there's at least one disabled column
Added option to export sessions as HAR 1.2 (I recommend using HAR 1.3 where possible)
Fixed exporting request HTTP version as HTTP/1.1 if it's a HTTP/2 request
Fixed body tab dropdown displaying
BodyifExportis selected
Added
Display query in Path columntoggle under Settings -> Appearance -> UI Options (enabled by default)Added
Querycolumn (disabled by default)Fixed toggling individual columns causing app to stop working properly
Switched to new auto updater (downloads updates in the background and installs them when closing the app)
Sessions are now saved locally when closing the app and restored upon reopening
.chlsimports now also import WebSocket messagesImproved stability of
.chlsand.harimportsMore robust error handling
Improved CPU and memory usage
General bug fixes
Fixed bug in search causing several other UI bugs like not changing selected request or double-clicking on search results not opening request in inspector
Fixed an issue where the
powhttpdeep link wasn't registered at runtime on Linux, causing login to break. Most likely a new bug introduced in v0.47.0
Fixed an issue where the app would not exit and cleanup would not run in some cases (e.g., closing the app through the taskbar), most likely a new bug introduced in v0.47.0
Added lazy-rendering to search results (eliminates lag, speeds up search by reducing time spent on rendering search results drastically)
Changed JA3 SSLVersion to client hello version instead of negotiated version
Added
ja4,ja3_hashandja3to Request -> General undertls.fingerprintAdded lazy-rendering to structured view (eliminates lag, switching between sequence and structured view even with thousands of requests happens almost immediately now)
Fixed zstd support (caused some websites that we're using zstd to hang and show a blank page, e.g. most if not every website using cloudflare)
Major GUI framework upgrade which should result in an overall smoother experience
Added lazy-rendering to sequence view (eliminates lag and reduces render time drastically)
Updated macOS keyboard shortcuts to use
cmdkey instead ofctrlAdded
Deleteoption to branches in structured view to delete entire paths/domains with one actionAdded
Copy asoption to structured view requestsPotentially fixed blank window bug when using Nvidia GPU on Linux
Fixed hex viewer not updating content when switching between requests
Fixed proxy server crashing when trying to update already deleted requests (e.g. when clearing a session)
Fixed context menu not showing child menus
Fixed context menu closing when clicking option without registering that the option has been clicked basically doing nothing
Other smaller bug fixes and performance improvements
Added arrow key navigation to
RequestssectionFixed X25519MLKEM768 and SecP256r1MLKEM768 implementations
Added tile layout
Added structured view
Added search preview toggle
Added
Use tile layouttoggle under Settings -> Appearance -> UI OptionsAdded
Floating modetoggle under Settings -> Appearance -> UI Options (only available when tile layout is enabled)Removed
Typecolumn (was pretty useless)General bug fixes
Added
Rawtab displaying request/response content formatted as an HTTP/1.1 messageFixed context menu too small if opened at the bottom of the window
Support for more TLS extensions
Fixed port of proxy server created on startup not getting freed when closing the session
Fixed TLS 1.3 Certificate Request support
Fixed UI bug occurring when closing open sessions sometimes
Added WebSocket support
Added
WebSocket Messagessection to Request -> ContentsFixed whitespace bug in session search results
Added HTTP/2 section to inspector with ability to view frames (and their contents) and switch between streams using the same connection
Added
Content-Typecolumn to session table, showing the content-type of the response intype/subtypeformatAdded more tooltips to buttons
Fixed context menus getting cut off at the bottom of the window if too long (made context menus scrollable)
Added TLS section to inspector (shows more in-depth details about the underlying TLS connection like which algorithms were used etc.)
Experimental Linux support (automatic system proxy and root certificate configuration missing)
Fixed bug in HTTP/2 implementation causing requests to specific servers to infinitely hang
Improved CPU and memory usage when intercepting https requests
Added ability to multi-select requests (CTRL + left-click) and delete them via new
Delete (AMOUNT_SELECTED)context menu optionIf the search query is empty but the filter is active, all requests will show in the session table
Added preview of
URL,Query,HeadersandFormmatches in session searchOpening
URL,Query,HeadersandFormmatches from session search will now highlight match in inspector instead of just opening the matching sectionHighlighted matches in tables can be right-clicked to open a context menu with
Copy(copy matched content) andRemove Markoption
Added ability to rename sessions (right-click on session tab and click context menu option
Rename)
Added ability to fine-tune session search (
URL,Query,Request Headers,Request Body,Form,Response HeadersandResponse Body)
Added
Copy asoption to request entry context menu with support for 30+ different clients (cURL, Go, NodeJS, Python, Rust, ...)
Added ability to change order of session table columns
Added ability to toggle individual session table columns
Row of currently open request is now highlighted
Opening requests from search now scrolls row of opened request into view
Smoother transitions when loading contents of request e.g.
HeadersorCookies(caused small flash before)Fixed editor fold icon color not set when using light mode
Added sort by column to session table
Improved session table column resizing
Fixed Charles Session import entry ID's not in order
5 - 10x faster session search
Fixed Charles Session parser failing if url components are missing
Improved performance when rapidly scrolling through session search matches
Added image viewer with support for jpeg, png, gif, webp, svg and avif
Added
URL,Query,HeadersandFormto search targetsAdded context menu with
Deleteoption to request entriesFixed Charles Session parser failing if request headers are missing
Added support for 103 Early Hints
Improved macOS window flashing
Switched Windows default code font to Consolas
Improved javascript content-type detection
Added support for importing Charles Proxy sessions (.chls)
Fixed application crashing on fresh install
Fixed not possible to scroll select options using scrollbar
Added ability to resize session search and search results
Saving resize position of session search, search results and inspector to session state
Added context menu with
Copyoption for name and value toHeaders,Query,CookiesandForm
Improved font detection, making more fonts available to use
Fixed bug causing the app to crash when rapidly switching themes
Switched default fonts to system-ui and ui-monospace
Fixed macOS blank screen
Updated macOS default font
Updated dark theme js identifier token foreground color
Added font customization under Settings -> Appearance
Changed window spawn position on windows to center instead of top left
Reduced startup time
Added theme customization (Light, Dark and Auto for now) under Settings -> Appearance
Fixed error when setting empty external proxy
Added crash manager (makes sure stuff like system proxy settings are getting reset even if the process gets killed)
Added timings to Request -> General
Added
Timefield to session view, displaying the time the request took to complete
Added auto-updater (runs before opening the app)
Fixed app cleanup on CTRL + C
Fixed app cleanup when closing last session
Added
Request Sizefield to session viewAdded
Response Sizefield to session viewFixed accepting connections from other devices (switched proxy server address from
127.0.0.1->0.0.0.0)