/runtimelab

This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.

MIT LicenseMIT

.NET Runtime Lab

This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo. Encouraging .NET Runtime Experiments describes reasons that motivated creating this repository.

Active Experimental Projects

Currently, this repo contains the following experimental projects:

  • Utf8String - A new UTF-8 String data type in the runtime.
  • FreeBSD - Port of .NET runtime to FreeBSD
  • NativeAOT-LLVM - LLVM generation for Native AOT compilation (including Web Assembly)
  • ManagedQuic - Fully managed implementation of QUIC protocol
  • LLHTTP - a set of flexible, lower-level HTTP APIs.
  • CompatibilityPackages - a set of packages which help satisfy binary dependencies of .NETFramework assemblies on .NET.
  • AssemblyBuilder.Save() - Prototyping the implementation of AssemblyBuilder.Save() functionality.
  • Hot-Cold Splitting - Support the hot-cold splitting optimization in crossgen2.
  • Green Threads - Prototyping the implementation of green threads.

You can create your own experiment, learn more here!

Completed Projects

  • s390x - Port of .NET runtime (Mono) to the s390x architecture. The changes were upstreamed to dotnet/runtime.
  • DllImportGenerator - Roslyn Source Generator used for generating P/Invoke IL stubs.
  • NativeAOT - .NET runtime optimized for ahead of time compilation.
  • JsonCodeGen - Code generation for JSON.

Filing issues

This repo should contain issues that are tied to the experiments hosted here.

For other issues, please use the following repos:

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.

.NET Foundation

.NET Runtime is a .NET Foundation project.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

License

.NET (including the runtime repo) is licensed under the MIT license.