Last month JavaScript news: releases, updates, agreements and many more about JS technologies. Pore over our October 2018 JS digest:

The Node.js Foundation and JS Foundation today announced an intent to merge

Leaders from the Node.js Foundation Board of Directors, Technical Steering Committee and Community Committee will join representatives from the JS Foundation Board of Directors and Technical Advisory Committee to facilitate the discussion, answer questions and solicit community input on the possible structure of a new Foundation. Joining forces will not change the technical independence or autonomy for Node.js or any of the 28 JS Foundation projects such as Appium, ESLint, or jQuery.

Learn more on linuxfoundation.org.

Sans Forgetica

Australian researchers say they have developed a new tool that could help students cramming for exams – a font that helps the reader remember information.

Melbourne-based RMIT University’s behavioural business lab and design school teamed up to create “Sans Forgetica”, which they say uses psychological and design theories to aid memory retention.

About 400 university students have been involved in a study that found a small increase in the amount participants remembered – 57% of text written in Sans Forgetica compared with 50% in a plain Arial.

Typography lecturer Stephen Banham said the font had an unusual seven-degree back slant to the left and gaps in each letter.

Find out more on theguardian.com.

Microsoft backs off from Windows 10 ‘warning’ about Chrome and Firefox

Microsoft started testing a warning for Windows 10 users  last week that displayed a prompt when Chrome or Firefox was about to be installed. The software giant is now reversing this controversial test in its latest Windows 10 preview, released last Friday. The Vergeunderstands Microsoft no longer plans to include this warning in the upcoming Windows 10 October 2018 Update that will ship next month, but that the company may continue to test these types of prompts in future updates.

The prompt tried to convince Windows 10 users to stick with Microsoft’s built-in Edge browser when the Chrome and Firefox installers were activated. Microsoft uses a similar prompt when you try to switch default browsers on Windows 10, and the company has also issued notifications to Chrome users in the past warning them that Google’s browser is “draining your battery fast.”

Check theverge.com for more.

Firefox Reality


Earlier this year, Mozilla shared that they are building a completely new browser called Firefox Reality. The mixed reality team at Mozilla set out to build a web browser that has been designed from the ground up to work on stand-alone virtual and augmented reality (or mixed reality) headsets. Today, Mozilla are pleased to announce that the first release of Firefox Reality is available in the Viveport, Oculus, and Daydream app stores.

More info on blog.mozilla.org.

Firefox 63 releasenotes

Performance and visual improvements for Windows users

  • Moved the build infrastructure of Firefox on Windows to the Clang toolchain, bringing important performance gains
  • Firefox theme now matches the Windows 10 OS Dark and Light modes

Performance improvements for macOS users

  • Improved reactivity
  • Faster tab switching
  • WebGL power preferences allow non-performance-critical applications and applets to request the low-power GPU instead of the high-power GPU in multi-GPU systems
  • Added content blocking, a collection of Firefox settings that offer users greater control over technology that can track them around the web. In 63, users can opt to block third-party tracking cookies or block all trackers and create exceptions for trusted sites that don’t work correctly with content blocking enabled.
  • WebExtensions now run in their own process on Linux
  • Added support for Web Components custom elements and shadow DOM

Find out more on mozilla.org.

Node v11.0.0

Node.js 11.0.0 is here! This is the newest Node.js Current Release line with a focus primarily on improving internals, performance, and an update to V8 7.0.

Notable Changes:

  • Build
  • FreeBSD 10 is no longer supported.
  • child_process
  • The default value of the windowsHide option has been changed to true.
  • console
  • console.countReset() will emit a warning if the timer being reset does not exist.
  • console.time() will no longer reset a timer if it already exists
  • Dependencies
  • V8 has been updated to 7.0.
  • fs
  • The fs.read() method now requires a callback.
  • The previously deprecated fs.SyncWriteStream utility has been removed.
  • http
  • The http, https, and tls modules now use the WHATWG URL parser by default.
  • General
  • Use of process.binding() has been deprecated. Userland code using process.binding() should re-evaluate that use and begin migrating. If there are no supported API alternatives, please open an issue in the Node.js GitHub repository so that a suitable alternative may be discussed.
  • An experimental implementation of queueMicrotask() has been added.
  • Internal
  • Windows performance-counter support has been removedThe --expose-http2 command-line option has been removed.
  • Timers
  • Interval timers will be rescheduled even if previous interval threw an error.
  • nextTick queue will be run after each immediate and timer.
  • util
  • The WHATWG TextEncoder and TextDecoder are now globals.
  • util.inspect() output size is limited to 128 MB by default.
  • A runtime warning will be emitted when NODE_DEBUG is set for either http or http2.

To learn more check nodejs.org.

Next.js 7 released

After 26 canary releases and 3.4 million downloads, Next.js team introduce the production-ready Next.js 7, featuring:

  • DX improvements: 57% faster bootup, 42% faster re-compilation
  • Better error reporting with react-error-overlay
  • Upgraded compilation pipeline: Webpack 4 and Babel 7
  • Standardized Dynamic Imports
  • Static CDN support
  • Smaller initial HTML payload
  • React Context with SSR between App and Pages

More info on nextjs.org.

Electron 3.0 released

The Electron team is excited to announce that the first stable release of Electron 3 is now available from electronjs.org and via npm install electron@latest!

Changes / New Features

Major bumps to several important parts of Electron's toolchain, including Chrome v66.0.3359.181, Node v10.2.0, and V8 v6.6.346.23.

  • app.isPackaged
  • app.whenReady()
  • process.getHeapStatistics()
  • win.moveTop() to move window z-order to top
  • TextField and Button APIs
  • netLog API for dynamic logging control
  • enable webview in sandbox renderer
  • fs.readSync now works with massive files
  • node fs wrappers to make fs.realpathSync.native and fs.realpath.native available

Check electronjs.org for more.

React v16.6.0

Check out the changelog below:

React

  • Add React.memo() as an alternative to PureComponent for functions.
  • Add React.lazy() for code splitting components.
  • React.StrictMode now warns about legacy context API.
  • React.StrictMode now warns about findDOMNode.
  • Rename unstable_AsyncMode to unstable_ConcurrentMode.
  • Rename unstable_Placeholder to Suspense, and delayMs to maxDuration.

React DOM

  • Add contextType as a more ergonomic way to subscribe to context from a class. Add getDerivedStateFromError lifecycle method for catching errors in a future asynchronous server-side renderer.
  • Warn when <Context> is used instead of <Context.Consumer>.
  • Fix gray overlay on iOS Safari.
  • Fix a bug caused by overwriting window.event in development.

React DOM Server

  • Add support for React.memo().
  • Add support for contextType.

More about changelog on reactjs.org.

Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more

The 7.0.0 release of Angular is here! This is a major release spanning the entire platform, including the core framework, Angular Material, and the CLI with synchronized major versions. This release contains new features for our tool chain, and has enabled several major partner launches.

Angular Material & the CDK

  • Material Design received a big update in 2018. Angular Material users updating to v7 should expect minor visual differences reflecting the updates to the Material Design specification.
  • Newly added to the CDK, you can now take advantage of Virtual Scrolling and Drag and Drop by importing the DragDropModule or the ScrollingModule.
  • Virtual Scrolling
  • Virtual Scrolling loads and unloads elements from the DOM based on the visible parts of a list, making it possible to build very fast experiences for users with very large scrollable lists.
  • Drag and drop support is now in the CDK and includes automatic rendering as the user moves items and helper methods for reordering lists (moveItemInArray) and transferring items between lists (transferArrayItem).

Improved Accessibility of Selects

  • Improve the accessibility of your application by using a native selectelement inside of a mat-form-field. The native select has some performance, accessibility, and usability advantages, but we’re keeping mat-select which gives full control of the presentation of options.

Angular Elements

  • Angular Elements now supports content projection using web standards for custom elements.

Learn more on blog.angular.io.

styled-components v4 release

After a couple weeks of beta testing styled-components v4 is now officially ready for primetime!

If you didn’t read the styled-components v4 announcement, here’s a quick primer on what’s in this release:

  • Smaller and much, much faster
  • A refreshed createGlobalStyle API, replacing the old injectGlobal
  • Support for the "as" prop, a dynamic alternative to .withComponent
  • Removal of Comp.extend in favor of unifying styled(Comp)
  • Full StrictMode compliance for React v16
  • Native support for ref on any styled component

Find out more via medium.com.

GitHub launches Actions, its workflow automation tool

GitHub users can use Actions to build their continuous delivery pipelines, and the company expects that many will do so. And that’s pretty much the first thing most people will think about when they hear about this new project. GitHub’s own description of Actions in today’s announcement makes definitely fits that bill, too. “Easily build, package, release, update, and deploy your project in any language—on GitHub or any external system—without having to run code yourself,” the company writes. But it’s about more than that.

To learn more on this check techcrunch.com.

There's a text adventure game hidden inside Google Search

Search engine and all around web giant Google  famously love to put hidden features in their products, and a few days ago a new easter egg was discovered: a full text adventure game hidden away in the dev console. The game sees you playing as a “big blue G” and searching for your friends, the other colourful letters that make up the Google logo.

The game was discovered by Reddit user attempt_number_1, and requires players to open up the dev console to play. After searching ‘text adventure,’ hit Control+Shift+J (or Command+Option+J on Macs) to access it. It should read “Would you like to play a game? (yes/no).”

Find out more on rockpapershotgun.com.

Zet, a conceptually correct alternative to the native Set

ECMAScript 6 sets have no methods for computing the union (∪), intersection (∩) or difference (⊖). Zet is an extension of ES6 Set and comes with all its functionality included. The API is similar to how sets work in Python.

Additions to the default ECMAScript 6 set

  • ∪ union
  • ∩ intersection
  • - difference/subtract
  • ⊖ symmetric difference
  • ⊆ subset
  • ⊇ superset
  • filter

Check github.com for more.

That’s it for now. Stay tuned and and subscribe to our newsletter not to miss next month JS digest!