Release: Google Chrome 56

Google Chrome Browser Logo: Blue gradient circle with a thick white outline and a larger circle behind it with red, yellow, and green trisection coloring from top to bottom left.

Google has released version 56 of its web browser, based on the open-source Chromium web browser. There were 51 security-related bug fixes and one security researcher nabbed over thirty-thousand dollars ($30,000) for reporting some particularly nasty cross-site scripting (XSS) issues in Blink, Chrome’s rendering engine.

Here are the other new and fixed features:

For Users

  • WebGL 2.0 Support
  • HTML5 by Default
    • For all users the browser will now attempt to load HTML5 content over Flash and will only fall-back to Flash when it is absolutely necessary
    • Around October of this year Flash will require the user to explicitly approve its use
  • Built-in FLAC (Free Lossless Audio Codec) codec/support
  • The URL input bar now shows “Not Secure” next to the information icon for sites that are not encrypted and requesting username and passwords
  • Improved Bluetooth support via Bluetooth Low-Energy (BLE) and the Web Bluetooth API
  • Page reloading up to 28% faster

For Developers

  • Added “system-ui” font-family value that uses the operating system’s (OS’s) default font
  • Network
    • Support added for Referrer-Policy (CSP referrer) header
    • reflected-xss header deprecated
  • CSS
    • background-image-repeat: space value support added
      • Fills background with repeated tiles but no so much that it goes outside the container and will “space out” the tiles equally
    • position: sticky value support added
      • Works as “relative” until it reaches a maximum value, then works as “fixed”
    • offset-rotate motion path property now supported
    • Scroll anchoring support added, new overflow-anchor  with possible values of auto or none (to disable)
      • Locks the browser to a specific element so that content reflows do not force the browser away from the anchor element as images & other content load
      • touch-action: pinch-zoom property support added
  • SVG
    • SVGElement.currentView, SVGElement.useCurrentView, and SVGViewSpec interface deprecated
  • JavaScript
    • Chrome will no longer fetch the src (source) property of <script>  tags with non-script MIME types (suggests using the link preload element instead)
    • Removed deprecated MediaStreamTrack.getSources()
    • Shadow DOM: Will now dispatch synthetic events when target and relatedTarget event property values are identical/same
    • Showing/hiding the URL bar will no longer affect the page size or elements with vh units
      • overlay with “extra at the top” rather than pushing content around
    • KeyboardEvent.isComposing read-only value which returns true after compositionstart event has fired but before compositionend has
    • MediaStream Image Capture now allows for taking images/video from attached camera/imaging devices
    • Fixed attached mouse on Android devices incorrectly firing TouchEvent instead of MouseEvent
    • Large images now allowed to be sent as notification content via Notification API
    • OPUS audio codec support
    • PaymentRequest.canMakePayment() returns true or false if a payment can be accepted via Payment Request API
    • Remote Playback API support added
      • Android only, desktop support will be added in a later version – desktops currently report no available playback devices even when there is at least one available
      • Can control external devices’ (like Smart TVs, Chromecasts, Rokus, etc.) media playback
    • Shaddow DOM: slotchange events are no longer re-fired at slot’s assignedSlot (correct odd behavior and comply with specification change)
    • Streams API: WriteableStream is now supported
    • Added ImageBitmapRenderingContext
      • Provides low-level context for rendering an image on Canvas
    • Document-level TouchEvents are now passive by default
    • Web Bluetooth API supported
    • WebGL 2 supported
    • WebAudio API
      • Added ConstantSourceNode
      • ChannelSplitterNode channelCount and channelCountMode are constant
      • PannerNode.rolloffFactor clamps to nominal range
      • Removed deprecated Doppler API
  • Security
    • Added early support for TLS 1.3
    • Removed various ECDSA TLS cyphers
    • SHA-1 certificates are no longer trusted
    • Touch scroll events no longer allow popups to be opened
    • window.prompt() no longer brings background/inactive tabs to the foreground/active state
      • Background tabs will just not display a prompt
  • DOM
    • Rare case-insensitive matches for <input> group name are no longer done
    • Non-white-space Unicode control characters are now rendered in compliance with the specification
    • Delay running rendering pipeline (including requestAnimationFrame requests) inside iframes until all stylesheets have loaded
    • Allow any element below the body to be defined as the root scroller (which allows hiding URL bar, generate overscroll glow, etc.) via document.rootScroller

http://www.omgubuntu.co.uk/2017/01/google-chrome-56-flac-webgl-supprot

Chrome now reloads pages 28% faster

https://www.chromestatus.com/features#milestone%3D56

Google Chrome 55 Released

Google Chrome Browser Logo: Blue gradient circle with a thick white outline and a larger circle behind it with red, yellow, and green trisection coloring from top to bottom left.

Google has released version 55 of the Chrome web browser (based on the open-source Chromium browser) a few days early (was supposed to be released on the 6th). There was over $70,000 paid out to security experts, developers, and white-hat hackers for finding over 25 different security-related issues with the browser.

Noteworthy features:

async & wait functions

ES2016’s async and await function flags will be fully supported and allows making function calls that do not delay the main browser thread (asynchronous). Note that because IE does not support this (though can be mimicked using a settimeout polyfill; Edge has this feature behind an experimental flag) it will be awhile before it can be used cleanly. Babel (the ES6->ES5 JavaScript transpiler Node.js module) transpiles these for browsers that do not support it using the settimeout polyfill.

Pointer Events

Pointer Events API will be fully supported and allow capturing mouse and touch move, over, and leave/out events combined into a single event.

Persistent Storage

Persistent Storage will be supported. Note that pretty much all browsers support localStorage, but it is simply up to the browser when to remove the data. For instance, when hard drive space runs out, storage data gets wiped automatically to free up space. Persistent Storage provides a mechanism that allows the developer to request their data be kept unless clearing out all non-persistent data still does not free up enough storage space. It identifies whether or not their request was accepted or the browser is simply only accepting non-persistent storage.

Chrome 55 is expected to use significantly less memory. Chrome was the first browser to support per-tab processes – but has always been at the cost of using a fair bit more memory than other browsers. Now they have a goal to, eventually, reduce the memory usage enough that Chrome can be used easily on a computer with just 1GB of memory. Version 55 is the first step toward that goal as it both uses a fair bit less memory and has a rewritten garbage collector.