Hi everyone. First time posting on a mailing list. I apologize if I somehow screw this up and people end up getting spammed. :P
I've been spending some time with the .NET runtime lately, and I was informed in a GitHub issue discussion that we decided to skip the .NET 5.0 release and wait for the next LTS version of .NET, which is .NET 6.0. Shawn Black helpfully linked me to the mailing list archives which helped me get up to speed with what was discussed officially before. I'd like to suggest we actually change direction and publish runtimes for each .NET release, including their "current" (non-LTS releases). I have a few reasons for this: Many developers are okay taking on the risk of deploying applications using non-LTS software. Devs who have less to manage and are able to quickly update their apps fit into this category. Microsoft's own blog post explaining their new versioning scheme even mentions that: "If you’re building a service and expect to continue updating it on a regular basis, then a .NET Core "Current" release like .NET 5.0 may be your best option to stay up to date with the latest features .NET Core has to offer." ( https://devblogs.microsoft.com/dotnet/net-core-releases-and-support/) I think OpenWhisk users creating user functions fit into this category. They have control over the software they're creating and "expect to continue updating it on a regular basis." There's also a situation where a developer likes to use LTS software in production, but finds it challenging to migrate software two major versions at a time. I fit into this category. I have a real world example at work where we had to upgrade through multiple major versions of Elasticsearch at a time. We found it more approachable to upgrade one major version at a time, ensuring the software was running stable in production for each major version update. It's probably the case that making an OpenWhisk user function is a lot less complex than running Elasticsearch, but I think this philosophy still stands. If each .NET version had a runtime for OpenWhisk, users could upgrade one version at a time if that works better for them. To play devil's advocate, I was thinking about how this might affect OpenWhisk operators, like IBM Cloud. They'd have an awkward situation where they'd either: - Introduce a new runtime for a platform and then pull it out of service (because it would have reached EOL) before publishing the next version of the platform, or - Publish all runtimes for the platform, and warn users as strongly as they could that the non-LTS runtimes for the platform may be EOL despite being available to use, and should only be used for development and testing purposes (like my example with upgrading major versions one at a time). But I don't think that's even a big deal because what we're talking about here is what's available to all OpenWhisk operators and users. Operators can choose to not support non-LTS runtimes if that works better for them. I'm curious to hear everyone's thoughts on this. If time is an issue, I should mention that I already have a POC of a .NET 5 runtime working. I tested it on IBM Cloud as a Docker runtime. I can lend my time to polishing it up for release and helping with the release process if someone is willing to show me the ropes. :) Thanks, Matt