SSL changes
- SSL certificate root certificate change to generate a unique certificate for each installation of Charles (see SSL Proxying in the Help menu)
- SSL Proxying now has its own settings menu item in the Proxy menu
Please note that these changes will affect the way you currently use Charles for SSL Proxying. You will need to install and trust a new certificate, which will be automatically generated for you. You can install that certificate on your computer using the options in the Help menu, under SSL Proxying. You can also export the certificate, to send to other systems, or browse to download the certificate to install on mobile devices such as iPhones.
Java changes
Charles now uses Java 8 on all platforms by default. Java 8 supports all of the latest SSL ciphers and should have the best performance on all platforms.
Mac OS X
Charles now prefers Java 8 on Mac OS X. Finally! Until now I've called the Apple Java 6 version the main version for Mac OS X, because I found Java 7 sluggish, and especially unbearable on retina displays. Java 6 is really old, and it doesn't support any of the latest SSL ciphers, which are increasingly essential these days. Not to mention other SSL features. So I'm thrilled that Java 8 is working well on Mac OS X now, including on retina displays.
Yosemite support has also improved. The typeface has changed. It looked really strange to me for a few days, but now I can't remember anything different. I hope the experience is similar for you!
New Features
- 'Find' rewritten and dramatically improved (it's actually usable now)
- Terminate long-running transactions manually from the context menu
- Advanced Repeat now supports delays between requests and repeats
- Customisable columns in the Sequence view (with a large selection of options) including sorting
- Cookie editor
- Whitelist tool (to complement existing Blacklist tool). Enhanced both black and white list tools with options to either gracefully block or terminate the blacklisted requests.
- 'Copy cURL Request' added to the context menu
- Protobuf extensions support
Improvements
- Automatically terminate established SSL connections to a host when activating SSL proxying for that host (so you don't have to quit your browser or Charles to start SSL Proxying properly on new hosts)
- SSL requests that are not proxied now have a padlock icon, to indicate that they are encrypted (vs SSL Proxied requests which can be viewed unencrypted)
- Improved sorting in the Structure tree view
- Reduction in the amount of memory Charles uses, especially when dealing with large numbers of small transactions
- 'View Request As...' and 'View Response As...' commands added to the View menu.
- Re-organised the Proxy menu into more logical groups.
- Added tooltip for timestamp information in the Sequence table view that displays the full date/time
- When you cancel editing a request the original request is re-displayed
- Suppress the highlighting of requests when only peripheral data has changed
- Automatic fallback from TLS v1.2 to TLS v1.1 and TLS v1.0 for sites that don't support the newer protocol versions, and don't fallback nicely.
Bug fixes
- AMF editor appeared twice when editing an AMF message
- Publish Gist didn't trust the Charles root SSL certificate!
- Many dialogs in Charles could be opened multiple times via either keyboard shortcut or menu command
- Fixed the 'Throttle Settings' and 'External Proxy Settings' dialogs so that they can be dismissed using the Escape key
- Fixed a race condition that could corrupt data sent over unproxied SSL connections
- Fixed the large memory use that could occur when binary content was displayed in the Text or Raw Viewer