Cross-Browser Testing Blog

Chrome 90 Released - What's new?

Today, Google released the 90th version of its Chrome browser. We just installed it on our browser cloud and you can already start testing in it. In this post, we'll summarize the latest features in this new browser version.

Chrome 90 Version

What's New in Chrome 90

  • A new value for the CSS overflow property.
  • The Feature Policy API has been renamed to Permissions Policy.
  • A new way to implement and use Shadow DOM directly in HTML.
  • Chrome's address bar now uses https:// by default.
  • AV1 encoder that is specifically optimized for video conferencing with WebRTC integration.
  • Removal of Content Security Policy directive plugin-types.
  • Removal of WebRTC RTP data channels.
  • Return of empty for navigator.plugins and navigator.mimeTypes.
  • And as always, a number of tiny fixes and improvements.

Detailed Changes in Chrome 90

  • AV1 Encoder - This feature ships an AV1 encoder in Chrome desktop, specifically optimized for video conferencing with WebRTC integration. AV1 encode is requested by a number of RTC applications, including Duo, Meet, and Webex. The primary benefits of AV1 are better compression, better quality on low bandwidth connections, efficient screen sharing compared to VP9 and other codecs.
  • AbstractRange superclass - The bits shared between StaticRange and Range objects are put on a shared superclass named AbstractRange.
  • Add support for CSS properties "overflow: clip" and "overflow-clip-margin" - Adds two CSS features. The 'clip' value results in a box's content being clipped to the box's overflow clip edge. In addition, no scrolling interface is provided, and the content can not be scrolled by the user or programmatically. The overflow-clip-margin property enables specifying how far outside the bounds an element is allowed to paint before being clipped.
  • Block HTTP port 554 - Connections to HTTP, HTTPS or FTP servers on port 554 will fail. This is a mitigation for the NAT Slipstream 2.0 attack. It helps developers by keeping the web platform safe for users.
  • CSS aspect-ratio interpolation - The aspect-ratio property allows automatically computing the other dimension if only one of width and height is specified on any element. This property was originally launched as non-interpolable (meaning that it would snap to the target value) when animated.
  • Clipboard: read-only files support - This proposes to expose read-only files on the clipboard to renderers using a similar approach to drag-and drop. Renderers will have access to read file paths from the clipboard, but not write paths to the clipboard. For file paths on the clipboard, renderers will have read-only access.
  • Custom state pseudo class - The feature lets custom elements expose their states via the :state() CSS pseudo class.
  • Declarative Shadow DOM - A declarative API to allow the creation of #shadowroot's using only HTML and no Javascript.
  • Protect application/x-protobuffer via Cross-Origin-Read-Blocking - Protect application/x-protobuffer from speculative execution attacks by adding it to the list of never sniffed MIME types used by Cross-Origin-Read-Blocking. The application/x-protobuf is already protected as a never sniffed mime type and it's another commonly used MIME type that is defined as an "ALT_CONTENT_TYPE" by the protobuf library.
  • Read Chrome device attributes - Device Attributes Web API is a subset of Device Web API, that provides to web applications the capability to query device information (device ID, serial number, location, etc).
  • Remove Content Security Policy directive 'plugin-types' - The directive 'plugin-types' allows developer to restrict which types of plugin can be loaded via <embed> or <object> html elements. The main point was to allow developer to block Flash in their pages. But Flash support has been discontinued, so there is not much point in this anymore.
  • Remove WebRTC RTP data channels - Removes support for the non-standard RTP data channels in WebRTC. Users should use the standard SCTP-based data channels instead.
  • Remove clamping of setTimeout(fn, 0) - Calls to setTimeout(fn, 0) were previously clamped to a 1 ms timeout, instead of resulting in a callback as soon as possible.
  • Seeking past the end of a file in the File System Access API - Rather than rejecting when trying to write past the end of a file, require extending a file with some number of 0x00 (NUL) bytes instead. This enables creating sparse files and greatly simplifies saving content to a file when the data to be written is received out of order.
  • StaticRange constructor - Currently, Range is the only constructible range type available to web authors. However, Range objects are "live" and maintaining them can be expensive. For every tree change, all affected Range objects need to be updated. StaticRange objects are not live and represent a lightweight range type that is not subject to the same maintenance cost as Range. By making StaticRange constructible, we will allow web authors to use them for ranges that do not need to be updated on every DOM tree change.
  • Support specifying width/height on <source< elements for <picture< - This feature allows specifying a width and height on <source> elements that are used in <picture>, which allows the image to compute an aspect ratio from these attributes.
  • New restrictions for file URLs - Aligns behavior with the standard in edge cases when changing the URL protocol to or from "file". Previously, attempting to change the protocol of a URL with credentials or a port to "file" would lead to an invalid URL. Similarly, attempting to change a URL with no host from "file" to "http" would lead to an invalid URL. Now the invalid change will be ignored for consistency with other browsers. This affects the "protocol" attribute on the URL API, location, and <a> and <area> elements.
  • Use focus-visible in the default UA style sheet - Change the Chromium default UA style sheet to use :focus-visible instead of :focus pseudo-class to paint the focus indicator (outline). This will avoid that elements show a focus indicator (because they're focused and match :focus) while they don't match :focus-visible.
  • WebAssembly Exception Handling - This feature is adding exception support to WebAssembly. Exception handling allows code to break control flow when an exception is thrown. The exception can be any exception known by the WebAssembly module, or it may be an unknown exception that was thrown by a called imported function.
  • OscillatorOptions.periodicWave in WebAudio is not nullable - It is no longer possible to set the periodicWave member of OscillatorOptions to null. The WebAudio spec doesn't allow this, so we're aligning Chrome with the spec and also Firefox, which has implemented this correctly for 4 years.
  • WebXR AR Lighting Estimation - Allows sites to query for estimates of the environmental lighting conditions within WebXr sessions. This exposes both spherical harmonics representing the ambient lighting, as well as a cubemap texture representing "reflections". Adding Lighting Estimation can help to make your models feel more natural and like they "fit" better with the user's environment. This can make them feel more "real" or "natural".
  • WebXR Depth API - The Depth API is an extension to WebXR Device API that allows applications access to depth buffer information that conveys information about the user's environment, with primary focus on Augmented Reality scenarios. By leveraging the depth API, web applications could offer more immersive AR experiences to their users.

Security Fixes in Chrome 90 Release

  • High CVE-2021-21201: Use after free in permissions (reported by Gengming Liu and Jianyu Chen).
  • High CVE-2021-21202: Use after free in extensions (reported by David Erceg).
  • High CVE-2021-21203, 21204: Use after free in Blink (reported by Asnine, Chelse Tsai-Simek, Jeanette Ulloa, and Emily Voigtlander).
  • High CVE-2021-21205: Insufficient policy enforcement in navigation (reported by Alison Huffman).
  • High CVE-2021-21221: Insufficient validation of untrusted input in Mojo (reported by Guang Gong of Alpha Lab).
  • Medium CVE-2021-21207: Use after free in IndexedDB (reported by Koocola and Nan Wang).
  • Medium CVE-2021-21208: Insufficient data validation in QR scanner (reported by Ahmed Elsobky).
  • Medium CVE-2021-21209: Inappropriate implementation in storage (reported by Tom Van Goethem).
  • Medium CVE-2021-21210: Inappropriate implementation in Network (reported by Bananabr).
  • Medium CVE-2021-21211: Inappropriate implementation in Navigation (reported by Akash Labade).
  • Medium CVE-2021-21212: Incorrect security UI in Network Config UI (reported by Hugo Hue and Sze Yiu Chau).
  • Medium CVE-2021-21213: Use after free in WebMIDI (reported by Raven).
  • Medium CVE-2021-21214: Use after free in Network API (reported by Anonymous).
  • Medium CVE-2021-21215, 21216: Inappropriate implementation in Autofill (reported by Abdulrahman Alqabandi).
  • Low CVE-2021-21217, 21218, 21219: Uninitialized Use in PDFium (reported by Zhou Aiting).

Have fun cross-browser testing in Chrome 90!

▶ Read the full post
Chrome 89 Released - What's new?

Excellent news - Chrome 89 was released today by Google. Once we read the news, we rushed to install it to our cross-browser testing platform. You can start testing your applications in the new version starting now.

Chrome 89 Version

What's New in Chrome 89

  • WebHID, WebNFC, and Web Serial are now available.
  • Closed a loophole a few developers used to skirt the PWA installability checks.
  • The arrival of Web Share and Web Share Target.
  • Chrome now allows top level await within JavaScript modules.
  • Updated icon shown in the omnibox for installable PWAs.
  • Allowed users to sign up for the Digital Goods API origin trial if they have used a Trusted Web Activity to make their PWA available in the Play Store for Chrome OS.
  • Removal of legacy prefixed events (webkitprerenderstart, webkitprerenderstop, webkitprerenderload, and webkitprerenderdomcontentloaded) dispatched on <link rel=prerender>.
  • Stopped cloning sessionStorage for windows opened with noopener number.
  • Dropped support for older x86 processors that don't support SSE3.

Detailed Changes in Chrome 89

  • SameParty cookie attribute - Allows sites to indicate which cookies are allowed to be set or sent in contexts where all ancestor frames belong to the same First-Party Set.
  • CSS keywords 'disclosure-open' and 'disclosure-closed' - CSS property 'list-style-type' supports two new keywords 'disclosure-open' and 'disclosure-closed'. In an element with display:list-item, the disclosure-open keyword shows a symbol indicating a widget like <details> is opened. The disclosure-closed keyword shows a symbol indicating a widget like <details> is closed.
  • Use 'display: list-item' for <summary> by default - The default value of CSS display property for <summary> is changed to list-item from block.
  • Encode CBR audio files with MediaRecorder - Adds support for hard constant bitrate (CBR) mode of the Opus encoder when CBR mode is used for MediaRecorder. Without this change it is impossible to encode compressed constant bitrate audio files with the MediaRecorder.
  • Always fallback to network in AppCache controlled pages - All AppCache manifests are treated as if they contain "*" in their network section. This effectively means that we will always fallback to the network if a resource is not otherwise specified in the AppCache manifest.
  • CSS ::target-text pseudo-element - Added a highlight pseudo-element to allow authors to style scroll-to-text fragments different from the default UA highlighting.
  • CSS flow-relative corner rounding properties - Added support for the flow-relative corner-rounding properties following CSS logical properties and values spec. The following logical properties are now included: border-start-start-radius, border-start-end-radius, border-end-start-radius, and border-end-end-radius.
  • Cross-origin opener policy reporting API - Adds a reporting API to help developers deploy cross-origin opener policy.
  • Element Reflection - This feature allows for ARIA relationship attributes to be reflected in IDL as element references rather than DOMStrings.
  • Expose ReadableStreamDefaultController interface - The Streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. Chrome now exposes the ReadableStreamDefaultController interface on the global object, as with the other ReadableStream-related classes. This will align Blink with the current version of the Streams API Standard and consensus among the developer community.
  • Federated Learning of Cohorts - The FLoC API would enable ad-targeting based on the user's general browsing interest, without the websites knowing their exact browsing history. In today's web, people's interests are typically inferred based on observing what sites or pages they visit, which relies on tracking techniques like third-party cookies. User privacy could be better protected if this can be accomplished without needing to collect a particular individual's exact browsing history.
  • First-party sets - Introduces a mechanism by which a set of registrable domains (a "First-Party Set") can declare themselves to be the same "party" or entity, such as web properties owned by the same company, or domains with different ccTLDs used by the same website. A First-Party Set applies to all HTTPS origins with a registrable domain that is the owner or a member element of the set. This proposal is for a simplified initial prototype.
  • Forced colors mode - Adds the 'forced-colors' media feature, which is used to detect if the user agent has enabled a forced colors mode where it enforces a user-chosen limited color palette on the page. Adds the 'forced-color-adjust' property, which allows authors to opt particular elements out of forced colors mode, restoring full control over the colors to CSS.
  • Import maps - Import maps allows control over what URLs get fetched by JavaScript import statements and import() expressions.
  • Network State Partitioning - Partition network state by the network partition key (which consists of top frame site and possibly frame site), to protect against cross-site tracking through the use of side channels. "Network State" here includes connections (H1, H2, H3, websocket), the DNS cache, ALPN/H2 support data, TLS/H3 resumption information, Reporting/NEL configuration and uploads, and Expect-CT information.
  • Remove prefixed events for <link rel=prerender> - Remove legacy prefixed events (webkitprerenderstart, webkitprerenderstop, webkitprerenderload, and webkitprerenderdomcontentloaded) dispatched on <link rel=prerender>.
  • Schemeful same-site - Modifies the definition of same-site for cookies such that requests on the same registrable domain but across schemes are considered cross-site instead of same-site. For example, http://site.example and https://site.example will now be considered cross-site to each other.
  • Sec-CH-UA Client Hints - The set of Sec-CH-UA-* client hints aims to deprecate and replace the User-Agent header in order to reduce the passive fingerprinting surface we expose via HTTP requests.
  • Stop cloning sessionStorage for windows opened with noopener - When a window is opened with noopener, Chrome should not clone the sessionStorage of its opener; it should instead start from an empty sessionStorage namespace.
  • Streams API: Byte Streams - The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. For streams representing bytes, an extended version of the readable stream is provided to handle bytes efficiently, in particular by minimizing copies.
  • Support for full 'filter' property syntax on SVG elements - Allows the full syntax of the 'filter' property to be used on SVG elements which previously only supported single url(...) references. This allows filter functions such as blur(...), sepia(...), and grayscale(...) to apply to SVG elements as well as non-SVG elements. It makes the platform support for 'filter' more uniform and allows for easier application of some "canned" effects.
  • Top-level await - Allow the await keyword at the top-level within JavaScript modules.
  • Web NFC - Web NFC aims to provide sites the ability to read and write to NFC tags when they are brought in close proximity to the user's device (usually 5-10 cm, 2-4 inches). The current scope is limited to NDEF, a lightweight binary message format. Low-level I/O operations (e.g. ISO-DEP, NFC-A/B, NFC-F) and Host-based Card Emulation (HCE) are not supported within the current scope.
  • Web Serial API - The Serial API provides an interface for connecting to serial devices, either through a serial port on the user's system or removable USB and Bluetooth devices that emulate a serial port. This API has been requested by the hardware developer community, especially developers building educational tools, as a companion to the WebUSB API because operating systems require applications to communicate with USB-based serial ports using their higher-level serial API rather than the low-level USB API.
  • Web Share API - Web Share is an API for sharing data (text, URLs, images) from the web to an app of the user's choosing.
  • Web Share API Level 2 - Web Share API Level 2 allows sharing of files from the web to an app of the user's choosing. The API enables web developers to build share buttons that display the same system share dialog boxes used by native applications. Level 1 enabled system share dialogs; however only text and urls could previously be shared.
  • Web Share Target - Web Share Target allows websites to receive shared data (text, URLs, images) and register to be choosable by the user as targets from sharing contexts, including (but not limited to) Web Share.
  • Web Share Target Level 2 - Installed web applications can now receive file shares, e.g. images. Using the manifest, the web application can declare which MIME types and/or file extensions it accepts.
  • WebAuthentication API: ResidentKeyRequirement and credProps extension - Adds support for the AuthenticatorSelectionCriteria.residentKey property to specify during Web Authentication API (WebAuthn) credential registration whether a client-side discoverable credential should be created. Also adds support for the WebAuthn "credProps" extension, which indicates to the Relying Party whether a created credential is client-side discoverable.
  • WebHID (Human Interface Device) - Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor.
  • Value navigator.webdriver is false when automation is not enabled. - Prior to this change, Chromium only exposed navigator.webdriver when the browser was being automated. However, other browsers expose it unconditionally per the spec, with the value false in case the browser is not being automated.
  • New web manifest field 'display_override' - Adds a new advanced field to the web manifest, "display_override", where a developer with special requirements can specify an explicit display fallback chain they would like applied.
  • Add performance.measureUserAgentSpecificMemory() - The feature adds a performance.measureUserAgentSpecificMemory() function that estimates the memory usage of the web page. The website needs to be cross-origin isolated to use the API.

Security Fixes in Chrome 89 Release

  • High CVE-2021-21159: Heap buffer overflow in TabStrip (reported by Khalil Zhani).
  • High CVE-2021-21160: Heap buffer overflow in WebAudio (reported by Marcin 'Icewall' Noga).
  • High CVE-2021-21161: Heap buffer overflow in TabStrip (reported by Khalil Zhani).
  • High CVE-2021-21162: Use after free in WebRTC (reported by Anonymous).
  • High CVE-2021-21163: Insufficient data validation in Reader Mode (reported by Alison Huffman).
  • High CVE-2021-21164: Insufficient data validation in Chrome for iOS (reported by Muneaki Nishimura).
  • High CVE-2021-21165, 21166: Object lifecycle issue in audio (reported by Alison Huffman).
  • Medium CVE-2021-21167: Use after free in bookmarks (reported by Leecraso and Guang Gong).
  • Medium CVE-2021-21168: Insufficient policy enforcement in appcache (reported by Luan Herrera).
  • Medium CVE-2021-21169: Out of bounds memory access in V8 (reported by Bohan Liu and Moon Liang).
  • Medium CVE-2021-21170: Incorrect security UI in Loader (reported by David Erceg).
  • Medium CVE-2021-21171: Incorrect security UI in TabStrip and Navigation (reported by Irvan Kurniawan).
  • Medium CVE-2021-21172: Insufficient policy enforcement in File System API (reported by Maciej Pulikowski).
  • Medium CVE-2021-21173: Side-channel information leakage in Network Internals (reported by Tom Van Goethem).
  • Medium CVE-2021-21174: Inappropriate implementation in Referrer (reported by Ashish Gautam Kamble).
  • Medium CVE-2021-21175: Inappropriate implementation in Site isolation (reported by Jun Kokatsu).
  • Medium CVE-2021-21176: Inappropriate implementation in full screen mode (reported by Luan Herrera).
  • Medium CVE-2021-21177: Insufficient policy enforcement in Autofill (reported by Abdulrahman Alqabandi).
  • Medium CVE-2021-21178: Inappropriate implementation in Compositing (reported by Japong).
  • Medium CVE-2021-21179: Use after free in Network Internals (reported by Anonymous).
  • Medium CVE-2021-21180: Use after free in tab search (reported by Abdulrahman Alqabandi).
  • Medium CVE-2020-27844: Heap buffer overflow in OpenJPEG (reported by Sean Campbell).
  • Medium CVE-2021-21181: Side-channel information leakage in autofill (reported by Xu Lin, Panagiotis Ilia, and Jason Polakis).
  • Low CVE-2021-21182: Insufficient policy enforcement in navigations (reported by Luan Herrera).
  • Low CVE-2021-21183: Inappropriate implementation in performance APIs (reported by Takashi Yoneuchi).
  • Low CVE-2021-21184: Inappropriate implementation in performance APIs (reported by James Hartig).
  • Low CVE-2021-21185: Insufficient policy enforcement in extensions (reported by David Erceg).
  • Low CVE-2021-21186: Insufficient policy enforcement in QR scanning (reported by Dhirajkumarnifty).
  • Low CVE-2021-21187: Insufficient data validation in URL formatting (reported by Kirtikumar Anandrao Ramchandani).
  • Low CVE-2021-21188: Use after free in Blink (reported by Woojin Oh).
  • Low CVE-2021-21189: Insufficient policy enforcement in payments (reported by Khalil Zhani).
  • Low CVE-2021-21190: Uninitialized Use in PDFium (reported by Zhou Aiting).

Have fun cross-browser testing in Chrome 89!

▶ Read the full post
Chrome 88 Released - What's new?

Chrome 88 is here! It was just pushed to Google's browser update servers and we downloaded and installed it on our servers. You can start testing your websites in this new version. Here's what's new in Chrome 88.

Chrome 88 Version

What's New in Chrome 88

  • Users can now upload extensions using manifest v3 to the Chrome Web Store.
  • CSS aspect-ratio property.
  • Heavy throttling of chained JavaScript timers.
  • Play billing in Trusted Web Activity.
  • To conform to a change in the HTML standard, anchor tags with target="_blank" will now imply rel="no-opener" by default.
  • Pointer Lock API allows users to disable mouse acceleration.
  • Function addEventListener() now takes an Abort Signal as an option.
  • No popups during page unload.
  • Web Components v0 are removed.
  • Dropped support for OS X Yosemite.
  • FTP support is now disabled.

Detailed Changes in Chrome 88

  • AbortSignal in addEventListener - This feature adds a new AbortSignal option, named "signal", to the options parameter of addEventListener(). The "signal" option must first be created by an AbortController by accessing the "signal" property on an AbortController instance. Once the signal is passed in to addEventListener, calling "abort()" on the AbortController will remove the event listener added with addEventListener.
  • Anchor target=_blank implies rel=noopener by default - To mitigate "tab-napping" attacks, in which a new tab/window opened by a victim context may navigate that opener context, the HTML standard changed to specify that anchors that target _blank should behave as if rel="noopener" is set. A page wishing to opt out of this behavior may set rel="opener".
  • CSS automatic hyphenation for Windows/Linux/ChromeOS - Blink supports manual and none values of the CSS hyphens property since M55, but auto, which enables the automatic hyphenation, is supported only on Android and Mac.
  • CSS selectors: pseudo-classes :is() and :where() - The matches-any pseudo-class, :is(), is a functional pseudo-class taking a selector list as its argument. It represents an element that is represented by its argument.
  • CSS selectors: complex :not() - Allows complex selectors inside the :not() pseudo class, such as :not(.a + .b .c).
  • CSS aspect-ratio property - Normally, only certain replaced elements have an aspect ratio, particularly images. For them, if only one of width and height is specified, the other can be computed from it using the intrinsic aspect ratio.
  • Deprecate FTP support - Deprecate and remove support for FTP URLs. The current FTP implementation in Google Chrome has no support for encrypted connections (FTPS), nor proxies. Usage of FTP in the browser is sufficiently low that it is no longer viable to invest in improving the existing FTP client.
  • Don't clear adoptedStyleSheets on adoption to/from <template> - When adopting a shadow root into a <template> document from a document that the <template> is in (or vice versa), we will no longer clear its adoptedStyleSheets.
  • ElementInternals.shadowRoot attribute - A new attribute on ElementInternals, 'shadowRoot', allows custom elements to access their own ShadowRoot, regardless of open/closed status. Additionally, further restrictions are added to the attachInternals() API to ensure that custom elements get the first chance to attach the ElementInternals interface. With this change, the attachInternals() function will throw an exception if called prior to the custom element constructor being run.
  • Flash player support - Remove support for Flash Player from Chromium in alignment with Adobe's planned end of life on January 12th, 2021.
  • Limit characters allowed in extensions in File System Access API file pickers - To improve security, the File System Access API's showOpenFilePicker() and showSaveFilePicker() methods will limit what characters are allowed in extensions for accepted file types. Specifically only A-Z, a-z, 0-9, + and . will be allowed, extensions can't end in .local or .lnk, and can't be more than 16 characters long.
  • Make "type" optional in WakeLock.request() - Make the "type" parameter in WakeLock.request() optional and defaulting to "screen", which is the only allowed value at the moment. In other words, the following two code snippets would do the exact same thing: navigator.wakeLock.request() and navigator.wakeLock.request("screen").
  • Origin-keyed agent clusters - Origin-keyed agent clusters allows developers to opt in to giving up certain cross-origin same-site access capabilities - namely synchronous scripting via document.domain, and postMessage()ing WebAssembly.Module instances. This gives the browser more flexibility in implementation technologies. In particular, in Chrome, we will use this as a hint to put the origin in its own process, subject to resource or platform limitations.
  • Permissions-Policy header - The Permissions-Policy HTTP header replaces the existing Feature-Policy header for controlling delegation of permissions and powerful features. The header uses a structured syntax, and allows sites to more tightly restrict which origins can be granted access to features.
  • Add RTCRtpTransceiver.stop() - Transceivers allow the sending and/or receiving of media in WebRTC. Stopping a transceiver makes it permanently inactive.
  • Shared Array Buffers (SABs) on Android - Adds the JavaScript type SharedArrayBuffer to Android gated behind COOP/COEP. The concept of a SharedArrayBuffer is that a message to a worker, is posted but instead of copying the content of the array just a reference to it is shared, so that all have the same view on the shared chunk of data in the memory.
  • WebAuthn: Large blob storage extension (largeBlob) - Adds support for the WebAuthn largeBlob client authenticator extension. This extension allows relying parties to store opaque data associated to a credential.
  • WebXR dynamic viewport scaling - Applications can optionally render to a subset of the WebXR viewport, using a scale factor that can be changed every animation frame. This is intended to be more efficient than resizing the full framebuffer which requires reallocation, and the UA can supply a recommended scale factor based on internal heuristics.
  • path() support in clip-path CSS property - So far clip-path only supported other basic shapes (circle, ellipse, polygon, url). This adds support for path() as a value.

Security Fixes in Chrome 88 Release

  • Critical CVE-2021-21117: Insufficient policy enforcement in Cryptohome (reported by Rory McNamara).
  • High CVE-2021-21118: Insufficient data validation in V8 (reported by Tyler Nighswander).
  • High CVE-2021-21119: Use after free in Media (reported by Anonymous).
  • High CVE-2021-21120: Use after free in WebSQL (reported by Nan Wang and Guang Gong).
  • High CVE-2021-21121: Use after free in Omnibox (reported by Leecraso and Guang Gong).
  • High CVE-2021-21122: Use after free in Blink (reported by Renata Hodovan).
  • High CVE-2021-21123: Insufficient data validation in File System API (reported by Maciej Pulikowski).
  • High CVE-2021-21124: Potential user after free in Speech Recognizer (reported by Chaoyang Ding).
  • High CVE-2021-21125: Insufficient policy enforcement in File System API (reported by Ron Masas).
  • High CVE-2020-16044: Use after free in WebRTC (reported by Ned Williamson).
  • Medium CVE-2021-21126, 21127: Insufficient policy enforcement in extensions (reported by David Erceg and Jasminder Pal Singh).
  • Medium CVE-2021-21128: Heap buffer overflow in Blink (reported by Liang Dong).
  • Medium CVE-2021-21129, 21130, 21131: Insufficient policy enforcement in File System API (reported by Maciej Pulikowski)
  • Medium CVE-2021-21132: Inappropriate implementation in DevTools (reported by David Erceg).
  • Medium CVE-2021-21133: Insufficient policy enforcement in Downloads (reported by Wester0x01).
  • Medium CVE-2021-21134: Incorrect security UI in Page Info (reported by Wester0x01).
  • Medium CVE-2021-21135: Inappropriate implementation in Performance API (reported by ndevtk).
  • Low CVE-2021-21136: Insufficient policy enforcement in WebView (reported by Shiv Sahni, Movnavinothan V, and Imdad Mohammed).
  • Low CVE-2021-21137: Inappropriate implementation in DevTools (reported by bobblybear).
  • Low CVE-2021-21138: Use after free in DevTools (reported by Weipeng Jiang).
  • Low CVE-2021-21139: Inappropriate implementation in iframe sandbox (reported by Jun Kokatsu).
  • Low CVE-2021-21140: Uninitialized Use in USB (reported by David Manouchehri).
  • Low CVE-2021-21141: Insufficient policy enforcement in File System API (reported by Maciej Pulikowski).

Have fun cross-browser testing in Chrome 88!

▶ Read the full post
Firefox 84 Released - What's new?

Firefox 84 has been released today on December 15, 2020, and as always, we are here to introduce you with the latest features and improvements to help you befriend your browser. We have also installed it to our browser cloud, so you can already start testing your apps in this new Firefox version.

Firefox 84 About Dialog

Try Browserling on Firefox 84 now!

New Introductions in Firefox 84

  • Native macOS Support: Firefox 84 has brought the native support for macOS, which is built with Silicon CPU. This major update from Firefox 83 makes its browser operations faster and puts less load on the CPU. Mozilla claims that the Firefox launches 2.5 times faster with this update as compared to the Firefox 83.
  • WebRender Support Extended in Windows: The WebRender Support has been extended to macOS Big Sur, Windows devices running Intel Gen 6 CPU and Windows 7 and 8 running systems. WebRender makes the rendering of the web page faster and smoother.
  • Linux Gets Improved Performance: The Linux operating system's shared memory allocation techniques have been improved. This brings out a faster Firefox in Linux and lowers the load on the CPUs.
  • Support for Adobe Flash: Mozilla has announced that Firefox 84 release will be the final release that supports Adobe Flash.

Developer's Corner

The following section demonstrates the changes that affect web developer's work.

Developer Tools Changes

  • Keyboard tab order is now displayed on the web page for better accessibility. Key tab order is a way to navigate through the page with the help of tab when conventional mouse and keyboards do not work.

CSS Changes

  • Support for ::not pseudo class has been added.

JavaScript Changes

  • The argument fractionalSecondDigits (the number of digits used to represent the fraction of a second) has been added to be used from Firefox 84.

Security Changes

  • The localhost URLs will refer to the loopback ip address (127.0.0.1), increasing the overall security of the connection.

API Inclusions

  • The PerformancePaintTiming interface of the Paint Timing API has been included.
  • The browsingData.remove() API supports the removal of a subset of data types by cookieStoreId.

Media Changes

  • If the number of tracks being recorded changes, an InvalidModificationError is thrown from the MediaRecorder.start().

WebDriver Conformance (Marionette)

  • The Chrome scope support for WebDriver:PerformActions and WebDriver:ReleaseActions has been added.
  • The new Fission-compatible API has been enabled by default from the release of Firefox 84.
  • Method WebDriver:SwitchToWindow has been fixed to always switch back to the top-browsing context.
  • Browser context checks for WebDriver:SwitchToParentFrame has been improved.

Network Panel Changes

  • Unexpected crashes can now be handled through the network panel. Useful debugging details can also be rendered.

Removals In Firefox

The following section describes the features removed in the latest Firefox 84 release.

  • The proprietary property values for -moz-default-appearance has been removed. The developer can use scrollbar-small values instead.
  • The application cache has been removed. The developers can use the Service Worker API instead.
  • The "title" parameter from the Navigator.registerProtocolHandler() method has been removed. The only accepted parameters in the same method are now scheme and url.

Firefox 84 For Android Updates and New Features

The following section explains the new features in the Firefox 84 Android version. There might be some updates that are similar to the native app updates and hence to avoid duplication, those have not been mentioned here.

New Introduction in Firefox 84 for Android

  • Grid view now supports side by side tabs.
  • Downloaded files can be deleted from within the application.
  • WebRender rolls out to more of our users on Android, those on the Mali-G GPU series, bringing smoother animation and scrolling to the majority of our Android users.

Security Improvements in Firefox 84

  • CVE-2020-16042: Operations on a BigInt could have caused uninitialized memory to be exposed.
  • CVE-2020-26971: Heap buffer overflow in WebGL.
  • CVE-2020-26972: Use-After-Free in WebGL.
  • CVE-2020-26973: CSS Sanitizer performed the incorrect sanitization.
  • CVE-2020-26974: Incorrect cast of StyleGenericFlexBasis resulted in a heap use-after-free.
  • CVE-2020-26975: Malicious applications on Android could have induced Firefox for Android into sending arbitrary attacker-specified headers.
  • CVE-2020-26976: HTTPS pages could have been intercepted by a registered service worker when they should not have been.
  • CVE-2020-26977: URL spoofing via an unresponsive port in Firefox for Android.
  • CVE-2020-26978: Internal network hosts could have been probed by a malicious webpage.
  • CVE-2020-26979: When entering an address in the address or search bars, a website could have redirected the user before they were navigated to the intended URLs.
  • CVE-2020-35111: The proxy.onRequest API did not catch view-source URLs.
  • CVE-2020-35112: Opening an extension-less download may have inadvertently launched an executable instead.
  • CVE-2020-35113: Memory safety bugs fixed in Firefox 84 and Firefox ESR 78.6.
  • CVE-2020-35114: Memory safety bugs fixed in Firefox 84.

Note: The security improvements and developer's corner updates are similar to the ones mentioned in the desktop section.

Have fun cross-browser testing in Firefox 84!

▶ Read the full post
Firefox 83 Released - What's new?

Woohoo! Mozilla has a new release for us - Firefox 83. We rushed to install it on our cross-browser testing platform as we wanted you to be able to try it as soon as possible.

Firefox 83 Version

Try Firefox 83 in Browserling now!

  • Firefox keeps getting faster as a result of significant updates to SpiderMonkey, Firefox 83 JavaScript engine, you will now experience improved page load performance by up to 15%, page responsiveness by up to 12%, and reduced memory usage by up to 8%. Mozilla has replaced part of the JavaScript engine that helps to compile and display websites for you, improving security and maintainability of the engine at the same time.
  • Firefox introduces HTTPS-Only Mode. When enabled, this new mode ensures that every connection Firefox makes to the web is secure and alerts you when a secure connection is not available. You can enable it in Firefox Preferences.
  • Pinch zooming will now be supported for users with Windows touchscreen devices and touchpads on Mac devices. Firefox users may now use pinch to zoom on touch-capable devices to zoom in and out of webpages.
  • Picture-in-Picture now supports keyboard shortcuts for fast forwarding and rewinding videos: use the arrow keys to move forward and back 15 seconds, along with volume controls. For a list of supported commands see Support Mozilla
  • When you are presenting your screen on a video conference in Firefox, you will see our improved user interface that makes it clearer which devices or displays are being shared.
  • Mozilla has improved functionality and design for a number of Firefox search features.
  • Firefox supports AcroForm, which will allow you to fill in, print, and save supported PDF forms and the PDF viewer also has a new fresh look.
  • Firefox users in India on the English build of Firefox will now see Pocket recommendations in their new tab featuring some of the best stories on the web. If you don't see them, you can turn on Pocket articles in your new tab by following these steps.
  • For the recently released Apple devices built with Apple Silicon CPUs, you can use Firefox 83 and future releases without any change. This release will support emulation under Apple's Rosetta 2 that ships with macOS Big Sur. Mozilla is working toward Firefox being natively-compiled for these CPUs in a future release.
  • This is a major release for WebRender as Mozilla rolls out to more Firefox users on Windows 7 and 8 as well as on macOS 10.12 to 10.15.
  • For users on macOS restoring a session with minimized windows, Firefox now uses much less power and you should see much longer battery life.
  • Developer Information Developers can use the scroll badge in the Page Inspector to Debug scrollable overflow. Selecting the badge highlights elements that are causing overflow and marks them with the overflow badge.
  • Developers can use the scroll badge in the Page Inspector to Debug scrollable overflow. Selecting the badge highlights elements that are causing overflow and marks them with the overflow badge.
  • This release adds support for conic gradients in CSS, helping colors to smoothly transition as you spin around the center, rather than as you progress outward from the center.

Fixed issues in Firefox 83

This release also includes a number of accessibility fixes:

  • Screen reader features which reports paragraphs now correctly reports paragraphs instead of lines in Google Docs.
  • When reading by word using a screen reader, words are now correctly reported when there is punctuation nearby.
  • The arrow keys now work correctly after tabbing in the picture-in-picture window.
  • For users on macOS restoring a session with minimized windows, Firefox now uses much less power and you should see much longer battery life.

Developer details for Firefox 83

  • When using the :screenshot helper command in the Web Console, the --dpr parameter is no longer ignored when taking a fullscreen screenshot using --fullpage.
  • Developers can use the scroll badge in the Page Inspector toDebug scrollable overflow. Selecting the badge highlights elements that are causing overflow and marks them with the overflow badge.
  • The crossorigin attribute is now supported for <link rel=icon>.
  • The displaystyle attribute is now implemented for all MathML elements.
  • The vendor prefixed :-moz-any() is now aliased to the standard :is() CSS pseudo-class function.
  • Added support for CSS Conic Gradients.
  • Intl[@@toStringTag] has been added, returning a default value of Intl (recent addition to the ECMA spec).
  • Removed preliminary support for WebDriver:SwitchToShadowRoot, which hasn't been added to the WebDriver specification yet.
  • Fixed a bug in WebDriver:Back and WebDriver:Forward that caused Marionette to hang when the navigation was triggered from within an <iframe> that gets removed.

Security fixes in Firefox 83

  • CVE-2020-26951: Parsing mismatches could confuse and bypass security sanitizer for chrome privileged code.
  • CVE-2020-26952: Out of memory handling of JITed, inlined functions could lead to a memory corruption.
  • CVE-2020-16012: Variable time processing of cross-origin images during drawImage calls.
  • CVE-2020-26953: Fullscreen could be enabled without displaying the security UI.
  • CVE-2020-26954: Local spoofing of web manifests for arbitrary pages in Firefox for Android.
  • CVE-2020-26955: Cookies set during file downloads are shared between normal and Private Browsing Mode in Firefox for Android.
  • CVE-2020-26956: XSS through paste (manual and clipboard API).
  • CVE-2020-26957: OneCRL was not working in Firefox for Android.
  • CVE-2020-26958: Requests intercepted through ServiceWorkers lacked MIME type restrictions.
  • CVE-2020-26959: Use-after-free in WebRequestService.
  • CVE-2020-26960: Potential use-after-free in uses of nsTArray.
  • CVE-2020-15999: Heap buffer overflow in freetype.
  • CVE-2020-26961: DoH did not filter IPv4 mapped IP Addresses.
  • CVE-2020-26962: Cross-origin iframes supported login autofill.
  • CVE-2020-26963: History and Location interfaces could have been used to hang the browser.
  • CVE-2020-26964: Firefox for Android's Remote Debugging via USB could have been abused by untrusted apps on older versions of Android.
  • CVE-2020-26965: Software keyboards may have remembered typed passwords.
  • CVE-2020-26966: Single-word search queries were also broadcast to local network.
  • CVE-2020-26967: Mutation Observers could break or confuse Firefox Screenshots feature.
  • CVE-2020-26968,26969: Memory safety bugs fixed in Firefox 83 and Firefox ESR 78.5.

Have fun cross-browser testing in Firefox 83 with Browserling!

▶ Read the full post
Chrome 87 Released - What's new? (November 17, 2020)
Opera 72 Released - What's new? (October 21, 2020)
Chrome 73 Released - What's new? (March 12, 2019)
Chrome 72 Released - What's new? (January 29, 2019)
Firefox 65 Released - What's new? (January 29, 2019)
Opera 58 Released - What's new? (January 23, 2019)
Firefox 64 Released - What's new? (December 11, 2018)
Chrome 71 Released - What's new? (December 4, 2018)
Opera 57 Released - What's new? (November 28, 2018)
Firefox 63 Released - What's new? (October 23, 2018)
Chrome 70 Released - What's new? (October 16, 2018)
Opera 56 Released - What's new? (September 25, 2018)
Firefox 62 Released - What's new? (September 5, 2018)
Chrome 69 Released - What's new? (September 4, 2018)
Opera 55 Released - What's new? (August 16, 2018)
Chrome 68 Released - What's new? (July 24, 2018)
Opera 54 Released - What's new? (June 28, 2018)
Firefox 61 Released - What's new? (June 26, 2018)
Chrome 67 Released - What's new? (May 31, 2018)
Opera 53 Released - What's new? (May 10, 2018)
Firefox 60 Released - What's new? (May 9, 2018)
Chrome 66 Released - What's new? (April 17, 2018)
Opera 52 Released - What's new? (March 14, 2018)
Firefox 59 Released - What's new? (March 13, 2018)
Chrome 65 Released - What's new? (March 6, 2018)
Opera 51 Released - What's new? (February 7, 2018)
Chrome 64 Released - What's new? (January 24, 2018)
Firefox 58 Released - What's new? (January 23, 2018)
Opera 50 Released - What's new? (January 4, 2018)
Happy browserful Holidays! (December 23, 2017)
Chrome 63 Released - What's new? (December 6, 2017)
Firefox 57 Released - What's new? (November 14, 2017)
Opera 49 Released (November 8, 2017)
Astronomy (New comic) (November 5, 2017)
Chrome 62 Released (October 19, 2017)
Firefox 56 Released (September 28, 2017)
Opera 48 Released (September 27, 2017)
Chrome 61 Released (September 5, 2017)
Opera 47 Released (August 9, 2017)
Firefox 55 Released (August 8, 2017)
Chrome 60 Released (July 25, 2017)
There Are 225 Developer Tools Now! (June 25, 2017)
Opera 46 Released (June 23, 2017)
Firefox 54 Released (June 13, 2017)
Chrome 59 Released (June 5, 2017)
Front End vs Back End (Comic) (April 25, 2017)
Chrome 58 Added to Browser Cloud (April 20, 2017)
Firefox 53 Added to Browser Cloud (April 19, 2017)
Opera 45 Released: Codename Opera Reborn (April 10, 2017)
Opera 44 Released and Deployed to Browserling (March 22, 2017)
Debugging (Programmer Comic) (March 18, 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 - Ship (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 - Coffee In, Code Out (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 - CSS Float (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 - Test Engineer (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 - Winamp (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 - Internet Explorer CSS Pun (October 14, 2015)
A new cartoon in our comic: Internet Explorer (October 5, 2015)
A new cartoon in our comic: Hotel (September 30, 2015)
A new cartoon in our comic: 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)
Chrome 42 Added to Browserling (April 14, 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)
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)
Firefox 22 Released (June 25, 2013)
Chrome 27 Available for Browser Testing (May 21, 2013)
Firefox 20 Released (April 2, 2013)
Chrome 26 Added to Browserling (March 26, 2013)
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)
Chrome 22 released (September 25, 2012)
Chrome 21 released (July 31, 2012)
Chrome 20 Released (June 26, 2012)
Opera 12 Released (June 14, 2012)
Chrome 19 Released (May 15, 2012)
Chrome 18 Released (March 28, 2012)
Chrome 17 Released (February 8, 2012)
Firefox 9 Released (December 20, 2011)
Chrome 16 Released (December 13, 2011)
Chrome 15 Released (October 25, 2011)
Chrome 14 Released (September 16, 2011)
Chrome 13 Released (August 2, 2011)
We just added Firefox 3 to Browserling (January 5, 2011)
We have a blog! (December 1, 2010)