Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
Map Remote: new Preserve base path option stops a destination base path being applied twice when you map to a URL that has a base path (for example a backend mounted under a sub-path that emits absolute URLs already in that path-space). On by default; the checkbox is only enabled when the Map To location has a path.
Minor improvements
Windows: every bundled binary is now codesigned to improve interaction with Windows Defender Application Control (WDAC) policies.
Bug fixes
Several Map Remote fixes for tunnelled (HTTPS) requests: the destination path is now applied, the original location is reported, an HTTPS to HTTP mapping no longer attempts a TLS handshake with a plain HTTP server, and the requested port is restored from the SNI on a mapped CONNECT
Fix for tool configurations that were lost when migrating settings from Charles 4 to Charles 5 (Windows & Linux)
Fix a rare keep-alive liveness probe that could corrupt the remote stream
Fix rare throttling bugs that could lead to incorrect throttling under some conditions
Further HTTP/2 proxying correctness and robustness fixes: trailers forwarded (such as gRPC), connection flow-control accounting and frame-size validation, stream concurrency and lifecycle handling, and send-window stall detection
HTTP/1.x improvements for chunked trailers
Improve Repeat behaviour after failed connects
SOCKS5 method negotiation and version handling now more accurate follows the specification
Improve SSL handshake handling, certificate cache, and TLS extension parsing
Log timestamps on stdout and now at millisecond precision
HAR export no longer produces invalid output when containing unsupported encoded bodies