Ghostlab Changelog

What's new in Ghostlab 3.0.5

Oct 23, 2017
  • Improvements:
  • You can now name any connected client. To do so, simply double-click on an entry in the client list and assign a name of your choosing. For the same browser, individual tabs can be named. Names assigned in this manner are valid for the duration of the session and not persisted across restarts of the browser / closing of the tab.
  • For A/B test cases, you can now paste entire URLs into the test case list. They are automatically split into components.
  • Improved robustness of DOM inspection
  • Fixes:
  • Fixed a bug that lead to a timeout when node was not installed while starting a preprocessor
  • Fixed bug that could lead to click events being propagated to other clients when touch-scrolling
  • Fixed bug relating to query paramter test cases
  • Fixed bug relating to the cache

New in Ghostlab 2.1.4 (Jun 25, 2017)

  • Improvements:
  • Scrolling synchronization was improved; now horizontal scrolling in scrolling containers (e.g., elements with overflow: scroll) is synchronized as well.
  • Improved checkbox synchronization.
  • Improved error logging in the inspector.
  • Fixes:
  • Changes to the watch directory and the "Watch files" checkbox are now saved again.
  • The URLs in the srcset attribute of source elements are now rewritten.
  • Fixed a bug that caused client-side JavaScript errors on older devices and browsers (e.g., BlackBerry).
  • Fixed a bug that caused problems in the inspector when the page uses prerendering.
  • Fixed a bug that could lead to wrong line numbers in the sources in the inspector.
  • HEAD requests now always have the correct Content-Type header.

New in Ghostlab 2.1.3 (Dec 9, 2016)

  • Improvements:
  • QuickFill functions now receive the target element as an argument - this means you have a reference to the form field where the QuickFill was triggered (see our updated documentation)
  • We've added a Home button in the client list (nex to the refresh button). It makes all clients load the initial site URL in case they get stuck somewhere
  • Better synchronization of select and checkbox form components
  • Wider support for displaying CSS styles in the build-in inspector
  • Workspace windows can now also be closed in selective sync mode (previously, clients that weren't switched on in selective sync mode didn't react to any events)
  • More informative display of events when printed out in console.log calls
  • We've improved the Cache-related memory footprint, making Ghostlab more performant
  • With an upgrade to Node 7, Ghostlab now supports HTTP/2
  • We're now making clients delete all cookies related to the Ghostlab server when the site changes.
  • We've added support for server-sent events
  • We've improved support for inspecting iframes
  • We've also improved synchronization between (dynamically generated) iframes
  • The site settings of the currently running site are now always available on site start, there's no need for an additional click on the settings icon
  • Fixes:
  • We've fixed a timeout issue when debugging in Safari
  • We've fixed some minor bugs in the JavaScript rewriting engine
  • We've fixed the handling of absolute URLs in XHR request in Internet Explorer
  • We've fixed URL rewriting in attributes containing whitespace
  • We've fixed URL rewriting for protocol relative URLs
  • We've fixed the logging of XHR requests in inspector
  • We're now correctly displaying the original scripts instead of the rewritten version in the JavaScript debugger
  • We now properly respect the original content type "application/xhtml+xml"
  • We now properly update loop variables in the JavaScript debugger

New in Ghostlab 2.1.2 (May 27, 2016)

  • Fixed rewriting bug that lead to out-of-scope variable declarations via eval
  • Fixed bug that caused proxy autoconfig scripts to crash Ghostlab
  • Fixed a UI bug that occured when tabbing out of certain site settings fields
  • Fixed a bug that caused the Ghostlab server to crash while debugging JavaScript
  • Added option to disable active navigation synchronisation (e.g. when clicking back/forward button in browser)
  • Added prefixing to Ghostlab cookies to reduce probability of conflicting with existing cookies
  • Improved speed by compressing content served via Ghostlab where possible
  • Improved charset detection by taking byte order mark into consideration
  • Improved URL rewriting

New in Ghostlab 2.1.1 (May 4, 2016)

  • Implemented a new server-side cookie manager, resulting in better cookie support. This improves behavior for sites with logins
  • Added support for iframes in inspector
  • Added xip.io sever URL entry (the server URL list lets you configure what address local browsers point to when started from Ghostlab; it is shown below the title while the site is running)
  • Added validation to directory entries in site configuration
  • Added support for cache manifests in inspector
  • Improved support for iframes
  • Improved support for base tag
  • Improved content type detection for resources without content-type header
  • Fixed bug that sometimes showed several client list entries for one single client
  • Fixed rewriting of URLs in CSS inline styles
  • Fixed several JavaScript rewriting issues
  • Fixed issue with postMessage in Safari

New in Ghostlab 2.1.0 (Apr 16, 2016)

  • We're calling it 2.1.0 because we did major reworks under the hood. We've introduced a new JavaScript rewriting engine that lets you fine-tune how Ghostlab handles your JavaScript code. This is important if the website you are running through Ghostlab uses JavaScript to load resources or change the browser URL. The result is that Ghostlab now supports many more websites.
  • Changelog:
  • Introduced a new engine which allows you to configure JavaScript rewriting
  • Added support for drag and drop events
  • Added support for synchronizing alerts, prompts, and confirms (without having to click them on each device)
  • Added support for case-insensitive content encoding
  • Added support for CSS @imports without url()
  • Added icons for MS Edge and PS4
  • Added support for resources with "integrity" attributes
  • Improved hover support
  • Improved synchronized browsing experience by ignoring "target" attribute and always opening links in the same tab
  • Improved iframe support
  • Improved cookie handling
  • Improved JavaScript debugging for loops (for, while, do)
  • Updated list of recognized user agents
  • Fixed form submit problem (inability to cancel form submits in event handlers when using Ghostlab)
  • Fixed MS Edge not showing up in list of installed browsers
  • Fixed bug in display of active QuickFill data set
  • Fixed URL rewriting bug that caused Ghostlab to crash under some circumstances
  • Fixed problem in inspector causing styles not to show for URLs like /?param...
  • Fixed Content-Length header problem that caused compressed binary resources not to load properly

New in Ghostlab 2.0.10 (Nov 28, 2015)

  • Added datasets feature. You can now define data that can be used on your clients via the Quickfills. The data can either be the same for all clients, or different for each of them (e.g. usernames and passwords).
  • Improved support for logins and single sign-on.
  • Improved inspector stability and resilience. We now include more checks to detect missing resources, are more tolerant towards non-standard-compliant URLs, and are able to follow redirects when loading scripts.
  • Improved event conversion. Mouse events are now converted to touch events on touch-only devices.
  • Improved cookie handling. Even more items can be added to the shopping bag!
  • Improved soft reloads (e.g. Wordpress CSS files). Now, CSS files and images are matched by filename instead of full path.
  • Revmoed private browsing limitation for iOS
  • Fixed drop-on-dock problem. Now, we no longer have duplicate URLs in El Capitan.
  • Fixed bug that prevented clients from showing up when Ghostlab serves a page to an embedded iframe.

New in Ghostlab 2.0.9 (Sep 3, 2015)

  • Improved JavaScript URL rewriting
  • Added configuration to blacklist JavaScript URL rewriting
  • Added support for third-party cookies
  • Added support for relative paths in CSS import statements
  • Added support for tag
  • Added ability to add sites in any GUI state
  • Fixed bug that caused workspace feature to display duplicate client entries
  • Improved preprocessor installation log (no longer shows an error in case there are warnings during gem or npm install)
  • Fixed handling of special characters in ID attribute values in the inspector
  • Improved displaying of EULA
  • Fixed minor UI bugs

New in Ghostlab 2.0.8 (Jul 10, 2015)

  • Added ability to deactivate Ghostlab license for any installation
  • Added support for NTLM authentication for proxies
  • Added support for .sass extension
  • Added display of error stack in debugger
  • Added masking of password in proxy configuration
  • Added support for case-sensitive header names
  • Added support for obsolete JavaScript MIME types (apple.com)
  • Improved animation performance
  • Improved inspector style display
  • Improved URL rewriting
  • Improved scrolling synchronization
  • Improved event performance in Safari
  • Improved CSS parser robustness
  • Improved support for files served with wrong MIME type (e.g. fonts)
  • Improved scrolling focus
  • Fixed problem with server not starting in some contexts
  • Fixed HTTPS proxying
  • Fixed WebSocket proxying
  • Fixed crashing when Ghostlab started by dragging URL onto dock icon
  • Fixed incorrect rewriting of URLs with a port number
  • Fixed caching of responses to requests with non-safe HTTP methods
  • Fixed incorrect debugger transformation of catch variables in "else" blocks
  • Fixed QuickFill sync problem
  • Fixed ignorance towards identical repeated messages in JavaScript debugger
  • Removed CDN dependency for Ghostlab testing page

New in Ghostlab 2.0.7 (Jun 11, 2015)

  • Fixed server bug
  • Minor UI improvements

New in Ghostlab 1.2.9 (Nov 6, 2014)

  • Fixed fileserver URI decoding issue
  • Fixed bug that prevented Chrome on iOS to connect to Ghostlab
  • Prevent app nap while file watching
  • Improved soft CSS and image refresh for file watching
  • Improved support for XHR requests
  • Improved finding position for Ghostlab client script injection
  • Improved form submission
  • Improved support for IE9
  • Improved folder drag and drop support

New in Ghostlab 1.2.8 (Sep 4, 2014)

  • Added support for limiting number of outgoing HTTP connections
  • Added MIME type for .htc files when serving local sites
  • Fixed XHR URL rewriting bug for Safari
  • Improved IE8 compatibility

New in Ghostlab 1.2.7 (Jul 8, 2014)

  • Added support for using a proxy to connect to the Internet
  • Added automatic form filling
  • Added support for sites using websockets
  • Added support for html5-type charset declaration
  • Ghostlab client code now loads from separate script file
  • Improved URL rewriting on redirects and xhr requests
  • Improved support for IE8
  • Improved behavior when a server process is killed
  • Fixed bug involving iframes when saving workspaces
  • Fixed bug in local favicon display
  • Fixed visual bug when adding HTTP authentication header
  • Added the Xbox icon (for the Xbox)

New in Ghostlab 1.2.5 (May 9, 2014)

  • Introduced presentation mode (master/slave roles)
  • Only reload files on content change
  • Added site context menu
  • More fine-grained control for adding/replacing HTTP headers
  • Improved cookie handling
  • Improved URL rewriting for AJAX calls
  • Improved scrolling behavior
  • Improved support for AngularJS
  • Added support for PHP >=5.4 built-in server/Lavarel
  • Fixed file watching issues
  • Fixed site settings bug for random query parameters