 So, welcome to this week's installment of What's Up with the Contributors. This time we're going to focus on the new Node.js 18 release. I have Beth Greggs with me who's a core collaborator and member of the Technical Steering Committee. Before we get started, can you tell us a little bit about yourself? Sure. Hi, everyone. My name is Beth Greggs, and I am a Senior Software Engineer at Red Hat. And as part of my role, I get the opportunity to help maintain Node.js runtime. So, I'm very active in the project. I'm on the Technical Steering Committee, and also particularly active in the Node.js release working group. Thanks. So, the project recently released the Node.js 18 release. Can you tell us a little bit about the overall release process and schedule? Because that's kind of important for people to understand as well. Sure, yes. So, the Node.js project aims to have a very predictable release schedule. So, we have two major releases per year, with the even number of releases in April, and the odd releases in October. And it's actually the even number of release lines that get promoted to the long-term support state. So, once they're in that state, they get the extended lifetime, so they get around 30 months of support. And that means that the Node.js 18 release that we've just shipped will be promoted to long-term support this coming October. And so, it will be one of the long-term supported release lines. Okay, great. So, yeah, this new release, and it's going to be LTS in October, we always get the question, like, what are the most interesting or important features in the release? Yeah, sure. So, with every major release of Node, we tend to pick up a new V8 engine update. So, in this release, we'll be picking up a V8 Turn.1 initially. And it's actually through the V8 engine upgrades that we pick up any new JavaScript APIs. But what I do think is the key headline feature for this release, in my opinion, is that thriving fetch is available by default. So, in Node.js 18, there will be an experimental implementation of the fetch API. And it was added in Node 17, but it was behind a flag. And the implementation that we have is based on the NDT project and the work that happens in that group, and by many contributors to the project. Yeah, I think that that was really interesting and great to see that come in. We had a nice summit on modern HTTP as part of the next 10 effort, where we're looking at, like, what's important to Node as we go forward and how to be successful in the next 10 years. We had a great discussion and sort of agreed we needed a high-level HTTP API. And then a lower-level API, you know, gives you more control, more performance tuning, that kind of stuff. And we agreed fetch was the best fit for the high-level API. And, you know, it was great to see collaborators pull that in so soon after that summit. So that's really a great headline feature. What about other features you think are interesting? Sure. Another one of those is the experimental built-in test runner. And we will be building into Node.js 18. So that means in Node.js 18, by default, you will get a very minimal test runner. And this is great because in the simple cases where you maybe don't want to go out and install a module from NPN, you'll be able to write some tests. And this test runner will output the standard TAP format. So we hope we have to get some good feedback from it. Yeah, that's great. I'm really happy to see all the experimental features that are coming in and are available in this release. Things like fetch, web streams and the test runner. In particular, the things like fetch that are bringing APIs that are available in the browser and where it makes sense, making something similar available in Node.js as well. So you can use those similar APIs in both the front and the back end. The other thing in this release I think is interesting to call out is OpenSSL v3. It's not new in 18, but it is the first LTS. So people who are upgrading from 16 to 18, it's the first time that they're going to see that. And it is a larger upgrade. Certainly v3 aims to be backwards compatible, but as always, things like algorithms are changed so that only more secure algorithms are supported and so forth. And so I think it's important for people to try out 18 in advance, probably even more important than it is for every release. So sort of thinking, talking about one of those things of trying it out in advance, what do you think that developers and end users can do to help out in relation to this new release? Yeah, sure. So part of the intent of the current release line is to have it almost in a state where we're wanting that feedback in advance that go into long-term support. So anyone playing with their apps, try upgrading them to node 18 and see what happens. In some cases, maybe try adding it to your test matrix in advance. And that really helps because you're getting that feedback as the release line builds up. And when it comes to promoting it to LTS, hopefully you're being in the position to upgrade. Also of note is Node.js 12 going end of life at the end of this month, April 2022. So if you are on Node.js 12, it is also a good time to start planning your upgrade path in advance. But generally the best thing folks can do is play with release and give us feedback. Yeah, that feedback really is important for us to have a solid release when we go LTS in October. So hopefully everybody can do that. So I think that's all the time we have for this time. Thanks for people coming to watch the video. And Beth, thanks for coming to talk to us and we hope we see everybody next time.