Cross-Browser Testing Blog

There Are 225 Developer Tools Now!

In the last 30 days we've added another 25 tools to our web developer tools collection. There are now 225 tools. It's the largest collection of web programmer tools online. Each tool does just one thing and one thing only. There are no ads, config options, or nonsense. All tools are free and they work the same way. Press button, get result.

Here are some of the latest additions:

We keep improving these tools and soon we'll have a new design for tools, file support, embeddable widgets that let you add our tools to your own website, and of course more tools.

Have fun developing webapps!

▶ Read the full post
Opera 46 Released

Opera 46 was released today. We just installed it to our cross-browser testing platform. Opera 46 is based on Chromium 59. This new browser release is now available to all users and customers.

Cross-browser testing in Opera 46

Try Opera 46 in Browserling now!

New Features in Opera 46

  • Quality of Opera Reborn has been improved: reduced crashes, UI improvements, new background images.
  • Built-in VPN issues have been fixed.
  • Opera now supports Animated PNGs (APNGs).
  • Macbook touchbar users can enjoy an emoji-enabled input field.
  • Browser's engine has been upgraded to Chrome 59.

New Developer Features in Opera 46

  • Animated PNG

Opera now supports animated PNG, or APNG for short. APNG is a file format that works similarly to GIF. The difference is that APNG is smaller and supports both 24-bit images and 8-bit transparency.

  • SVG favicons

SVG vector format favicons now work in Opera.

  • Expensive background tab throttling

Opera now throttles expensive background tabs. This reduces the processing power required for background tabs and improves battery life and browsing performance.

  • Service worker navigation preload

The Service Worker navigation preload API enables the browser to preload navigation requests while a service worker is starting up.

Other New Developer Features in Opera 46

  • Developers can now use MediaError's message property to obtain greater detail about a MediaError produced by <audio> or <video>.
  • The Streams API has been expanded with the ability to pipe between ReadableStreams and WritableStreams via the pipeTo() and pipeThrough() methods, allowing easier consumption of streaming data.
  • The Image Capture API now allows sites to take higher resolution images than before, providing full control over camera settings such as zoom, ISO, and white balance.
  • The new worker-src Content Security Policy directive restricts which URLs may be loaded as a Worker, SharedWorker, or ServiceWorker.
  • Touch events are now aligned to requestAnimationFrame, ensuring that input is processed as part of the document lifecycle and creating a more efficient and adaptive input response.
  • To provide enhanced privacy, CSS stylesheets can now specify their own referrer policy via the HTTP header, rather than always inheriting the referrer policy of the document that originally referenced it.
  • WritableStreams are now available as part of the Streams API for processing streams of data, while providing a standard abstraction for writing streaming data to a sink with built-in backpressure and queuing.

Deprecated and removed features in Opera 44

  • Following removal from the Media Queries spec, support for hover: on-demand and any-hover: on-demand media queries have been removed.
  • To increase security, Opera will now block requests for subresources that contain embedded credentials, and instead handle them as network errors.
  • The -internal-media-controls-text-track-list CSS selectors have been removed in favor of custom-built video controls.
  • initDeviceMotionEvent() and initDeviceOrientationEvent() were removed in favor of DeviceOrientationEvent() and DeviceMotionEvent(), following a spec trend of moving away from initialization functions and toward constructors.
  • To better align with spec and help avoid race conditions, decodeAudioData now detaches the given ArrayBuffer before decoding, removing all content from the object and making it unable to be reused or examined.
  • The -internal-media-controls-cast-button CSS selector has been removed in favor of the Remote Playback API.
  • The SVGTests.requiredFeatures attribute has been removed following its removal from the spec.
  • The <dialog> element has changed from display: inline to block by default to better align with the spec.
  • To preserve consistency across browsers, the sample property will now be included in a violation report (and associated SecurityPolicyViolationEvent object) if a report-sample expression is present in the violated directive.
  • Support for Shared Dictionary Compression (SDCH) has been disabled until a stable API has been standardized.
  • The ability to call Notification.requestPermission() from non-main frames has been deprecated to align the requirements for notification permission with requirements for push notifications, and ease friction for developers.
  • To increase security, Opera will now block requests from HTTP/HTTPS documents to ftp: URLs.
  • To preserve consistency across browsers, injecting JavaScript via AppleScript is longer supported in Opera for Mac.

Happy cross-browser testing in Opera 46!

▶ Read the full post
Front End vs Back End (Comic)

We just published a new front-end vs back-end comic to our web developer comic. It went viral in a few hours and got more than 100k views.

Browserling's comic is a weekly humor comic about web developers, web designers and browsers. If you like these comics you can subscribe to updates and follow us @browserling on Twitter!

Have fun and until next time!

▶ Read the full post
Chrome 58 Added to Browser Cloud

Google just released Chrome 58 browser for Windows, Linux and Mac OSX. And we just deployed it to our cross-browser testing cloud. You can start testing your websites in this new browser version already.

Cross-browser testing in Chrome 58

Try Chrome 58 in Browserling now!

Key changes in Chrome 58

  • IndexedDB 2.0.
  • Workers and SharedWorkers in data-URLs.
  • Useful actions like "Find in page" available in apps that open web pages using Chrome. (Android)
  • More frequently updated article suggestions on the New Tab page. (Android)
  • Use recently visited search engines as your default search engine. (Android)
  • See Physical Web suggestions, based on your surroundings, in the address bar. (Android)
  • Stability improvements, bug fixes and performance improvements. (Android and iOS)

Developer features and updates in Chrome 58

  • Security: allow-top-navigation-by-user-activation <iframe sandbox> keyword - Adds a new keyword named "allow-top-navigation-by-user-activation" for iframe sandbox, which requires a user activation (or gesture) being processed to trigger a top-level navigation. This change would enable more use cases of sandboxing untrusted third-party contents (eg., ads) by allowing top navigation while blocking malicious auto-redirecting, and thus help building a safer internet (eg., a safer ads ecosystem in which all ads could be sandboxed to prevent unexpected malicious behaviors like.
  • DOM: <abbr> and <acronym> have underline by default - A dotted underline has been added by default according to the HTML standard.
  • Multimedia: Allowing autoplay unmuted in WebAPK manifest scope - In WebAPK mode, frames that are within the WebAPK manifest scope will be allowed to autoplay media unmuted.
  • CSS: Depreciate classes - CSS class names Apple-interchange-newline, Apple-converted-space, Apple-paste-as-quotation, Apple-style-span, and Apple-tab-span are now depreciated as these non-standard CSS classes are used to differentiate the span elements added by Blink itself in editing.
  • User input: ClipboardEvent Constructor - ClipboardEvent constructor is now exposed.
  • Misc: Create Workers from data: URLs - HTML specifies that data: URLs can be used to create workers with opaque origins. We should support this as a first step towards defining a sandboxing mechanism for Workers (and parity with other browsers).
  • Deprecate and Remove case-insensitive matching for usemap attribute - "Compatibility caseless" had been applied to usemap attribute matching. The specification was updated so that case-sensitive matching is applied. A deprecation warning is printed to the console starting in Chrome 57.
  • DOM: Deprecate and Remove: setting Event.cancelBubble to false - Setting cancelBubble to true is considered as an alias to stopPropagation(), and the spec indicates setting cancelBubble to false should do nothing.
  • DOM: Geometry interfaces added - Several geometry interfaces for the representation of points, rectangles, quadrilaterals and transformation matrices with the dimension of 3x2 and 4x4. SVGPoint, SVGRect and SVGMatrix will be aliased to new interfaces. Their old methods will be maintained and some new methods are introduced. In the near future, CSS transform will be updated so they can work directly with the new objects. This avoid parsing on the js side.
  • DOM: input element: selectionDirection, selectionStart, and selectionEnd attribute getters should not throw - For input types which don't support text selection API, we have thrown InvalidStateError. The specification was changed so that null is returned in such case.
  • Offline/Storage: IndexedDB 2 added - IndexedDB 2.0 introduces a few APIs that optimize some database access patterns and improve programming ergonomics. Chrome will support the full standard by shipping the following features: support for binary keys, object store and index renaming, getKey() on IDBObjectStore, getPrimaryKey() on IDBIndex.
  • Offline/Storage: IndexedDB: depreciate webkitGetDatabaseNames - The API asynchronously returns a list of existing database names in an origin, which seemed sensible enough. The design is flawed, in that the results may be obsolete as soon as they are returned, so it can really only be used for logging, not serious application logic. Not implemented in other browsers.
  • DOM: Legacy caller for HTMLEmbedElement and HTMLObjectElement removed - Interface has a legacy caller means that an instance can be called as a function. This used to be the case for HTMLEmbedElement and HTMLObjectElement but is being removed. Calling will instead throw an exception. This was deprecated in Chrome 57.
  • JavaScript: Long Task API - A performance API to enable applications to detect presence of "long tasks" that monopolize the UI thread for extended periods of time and block other critical tasks from being executed - e.g. reacting to user input.
  • User input: Mouse on Android stops firing TouchEvents - A mouse on an Android M (or later) device: (a) will no longer fire TouchEvents, and (b) will fire a consistent sequence of MouseEvents with appropriate buttons & other properties. Before this change, a low-level mouse events in Android reached blink as a touch event, hence fired a touch event then a compat mouse event if the touch event went uncanceled.
  • Multimedia: Native media controls customization - We propose extending the "controls" attribute of the HTMLMediaElement so that the website could enable/disable certain media controls without having to implement all the controls on its own. A "controlsList" property will be added reflecting the current value of "controls" similar to the "class" and "classList" on HTMLElement.
  • Network/Connectivity: Offline Previews - When users are on slow connections, Chrome will show an offline copy of a page if there is an offline version of the page available on the user's device. Users will see a message at the bottom of their screens that allows them to load the original page. If Chrome determines the network has 2G speeds and there's an offline page stored, Chrome shows the offline page. Chrome's offline pages are based on MHTML snapshots.
  • Multimedia: Pause autoplaying muted video by attribute when invisible on Android - As a muted video with autoplay attribute only starts playing when it's becoming visible, it's reasonable to pause them when invisible to reduce power usage.
  • User input: PointerEvent.getCoalescedEvents - An API to return all the coalesced events of the received events in javascript. This API enables apps like drawing app to draw smoother curves using the precise history of points.
  • Security: Remove EME from Unsecure Contexts - Chrome team is deprecating and then removing EME from insecure contexts. EME is a powerful feature that exposes DRM implementations that involve access to persistent unique identifiers, are not open source, and/or run unsandboxed or with privileged access. The risks are increased when exposed via insecure HTTP, because they could be attacked by anyone on the channel. This was deprecated in Chrome 44.
  • Security: Deprecate Insecure usage of Notifications - Remove access to the Notifications API on insecure origins. This will prevent sites from requesting notification permission or creating non-persistent local notifications over HTTP. Sites using the Notification API for web push must already be on secure origins due to the requirement for a service worker. Removal is anticipated in Chrome 61.
  • Security: Remove pre-standard ChaCha20-Poly1305 ciphers - In 2013, Chrome 31 deployed new TLS cipher suites based on Prof. Dan Bernstein's ChaCha20 and Poly1305 algorithms. This was later standardized, with small tweaks, at the IETF as RFC 7539 and RFC 7905. We shipped the standardized variant early in 2016 with Chrome 49. We are now removing the pre-standard variants.
  • Security: Deprecate content initiated top frame navigations to data URLs - Chrome team intends to block web pages from loading data: URLs in the top frame using <A> tags, window.open, window.location and similar mechanisms. Pseudo URLs such as data: are generally a source of confusion for users. Because of their unfamiliarity, these schemes are widely being used in spoofing and phishing attacks. Users browsing the web ideally should only ever end up on the two well known schemes (http and https). Deprecated in M58 Removal in M60.
  • DOM: Selection API: addRange() ignores additional ranges - In a case where document already has text selection and Selection.addRange() is called, Blink merges the Range and the existing text selection into one if they have overlap, and does nothing otherwise. We'll change it so that Blink always ignore the Range. It matches to Edge.
  • DOM: Selection API: getRangeAt() returns a Range registered by addRange() - Blink had a bug that getRangeAt() always returns a new Range with position normalization. It didn't match to Edge, Firefox, and Selection API specification.
  • DOM: Selection API: removeRange() function - Selection interface should support removeRange() function to remove the specified Range.
  • DOM: Selection API: setBaseAndExtent() throws IndexSizeError for too large offsets - setBaseAndExtent() silently clamped too large offset values. IndexSizeError should be thrown for such values to match to Firefox, Edge, and the specification.
  • DOM: Selection API: setBaseAndExtent(), extend(), and collapse() throw InvalidNodeTypeError for DOCTYPE - These function silently normalized the specified position with DOCTYPE. However, they should throw InvalidNodeTypeError to match to Edge, Firefox, and the specification.
  • DOM: Ship PointerEvent.tangentialPressure and PointerEvent.twist - Adding support of tangentialPressure and twist attributes in the pointer events API on Mac. They are supported by some stylus devices and are already used in numerous painting apps.
  • Network/Connectivity: Streams API: WritableStream - WritableStream is part of the Streams API for creating, composing, and consuming streams of data. It is the writable counterpart to ReadableStream, which is already shipping in Chrome. It provides a standard abstraction for writing streaming data to a sink, with built-in backpressure and queuing. This is expected to be on by default in Chrome 59.
  • Security: Strict Secure Cookies - This adds restrictions on cookies marked with the 'Secure' attribute. Currently, Secure cookies cannot be accessed by insecure (e.g. HTTP) origins. However, insecure origins can still add Secure cookies, delete them, or indirectly evict them. This feature modifies the cookie jar so that insecure origins cannot in any way touch Secure cookies. This does leave a carve out for cookie eviction, which still may cause the deletion of Secure cookies, but only after all non-Secure cookies are evicted.
  • Network/Connectivity: Remove support for commonName matching in Certificates - RFC 2818 describes two methods to match a domain name against a certificate - using the available names within the subjectAlternativeName extension, or, in the absence of a SAN extension, falling back to the commonName. The fallback to the commonName was deprecated in RFC 2818 (published in 2000), but support still remains in a number of TLS clients, often incorrectly.
  • JavaScript: Trailing comma in JavaScript function parameter lists - A small modification to JavaScript syntax allows trailing comma in formal parameter lists and in argument lists. For example, all the following become valid: function f(a, b,) { return a + b } let g = (a, b,) => a + b f(1, 2,) + g(3, 4,) This is expected to be available by default in Chrome 58.
  • Multimedia: Remove VTTRegion-related bits of TextTrack - The interface elements regions, addRegion() and removeRegion() have been removed from the WebVTT spec and will be removed from Chrome. The VTTCue.region property was added and the VTTRegion interface was updated to match a late version of the specification.
  • Multimedia: WebAudio: Add buffering/latency hint via playbackCategory - Currently, WebAudio will use the lowest latency possible for the audio device for the best interactive behavior. However, for some use-cases such as media playback, this causes unnecessary power and/or CPU utilization. The playbackCategory is a hint from the developer that such a latency is not required, allowing the developer to give a hint on the desired latency. Chrome will make the actual selection based on the category.
  • Multimedia: WebAudio: AudioBuffer constructor only takes one argument - Currently the AudioBuffer constructor takes two arguments: the context, and the AudioBufferOptions. The context argument is removed so that only AudioBufferOptions is required. In addition the sampleRate member of AudioBufferOptions is now required.
  • Multimedia: WebAudio: Remove AudioSourceNode interface - Remove the AudioSourceNode interface. This interface is not part of the WebAudio specification, is not constructible, and has no attributes so it basically has no user-accessible functionality.
  • Security: XSS Auditor violation report MIME type - The XSS Auditor's violation reports are now sent with a MIME type of application/xss-auditor-report (as opposed to application/json).
  • CSS: color-gamut media query - Expose the approximate range of colors supported by the user agent and the output device in a CSS Media Query.
  • CSS: display: flow-root - display: flow-root generates a block container box, and lays out its contents using flow layout. It always establishes a new block formatting context for its contents.
  • DOM: Remove webkitdropzone global attribute - The dropzone global attribute was introduced by the HTML5 drag and drop specification as a declarative method for specifying an HTML element's willingness to be the target of a drag-and-drop operation, the content types that can be dropped onto the element, and the drag-and-drop operation (copy/move/link). No browser has implemented the unprefixed version. Blink and WebKit implement a prefixed form of the attribute, webkitdropzone. We would like to remove the prefixed attribute.

Security fixes in Chrome 58

Chrome 58 includes 29 security fixes. The following fixes were disclosed by Chromium team:

  • CVE-2017-5057: Type confusion in PDFium. Credit to Guang Gong of Alpha Team.
  • CVE-2017-5058: Heap use after free in Print Preview. Credit to Khalil Zhani.
  • CVE-2017-5060: URL spoofing in Omnibox. Credit to Xudong Zheng.
  • CVE-2017-5065: Incorrect UI in Blink. Credit to Khalil Zhani.
  • CVE-2017-5062: Use after free in Chrome Apps. Credit to anonymous.
  • CVE-2017-5069: Cross-origin bypass in Blink. Credit to Michael Reizelman.
  • CVE-2017-5066: Incorrect signature handing in Networking. Credit to Prof. Zhenhua Duan, Prof. Cong Tian, and Chu Chen.
  • CVE-2017-5064: Use after free in Blink. Credit to Wadih Matar.
  • CVE-2017-5063: Heap overflow in Skia. Credit to Sweetchip.
  • CVE-2017-5059: Type confusion in Blink. Credit to SkyLined.
  • CVE-2017-5061: URL spoofing in Omnibox. Credit to Haosheng Wang.
  • CVE-2017-5067: URL spoofing in Omnibox. Credit to Khalil Zhani.

Happy cross-browser testing in Chrome 58!

▶ Read the full post
Firefox 53 Added to Browser Cloud

Mozilla released Firefox 53 today and we just installed it in our browser cloud. You can now cross-browser test your webapps and js in Firefox 53!

Browser cloud testing in Firefox 53

Try Firefox 53 in Browserling now!

Firefox 53 New Features

  • Two new compact themes available in Firefox, dark and light, based on the Firefox developer edition's theme.
  • Windows 7+ users on 64-bit OS can select 32-bit or 64-bit versions in the stub installer.
  • Lightweight themes are now applied in private browsing windows.
  • Reader Mode now displays estimated reading time for the page.
  • Improved graphics stability for Windows users with the addition of compositor process separation called quantum compositor.

Firefox 53 Changes

  • Windows XP and Vista are no longer supported. XP and Vista users running Firefox 52 will continue to receive security updates on Firefox ESR 52.
  • 32-bit Mac OS X is no longer supported. 32-bit Mac OS X users can switch to Firefox ESR 52 to continue receiving security updates.
  • Ended Firefox Linux support for processors older than Pentium 4 and AMD Opteron.
  • The last few characters of shortened tab titles fade out instead of being replaced by ellipses to keep more of the title visible.
  • Updated the design of site permission requests to make them harder to miss and easier to understand.
  • Updates for Mac OS X are smaller in size compared to updates for Firefox 52.
  • Support for WebM video with alpha, which allows playing videos with transparent backgrounds.
  • New visual design for audio and video controls.

Firefox 53 Developer Tool Changes

  • Markup view: add a visual hint between opening and closing tags of a collapsed node.
  • Added option to copy the full CSS path of an element.
  • Devtools support for css-color-4.

Firefox 53 DOM Changes

  • The URLSearchParams() constructor now accepts a USVString or sequence of USVStrings as an init object.
  • The pathname and search HTMLHyperLinkElementUtils properties previously returned the wrong parts of the URL.
  • The Permissions API now has a new permission name available called persistent-storage.

Firefox 53 CSS Changes

  • The mask-* longhand properties (see CSS Masks) are all supported and available by default.
  • Added caret-color property.
  • Enable mask longhands on SVG elements.
  • When applying a text-transform value of uppercase to Greek text, the accent on the disjunctive eta is no longer removed.
  • The -moz prefixed version of text-align-last got removed.

Firefox 53 JavaScript Changes

  • ECMAScript 2015 semantics for the Function.name properties have been implemented.
  • ECMAScript 2015 semantics for closing iterators have been implemented.
  • The static length property of TypedArray objects was changed from 3 to 0 as per ES2016.
  • The ArrayBuffer length is now limited to Number.MAX_SAFE_INTEGER.
  • The non-standard ArrayBuffer.slice() method has been removed.

Firefox 53 Workers and Service Workers Changes

  • The Network Information API is now available in workers.
  • Server-sent events can now be used from workers.
  • ExtendableEvent.waitUntil() can now be called asynchronously.

Firefox 53 Events Changes

  • The CompositionEvent constructor has been implemented.
  • CSS Transitions: The transitionstart, transitionrun, and transitioncancel events have been implemented.
  • The MouseEvent.x and MouseEvent.y aliases of MouseEvent.clientX/MouseEvent.clientY have been implemented.

Firefox 53 WebGL Changes

  • The WEBGL_compressed_texture_astc WebGL extension has been implemented.
  • The WEBGL_debug_renderer_info WebGL extension is now enabled by default.

Firefox 53 HTTP and Networking Changes

  • Support for Next Protocol Negotiation (NPN) has been removed in favor of Application-Layer Protocol Negotiation (ALPN).
  • The Large-Allocation HTTP header is now available by default, and no longer hidden behind a pref.
  • Gecko now has a pref available in about:config to allow users to set their default Referrer-Policy.

Firefox 53 security fixes

  • CVE-2017-5465: Out-of-bounds read in ConvolvePixel.
  • CVE-2017-5436: Out-of-bounds write with malicious font in Graphite 2.
  • CVE-2017-5466: Origin confusion when reloading isolated data:text/html URL.
  • CVE-2017-5439: Use-after-free in nsTArray Length() during XSLT processing.
  • CVE-2017-5445: Uninitialized values used while parsing application/http-index-format content.
  • CVE-2017-5442: Use-after-free during style changes.
  • CVE-2017-5443: Out-of-bounds write during BinHex decoding.
  • CVE-2017-5464: Memory corruption with accessibility and DOM manipulation.
  • CVE-2017-5448: Out-of-bounds write in ClearKeyDecryptor.
  • CVE-2017-5438: Use-after-free in nsAutoPtr during XSLT processing.
  • CVE-2017-5468: Incorrect ownership model for Private Browsing information.
  • CVE-2017-5446: Out-of-bounds read when HTTP/2 DATA frames are sent with incorrect data.
  • CVE-2017-5460: Use-after-free in frame selection.
  • CVE-2017-5452: Addressbar spoofing during scrolling with editable content on Firefox for Android.
  • CVE-2017-5449: Crash during bidirectional unicode manipulation with animation.
  • CVE-2017-5463: Addressbar spoofing through reader view on Firefox for Android.
  • CVE-2017-5469: Potential Buffer overflow in flex-generated code.
  • CVE-2017-5432: Use-after-free in text input selection.
  • CVE-2017-5434: Use-after-free during focus handling.
  • CVE-2017-5435: Use-after-free during transaction processing in the editor.
  • CVE-2017-5461: Out-of-bounds write in Base64 encoding in NSS.
  • CVE-2017-5455: Sandbox escape through internal feed reader APIs.
  • CVE-2017-5450: Addressbar spoofing using javascript: URI on Firefox for Android.
  • CVE-2017-5430: Memory safety bugs fixed in Firefox 53 and Firefox ESR 52.1.
  • CVE-2017-5453: HTML injection into RSS Reader feed preview page through TITLE element.
  • CVE-2017-5458: Drag and drop of javascript: URLs can allow for self-XSS.
  • CVE-2017-5433: Use-after-free in SMIL animation functions.
  • CVE-2017-5462: DRBG flaw in NSS.
  • CVE-2017-5467: Memory corruption when drawing Skia content.
  • CVE-2017-5456: Sandbox escape allowing local file system access.
  • CVE-2017-5444: Buffer overflow while parsing application/http-index-format content.
  • CVE-2017-5447: Out-of-bounds read during glyph processing.
  • CVE-2017-5429: Memory safety bugs fixed in Firefox 53, Firefox ESR 45.9, and Firefox ESR 52.1.
  • CVE-2017-5440: Use-after-free in txExecutionState destructor during XSLT processing.
  • CVE-2016-10196: Vulnerabilities in Libevent library.
  • CVE-2017-5454: Sandbox escape allowing file system read access through file picker.
  • CVE-2017-5441: Use-after-free with selection during scroll events.
  • CVE-2017-5459: Buffer overflow in WebGL.
  • CVE-2017-5451: Addressbar spoofing with onblur event.

Happy cross-browser testing in Firefox 53!

▶ Read the full post
Opera 44 Released and Deployed to Browserling (March 22, 2017)
Chrome 57 Released and available for testing (March 13, 2017)
New Feature: Quick access to latest browsers (March 10, 2017)
Firefox 52 is now available for cross-browser testing (March 7, 2017)
Chrome is a Hungry Browser (Browser comic) (March 3, 2017)
Android 7.1 Added to Browserling for Mobile Testing (March 2, 2017)
Grace Hopper (Computer Scientist Comic) (February 24, 2017)
LISP Winners (Programming comic) (February 16, 2017)
Announcing a new comic series about famous computer scientists (February 10, 2017)
Opera 43 is now available for cross-browser testing (February 7, 2017)
New comic - Programmer (February 2, 2017)
New comic - Two Floats Walk in a Bar (January 26, 2017)
Firefox 51 Cross-Browser Testing Available (January 25, 2017)
Chrome 56 Browser Testing Available (January 25, 2017)
New cartoon - Nordic Programmer (January 17, 2017)
New cartoon - Titanic and Iceberg CSS Pun (January 10, 2017)
Partying with Browsers is a Bad Idea (January 3, 2017)
Happy Holidays! (December 25, 2016)
Opera 42 is now available for online browser testing (December 13, 2016)
New comic - Hide and Seek (December 3, 2016)
Chrome 55 is now available for cross-browser testing (December 1, 2016)
New comic - Browser Wars (November 26, 2016)
New comic - Jon Maddog Hall (November 18, 2016)
Firefox 50 Testing Now Available (November 15, 2016)
New comic - Adobe Love Story (November 11, 2016)
New comic - ASCII/ANSI (November 4, 2016)
New comic - DOM and jQuery (October 28, 2016)
Opera 41 available for browser testing (October 26, 2016)
New cartoon - Euler's Number (October 21, 2016)
New cartoon - Hammer (October 14, 2016)
Chrome 54 released and deployed to browser testing cloud (October 12, 2016)
New cartoon - Bytes (October 6, 2016)
Android Nougat added to mobile browser testing cloud (October 3, 2016)
New cartoon - Peter375 (September 29, 2016)
New cartoon - Lego (September 21, 2016)
Opera 40 released and added to our testing cloud (September 20, 2016)
Firefox 49 is now available for cross-browser testing (September 20, 2016)
New cartoon - Opera (September 15, 2016)
New cartoon - Mendeleev CSS Joke (September 9, 2016)
New cartoon - Threads (September 2, 2016)
Edge 38 (aka Edge 14) released and added to our browser cloud (September 1, 2016)
Chrome 53 Available For Testing (August 31, 2016)
Happy 25th Birthday, Linux! (August 25, 2016)
New cartoon - CSS Ghost (August 18, 2016)
New cartoon - Browserling CEO (August 12, 2016)
New cartoon - Fortran (August 5, 2016)
Opera 39 released and added to browser testing cloud (August 2, 2016)
Firefox 48 released and added to browser testing cloud (August 2, 2016)
New cartoon - Big Bang (July 27, 2016)
New cartoon - Mermaid (July 21, 2016)
Chrome 52 Released and Deployed to our Browser Cloud (July 20, 2016)
New cartoon - Internet Explorer (July 14, 2016)
New cartoon - Ninja (July 7, 2016)
We've added a bunch more programmer tools! (July 1, 2016)
New cartoon - Home Sweet Home (June 30, 2016)
New cartoon - Brexit (June 23, 2016)
New cartoon - Pisa Tower (June 17, 2016)
New cartoon - Attack Vectors (June 11, 2016)
Opera 38 installed and ready for browser testing (June 8, 2016)
Firefox 47 Released (and available for web testing) (June 7, 2016)
New cartoon - Refreshments (June 4, 2016)
New cartoon - Binary (May 28, 2016)
Chrome 51 Available For Cloud Testing (May 25, 2016)
New cartoon - Titanic (May 21, 2016)
New cartoon - Home Sweet Home (May 13, 2016)
New cartoon - Computer Chips (May 6, 2016)
Opera 37 released and added to our browser-testing cloud (May 4, 2016)
New cartoon - Cold Computer (April 29, 2016)
Firefox 46 available for testing (April 26, 2016)
New cartoon - The Terminator (April 22, 2016)
New cartoon - Bitmask (April 14, 2016)
Chrome 50 is now available for web testing (April 13, 2016)
New cartoon - Dinosaurs (April 8, 2016)
New cartoon - Home Sweet Home (April 1, 2016)
New cartoon - Twins (March 24, 2016)
New cartoon - 1023MB (March 18, 2016)
Opera 36 released and deployed to our browser cloud (March 15, 2016)
Announcing Browserling's Safari Extension! (March 14, 2016)
New cartoon - Keyboard (March 9, 2016)
Firefox 45 Released and Ready for Testing (March 8, 2016)
Chrome 49 added to our cloud (March 2, 2016)
New cartoon - 4:04 AM (March 2, 2016)
Android 6.0 Marshmallow Now Available! (February 25, 2016)
New cartoon - Hobbit (February 24, 2016)
New cartoon - Java (February 17, 2016)
New cartoon - Home IPv6 (February 10, 2016)
New cartoon - SQL Query (February 3, 2016)
Opera 35 Now Available For Web Testing (February 2, 2016)
New cartoon - Computer Virus (January 27, 2016)
Firefox 44 is now available for testing (January 26, 2016)
Chrome 48 Released Today (and available for testing) (January 20, 2016)
New cartoon - Dates (January 20, 2016)
New cartoon - VIM (January 14, 2016)
We've added 7 more programming tools! (January 7, 2016)
New cartoon - Table Layout (January 6, 2016)
New cartoon - Glasses (January 1, 2016)
We've added 6 more web developer tools! (December 28, 2015)
Merry Christmas & Happy New Year from Browserling! (December 25, 2015)
New cartoon - Incognito (December 23, 2015)
New cartoon - Spaghetti (December 18, 2015)
We've added even more webdev tools! (December 17, 2015)
Firefox 43 Released! (December 15, 2015)
We've added more webdev tools! (December 10, 2015)
New cartoon - Full Stack (December 9, 2015)
Opera 34 added to our browser cloud (December 8, 2015)
Chrome 47 Added to Browserling (December 5, 2015)
New cartoon - Shopping (December 2, 2015)
Announcing Browserling's Web Developer Tools! (December 1, 2015)
New cartoon - Newspaper (November 25, 2015)
We added a new cartoon to our web comic - Home (November 18, 2015)
New web cartoon - SEO Expert (November 11, 2015)
Announcing Browserling's Firefox Extension! (November 5, 2015)
New web cartoon - Bathroom (November 5, 2015)
Firefox 42 Installed In Our Browser Testing Cloud (November 3, 2015)
Announcing Browserling's Opera Addon! (October 30, 2015)
New cartoon - Browser History (October 28, 2015)
Opera 33 available for cross-browser testing (October 27, 2015)
New cartoon - Cookie Monster (October 21, 2015)
Chrome 46 Added to Browserling (October 15, 2015)
New cartoon - Java Cafe (October 14, 2015)
A new webdev cartoon: Internet Explorer (October 5, 2015)
A new webdev cartoon: Hotel (September 30, 2015)
A new webdev cartoon: Bar (September 29, 2015)
Announcing Browserling's Webcomic! (September 28, 2015)
Mozilla Firefox 41 Released and Added to Browserling (September 22, 2015)
More Web Developer Jokes (September 17, 2015)
Opera 32 Released and Added to Browserling (September 15, 2015)
Web Developer Jokes (September 7, 2015)
Chrome 45 Released and Added to Browserling (September 1, 2015)
Browserling now has bookmarklets! (August 28, 2015)
Mozilla Firefox 40 Released and Added to Browserling (August 11, 2015)
Opera 31 Released and Added to Browserling (August 6, 2015)
Announcing Browserling's Chrome Extension! (August 5, 2015)
Browser sharing URL scheme now includes OS platform (July 30, 2015)
Announcing quick /b/ (browse) URLs (July 25, 2015)
Bug Hunter now has Imgur support (July 24, 2015)
Chrome 44 Released and Added to Browserling (July 21, 2015)
Announcing Browserling's Bug Hunter! (July 9, 2015)
Mozilla Firefox 39 Released and Added to Browserling (July 2, 2015)
Live API now supports Windows 8.1 (June 26, 2015)
Browserling now has Windows 8.1 support (June 16, 2015)
Opera 30 Released and Added to Browserling (June 10, 2015)
Live API now supports multiple OS platforms (June 9, 2015)
Browserling now supports multiple operating systems (June 5, 2015)
Chrome 43 Added to Browserling (May 20, 2015)
Firefox 38 Added to Browserling (May 12, 2015)
Live API now supports right click and middle click (wheel click) (May 8, 2015)
Introducing short URLs (May 7, 2015)
Right Click and Wheel Click Now Work in Browserling (May 5, 2015)
New Feature - Browser Sharing through Tools (May 1, 2015)
Opera 29 Added to Browserling (April 29, 2015)
Announcing Browserling's Live API (April 20, 2015)
Google Chrome 42 Added to Browserling (April 14, 2015)
Fog Creek Software Interview with Browserling's Co-Founder and CEO (April 6, 2015)
Firefox 37 Added to Browserling (March 31, 2015)
New Feature - Basic Screenshots (March 26, 2015)
New Feature - On-Screen Keyboard (March 25, 2015)
Android 5.1 Lollipop Added! (March 20, 2015)
Opera 28 Added to Browserling (March 10, 2015)
Google Chrome 41 Added to Browserling (March 4, 2015)
Firefox 36 Added to Browserling (February 25, 2015)
Local Cross-Browser Testing Tutorial for Linux and Mac (February 18, 2015)
Local Cross-Browser Testing Tutorial for Windows (February 14, 2015)
New Security Feature - Login Rate Limiting (February 7, 2015)
Opera 27 Added to Browserling (January 28, 2015)
Chrome 40 Added to Browserling (January 27, 2015)
Firefox 35 Now Available (January 13, 2015)
Android 4.4 KitKat Added! (December 29, 2014)
Browserling's now much faster - We've upgraded servers to SSDs and 2xRAM and 2xCPU (December 7, 2014)
Opera 26 Added to Browserling (December 3, 2014)
Firefox 34 Now Available (December 1, 2014)
We've added Android 5.0 Lollipop to Browserling (November 25, 2014)
Chrome 39 Added to Browserling (November 18, 2014)
New Pricing Signup Form (November 5, 2014)
Opera 25 Added to Browserling (October 15, 2014)
Firefox 33 Added (October 13, 2014)
Chrome 38 Now Available (October 8, 2014)
Browser Sharing URL Scheme (September 20, 2014)
Opera 24 Now Available (September 4, 2014)
Firefox 32 Added to Browserling (September 3, 2014)
Chrome 37 Added to Browserling (August 26, 2014)
Opera 23 Now Available (July 25, 2014)
Firefox 31 Now Available at Browserling (July 24, 2014)
Chrome 36 Added to Browserling (July 16, 2014)
We just added Firefox 30 to Browserling (June 11, 2014)
Opera 22 Now Available (June 3, 2014)
Chrome 35 Now Available (May 20, 2014)
Opera 21 Added to Browserling (May 6, 2014)
Firefox 29 Added for Testing (April 29, 2014)
Chrome 34 Added to Browserling (April 10, 2014)
Firefox 28 Added for Browser Testing (March 18, 2014)
Opera 20 Added to Browserling (March 5, 2014)
Chrome 33 Added to Browserling (February 21, 2014)
Firefox 27 Added for Cloud Testing (February 4, 2014)
Internet Explorer 11 Added to Browserling (January 30, 2014)
Opera 19 Released (January 29, 2014)
Chrome 32 Added to Browserling (January 14, 2014)
Firefox 26 Added to Browserling (December 10, 2013)
Opera 18 Added to Browser Cloud (November 19, 2013)
Chrome 31 Just Added! (November 12, 2013)
Mozilla Firefox 25 Released (October 29, 2013)
Opera 17 Released and Added to Our Testing Cloud (October 8, 2013)
Chrome 30 Now Available (October 2, 2013)
Firefox 24 Released (September 17, 2013)
Opera 16 Added to Browser Testing Cloud (August 27, 2013)
Chrome 29 Added for Web Testing (August 20, 2013)
Firefox 23 Released (August 6, 2013)
Chrome 28 Added to Cloud Testing Platform (July 9, 2013)
Opera 15 Released (Opera Switches to Chrome!) (July 2, 2013)
Chrome 27 Available for Browser Testing (May 21, 2013)
Chrome 26 Added to Browserling (March 26, 2013)
Google Chrome 25 Released (February 21, 2013)
Chrome 24 Released (January 10, 2013)
We just added Internet Explorer 10 (December 11, 2012)
Chrome 23 Released (November 6, 2012)