 So welcome to today's installment of What's Up with the Contributors. Today I have Beth Griggs, who is a Node.js contributor, member of the Technical Steering Committee, and very active in the Release Working Group. Before we get started, Beth, can you tell us a little bit about yourself? Sure. So my name is Beth Griggs. I'm a Senior Software Engineer at Red Hat, and I'm lucky enough as part of my role, I get to help out in maintaining the Node.js runtime, where I'm mostly active in the Node.js Release Working Group, and also I'm a member of the Technical Steering Committee. Okay. Well, earlier this week, the Node.js project announced version 17, and actually I know you did the release, and Node.16 is being promoted to LTS last week. Can you tell us a little bit about the overall release process and schedule? Yeah, sure. So the Node.js project aims to have a very predictable release schedule. So we have two major releases per year, one in April, one in October, and it's in April we've released the even-numbered versions, and the even-numbered major releases are the ones that will be promoted to long-term support. And long-term support is where they will get a longer period of time of bug fixes and maintenance, and typically that's around 30 months. So where we are now is Node.js 16 was released in April. It went through six months in a current phase, where it was rapidly getting all the new features and changes that landed in the runtime. And now in October, it's hit its long-term support phase. Yeah, that's one of the things I like is how predictable that release schedule is. You know, there's a release every April and October, and then the promotion in October. Although I find not everybody remembers that we're so predictable, so if you wanna find the specific dates, you can always go to the release project in the Node.js org, and there's a nice chart with all the dates and stuff like that. I guess one of the things we're here to talk about is just last week, although I don't know when people will be watching this, but last week for us, 17 went out, and I'm just wondering what you think some of the most interesting features were in that release? Yeah, so as with most of our major releases, they will come with a V8 upgrade, and it's through the V8 JavaScript engine that we pick up all of the new features that have been added to the JavaScript language. So in Node.js 17, the JavaScript V8 engine is updated to V895, and that's just up from V894, which is available on Node.js 16 now. One of the interesting APIs that's been added is we've started to expose some more promissified APIs of the core APIs. So it's long been a strategic initiative within the project to expose more of our core APIs in promised form, and in Node.js 17, we continued progress and managed to ship the read line module as a promissified version. And probably one of the most significant updates in Node.js 17 is the open SSL version free upgrade, and this is quite a big change. There will be some impact, and that's part of the reason we thought it made sense to bring this into Node.js 17 so we can use Node.js 17, which is not gonna be a long-term support release to get out there, to get some feedback ready for Node.js 18. Yeah, I find that our multi-tier release schedule and approach really does help with that. It helps to have that baking time in the odd currents, and even for the even currents to get promoted, it's really nice to have that six month time where it's current before it gets promoted to LTS for people to try out features, give us feedback, and hopefully vet things before it goes to the LTS release. On the open SSL front, yeah, that one's really a long time coming in, and it's, from my opinion, it's great. I'm looking forward to things like the provider model that it brings with it, and I think that'll make it more flexible to be able to use things like FIPS or hardware accelerators, and not necessarily have to worry about can I upgrade my version of open SSL because the providers are sort of a separate component. I think over time, open SSL is gonna bring us some really good things. Open SSL V3 will bring us some good things, and it's good to see that in the current release, and we pretty much, we needed to have it in before 18, so I think doing it in 17, like you mentioned, is a good thing. Now we're talking about 17, because that's the new major, but just as exciting for me is that Node 16 was promoted to LTS, and so more people can feel comfortable using that in production. So what do you think are the interesting features that came in 16? So in Node 16, we actually shipped MPM8, and that's up from MPM6 that was shipped in Node.js 14. So if you're one of the large enterprises or running production applications going from LTS to LTS, that means you are picking up a new major of MPM in Node 16. And related, we also shipped the call pack feature in Node.js 16, and what call pack is, it makes it easier to install the alternate package managers like Yarn and PMPM. So when you type it, it will install it for you if you don't already have it. Also, it's quite timely and interesting is the Node.js 16 will be the first major release where we're shipping pre-built binaries for Apple Silicon, and this is great timing with all of the new Macs recently coming up. That's great. Yeah, also in 16, there's more progress on the sort of diagnostics front. I'm always interested in that because that's kind of an important thing in terms of being able to support customers and work and investigate problems, which we know there always will be some. So 16 is the first LTS where you can get async local storage as a set of stable APIs. And I think that's really important for APM, so application performance management systems, being able to track transactions across microservices. And so I think that's important. The other thing that came through the V8 upgrade was the error with cause. Sometimes you want to catch errors and re-throw them, and it makes it a little bit easier to sort of capture and store the information from an earlier exception into another exception or maybe even exceptions cause exceptions and so forth. So it's nice to be able to chain those together in a little bit easier way. So are there, we've talked about the releases. Is there anything that developers can do to help out with the Node.js releases? Yeah, one of the key things is to try out our current release. So Node.js 17, it will be in current phase for the next six months. As mentioned earlier, it will pick up all those new features and changes that are landing in the runtime. So it'd be really great if developers could play with Node.js 17, help test out, potentially even add it to their CI matrix so they can see how, what their upgrades going to be like in the future. And that just really helps us get feedback and adjust accordingly based on the feedback we get. And that's particularly important in this case because with the OpenSSL free upgrade, we do anticipate there to be some impact in the ecosystem. And that's because they have essentially blocked some of the more legacy algorithms and key sizes. So it'd be really good for folks to try it out so they get that feedback early and we can help the ecosystem adapt. Yeah, definitely anybody who might have sort of held off and say waited till 18 to start their testing, it's probably a good idea to at least do some SNF testing on 17 earlier this time, so yeah. So I think that's all the time we have for this time. Beth, thanks for coming and talk to us and thanks to all the viewers. We hope to see you next time, but bye for now. Bye.