Version History
Version 2.6.4
Minor bug fixes
- IBM JDK compatibility fix (thanks to Lance for reporting the issue)
- Improved malformed Referer header handling (thanks to Kalle Ravn)
- Improved compatibility with some webservers that would sometimes not work through Charles (thanks to Kalle Ravn)
Version 2.6.3
Minor bug fixes
- Fixed Port Forwarding fault introduced in v2.6.2
Version 2.6.2
Major improvements and bug fixes
- No more recording limits. Large responses are now saved to temporary files, reducing memory usage.
- Viewer state including open/closed tree nodes and scroll bar position are now remembered for each request, making it
easier to switch between two requests and compare results.
- Throttling controller changed to respect an MTU setting in an attempt to reduce the fragmenting of packets.
Thanks to Rich Riendeau for reporting the fragmentation problem and collaborating on the solution.
- AMF3 / Flex2 / Flash Remoting
- Class definition deserialization fix
- Multiple responses for a single request now supported
- Array references fix
- thanks to Patrick Mineault for reporting these bugs.
- Multipart body viewer now supports quoted boundary headers, as seen in Safari bug reports
- Authentication header viewer added to show details of Basic and Digest authentication
- JSON viewer performance increase and support for requests/responses containing just an array
- Session Export exports transactions in sequence order
- Repeat request now auto-selects the repeated transaction in the tree
- Double-click switch between sequence and structure views restored
- UI library upgrades; Quaqua to 3.7, JGoodies Looks to 2.1.2
- JDK 1.3 compatibility restored
Version 2.6.1
Minor bug fixes and improvements
- SOAP information visible while response is still loading
- AMF3 externalizable object parsing regression fixed
- AMF view for AMF3/Flex messages simplified to hide Flex implementation details
Version 2.6
Major improvements and bug fixes
- Major UI overhaul, including the use of Quaqua and
JGoodies libraries to improve the native
look and feel on Mac OS X and Windows respectively.
- Internal windows removed and replaced by a tab navigation if multiple sessions are open.
- Sequence view now uses a table when in Wide layout, to show a quick summary of important attributes.
- XML tree display. View XML documents in a tree format as well as the existing pretty-printed text format.
- XML pretty-printed text format improved to not load DTDs.
- JSON and JSON-RPC support.
- SOAP support.
- AMF3 parsing improvements.
- AMF parser now displays during the response download and shows download progress.
- Fixed nil dereference in Mac OS X proxy configuration in some configurations.
- Rewrite Tool body rules now support non-type mime types and improved debugging output.
Version 2.5
Major improvements and bug fixes
- AMF / Flash Remoting
- Recover from malformed UTF-8 in AMF parsing, and still display string
- Added AMF summary in addition to AMF detail, to view AMF data as an RPC
- New and changed Viewers for different file types
- FLV viewer
- Header viewers, including cookies and query string
- Multipart body viewers
- Show image dimensions in image viewer
- User Interface
- Fixed UI deadlocks
- File choosers unified so current directory is consistent
- Repeat option in event contextual menu to repeat the request
- Option to allow host directly from ACL alert dialog
- Can remove events from the tree (using delete key or contextual menu)
- Allow selecting multiple nodes in trees and view summary stats
- Fix JTreeTable handle clicking behaviour on Mac OS X
- Keyboard short cuts to activate the different tabs in the session frame
- Improved layout of tables: column widths are now smarter
- Changes to calculation of download speeds and show more information on general tab
- Improvements to behaviour of internal frames wrt closing, reopening and being maximised or not
- Save All option on path/host/multiple selections
- Sequence view filtering improvements: regex options and max rows
- New dimmed icon for requests that are still loading
- General
- Added support for SEARCH webdav method and any future different methods / schemes
- Reduced memory usage
- Increased maximum memory size from 64MB to 256MB
- Added Recording limits option to record only the last X events
- Host matching now supports full glob wildcards and optional port matching
- Fix Client closed connection reporting for large response bodies.
- Reverse proxy options extended. Preserve host header now works. Rewrite redirects now an option. Rewrite redirect now uses original Host header instead of guessing correct URL.
- Rewrite filter refactored - now continues using set for a request even if the hostname has been rewritten by that set and no longer matches.
- Browser Integration
- Fix Firefox installation detection if having to use manual profile configuration
- Windows proxy settings now changed for all network connections rather than just local LAN (ie. now includes dial up and VPN)
- NTLM Authentication
- Improved support for NTLM proxy (as opposed to website) authentication
- NTLM using HTTP 1.0 support
- External NTLM proxy authentication for SSL
Version 2.4.2
Minor improvements and bug fixes
- Support for request body compression (used by web services)
- Fix for parsing of AMFPHP responses
- Improvements to AMF viewer, including a new Parseable Binary recording limit setting (in Recording Settings)
so Charles doesn't truncate large responses.
Version 2.4.1
Minor improvements and bug fixes
- Firefox extension improved - should now find all Firefox installations regardless of where they are located.
The extension now adds a Charles option to the Tools menu that displays the current status.
Thanks to Kathryn Aaker for helping test these improvements.
- AMF 0 and AMF 3 parsing improved - including AMF 3 undefined type, AMF 3 integer parsing improvements
- Look and Feel changes to give a greater (and more consistent) range of font sizes in the Charles look and feel
- SSL error reporting improved when a connection cannot be made to a remote host
- Port Forwarding tool and Reverse Proxy tool re-bind exception fixed
Version 2.4
Major new features, improvements and bug fixes
- AMF 3 support (thanks to Kevin Langdon for his work on the AMF 3 spec)
- SSL support for IBM JDK (thanks to Lance Bader for helping solve this)
- Automatic Update Checking
- Documentation wiki open to public
- Fixes for JDK 1.3 support
- Better reporting of XML parse errors (showing the line number and column of the error)
- Fix Serializable problem for External Proxy configuration
- Miscellaneous bug fixes and improvements
Version 2.3
Major improvements and bug fixes
- Proxy implementation improvements including better handling of keep-alive connections
- SOCKS proxy added, so any SOCKSified application can now run through Charles
- External proxies configuration improvements including authentication
- Autoconfiguration of system proxy settings resets "Don't Use Proxy For These Addresses"
- Latency displayed for each request
- Added Filter to sequence view
- Added Tray Icon on Windows
- Added Rewrite rule options: Match whole value, Replace first / Replace all
- Flash Remoting / AMF viewer improvements
- Dynamic proxy port support, for multiuser systems
Version 2.2.1
Minor improvements and bug fixes
- Changed wording of browser configuration menu items and settings panel for clarity
- UDP forwarding support added to Port Forwarding tool
- Port Forwarding tool now supports port ranges rather than just individual ports
- Reverse proxy tool now records traffic correctly in the session
- Firefox extension improved for non-English Windows and general stability improvements
- Fixed NPE when loaded configuration on Java 1.3
- AMF parser now tolerates invalid body count which previously caused an EOFException
Version 2.2
Major improvements and bug fixes
- Image responses now scroll if the image is larger than the frame size
- Show line numbers in ASCIIBodyViewer (UI preference)
- Line wrap preference - only works when show line numbers is off
- XML viewer now recognises more mime types as XML: text/xml and application/xml
- XML viewer caches DTDs so rendering speed when using DTDs is greatly increased
- XML viewer now shows comments and DOCTYPE definitions
- XML viewer formatting / layout improved
- XML viewer can now resolve relative DTD urls
- XML viewer now tolerates white space before <?xml declaration
- More accurate mime type reading when choosing which body viewers to show
- Session frame layout now horizontal or vertical
- Frame divider locations remembered
- Fix for left over data after the response body if a tool that decompressed the response body was on
- Linux startup script improved - charles.config stored in home dir
- Rewrite tool non-regex value matches are now partial matches rather than whole matches
- Improved error messages to browser in cases of unsupported protocols etc
- Proxy configuration menu items and preferences naming improved
- Firefox configuration now works on non-english Windows OS (JDK 1.5+)
- Firefox configuration improved for restoring proxy settings to normal (especially after restart of FF)
- Firefox setting status in Charles updated by any manual changes in FF
- Bug fix - kept-alive connections didn't disconnect if DNS information has changed, such as turning on/off DNS Spoofing tool
- Bug fix - URL rewrite now rewrites port as well
- Bug fix - port forwarding data wasn't shown in session viewer
Version 2.1.1
Minor bug fixes:
- Fixed crash on startup if Firefox isn't installed
- Mac OS X auto configuration user interface improvements
Version 2.1
Major new features and enhancements:
- Automatic Firefox proxy configuration
- Formatted form posts and query string information
- Parsing of SWF and AMF (Flash Remoting) binary formats
- Rewrite tool can now rewrite request bodies and query parameters
- Most tools can now apply to a path prefix as well as a host name
- Summary view added for hosts and paths in Structured view
- New Notes tab for storing your own notes on each request/response
- Copy/Paste support improved
- Other minor enhancements and bug fixes
Version 2.0.1
Minor bug fixes and enhancements:
- Reporting of unexpectedly long response bodies improved
- When the client closes the connection early this is now reported in the Exception field, which should help explain why some responses are blank
- Exception field display is tidied for some exceptions
- Proxy Settings dialog caused an exception when saving
- Many exceptions and faults in JDK 1.3 are now resolved
- Saving of access control IP ranges is now fixed
Version 2.0
A major overhaul and improvement of existing functionality, and additions of new functionality. An incomplete list is:
- User interface to Charles plugins is changed to Tools, now accessible in their own menu and individually configured.
- Plugins / Tools can now be activates globally or only on selected hosts (eg. No caching tool activated for only some hosts)
- Rewrite request/response headers and response body tool
- Throttling with user defined presets and option for throttling only selected hosts
- Improved automatic proxy setting - now recovers from incorrect resetting
- Improved keep-alive performance
- Many other fixes and enhancements
- Contextual menu on hosts as short-cut to configure tools or remove from session
- Mac OS X: Preferences retained between upgrades
- Mac OS X: Automatic system proxy setting
- Mac OS X: Many UI improvements
- Mac OS X: Runs natively on Mac OS X on Intel (can anyone test this for me!)
Version 1.8.5
Corrected display of units (eg. kb/s -> KB/s)
Fixed "localhost" address bug in SSL proxying
Throttling controls changed to use Kbps and a utilisation percentage, allows
much better specification of throttle settings.
Preferences layout changes
Ignore hosts function in Recording preferences
Rewrite headers plugin (experimental)
Support for WebDAV methods
Compressed data tab now available in response body viewing if data was compressed
Memory monitor now shows max available memory rather than total allocated
Alert on low memory and automatically stops recording to prevent out-of-memory conditions
Support for chunked POST request bodies
Fixed response body tab switching loop
Version 1.8.4
Fixed GUI flashing bug
Added preference setting for prompting to save session information on close
Added preference setting for prompting when clearing session information
Added a menu item to set / restore windows proxy settings
Added throttling connection presets to approximate common connection speeds
Registration nag screen changes
Version 1.8.3
Request header size in bytes added to Export
Fixed failure to launch bug under Mac OS X
Version 1.8.2
HEAD method supported correctly
HTTP headers now read and written in an 8-bit safe manner.
Transparent Forwarding transaction content is now viewable in the request/response panes (other transparent forwarding bug fixes)
Case-insensitive find fixed
Remote address displayed on general transaction panel
Request/response sizes displayed in human readable formats
Fixed refreshing of summary panel if referers are loading while you watch
SSL using an external proxy no longer requires working local DNS (bug fix)
XML requests are now pretty-printed - useful for Web Services work.
Other bug fixes and enhancements.
Version 1.8.1
ACL warning dialog, alerts you to ACL violations.
Find function.
Tunnel any protocol (Transparent forwarding).
SSL decrypting bug fix (Charles now generates valid serial numbers, fixed some problems with Netscape and other browsers).
GUI improvements.
Deflate support (now Charles supports gzip, compress and deflate Content-encoding methods).
Evaluation nag screens reduced.
Unicode characters displayed properly in response bodies.
Version 1.8
New GUI including toolbar and icons.
Sequence and structure view of session.
Bug fixes and performance enhancements.
New launcher and installer for Windows.
New Mac OS X application (thanks to Seth Hall).
Access Control to limit access to the Charles proxy.
Version 1.7.1
Active connections window - lists all active HTTP connections and their status.
Bug fixes, including fixed NoSuchMethodException bug on JDK 1.3.
Ascii/Hex/Image viewing modes for response bodies.
Windows automatic proxy configuration much improved, now uses custom Charles DLL and correct Windows API.
Improved memory usage and garbage collection.
Version: 1.7
External proxy server support.
NTLM authentication support
Bug fixes relating to keep-alive connections, tolerance of broken headers, dns spoofing.
DNS Spoofing now works with proxied SSL traffic
Proxied SSL traffic now uses an automatically generated certificate with the correct name for the website
and signed by a Charles root certificate - so that you can accept the Charles root certificate and never
be bothered again. This makes use of some code by Legion of the Bouncy Castle.
HTML error reports returned to the browser if Charles cannot connect to the remote site.
Thanks to Gordon McKinney for extensive testing and feedback.
Version 1.6
HTTP/1.1 support - including keep-alive, chunked transfer encoding, content-encoding including gzip and compress.
Separate recording limit preferences for different content types.
Performance enhancements and bug fixes.
HTTP response header sizes now reported along with body sizes.
Thanks to Gordon McKinney for extensive testing and feedback.
Version: 1.5
New SSL support. Now view in plaintext all communication between your web browser and an SSL server - essential for debugging
secure websites.
Preliminary HTTP/1.1 support - keep-alive support over SSL.
Improved performance, especially for large transfers.
Improved exception handling - errors that are normal in HTTP communications are hidden.
Version: 1.2
Added Export to CSV, reverse proxies and new brand livery.
Removed preference setting for the number of proxy threads, now grows automatically to meet demand.
Version: 1.1.1
Fixed look and feel code on Java 1.3 vms.
Version: 1.1
Added look and feel preferences, menu options to clear sessions and error log, spoof dns plugin,
improved look and feel of the preferences dialog and other minor enhancements.
Version 1.0
Initial public release.