Blisk Changelog

What's new in Blisk 22.0.217.104

Nov 29, 2023
  • New devices in Blisk:
  • iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max are ready to use in the Blisk app, where you can run a mobile test, a responsive test, or a cross-device test. These devices are preinstalled in the Blisk app, so you don't need to download or install anything other than the Blisk app. The latest iPhones run directly on your PC, Mac, or Linux, and the code runs locally, avoiding potential data loss or security issues.
  • Responsive test:
  • Test whether your website supports responsive design and looks great on the latest Apple mobile devices. Such a mobile test will help to find issues with the responsive layout and issues with user experience on mobile devices. So now you can test responsive design on iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max and compare the layout with laptops, desktops, and iPads.
  • Multi-device test:
  • Test your new iPhone or use it with other devices such as other iOS and Android mobile phones, iPadOS tablets, Windows and macOS laptops, and desktops. When you use mobile and desktop at the same time, you are running mobile and desktop tests simultaneously. It becomes much easier to compare devices side-by-side. Starting with version 19.1, you can test on iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max simultaneously with other devices.
  • Touch events test:
  • Check if your website supports touch events and gestures on the iPhone 15-series. Touch is a key element in any mobile test because all interactions on mobile are done using touch. iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max in Blisk support touch events and gestures natively therefore you can test them easily without the need to have a mobile device. In addition, you can use Developer Tools on each device separately to track touchstart, touchend, touchcancel, or touchmove.
  • Landscape orientation test:
  • Test how your website behaves in landscape mode on the latest iPhones. Landscape orientation helps to find issues with layout and user experience. iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max in Blisk have an option to change the orientation with just one click providing the users with a clear vision of what happens on the mobile phones of the end users. Although portrait and landscape orientations differ only in that the viewport is rotated 90 degrees, their differences in size are significant. Usually, this difference is overlooked but causes issues for your users on mobile.
  • Developer Tools:
  • Inspect and debug your website with Developer Tools that can be run on any device. In Blisk, you can run Developer Tools on a per-device basis. This way you can use DevTools on iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max at the same time. With Developer Tools, you can inspect the contents of a webpage, track webpage errors, check network requests, and solve other development-related issues.
  • Test for webpage errors:
  • Monitor for webpage errors that appear on the latest iPhones and fix the issues before they become critical. The errors on mobile devices may be different from errors on desktops. Starting with version 19.1, you can track in real-time JavaScript page errors and resources that failed to load on iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max.
  • Performance test:
  • Run mobile tests in terms of webpage speed and performance. Webpage speed is critical on mobile, low speed leads to loss of users. Use the Network tab in the Developer Tools to conduct this important mobile test. This test is now available for the latest iPhone 15 series.
  • Dark mode test:
  • Check whether your website supports the dark mode on brand-new iPhones by running Blisk in dark mode. A lot of mobile users prefer using dark mode at nighttime. That is why the support for dark mode has become a must-have for modern applications. By enabling dark mode in Blisk, you can simulate dark mode on the latest flagships from Apple and check if the UI works well under night lighting, and check the contrast.
  • Slow connection test:
  • Simulate other real-world conditions on the latest iPhones, such as a slow internet connection. In Blisk, you can simulate 2G, 3G, 4G cellular networks with Internet speeds that differ significantly. The Slow 3G setting will help you run a custom mobile test and find the resources consuming all the bandwidth on the iPhone 15 series. In addition, you can adjust the network speed on each latest iPhone differently and compare the results across a set of devices.
  • Usability test:
  • Test the user experience on mobile devices, uncover problems in the design, discover opportunities to improve the design, and learn about users' behavior and preferences.
  • Test with your teammates:
  • Starting with version 19.1, you can share device sets with the latest iPhone 15 series via the Blisk link (use Menu ➜ Device Set ➜ Share Device Set). Your teammate can launch the same device set and run the mobile test on the same URL and settings.
  • Latest technologies support and security improvements:
  • The current platform update includes a lot of new features, including new APIs, CSS features, and security improvements. Some of the most important features are described below:
  • WebGPU support:
  • WebGPU is a new API for the web, which exposes modern hardware capabilities and allows rendering and computation operations on a GPU, similar to Direct3D 12, Metal, and Vulkan. Unlike the WebGL family of APIs, WebGPU offers access to more advanced GPU features and provides first-class support for general computations on the GPU. The API is designed with the web platform in mind. It features:
  • An idiomatic JavaScript API.
  • Integration with promises.
  • Support for importing videos.
  • A polished developer experience with great error messages.
  • Devtools response headers override:
  • In DevTools you can now override response headers in the Network panel. Previously, you needed access to the web server to experiment with HTTP response headers. With response header overrides, you can locally prototype fixes for various headers, including but not limited to:
  • Cross-Origin Resource Sharing (CORS) Headers
  • Permissions-Policy Headers
  • Cross-Origin Isolation Headers
  • First-Party Sets is rolling out:
  • First-Party Sets (FPS) is starting to roll out to stable. First Party Sets is part of the Privacy Sandbox. It is a way for organizations to declare relationships among sites so that browsers allow limited third-party cookie access for specific purposes.
  • As part of the work on First-Party Sets, Chrome is implementing and extending the Storage Access API allowing a site to request access to their cookies in a third-party context. With it, organizations with related sites (for example, using different domain names, or country-specific domains) can still provide services like single sign-on or shared sessions. Remember! This API will be rolled out slowly to users over a number of weeks to enable testing and evaluation.
  • Overflow-inline and Overflow-block CSS media feature:
  • The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis.
  • The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis.
  • Nuxt, Vite, and Rollup debugging improvements:
  • To help you pinpoint issues quicker during debugging, the enhanced stack trace now hides frames that come from sources generated by Nuxt 3.3 or later. DevTools skips such frames:
  • In Console traces, under the Show N more frames link.
  • In Sources > Call Stack, under ☑ Show ignore-listed frames.
  • Invalid CSS properties and values:
  • To help you diagnose CSS issues faster, the Styles pane now crosses out:
  • An entire CSS declaration (property and value) when the CSS property is invalid.
  • Just the value when the CSS property is valid but the value is invalid.
  • Links to key frames in the animation shorthand property:
  • The animation shorthand CSS property now contains links to the corresponding @keyframes at-rules, so you can navigate the Styles pane faster.
  • Command Menu emphasizes authored files:
  • The quick open dialog in the Command Menu now grays out the ignore-listed third-party files to put more emphasis on the files you authored.
  • text-wrap:balance:
  • Use text-wrap: balance to improve text layouts. As a developer, you don’t know the final size, font size, or even the language of the text. All variables are needed for an effective treatment of text wrapping. Since the browser does know all the factors, with text-wrap:balance you can request the browser to figure out the best balanced line wrapping solution.
  • The balanced text block is more pleasing to the eye of a reader. It grabs attention better and is overall easier to read. Balancing headlines will and should be the primary use case for text-wrap: balance. There is a performance cost to balance the text, so to mitigate the cost it only works for up to four lines.
  • Popover API:
  • With the Popover API, it is easier to build transient user interface (UI) elements that are displayed on top of all other web app UI. These include user-interactive elements like action menus, form element suggestions, content pickers, and teaching UI.
  • The new popover attribute enables any element to be displayed in the top layer automatically. This means no more worrying about positioning, stacking elements, focus, or keyboard interactions for the developer.
  • This is similar to the element, but has several important differences, including light-dismiss behavior, popover interaction management, event support, and the lack of a "modal" mode.
  • Scroll driven animations:
  • Scroll-driven animations are a common UX pattern on the web. A scroll-driven animation is linked to the scroll position of a scroll container. This means that as you scroll up or down, the linked animation goes forward or backward in direct response.
  • For example, you can create reading indicators that move as you scroll. Scroll-driven animations can also create elements that fade in as they come into view.
  • By default, an animation attached to an element runs on the document timeline. Its origin time starts at 0 when the page loads, and starts ticking forward as clock time progresses. This is the default animation timeline and, until now, was the only animation timeline you had access to.
  • The Scroll-driven Animations Specification defines two new types of timelines that you can use:
  • Scroll Progress Timeline: a timeline that is linked to the scroll position of a scroll container along a particular axis.
  • View Progress Timeline: a timeline that is linked to the relative position of a particular element within its scroll container.
  • Fenced Frames:
  • Fenced frames work in combination with other Privacy Sandbox proposals to display documents from different storage partitions within a single page.
  • A fenced frame is an HTML element for embedded content, similar to an iframe. Unlike iframes, a fenced frame limits communication with its embedding context to allow the frame access to cross-site data without sharing it with the embedding context.
  • Similarly, any first-party data in the embedding context cannot be shared with the fenced frame.
  • For example, let's say news.example (the embedding context) embeds an ad from shoes.example in a fenced frame. news.example cannot exfiltrate data from the shoes.example ad, and shoes.example cannot learn first-party data from news.example.
  • Values of custom CSS properties in tooltips:
  • In Elements > Styles, hover over a custom CSS property name to see its value in a tooltip.
  • CSS syntax highlighting:
  • The Sources panel gets the following for preprocessed CSS files, such as SASS, SCSS, and LESS:
  • Syntax highlighting.
  • Inline editors support. These editors are similar to those in Elements > Styles, for example, Color Picker and Easing Editor.
  • Network > Response pretty-printing by default:
  • The Network > Response pane now pretty-prints minified response bodies by default, similar to the Sources panel.
  • Additionally, SVG files get syntax highlighting.
  • Document Picture-in-Picture API:
  • The Document Picture-in-Picture API makes it possible to open an always-on-top window that can be populated with arbitrary HTML content.
  • The Picture-in-Picture window in the Document Picture-in-Picture API is similar to a blank same-origin window opened using window.open(), with some differences:
  • The Picture-in-Picture window floats on top of other windows.
  • The Picture-in-Picture window never outlives the opening window.
  • The Picture-in-Picture window cannot be navigated.
  • The Picture-in-Picture window position cannot be set by the website.
  • Improved debugging of missing stylesheets:
  • DevTools gets a number of improvements to help you identify and debug issues with missing stylesheets faster:
  • The Sources > Page tree now shows only the successfully deployed and loaded stylesheets to minimize confusion.
  • The Sources > Editor now underlines and shows inline error tooltips next to failed @import, url(), and href statements.
  • The Console, in addition to links to failed requests, now provides links to the exact line that references a stylesheet that failed to load.
  • The Network panel consistently populates the Initiator column with links to the exact line that references a stylesheet that failed to load.
  • The Issues panel lists all stylesheets loading issues, including broken URLs, failed requests, and misplaced @import statements.

New in Blisk 21.0.78.116 (Aug 14, 2023)

  • Auto-save and restore Splitter location:
  • Hurray! Blisk 21.0 finally addressed one of the most requested features - the automatic saving of Splitter location! This feature eliminates the need to move Splitter for every device set and will help you become even more productive. This significant improvement in user experience works in the following way.
  • When you create or launch a device set, Blisk watches for the device type and device order in it. If you previously specified a custom Splitter location for such device schema - Blisk will apply the previously saved location automatically.
  • If you move Splitter to another location - the new location will be saved automatically.
  • Whenever you need to reset Splitter - use Menu (Developer Mode) ➜ View ➜ Align width of device panels.
  • As a result, Blisk will restore the splitters and device sizes for every session, users will work with the same configuration of device set even after application relaunch. Users will not need to configure the device set in every session.
  • New Universal DevTools mode:
  • The current release offers another handy feature - Universal DevTools. Previously Blisk offered DevTools in Multi-DevTools mode. DevTools appeared to the right of each device, making the user experience not convenient, reducing the space for other devices, and making the workflow complicated for the users.
  • Since version 21.0, Blisk offers another approach to working with DevTools by default. Universal DevTools is a single DevTools container docked to the right or to the bottom of Blisk window. Universal DevTools provide the ability to manipulate DevTools for a single device. The user is able to quickly switch the DevTools for another device by launching DevTools for that device. In this case, the new DevTools replace the old DevTools.
  • Dock DevTools to bottom:
  • Another important improvement with Universal DevTools is that the users are now able to dock DevTools to the bottom of Blisk window.
  • If needed, you can enable the old Multi-DevTools mode from Menu (Developer mode) ➜ Settings ➜ DevTools ➜ Select the DevTools type. Docking DevTools to the bottom is available only in Universal DevTools mode, this mode is not supported in Multi-DevTools mode.

New in Blisk 20.1.42.63 (Jun 7, 2023)

  • Fixed extension popup issue on macOS:
  • Blisk v.20.1 includes fixes for extensions on macOS. Our previous release (v.20.0) faced an instability issue on some machines with macOS: extension popup did not show up in some cases. Such behavior blocked users from using extensions with Blisk. The current patch release resolves this issue.
  • Network throttling management:
  • The current update includes a new option to show and hide Network throttling selector from the user interface. Follow the steps below to access this option:
  • Launch Developer mode (or use the shortcut Ctrl+M or Cmd+M)
  • Check or uncheck the option "Show Network Throttling selector" from Menu ➜ View.
  • Improvements in crash analysis for macOS:
  • Blisk v.20.1 includes improvements in crash analysis on macOS. The new build improves the detailing of crashes and separates Intel chip-related issues from M1 chip-related issues.

New in Blisk 20.0.176.140 (May 28, 2023)

  • New devices in Blisk:
  • Samsung Galaxy S22, Samsung Galaxy S22 Plus, Samsung Galaxy S22 Ultra, Desktop 4k 1x scale, iMac Pro Retina 5K 27″, iMac Retina 4․5K 24″, iMac Retina 4K 21․5″, iMac Retina 2016 27″ are ready to use in the Blisk app, where you can run a mobile test, a responsive test, or a cross-device test. These devices are preinstalled in the Blisk app, so you don't need to download or install anything other than the Blisk app. The new devices run directly on your PC, Mac, or Linux, and the code runs locally, avoiding potential data loss or security issues.
  • Requirements: this feature is available in Blisk v.20.0.176.140 and later. You may need to update the Blisk application to use this feature. View Documentation.
  • Starting with v.20.0.176.140, Blisk opens new possibilities for running different kinds of mobile tests on Samsung Galaxy S22, Samsung Galaxy S22 Plus, Samsung Galaxy S22 Ultra, Desktop 4k 1x scale, iMac Pro Retina 5K 27″, iMac Retina 4․5K 24″, iMac Retina 4K 21․5″, iMac Retina 2016 27″: responsive test, multi-device test, touch events test, performance test, landscape orientation test, dark mode test, test for page errors, slow Internet connection test, etc.
  • Latest technologies support and security improvements:
  • The current platform update includes a lot of new features, including new APIs, CSS features, and security improvements. Some of the most important features are described below:
  • Fetch Priority
  • CSS Color Adjust: 'only' keyword for color-scheme
  • HDR CSS Media Queries: dynamic-range
  • New window.open() popup vs. window behavior
  • Autofill in ShadowDOM
  • CSS cascade layers
  • Support of text-emphasis properties
  • Allow cookie domain attributes to be the empty string
  • Secure context fix for dedicated workers
  • Inert attribute
  • Navigation API
  • AbortSignal.timeout() Static Method
  • CSS object-view-box
  • Individual Properties for CSS Transforms
  • Support visual-box on overflow-clip-margin
  • CSS :has() pseudo-class
  • CSS :modal pseudo-class
  • CSS Container Queries
  • CSS 'lh' Length Unit
  • CSS Root Font Units: 'rex', 'rch', 'ric', 'rlh'
  • DevTools: Properties pane filter
  • DevTools: Show rulers on hover command
  • DevTools: Support row-reverse and column-reverse in the Flexbox editor
  • DevTools: New Reporting API pane
  • DevTools: New console group filter
  • DevTools: View and edit @supports at rules in the Styles pane
  • DevTools: Preview class/function properties on hover
  • DevTools: Partially presented frames in the Performance panel
  • DevTools: Support for the hwb() color function
  • DevTools: Improved private properties
  • DevTools: Handle script execution errors in the Console
  • DevTools: Picking a color outside of the browser
  • DevTools: Reveal assigned slot of an element
  • DevTools: CSS variables improvements
  • DevTools: Source maps improvements
  • DevTools: Protocol handlers in the Manifest pane
  • Fetch Priority:
  • Fetch Priority gives you a way to hint to the browser which order resources should be downloaded in, by using the fetchpriority attribute. This accepts values of "high", "low", and "auto".
  • "high": You consider the resource a high priority and want the browser to prioritize it as long as the browser's heuristics don't prevent that from happening.
  • "low": You consider the resource a low priority and want the browser to deprioritize it if its heuristics permit.
  • "auto": This is the default value that lets the browser decide the appropriate priority.
  • CSS Color Adjust: 'only' keyword for color-scheme:
  • The only keyword has been re-added to the specification color-scheme as a way of per-element opt-out of color-scheme override like forced darkening.
  • div { color-scheme: light } will force the div element into color-scheme dark and apply forced darkening.
  • div { color-scheme: only light } will keep the color-scheme for the element light and opt-out of forced darkening.
  • This feature can be used to do per-element opt-out of color-scheme overrides like forced darkening.
  • HDR CSS Media Queries: dynamic-range:
  • This feature adds a media query to CSS which allows a page to detect the current display device’s support for HDR.
  • This feature adds the query: dynamic-range which may be one of standard or high. Blisk will resolve this query according to the capabilities of the display device the browser window is currently positioned on, allowing pages to toggle CSS rules accordingly or respond in Javascript via window.matchMedia().
  • As HDR-supported displays become more common, web developers need ways to enable HDR content on their web pages without compromising the experience for users of non-HDR displays, or mixed-HDR multi-display setups. CSS already provides the 'media query' concept for toggling rules based on display device characteristics, and this feature extends that set of queries to enable detecting HDR support on the current display device.
  • New window.open() popup vs. window behavior:
  • This change aligns Blisk with the spec for window.open(), by:
  • 1. Adding a "popup" windowFeature to control popup vs. tab/window. 2. Ensuring all BarProp properties return !is_popup.
  • The window.open() API is currently confusing to use, in terms of trying to get it to open a popup vs. a tab/window. This change simplifies the usage by adding a single boolean argument called popup that works as you'd expect: popup=1 gets you a popup, and popup=0 gets a tab/window.
  • Autofill in ShadowDOM:
  • This feature allows autofill to look into ShadowDOM when collecting form controls within a form element.
  • With the adoption of web components, it is common to wrap form controls like input elements in ShadowDOM. When autofill traverses the children of form elements to collect form controls, it currently skips ShadowDOM, and makes these form controls never get autofilled. This feature makes autofill also traverse into ShadowDOM when collecting form controls.
  • CSS cascade layers:
  • CSS cascade layers (@layer rule and layered @import syntax) provide a structured way to organize and balance concerns within a single origin. Rules within a single cascade layer cascade together without interleaving with style rules outside the layer. This allows authors to achieve a certain cascade ordering for same-origin rules in a proper way.
  • Cascade layers allow authors to create layers to represent element defaults, third-party libraries, themes, components, overrides, and etc.—and are able to re-order the cascade of layers in an explicit way. Without cascade layers, currently, authors need to tweak, e.g., selector specificity, !import or source ordering to achieve a certain cascade ordering, which is cumbersome and error-prone.
  • Support of text-emphasis properties:
  • This feature introduces 'text-emphasis, text-emphasis-color, text-emphasis-position, and text-emphasis-style CSS properties. They are unprefixed versions of -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-position, and -webkit-text-emphasis-style.
  • Allow cookie domain attributes to be the empty string:
  • This feature updates the parsing of cookie strings to allow a cookie's domain attribute to be set to the empty string. This change will also correct the failing web-platform tests related to an empty string domain. Additionally, it brings Blisk in alignment with the draft RFC6265bis specification and will improve interoperability with Chrome, Safari, and Firefox by matching their treatment of an empty cookie domain attribute.
  • Secure context fix for dedicated workers:
  • Dedicated workers loaded from a secure (HTTPS) origin yet instantiated by insecure (non-HTTPS) contexts are no longer considered secure. This results in the following web developer-facing changes inside such worker contexts:
  • self.isSecureContext is now false.
  • self.caches and self.storageFoundation are no longer available.
  • This aligns Blisk behavior with the specification and Gecko.
  • Inert attribute:
  • The inert attribute allows web authors to mark parts of the DOM tree as inert. When a node is inert:
  • Hit-testing must act as if the pointer-events CSS property was set to none.
  • Text selection functionality must act as if the user-select CSS property was set to none.
  • If it is editable, the node behaves as if it were non-editable.
  • The user agent may ignore the node for the purposes of find-in-page.
  • This aligns Blisk behavior with the specification and Gecko.
  • Navigation API:
  • The window.navigation API (formerly known as the app history API) provides the ability to intercept and initiate navigations, as well as introspect an application's history entries. This provides a more useful alternative to window.history and window.location, specifically aimed at the needs of single-page web applications.
  • The existing window.history API is hard to deal with in practice, especially for single-page applications. In the best case, developers can work around this with various hacks. In the worst case, it causes user-facing pain in the form of lost state and broken back buttons, or the inability to achieve the desired navigation flow for a web app.
  • AbortSignal.timeout() Static Method:
  • Returns a new AbortSignal object that is automatically aborted after a given number of milliseconds. This method can be used by developers to easily implement timeouts for signal-accepting async APIs, e.g. fetch().
  • The main motivating use case for this is helping web developers easily time out async operations, such as fetch(). For example, now you can write: fetch(url, { signal: AbortSignal.timeout(10_000) });
  • CSS object-view-box:
  • Object-view-box allows the author to specify a subset within an image that should draw within the content box of the target replaced element. This enables an author to create an image with a custom glow or shadow applied, with proper ink-overflow behavior like a CSS shadow would have.
  • Object-view-box and object-overflow allows the author to specify a subset within an image that should draw within the content box of the target replaced element. This enables an author to create an image with a custom glow or shadow applied, with proper ink-overflow behavior like a CSS shadow would have.
  • Individual Properties for CSS Transforms:
  • This adds three new CSS properties: translate, rotate, and scale. These properties are known as the individual transform properties (and were previously known as the independent transform properties). This exposes a simple way for web developers to access transforms in an intuitive way, without having to think about how functions in the transform property interact with each other. The properties can be animated individually.
  • Support visual-box on overflow-clip-margin:
  • Overflow-clip-margin specifies how far an element's content is allowed to paint before being clipped. This feature allows using visual-box values to configure the reference box that defines the overflow clip edge the content is clipped to.
  • CSS :has() pseudo-class:
  • The :has() pseudo-class is a selector that specifies an element which has at least one element that matches the relative selector passed as an argument.
  • CSS :modal Pseudo-Class:
  • CSS :modal is a pseudo-class selector to style dialog element. The :modal pseudo-class represents an element that is in a state that excludes all interaction with elements outside it until it has been dismissed.
  • CSS Container Queries:
  • Container Queries allow authors to style elements according to the size of a container element. It's similar to a @media query, except it evaluates against the size of a container instead of the size of the viewport.
  • CSS 'lh' Length Unit:
  • The lh unit adds support for expressing CSS lengths relative to the line-height. That is typically useful for specifying the height of an element to fit a whole number of lines. Example: textarea { height: 5lh }
  • CSS Root Font Units: 'rex', 'rch', 'ric', 'rlh':
  • Adds root font units. Previously, only 'rem' has been supported in Blisk. This feature adds root element variants of ex, ch, ic, lh.
  • DevTools: Properties pane filter:
  • If you want to focus on a specific property in the Properties pane, you can now type that property name or value in the new Filter textbox.
  • By default, properties whose value is null or undefined are not shown. Enable the Show all checkbox to view all properties.
  • DevTools: Show rulers on hover command:
  • You can now open the Command Menu (Ctrl+Shift+P or Cmd+Shift+P) and run the Show rulers on hover command. The page rulers make it easier to measure the width and height of an element.
  • Previously, you can only enable the page rulers via Settings > Show rulers checkbox.
  • DevTools: Support row-reverse and column-reverse in the Flexbox editor:
  • The Flexbox editor added two new buttons to support row-reverse and column-reverse in flex-direction.
  • DevTools: New Reporting API pane:
  • Use the new Reporting API pane to monitor the reports generated on your page and their status. The Reporting API is designed to help you monitor security violations of your page, deprecated API calls, and more. Open a page that uses the Reporting API. In the Application panel, scroll down to the Background services section and select the Reporting API pane.
  • The Reports section shows you a list of reports generated on your page and their status. Click on it to view the report’s details. The Endpoints section gives you an overview of all the endpoints configured in the Reporting-Endpoints header.
  • DevTools: New console group filter:
  • When filtering the console message, a console message is now shown if its message content matches the filter or the title of the group (or the ancestor group) matches the filter. Previously, the console group title would show despite the filter.
  • In addition, if a console message is shown, the group (or the ancestor group) it belongs to is now shown as well.
  • DevTools: View and edit @supports at rules in the Styles pane:
  • You can now view and edit the CSS @supports at-rules in the Styles pane. These changes make it easier to experiment with the at-rules in real-time. Open this demo page, inspect the element, and view the @supports at-rules in the Styles pane. Click on the rule’s declaration to edit it.
  • DevTools: Preview class/function properties on hover:
  • You can now hover over a class or function in the Sources panel during debugging to preview its properties. Previously, it only showed the function name and a link to its location in the source code.
  • DevTools: Partially presented frames in the Performance panel:
  • Performance recording now displays a new frame category "Partially presented frames" in the Frames timeline. Previously, the Frames timeline visualizes any frames with delayed main-thread work as "dropped frames". However, there are cases where some frames may still produce visual updates (e.g. scrolling) driven by the compositor thread. This leads to user confusion because the screenshots of these “Dropped frames” are still reflecting visual updates.
  • The new "Partially presented frames" aims to indicate more intuitively that although some content is not presented timely in the frame, the issue is not so severe as to block visual updates altogether.
  • DevTools: Support for the hwb() color function:
  • You can now view and edit HWB color format in Blisk DevTools. In the Styles pane, hold the Shift key and click on any color preview to change the color format. The HWB color format is added. Alternatively, you can change the color format to HWB in the color picker.
  • The new "Partially presented frames" aims to indicate more intuitively that although some content is not presented timely in the frame, the issue is not so severe as to block visual updates altogether.
  • DevTools: Improved private properties:
  • DevTools now properly evaluates and displays private accessors. Previously, you couldn't expand classes with private accessors in the Console and the Sources panel.
  • DevTools: Handle script execution errors in the Console:
  • Errors during script evaluation in the Console now generate proper error events that trigger the window.onerror handler and are dispatched as "error" events on the window object.
  • DevTools: Picking a color outside of the browser:
  • DevTools now supports picking a color outside of the browser. Previously, you could only pick a color within the browser. In the Styles pane, click on any color preview to open a color picker. Use the eyedropper to pick a color from anywhere.
  • DevTools: Reveal assigned slot of an element:
  • Slotted elements in the Elements panel have a new slot badge. When debugging layout issues, use this feature to identify the element which affects the node's layout quicker. Learn how to use and elements to create a flexible template that can then be used to populate the shadow DOM of a web component at MDN web docs.
  • DevTools: CSS variables improvements:
  • When autocompleting CSS variables, DevTools now populates the non-color variable with a meaningful value so that you can preview what kind of change the value will have on the node.
  • DevTools: Source maps improvements:
  • Here are a few fixes on source maps to improve the overall debugging experience:
  • Breakpoints now work in inline with sourceURL annotations.
  • The debugger now resolves block-scoped variables in the Scope view with source maps.
  • DevTools: Protocol handlers in the Manifest pane:
  • You can now use DevTools to test the URL protocol handler registration for Progressive Web Apps (PWA). The URL protocol handler registration lets installed PWAs handle links that use a specific protocol (e.g. magnet, web+example) for a more integrated experience.
  • Navigate to the Protocol Handlers section via the Application > Manifest pane. You can view and test all the available protocols here.

New in Blisk 19.1.122.126 (Oct 13, 2022)

  • We are excited to release the new features: Mobile test on iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max.
  • iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max are ready to use in the Blisk app, where you can run a mobile test, a responsive test, or a cross-device test. These devices are preinstalled in the Blisk app, so you don't need to download or install anything other than the Blisk app. The latest iPhones run directly on your PC, Mac, or Linux, and the code runs locally, avoiding potential data loss or security issues.
  • Starting with v.19.1.122.126, Blisk opens new possibilities for running different kinds of mobile tests on iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max: responsive test, multi-device test, touch events test, performance test, landscape orientation test, dark mode test, test for page errors, slow Internet connection test, etc.

New in Blisk 19.0.60.43 (Jul 25, 2022)

  • New Android devices by Google and Samsung, Custom device Templates, and Address bar position for iOS devices.

New in Blisk 18.0.193.167 (May 19, 2022)

  • We are excited to release the new features: iOS 15 and iPadOS 15, New devices, Improvements for CPU and Memory usage, Settings: max number of devices, Support for New technologies, Latest Security fixes.
  • Our response to Russian aggression:
  • We hereby publicly condemn Russia’s aggression against Ukraine and its people. Blisk team supports the Armed Forces of Ukraine to resist Russian aggression, occupation, and war crimes. We strongly urge everyone to support Ukraine as well. The National Bank of Ukraine has opened a special fundraising account to support the Armed Forces of Ukraine and people affected by Russia's aggression. Your help and reposting on social networks are appreciated. Together we stand!
  • iOS 15 for iPhones and iPadOS 15 for iPads:
  • Since version 18.0, Blisk supports iOS 15 and iPadOS 15 to perform any kind of mobile-friendly test on the latest iPhones and iPads.
  • New device: iPhone SE 2022:
  • The latest iPhone SE 2022 released by Apple recently is now available in Blisk. The device specification with viewport, screen size, device pixel ratio, CSS media query is available in iPhone SE 2022 overview. The specs of other devices are located in our Device center.
  • Improvements for CPU and Memory usage:
  • Blisk v.18 features improvements for CPU and Memory usage. The reworked Developer mode was optimized to reduce the calls for the application resources and save CPU and RAM. As a result, each tab uses less resources and has improved user experience - we managed to prevent flashing of tab contents for the device sets with up to 6-8 devices (the number depends on your device OS and CPU).
  • Settings: max number of devices:
  • One of the features that are often requested by users is increasing the number of devices in a device set. This feature has a high demand for the users that are performing device tests on multi-monitor systems or large TVs. By default, Blisk limits device set to have 8 devices to prevent high load on the CPU. Since version 18, you can change the limit of devices in Developer Mode Settings.
  • New technologies support in Blisk:
  • DevTools: CSS Grid editor:
  • When an HTML element on your page has display: grid or display: inline-grid applied to it, you can see an icon appear next to it in the Styles pane. Click the icon to toggle the CSS grid editor. Here you can preview the potential changes with the on-screen icons (e.g. justify-content: space-around) and author the grid appearance with just one click.
  • DevTools: Support for const redeclarations in the Console:
  • The Console now supports redeclaration of const statement, in addition to the existing let and class redeclarations. The inability to redeclare was a common annoyance for web developers who use the Console to experiment with new JavaScript code.
  • This allows developers to copy-paste code into the DevTools console to see how it works or experiment, make small changes to the code and repeat the process without refreshing the page. Previously, DevTools threw a syntax error if the code redeclared a const binding.
  • DevTools: Improved CORS debugging:
  • CORS-related TypeErrors in the Console are now linked to the Network panel and Issues tab. Click on the two new icons next to the CORS-related error message to view the network request, or understand the error message further and get potential solutions in the Issues tab.
  • DevTools: Change color format in the Computed pane:
  • You can now change the color format of any element in the Computed pane by Shift + click on the color preview.
  • DevTools Preview feature: New CSS Overview panel:
  • Use the new CSS Overview panel to identify potential CSS improvements on your page. Open the CSS Overview panel, then click on Capture overview to generate a report of your page’s CSS.
  • You can further drill down on the information. For example, click on a color in the Colors section to view the list of elements that apply the same color. Click on an element to open the element in the Elements panel.
  • DevTools: New CSS length authoring tools:
  • DevTools added an easier yet flexible way to update lengths in CSS! In the Styles pane, look for any CSS property with length (e.g. height, padding). Hover over the unit type, and notice the unit type is underlined. Click on it to select a unit type from the dropdown.
  • Hover over the unit value, and your mouse pointer is changed to a horizontal cursor. Drag horizontally to increase or decrease the value. To adjust the value by 10, hold the Shift key when dragging.
  • Relative indexing method for Array, String, and TypedArrays:
  • Relative indexing via negative indices is a feature that enjoys popularity in other languages (e.g. Python) as well as having been requested by JS programmers.
  • As a result, the new method was implemented, named at(), to Array.prototype, String.prototype, and the TypedArray prototypes, that permit relative indexing with negative indices.
  • crypto.randomUUID():
  • Generating random UUIDs is a common need for web applications (the uuid module on npm is installed > 200,000,000 times a month). Developers who have not been exposed to RFC 4122 might naturally opt to invent their own approaches to UUID generation, potentially using insufficient PRNG implementations. Standardizing a UUID method, which dictates that a CSPRNG must be used, helps protect developers from security pitfalls.
  • Details: The method crypto.randomUUID() is used for generating RFC 4122 version 4 identifiers. The method returns the namespace specific string representation (for example, "6e4decd0-6066-4a25-98e3-0227317cda52").
  • Size-adjust descriptor for @font-face:
  • The size-adjust descriptor in @font-face allows scaling of glyph sizes for a particular font face without affecting the CSS font-size and derived metrics such as em.
  • CSS font-size can be seen as a scale factor for a box that the font draws in. Glyph sizes within that box vary between fonts, and size-adjust enables harmonising them across different fonts. That's why it can also help with reducing cumulative layout shift by matching up the fallback font and primary web font using this descriptor.
  • AbortSignal.abort() static method:
  • AbortSignal.abort() is a static method that allows creating a new AbortSignal object that is already aborted. It is similar in spirit to Promise.reject(), and provides improved developer ergonomics.
  • Web developers have found aborted AbortSignal objects to be useful for a variety of purposes. It signifies to JavaScript APIs that no work should be done. However currently, creating an already-aborted AbortSignal object requires jumping through quite a few hoops:
  • const controller = new AbortController();
  • controller.abort();
  • return controller.signal;
  • A new AbortSignal.abort() factory function simplifies this to just:
  • return AbortSignal.abort();
  • ALPACA attack protection:
  • Connections to HTTP, HTTPS or FTP servers of ports 989 and 990 will fail.
  • These ports are used by the FTPS protocol, which has never been implemented in Chrome. However, FTPS servers can be attacked in a cross-protocol attack by malicious web pages using carefully-crafted HTTPS requests.
  • This is a mitigation for the ALPACA attack. See https://alpaca-attack.com/.
  • CSS Flexbox: support alignment keywords start, end, self-start, self-end, left, right:
  • Flexbox previously only obeyed center, flex-start, and flex-end. The additional alignment keywords (start, end, self-start, self-end, left, right) allow authors to more easily align the flex items in the face of varying writing modes and flex flows.
  • Without these additional keywords, developers need to change the keyword values whenever they change the writing mode, text direction, or flex reversal properties (flex-direction: row/column-reverse or align-content: wrap-reverse). The keywords implemented here let them set alignment once.
  • CSS module scripts:
  • Solutions for including CSS in component definitions are lacking. Current practices all have one or more of the following rough edges:
  • Side effects like appending

New in Blisk 17.0.158.186 (Dec 21, 2021)

  • We are excited to release the new features: Toggle Developer Mode using a Shortcut, Support for New technologies, Latest Security fixes.
  • Important: learn more about new workflow in our new Getting Started Guide.
  • Ctrl+M/CMD+M: Toggle Dev Mode using a Shortcut:
  • Since version 17.0, you can use the dedicated shortcut Ctrl+M (Windows) and CMD+M (macOS) to toggle the Developer Mode on and off. When you enter the Developer Mode, Blisk applies the last used Device Set - this behavior is similar to the UI button that toggles between Modes. This shortcut is essential for the Blisk application and should save you a tremendous amount of time.
  • Requirements: this feature is available in Blisk v.17.0.158.186 and later. You may need to update the Blisk application to use this feature. View Documentation.
  • New technologies support in Blisk:
  • 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. This property allows explicitly specifying an aspect ratio for any other element to get similar behavior.
  • Details: Generalizes the aspect ratio concept to general elements. This allows various effects, for example, sizing elements using an aspect ratio, things like filmstrips where each element has the same height but needs an appropriate width, cases where a replaced element is wrapped by a component but should keep the aspect ratio, etc.
  • 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. This feature provides smooth interpolation from one aspect ratio to another.
  • :not() CSS Selector Pseudo-Classes:
  • Allows complex selectors inside the :not() pseudo class, such as :not(.a + .b .c).
  • :is(), :where() CSS Selector Pseudo-Classes:
  • 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 Automatic Hyphenation for Windows and Linux:
  • This feature enables hyphens: auto on Windows and Linux by downloading dictionary files used in Android Open Source Project.
  • 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="noopener".
  • Streams API: transferable streams:
  • The streams APIs provide ubiquitous, interoperable primitives for creating, composing and consuming streams of data. A natural thing to do with a stream is to pass it to a web worker. This provides a fluent primitive for offloading work to another thread. Transferable streams add this capability by allowing ReadableStream, WritableStream, and TransformStream objects to be passed as arguments to postMessage().
  • Details: Offloading work onto a worker is important for a smooth user experience, but the ergonomics can be awkward. Transferable streams solve this problem for streams. Once the stream itself has been transferred, the data is transparently cloned in the background.
  • Cross-origin Isolation:
  • Following Spectre/Meltdown discovery, sensitive APIs such as SharedArrayBuffer were disabled on certain platforms with a lot of shared processes.
  • We want to give developers the opportunity to use these features while maintaining a good security level. We believe COOP and COEP ensure sufficient security boundaries.
  • When we have both COOP and COEP set we set crossOriginIsolated to true, which in the long run will allow the use of such powerful APIs.
  • Ontransition{run, start, cancel} event handler attributes:
  • The ontransitionrun, ontransitionstart, and ontransitioncancel event handler attributes allow developers to add event listeners for transitionrun, transitionstart, and transitioncancel events on elements, Document objects, and Window objects. An example of how this might be used: target.ontransitioncancel = () => { console.log('transition was cancelled!'); }
  • These features are part of the stable css-transitions-1 spec, and have shipped in other browsers a long time ago.
  • Text-decoration-thickness, text-underline-offset and from-font keyword for text-underline-position:
  • Implement CSS text-decoration properties text-decoration-thickness and text-underline-offset. Add support for the new from-font keyword for text-underline-position. When from-font keywords are used, support variable font MVAR underline scaling, (tags `unds` and `undo` in the MVAR table overriding underlinePosition and underlineThickness in the OpenType `post` table.
  • Details: With the introduction of the text-decoration-skip-ink interest for additional underline styling increased to improve situations where the underline as placed by the UA is too close to the baseline and ink-skipping triggers too early.
  • File System Access:
  • This API enables developers to build powerful apps that interact with other (non-Web) apps on the user’s device via the device’s file system. After a user grants a web app access, this API allows the app to read or save changes directly to files and folders selected by the user. Beyond reading and writing files, this API provides the ability to open a directory and enumerate its contents, as well as store file and directory handles in IndexedDB to later regain access to the same content.
  • Details: Today, if a website wants to create experiences involving local files (document editor, image compressor, IDE, etc.) they are at a disadvantage to native apps. A website must ask the user to reopen a file every time they want to edit it. After opening, the site can only save changes by re-downloading the file to the Downloads folder. A native app, by comparison, can maintain a most recently used list, re-save and even autosave, and save files anywhere the user wants.
  • FetchEvent.handled:
  • A FetchEvent dispatched to a service worker is in a loading pipeline, which is performance sensitive. The new FetchEvent.handled property returns a promise that resolves when a response is returned from a service worker to its client. This enables a service worker to delay tasks that can only run after responses are complete.
  • CSS flow-relative shorthand and offset properties:
  • Ship the already implemented properties introduced by CSS Logical Properties. Specifically:
  • border-block, border-block-color, border-block-style, border-block-width
  • border-inline, border-inline-color, border-inline-style, border-inline-width
  • inset-block-start, inset-block-end, inset-inline-start, inset-inline-end
  • inset, inset-block, inset-inline
  • margin-block, margin-inline
  • padding-block, padding-inline
  • Details: The shorthands will allow authors to set flow-relative properties for multiple sides in a single declaration. For example, margin-block: 1px 2px instead of margin-block-start: 1px; margin-block-end: 2px.
  • The flow-relative offset properties inset-* will provide the ability to set top/right/bottom/left with logical mappings, rather than physical.
  • Cookie Store API:
  • The Cookie Store API exposes HTTP cookies to service workers and offers an asynchronous alternative to document.cookie.
  • Details: Today, cookies have extremely high usage, however, the interface to cookies has been a source of complexity and performance issues. The Cookie Store API aims to improve this by providing an asynchronous alternative to document.cookie and exposing HTTP cookies to service workers which will also come with performance benefits. Its interface also encourages developers to make better decisions about security.
  • CSS ::marker pseudo-element:
  • The ::marker pseudo-element represents the automatically generated marker box of a list item. Like ::before and ::after, ::marker is a tree-abiding pseudo-element, so it always fit within the box tree.
  • But unlike ::before and ::after, currently it only accepts a small subset of safe properties, because the marker box layout is mostly undefined.
  • Note this intent only covers ::marker, not ::before::marker nor ::after::marker.
  • CSS Selectors: Pseudo-Class :focus-visible:
  • The :focus-visible pseudo-class makes it easier for developers to create focus styles that appropriately match the user's input modality. It is designed to help prevent a common anti-pattern where developers remove focus outlines for mouse users and inadvertently make their sites inaccessible to keyboard users.
  • CSS pseudo-element:
  • The ::target-text is a highlight pseudo-element to allow authors to style scroll-to-text fragments different from the default UA highlighting.
  • Details: Authors should be able to style the highlighted text from scroll-to-text fragments to have the style match that of the rest of the page.
  • Document-Policy header:
  • Document Policy restricts the surface area of the web platform on a per-document basis, similar to iframe sandboxing, but more flexibly. This is just the HTTP header used to set a policy on a document, separate from any features. It can do things like:
  • Restrict the use of poorly-performing images
  • Disable slow synchronous JS APIs
  • Configure iframe, image, or script loading styles
  • Restrict overall document sizes or network usage
  • Restrict patterns that cause page re-layout
  • Details: In addition to the items listed in the summary, the header will be immediately important for allowing sites to opt-out of fragment and text-fragment scrolling on load, as privacy mitigation for the Scroll-to-text-fragment feature.
  • Flash Player Support (removed):
  • Remove support for Flash Player from Blisk in alignment with Adobe's planned end of life on January 12th, 2021. Aligning with Adobe's announced plan to end support: https://blog.adobe.com/en/publish/2017/07/25/adobe-flash-update.html#gs.nwd34x
  • Comma separator in iframe allow attribute (deprecated):
  • This deprecation removes the ability to use "," as a separator between items in a permissions policy declaration (feature policy declaration) in an iframe tag. Developers should switch to ";" as the correct separator.
  • Details: Blisk currently recognizes a non-standard "," as a separator between items in an iframe "allow" attribute. This behavior is an accidental side effect of the way that we parse the attribute using the same parser as the 'Feature-Policy' header. (Commas were allowed by the header parser to support concatenating multiple headers together, but the attribute was always specced to contain a single serialized policy.)
  • 'disclosure-open' and 'disclosure-closed' keywords for CSS list-style-type property:
  • CSS property list-style-type supports two new keywords disclosure-open and disclosure-closed. In an element with display:list-item, disclosure-open shows a symbol indicating a widget like is opened. disclosure-closed shows a symbol indicating a widget like is closed. They will be used for the default style of in the user-agent stylesheet.
  • Details: This is a step of standardizing a way to customize the appearance of the disclosure triangle of and . disclosure-open and disclosure-closed will be used as the default style of . Web developers can use these keywords to reset the appearance, and to create a UI widget like / with their own code.
  • 'display: list-item' by default for :
  • The default value of CSS display property for is changed to 'list-item' from 'block'. We also support ::marker pseudo element selector for , and remove ::-webkit-details-marker pseudo element selector.
  • Details: This is a step of standardizing a way to customize the appearance of the disclosure triangle of and . Web developers can customize appearance with not vendor-prefixed ::-webkit-details-marker but the standard ::marker.
  • 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. E.g., http:// site.example and https:// site.example (note: a space was added between the scheme and the domain to prevent automatic link conversion) will now be considered cross-site to each other.
  • Details: The SameSite cookie attribute offers defense against CSRF attacks but currently does not consider secure and insecure version of the same domain as being cross-site; because of this, a network attacker could impersonate http:// site.example (or a subdomain) and use that to bypass SameSite protections on https:// site.example. Changing the same-site computation to consider http:// site.example and https:// site.example as cross-site negates this type of attack.
  • Stop cloning sessionStorage for windows opened with noopener:
  • When a window is opened with noopener, Blisk should not clone the sessionStorage of its opener; it should instead start from an empty sessionStorage namespace. This is a bug fix to match the HTML specification, which added this behavior in 2017.
  • 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.
  • Details: Without this feature, developers need to use a full SVG element definition even for basic filters like grayscale(...) or blur(...).
  • Top-level await:
  • Allow the await keyword at the top-level within JavaScript modules.
  • Details: Allows more seamless integration of async calls into the module loading process. Today this is accomplished by wrapping modules in async functions, but this pushes complexity into dependent modules and exposes implementation details.
  • 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.
  • Details: Users, especially in the educational, hobbyist and industrial sectors, connect peripheral devices to their computers that require custom software to control. For example, robotics are often used to teach computer programming and electronics in schools. This requires software that can upload code to a robot and/or control it remotely. In an industrial or hobbyist setting a piece of equipment such as a mill, laser cutter or 3D printer is controlled by a program running on a connected computer. These devices are often controlled by small microcontrollers via a serial connection.
  • 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.
  • 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.
  • Previously, mobile platforms allowed files to be shared to native applications, but not web applications.
  • AV1 Encoder:
  • This feature ships an AV1 encoder in Blisk desktop, specifically optimized for video conferencing with WebRTC integration.
  • Details: AV1 encoding is requested by a number of RTC applications, including Duo, Meet, and Webex. The primary benefits of AV1 are:
  • Restrict the use of poorly-performing images
  • Enabling video for users on very low bandwidth networks (offering video at 30kbps and lower)
  • Significant screen sharing efficiency improvements over VP9 and other codecs
  • 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.
  • Details: Overflow: clip enables developers to disallow any type of scrolling for the box, including programmatic scrolling. Additionally, the box is not considered a scroll container, does not start a new formatting context, and allows the clipping to apply to a single axis via overflow-x and overflow-y.
  • Overflow-clip-margin allows the developer to expand the clip border. This is particularly useful for cases where there is ink overflow that should be visible.
  • Support specifying width/height on elements for :
  • This feature allows specifying a width and height on elements that are used in , which allows the image to compute an aspect ratio from these attributes.
  • URL protocol setter: 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 and elements.
  • Details: Improved standards compliance and interoperability with other browsers.
  • 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 files from the clipboard, but not write files to the clipboard. For files on the clipboard, renderers will have read-only access.
  • Security Patches and Improvements:
  • Blisk 17.0 includes a lot of security improvements and patches including port blocking, protection of 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. `application/x-protobuf` is already protected as a never sniffed mime type. `application/x-protobuffer` is another commonly used MIME type that is defined as an "ALT_CONTENT_TYPE" by the protobuf library.
  • Details: These improvements help developers by keeping the web platform safe for users and preserving user confidence in the web by preventing their browser from being used as a vector to attack their internal network.

New in Blisk 16.1.94.111 (Sep 28, 2021)

  • New devices in Blisk:
  • iPhone 13 mini, iPhone 13, iPhone 13 Pro, iPhone 13 Pro Max are ready to use in the Blisk app, where you can run a mobile test, a responsive test, or a cross-device test. These devices are preinstalled in the Blisk app, so you don't need to download or install anything other than the Blisk app. The latest iPhones run directly on your PC, Mac, or Linux, and the code runs locally, avoiding potential data loss or security issues.
  • Starting with v.16.1.94.111, Blisk opens new possibilities to running different kinds of mobile tests on iPhone 13 mini, iPhone 13, iPhone 13 Pro, iPhone 13 Pro Max: responsive test, multi-device test, touch events test, performance test, landscape orientation test, dark mode test, test for page errors, slow Internet connection test, etc.

New in Blisk 16.0.79.98 (Jul 26, 2021)

  • Share device set, Integration with Command line and Blisk link
  • Auto width for Chrome-like view and Splitter improvements
  • New devices: iPad Pro 11(2021) and iPad Pro 12(2021)

New in Blisk 15.1.151.108 (May 31, 2021)

  • New iPhones (12 Mini, 12, 12 Pro, 12 Pro Max):
  • We're excited to introduce new devices to Blisk: iPhone 12 Mini, iPhone 12, iPhone 12 Pro, iPhone 12 Pro Max. Devices are pre-installed and ready to use in Blisk version 15.1.151.108 and older.
  • Fix of the crash on macOS:
  • Some macOS users experienced crashes with pop-up windows and tabs on some Apple devices (e.g. Mac mini). The majority of crashes were caused by Google sign-in functionality - the users tried to sign in to their Google account on mobile devices, but Blisk crashed constantly. This issue is now fixed and you should be able to use your Google account across all types of devices. If not, please let us know by reporting a bug from our Contact page (https://app.blisk.io/contact)

New in Blisk 15.0.221.130 (May 10, 2021)

  • New shopping cart:
  • Blisk starts supporting the new shopping cart with an improved user experience and new features. As a result, it should become easier and more convenient for users to purchase Premium licenses. Licenses for a single user now do not require a full address. Customers are now able to define company details from the section Billing details > Company tab.
  • Transparent background of screenshots:
  • In version 15, we implemented one of the most requested features by our users - support for screenshots with a transparent background. Starting with this version, you can again use screenshots with transparent background created in Blisk for mockups and demos.
  • Quick switching of devices:
  • Blisk finally starts supporting quick switching of devices on all platforms (Windows, macOS, Linux). Now users can change the device in two clicks.
  • To quickly change the devices in the existing device set:
  • Click on the device name.
  • Select a new device from the drop-down list that appears.
  • Devtools docking in Browsing mode:
  • Since version 15, the users are able to dock the Devtools to bottom, left, right, and undock the Devtools to a separate window while working in Browsing mode. Devtools docking in Developer mode was implemented in version 14.0.70.103.
  • Auto-refreshing the current tab
  • Update Blisk to the latest version in case you need use Auto-refresh for the current tab only. This feature is now available in Blisk v.15+ in Advanced settings of Auto-refresh for any domain. By default, Blisk automatically refreshes all tabs with Auto-refresh enabled.
  • Bug fixes:
  • The latest version contains multiple bug fixes for the known issues:
  • When hovering over links, chrome does not display the popup in the bottom left (right) corner with the url.
  • Issues with . The users were unable to initiate the file input window on its second launch or if it was previously closed.
  • Issues with extension pinning. The users were unable to pin the extension for a quick access.
  • Other minor issues.

New in Blisk 14.0.71.69 (Feb 18, 2021)

  • We are excited to deliver the third patch for the major release of Blisk v14. In this patch, we managed to address the feature requested tens of times since release 14 got public - finally, you now have a convenient way to use all the features of Developer Tools in both development and browsing modes.
  • Important: learn more about new workflow in our new Getting Started Guide.
  • Developer tools improvements:
  • With this patch, we finish the series of fixes for Developer tools in Blisk. The users now are able to use multiple Developer Tools, dock Developer tools, inspect HTML elements in a convenient way, undock Developer tools into a separate window, start Developer tools in a separate window.

New in Blisk 14.0.70.103 (Feb 15, 2021)

  • Fix of failed screen record video transcoding in Blisk cloud
  • Fix of irresponsive application UI with enabled Webroot Antivirus
  • Fix of a crash on application shutdown
  • Transactional emails rebranding: you will now see a more clear and intuitive emails from us. Less text, more useful information
  • Last but not least: docked Dev Tools in browsing and developer modes

New in Blisk 14.0.69.187 (Feb 2, 2021)

  • New feature: quick device switching from the device pane
  • Fix of file input issue (user can not select a file)
  • Fix of unpinned extensions (after application restart all previously pinned extensions got unpinned)
  • Fix of a crash on application shutdown
  • Allow users to provide crash reports after an application crash. Since now Blisk browser recovers from the application crash with an additional tab. You will be asked to share steps that crash the application. Please do not hesitate to share the details if you got Blisk crashed. We will do our best to find the fix and deliver it to production as fast as possible.

New in Blisk 14.0.68.304 (Jan 18, 2021)

  • New Core and User Interface:
  • Over the last year, we were working on the new Application Core. Version 14 uses the new, more efficient Application Core that uses fewer resources, reduces CPU load, performs much better than previous versions, and has the latest security improvements and patches included. Blisk now uses the latest web technologies introduced with Chromium 86.
  • Since version 14, users get more control over the look and feel of Blisk application. You can control modes, user interface, theme, devices with less effort, and the application state now restores on each launch. For example, when you launch Developer Mode, Blisk starts your last used Device Set, eliminating the need to select devices.
  • Browsing and Developer mode:
  • With enabled Developer Mode, Blisk displays new interface elements and controls: menus, notifications, device panes, devices, dialog overlays, etc.
  • The new version offers an improved workflow with quick switching between modes. You get full control over Developer Mode with options to:
  • Set this mode manually whenever you want with the Toolbar button.
  • Mark domains as Development Domain with the Menu button.
  • Display all domains in Developer Mode (option in Settings).
  • Multi-device Set, New Devices:
  • From now, you can create Device Sets with up to eight devices in one Set. Version 14 also introduces Recent Sets (last ten Device Sets) and Templates - predefined Device Sets. Use Device Manager to control Device Sets.
  • The devices now have a new updated user interface, and you can use new Android, iOS, iPadOS devices in Blisk: iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max, Pixel 3, Pixel 3 XL, Pixel 3A, Pixel 3A XL, Pixel 4, Pixel 4 XL, iPad Pro 12. The new Chrome-like view replaced regular Desktop Webview in Developer Mode. With this release, we introduce Device Manager - a window that controls Device Set and device settings.
  • Bug fixes for Windows and macOS:
  • The new version has multiple fixes for previously known issues. The latest macOS Big Sur has brought a few significant changes that crashed Blisk. Version 14 contains the fixes for macOS Big Sur.
  • Dark mode:
  • Use Themes to set up light or dark mode. By default, Blisk inherits your OS theme. Thus, if you've previously configured your OS to display in Dark mode at night, Blisk will display in the Dark mode at night as well.
  • Errors and Warnings:
  • Blisk now tracks Errors and Warnings on every page in every device and highlights their number when they appear. This feature helps being focused on code and never miss any error. The list of Errors and Warnings now display in a new window.
  • Improved URL Sync for Single-page applications:
  • We started supporting single-page applications in previous versions but had multiple issues with synchronizing navigation across devices due to so many edge cases. With improved URL Sync, we finally announce the full support of single-page applications in Blisk.
  • Smart Scaling of Devices:
  • Smart Scaling is a new feature in Blisk that may become handy for Device Set with mobiles. With Smart Scaling, Blisk displays mobiles in relative scale. Previously, mobiles filled the available area (displayed in maximum size). With enabled Smart Scaling, the largest phone has max height. The rest are scaled relative to the largest phone. As a result, mobile devices display in sizes that are as close to real ones as possible. The feature works best with up to 4 phones on screens with small resolution.
  • Simulate slow Internet:
  • In version 14, you can now simulate different networks on each device independently (e.g. fast 3G, slow 3G). As a result, you can check how your web application behaves in real-world conditions.
  • Control device Cache:
  • Modern browsers cache every resource making it more complex to develop and test web applications. Blisk solves this problem by providing the Cache setting with an option to disable Cache.
  • New blisk.io and Blisk documentation:
  • We updated our website and our Documentation. The new Documentation has improved readability, new sections, screenshots, and menus.
  • Linux version announcement:
  • We're happy to announce that Blisk on Linux is coming soon! Our Linux version is scheduled for release in Q1 2020. Please note: the users that subscribed to our Linux release will receive the email prior to other users.

New in Blisk 12.0.92.83 (Jul 2, 2019)

  • Improved tab performance
  • We worked hard to make each tab and device unique. In previous versions of Blisk, there were performance lugs on switching between tabs, tab drag and drop (tab detach/attach), changing tabs order.
  • Since version 12, Blisk stores the position and size of Device content and Desktop content. So, the users will get a better user experience in:
  • Switching between tabs and windows
  • Detaching/attaching tabs
  • Using different devices in different tabs.
  • Developer and Browsing modes:
  • Due to requests from our users, Developer and Browsing modes are again available starting in Blisk v.12. In Browsing mode, Blisk acts like a regular browser and does not render Toolbox and Device content. Any of these modes apply to the window.
  • Transparent background of screenshots:
  • Due to multiple feature requests from our users, we implemented a transparent background of screenshots in Blisk v.12. This feature applies to screenshots taken with Blisk v.12+. The screenshots taken with previous versions of Blisk will remain with a solid background color.
  • Chromium 73 + new APIs and technologies:
  • Since version 12, Blisk starts supporting the latest APIs and technologies with Chromium 73:
  • Display relative times with Intl.RelativeTimeFormat(). Many web apps use phrases like “yesterday”, “in two days”, or “an hour ago” to indicate when something happened - or is going to happen, instead of displaying the full date and time.
  • Blisk v.12 introduces Intl.RelativeTimeFormat(), which shifts the work to the JavaScript engine, and enables localized formatting of relative times. This gives us a small performance boost, and means we only need those libraries as a polyfill when a browser doesn’t support the new APIs yet. Using it is simple, create a new instance and specify the locale, then just call format with the relative time.
  • Specifying underline location for vertical text. When Chinese or Japanese text is displayed in a vertical flow, browsers are inconsistent with where the underline is placed, it may be on the left, or on the right.
  • In Blisk v.12, the text-underline-position property now accepts left or right as part of the CSS3 text decoration spec. The CSS3 text decoration spec adds several new properties that allow use to specify things like what kind of line to use, the style, color, and position.
  • Detailed tooltips in Inspect Mode. When inspecting a node, DevTools now shows an expanded tooltip containing commonly important information like font size, font color, contrast ratio, and box model dimensions.
  • AAA contrast ratio line in the Color Picker. The Color Picker now shows a second line to indicate which colors meet the AAA contrast ratio recommendation. The AA line has been there since Chrome 65.
  • Colors between the 2 lines represent colors that meet the AA recommendation but do not meet the AAA recommendation. When a color meets the AAA recommendation, anything on the same side of that color also meets the recommendation. For example, in image above anything below the lower line is AAA, and anything above the upper line does not even meet the AA recommendation.

New in Blisk 11.0.157.185 (Mar 24, 2019)

  • New GUI:
  • Starting in version 11, Blisk starts using new modern material design user interface with more space for tabs. The user interface is now more intuitive. The new GUI also features:
  • New element: Toolbox with global settings
  • Improved tabs, address bar, menus, notifications, alerts, pop-ups, and themes
  • Improved Toolbar
  • Improved Device content
  • New workflow:
  • With the new workflow, users get more flexibility in using devices and have better UX for browsing.
  • By default, the device is not selected (unless you set Device sync to Enabled)
  • Users can select different devices in different tabs
  • All system pages and https://blisk.io display in Browsing mode (blisk://setup#browsing-mode). Toolbox is not rendered in Browsing mode
  • Device management has moved to Device content
  • Improvements of Device only mode:
  • Some users of previous versions complained about having problems with navigation and submitting forms in device while using Default mode (Device+Desktop). This issue was caused by URL sync. The new version 11 includes fixes of this issue. Users can enable the improved Device only mode and navigate to the needed URL or submit a form in the device.
  • Improvements of Screen recordings:
  • Since version 11, the new Screen recordings are supported by all major browsers including Safari and Internet Explorer on desktop and mobile.
  • Top URLs on New tab page:
  • In order to make your browsing faster, Blisk v.11 shows new section Top URLs on New tab page. Top URLs are generated based on your browsing history.
  • Update improvements:
  • Previously, Blisk checked for updates on each start. Since version 11, Blisk uses new update system. Users will receive updates earlier and even while using Blisk.
  • OS X users: since v.11, Blisk downloads the update automatically and installs it once the user closes Blisk application. Blisk starts the new version automatically after installing it.
  • Chromium 70 + new APIs and technologies:
  • Since version 11, Blisk starts supporting the latest APIs and technologies with Chromium 70:
  • Page Lifecycle API. When a user has a large number of tabs running, critical resources such as memory, CPU, battery and the network can be oversubscribed, leading to a bad user experience.
  • If your site is running in the background, the system may suspend it to conserve resources. With the new Page Lifecycle API, you can now listen for, and respond to these events.
  • For example, if a user's had a tab in the background for a while, the browser may choose to suspend script execution on that page to conserve resources. Before doing so, it will fire the freeze event, allowing you to close open IndexedDB or network connections or save any unsaved view state. Then, when the user refocuses the tab, the resume event is fired, where you can reinitialize anything that was torn down.
  • CSS Scroll Snap. CSS Scroll Snap allows you to create smooth, slick, scroll experiences, by declaring scroll snap positions that tell the browser where to stop after each scrolling operation. This is super helpful for image carousels, or paginated sections where you want the user to scroll to a specific point.
  • For an image carousel, add scroll-snap-type: x mandatory; to the scroll container, and scroll-snap-align: center; to each image. Then, as the user scrolls through the carousel, each image will be smoothly scrolled into the perfect position.
  • Payment Handler API. The Payment Request API is an open, standards-based way to accept payments. The Payment Handler API extends the reach of Payment Request by enabling web-based payment apps to facilitate payments directly within the Payment Request experience.
  • As a seller, adding an existing web-based payment app is as easy as adding an entry to the supportedMethods property.
  • If a service worker that can handle the specified payment method is installed, it will show up in the Payment Request UI and the user can pay with it.
  • Web Locks API. The Web Locks API allows you to asynchronously acquire a lock, hold it while work is performed, then release it. While the lock is held, no other script in the origin can acquire the same lock, helping to coordinate the usage of shared resources.
  • For example, if a web app running in multiple tabs wants to ensure that only one tab is syncing to the network, the sync code would attempt to acquire a lock named network_sync_lock.

New in Blisk 10.0.261.275 (Oct 1, 2018)

  • Emulation update:
  • Starting in version 10 on all platforms, Blisk will use the newly improved emulation with the latest iOS and Android user interface. The devices start displaying the bottom toolbar. This release also has improved emulation performance - the devices load faster and resize better.
  • New devices:
  • Starting in version 10, Blisk supports:
  • New phones: iPhone 8 Plus, iPhone X, Galaxy S8, Galaxy S9, Galaxy S9 Plus, Pixel 2 XL.
  • Multi-device screenshot:
  • Since version 10, we introduce the new feature: multi-device screenshot. Blisk can take a screenshot of multiple phones or tablets as a single image. With this feature, you can get the testing results even without switching across the devices. Blisk will generate the screenshot of all needed devices. Available options:
  • OS: iOS or Android
  • Device type: phone or tablet
  • Screenshot delay: value in milliseconds. The default value is 0.
  • Image editor:
  • Since version 10, we introduce the new feature: Image editor . Image editor enables annotating, drawing arrows and squares on top of any image.
  • Image editor launches after taking a screenshot by default.
  • Launch image editor:
  • Click Screenshot button in Blisk toolbar.
  • Click Image editor from the menu that appears.
  • Caching:
  • Since version 10, Blisk introduces a more convenient way to manage the cache. This option is available from device list -> Caching.
  • Caching has two states:
  • Enabled - Blisk stores the data so that future requests for that data can be served faster (default).
  • Disabled - Blisk loads all resources each time as if it is the first visit.
  • Chromium 67 + new APIs and technologies:
  • Since version 10, Blisk starts supporting latest APIs and technologies with Chromium 67

New in Blisk 9.0.177.201 (Jun 5, 2018)

  • Emulation update, New devices, Device in real size, Google tab, Shortcuts, New error reports, Chromium 65 + new APIs and technologies.
  • More details at https://blisk.io/blog/9-0-177-201.

New in Blisk 8.0.201.218 (Mar 5, 2018)

  • New GUI for Blisk, Mobile-only view, Improved performance, Free session timer, New error report, New Blisk setup.
  • NEW GUI:
  • Starting in Blisk v.8 on all platforms, Blisk will use the new user interface. The new GUI allows Blisk users to better interact with Blisk features and settings through the icons located near the address bar.
  • Layout settings:
  • Default view with device and desktop side-by-side.
  • New Device-only view. Desktop view is hidden.
  • Desktop-only view. Mobile view is hidden.
  • Screenshot and screen recorder:
  • Device screenshot: takes a screenshot of the selected device.
  • Desktop screenshot: takes a screenshot of the desktop view.
  • Screen recorder: captures video of your screen.
  • My screenshots: go to your cloud storage of screenshots.
  • My screen records: go to your cloud storage of recorded videos.
  • Auto-refresh:
  • Auto-refresh is ready to set up for this website.
  • Auto-refresh enabled for this website.
  • Error-notifier:
  • No errors on this page.
  • The page has errors. Click to view new error report.
  • Page inspector:
  • Page inspector is ready to launch.
  • Page inspector is launched. Click once again to disable it.
  • DevTools:
  • New Device DevTools: click to launch DevTools for the selected device.
  • New Desktop DevTools: click to launch DevTools for desktop view.
  • Blisk settings:
  • New Blisk setup: manage Blisk settings.
  • New My account: go to your Blisk account.
  • New Upgrade plan: click to upgrade your Blisk to Premium unlimited version.
  • New My cloud storage: go to your Blisk cloud storage.
  • Scroll-sync: manage scroll-sync.
  • NEW MOBILE-ONLY VIEW:
  • Starting in version 8, Blisk provides Mobile-only view. This feature was often requested by our users, and now we are happy to introduce it.
  • IMPROVED PERFORMANCE:
  • Blisk was optimized to save more RAM for other running applications. Since version 8, Blisk uses twice less background processes and twice less RAM.
  • NEW BLISK SETUP:
  • Since version 8, Blisk setup (blisk://setup) provides new UI in material design.
  • TIME TO NEXT FREE SESSION:
  • For users with no Blisk Premium, Blisk shows the notification about the next free session. In previous versions, Blisk did not show the exact time left to the next free session. Since version 8, Blisk shows time to next free session.