Hey everyone and welcome to another round of Front End News. I am not back yet to the normal schedule - I am planning that for next month. There are more details about that at the end of the article. And I'm going to share more details about the things happening behind the scenes in the newsletter version (wink wink nod nod).
In this issue, we're taking a look at the new things coming in ES2022. We have the results of the JS1024 code challenge. There are updates from many browsers: Chrome 93, Firefox 91, Polypane 6.3, and four updates of Safari Technology Preview (from 128 to 131). The section on updates and releases is huge, with packages like Deno 1.13, Electron 14.0.0, Mongoose 6.0.0, TypeScript 4.4, Yarn 3.0, NodeJS, and many, many more.
What's new in ES2022?
ECMAScript specs are not the most readable documents. So it helps when people help condense and refine the information in a format easier to understand. This is the case with the elements that were included in ES2022, presented to us by Yagmur C. Tas. Here is a brief synopsis of what's coming to us next year:
- Class Fields
- Class Public Instance Fields & Private Instance Fields
- Private instance methods and accessors
- Static class fields and private static methods
- Ergonomic brand checks for Private Fields
- RegExp Match Indices
- Top-level await
Of course, there is a lot more detail in the article, with plenty of references to other sources. Enjoy!
I've mentioned JS1024 not too long ago, in issue 036. We now have the results, and there are some awesome creations in this year's crop. Definitely worth having a look at.
Chrome 93 is rolling out to users and this update brings some fancy new features. You can now load CSS Modules using
import statements, you can manage multiple displays with the Multi-Screen Window Placement API. This is also the start of the new release cycle, where Chrome 94 will ship out in 4 weeks instead of 6 as it did so far.
As usual, there are plenty of changes in the DevTools as well. You can edit container queries directly in the Styles panel. Web Bundles can be previewed in the Network panel. You can measure performance with Lighthouse 8.1, and a lot more. Make sure to check the guide linked below.
We're also getting a preview of the upcoming changes for DevTools in Chrome 94. You will be able to work using your own language, out of over 80 options. Elements with container queries now have a
container label. And so much more. You can already give these changes a try using the Canary release.
Firefox users are also getting an update to version 91. Now all private browsing windows will automatically attempt to make all connections to websites secure. Connections will fall back to HTTP if the website does not support HTTPS. The ‘increased contrast’ setting enables High Contrast mode on macOS. Last but not least, developers can now use Visual Viewport API and some more additions to the Intl.DateTimeFormat object.
We have a new release from Polypane as well. It brings new tools like the tunnel vision simulator, support for Web Manifest, better performance, and some UI changes (the most important one being the relocation of the reload button).
The WebKit team has been very busy during this time. They released no less than four updates to the Safari Technology Preview. That's too much for even a summary, so I'll invite you instead to check the release notes.
- Release Notes for Safari Technology Preview 128
- Release Notes for Safari Technology Preview 129
- Release Notes for Safari Technology Preview 130
- Release Notes for Safari Technology Preview 131
Software updates and releases
As expected, there are a lot of updates for some well-known libraries (and some less known, but quite interesting). Packages like Deno 1.13, Electron 14.0.0, Mongoose 6.0.0, TypeScript 4.4, Yarn 3.0, and many, many more. I even had to make a separate section for NodeJS updates.
- Angular 12.2.0 - a development platform for building mobile and desktop web applications
- Bootstrap 5.1.0 - the world’s most popular front-end open-source toolkit
- Cypress v8.3.0 - fast, easy, and reliable testing for anything that runs in a browser
- drift v1.5.0 - add "zoom on hover" functionality to your site's images
- Hugo 0.86.0 - a fast and flexible static site generator built using Go
- Hugo 0.87.0
- JZZ v1.4.0 - MIDI library for Node.js and web-browsers
- marked v3.0.0 - a markdown parser and compiler. Built for speed
- Mongoose 6.0.0 - MongoDB object modeling designed to work in an asynchronous environment
- Neutralinojs v2.7.0 - Portable and lightweight cross-platform desktop application development framework
- Next.js 11.1 - the React Framework
- on-change v4.0.0 - Watch an object or array for changes
- react-markdown 7.0.0 - markdown component for React
- socket.io v4.2.0 - Realtime application framework (Node.JS server)
- svgo v2.4.0 - Node.js tool for optimizing SVG files
- TypeScript 4.4
- V8 release v9.3
- VSCode July 2021 (version 1.59) - open source code editor
- ws v8.0.0 - a WebSocket client and server for Node.js
I need to make a special mention for NodeJS, for there are too many updates to include in the normal listing. The Current channel went from 16.6.0 to 16.8.0, the Long Term Support (LTS) channel covered versions 12.22.4 - 12.226 and 14.17.4 - 14.17.6, and don't forget about the July and August security updates. You can see the full list of updates on the official blog:
Wrapping things up
I decided to make this update for a couple of reasons. First, I wanted to cover some of the updates that have happened since the last issue. The alternative would have been a monster update and that's always hard to digest. Just look at the size of the Software Updates section.
Second, I wanted to do a live test for the changes I made to the website. I replaced a lot of hardcoded elements with functionality from Eleventy. And the most important update I made is moving the hosting from Media Temple to Netlify. I simply love the ability to deploy automatically from GitHub. There's no way I am going back to uploading files via FTP.
That's about all I have for this update. Have a great and productive time, keep yourselves safe, and I will see you again in a few weeks!