Udap.Metadata.Server 0.5.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package Udap.Metadata.Server --version 0.5.4
                    
NuGet\Install-Package Udap.Metadata.Server -Version 0.5.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Udap.Metadata.Server" Version="0.5.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Udap.Metadata.Server" Version="0.5.4" />
                    
Directory.Packages.props
<PackageReference Include="Udap.Metadata.Server" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Udap.Metadata.Server --version 0.5.4
                    
#r "nuget: Udap.Metadata.Server, 0.5.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Udap.Metadata.Server@0.5.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Udap.Metadata.Server&version=0.5.4
                    
Install as a Cake Addin
#tool nuget:?package=Udap.Metadata.Server&version=0.5.4
                    
Install as a Cake Tool

Udap.Metadata.Server

UDAP logo

📦 Nuget Package: Udap.Client

This package includes a MVC controller, an extension method to load, and an implementation if ICertificateStore as FileCertificateStore so you can get a sample up and running quickly.

Program.cs could be as easy as this example.


using Udap.Common;
using Udap.Metadata.Server;

var builder = WebApplication.CreateBuilder(args);
builder.Services
    .AddControllers()
    .UseUdapMetaDataServer(builder.Configuration);

builder.Services.AddSingleton<ICertificateStore, MyCustomCertificateStore>();

Full Example

Below is a full example. Alternatively the 2023 FHIR® DevDays Tutorial is another great way to learn how to use Udap.Metadata.Server.

Add this package to your FHIR® server or any web api server to.


dotnet new sln -o WebApiProject1
cd WebApiProject1

dotnet new webapi -o WebApi1 -minimal
dotnet sln add ./WebApi1/WebApi1.csproj

cd WebApi1

dotnet add package Udap.Metadata.Server 

Or until a first release use the --prerelease tag.


dotnet add package Udap.Metadata.Server --prerelease

dotnet build

Add the UseUdapMetaDataServer service extension to program.cs


 builder.Services
    .AddControllers()
    .AddUdapMetaDataServer(builder.Configuration);

By default, AddUdapMetaDataServer registers the default IUdapMetadataOptionsProvider implmentation of UdapMetadataOptionsProvider. UdapMetadataOptionsProvider finds the UdapMetadataOptionsFile in AppSettings

"UdapMetadataOptionsFile": "udap.metadata.options.json"

udap.metadata.options.json:


{
  "UdapVersionsSupported": [ "1" ],
    "UdapProfilesSupported": [ "udap_dcr", "udap_authn", "udap_authz", "udap_to" ],
    "UdapAuthorizationExtensionsSupported": [ "hl7-b2b" ],
    "UdapAuthorizationExtensionsRequired": [ "hl7-b2b" ],
    "ScopesSupported": [ "openid", "system/*.read", "user/*.read", "patient/*.read" ],
    "UdapCertificationsSupported": [ "http://MyUdapCertification", "http://MyUdapCertification2" ],
    "UdapCertificationsRequired": [ "http://MyUdapCertification" ],
    "GrantTypesSupported": [ "authorization_code", "refresh_token", "client_credentials" ],
    //"TokenEndpointAuthSigningAlgValuesSupported": [ "RS256", "RS384", "ES256", "ES384" ],
    //"RegistrationEndpointJwtSigningAlgValuesSupported": [ "RS256", "RS384", "ES256", "ES384" ],
    
    "UdapMetadataConfigs": [
      {
        "Community": "http://localhost",
        "SignedMetadataConfig": {
          "AuthorizationEndPoint": "https://securedcontrols.net:5001/connect/authorize",
          "TokenEndpoint": "https://securedcontrols.net:5001/connect/token",
          "RegistrationEndpoint": "https://securedcontrols.net:5001/connect/register"
        }
      }
    ]
}

UDAP Metadata Options: see Required UDAP Metadata

The UdapMetadataOptions class defines the configurable properties for UDAP metadata, as seen above in udap.metadata.options.json.

Known Properties

  • UdapVersionsSupported: Array of supported UDAP versions (e.g., ["1"])
  • UdapProfilesSupported: Array of supported UDAP profiles (e.g., ["udap_dcr", "udap_authn"])
  • UdapAuthorizationExtensionsSupported: Array of supported authorization extensions
  • UdapAuthorizationExtensionsRequired: Array of required authorization extensions
  • UdapCertificationsSupported: Array of supported certifications
  • UdapCertificationsRequired: Array of required certifications
  • GrantTypesSupported: Array of supported OAuth2 grant types
  • ScopesSupported: Array of supported scopes
  • TokenEndpointAuthSigningAlgValuesSupported: Array of supported signing algorithms for the token endpoint
  • RegistrationEndpointJwtSigningAlgValuesSupported: Array of supported signing algorithms for the registration endpoint
  • UdapMetadataConfigs: Array of community-specific metadata configurations
  • CertificateResolveTimeoutSeconds: Timeout in seconds for certificate resolution (default: 10)

Extending Metadata

You can add additional custom properties to your udap.metadata.options.json file. Any extra properties not explicitly defined above will be loaded and made available in the published metadata via the ExtensionData dictionary. This allows for flexible extension of the metadata without modifying the core model.

Certificate Store

The settings in udap.metadata.options.json will match the IssuedCerts settings in UdapFileCertStoreManifest settings of the appsettings.json. See below.

To serve UDAP metadata, certificates will be loaded through an implementation of ICertificatStore. Below is the built-in file-based implementation for lab experiments.

// UDAP CertStore
builder.Services.Configure<UdapFileCertStoreManifest>(builder.Configuration.GetSection("UdapFileCertStoreManifest"));
builder.Services.AddSingleton<ICertificateStore, FileCertificateStore>();

To continue this example, copy the following files from the Udap.PKI.Generator test project output to the following directory structure at the root of the WebApi1 project. Ensure each file's "Copy to Output Directory" is set to copy.

  • CertStore
    • issued
      • weatherApiClientLocalhostCert.pfx

Add configuration to AppSettings to point to the certificates.

Note From AppSettings

UdapMetadataOptions:UdapMetadataConfigs:Community value is the link to UdapFileCertStoreManifest:ResourceServers:Communities.Name. In this example the community is identified by the name http://localhost. Community names are constrained as a URI

/*   
  Normally put someplace safer like secrets.json or secured database
  and add this to Program.cs.    
*/

"UdapFileCertStoreManifest": {
  "Communities": [
    {
      "Name": "http://localhost",
      "IssuedCerts": [
        {
          "FilePath": "CertStore/issued/weatherApiClientLocalhostCert.pfx",
          "Password": "udap-test"
        }
      ]
    }
  ]    
}
dotnet run

Navigate to http://localhost:5079/.well-known/udap or http://localhost:5079/swagger.

At this point a success would result in a result similar to the following json. Ensure the signed_metadata property contains a signed JWT token.

<details open><summary><a>View Metadata</></summary>

{
  "udap_versions_supported": [
    "1"
  ],
  "udap_profiles_supported": [
    "udap_dcr",
    "udap_authn",
    "udap_authz"
  ],
  "udap_authorization_extensions_supported": [
    "hl7-b2b"
  ],
  "udap_authorization_extensions_required": [
    "hl7-b2b"
  ],
  "udap_certifications_supported": [
    "http://MyUdapCertification",
    "http://MyUdapCertification2"
  ],
  "udap_certifications_required": [
    "http://MyUdapCertification"
  ],
  "grant_types_supported": [
    "client_credentials"
  ],
  "scopes_supported": [
    "openid",
    "system/Patient.read",
    "system/AllergyIntolerance.read",
    "system/Procedures.read",
    "system/Observation.read"
  ],
  "authorization_endpoint": "https://securedcontrols.net/connect/authorize",
  "token_endpoint": "https://securedcontrols.net/connect/token",
  "token_endpoint_auth_methods_supported": [
    "private_key_jwt"
  ],
  "token_endpoint_auth_signing_alg_values_supported": [
    "RS256"
  ],
  "registration_endpoint": "https://securedcontrols.net/connect/register",
  "registration_endpoint_jwt_signing_alg_values_supported": [
    "RS256"
  ],
  "signed_metadata": "eyJhbGciOiJSUzI1NiIsIng1YyI6WyJNSUlGR3pDQ0JBT2dBd0lCQWdJSUZSVVJqcWdlTkdNd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z2JNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlEQXBEWVd4cFptOXlibWxoTVJJd0VBWURWUVFIREFsVFlXNGdSR2xsWjI4eEV6QVJCZ05WQkFvTUNrVk5VaUJFYVhKbFkzUXhQekE5QmdOVkJBc01ObFJsYzNRZ1VFdEpJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNUlDaGpaWEowY3k1bGJYSmthWEpsWTNRdVkyOXRLVEVsTUNNR0ExVUVBd3djUlUxU0lFUnBjbVZqZENCVVpYTjBJRU5zYVdWdWRDQlRkV0pEUVRBZUZ3MHlNakE1TVRVeU1ETXpOVEphRncweU16QTVNVFV5TURNek5USmFNSUdwTVFzd0NRWURWUVFHRXdKVlV6RVBNQTBHQTFVRUNBd0dUM0psWjI5dU1TZ3dKZ1lEVlFRS0RCOVRkWEpsYzJOeWFYQjBjeUJNVEVNZ0tITmxiR1lnWVhOelpYSjBaV1FwTVRNd01RWURWUVFMRENwVlJFRlFJRlJsYzNRZ1EyVnlkR2xtYVdOaGRHVWdUazlVSUVaUFVpQlZVMFVnVjBsVVNDQlFTRWt4S2pBb0JnTlZCQU1NSVdoMGRIQnpPaTh2Wm1ocGNteGhZbk11Ym1WME9qY3dNVFl2Wm1ocGNpOXlORENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJQkgrSUtIRUJ4SDIyN09BYkRsTGYxS0k4b1UxZE8vZmp2ZzFQbkJNSlQ0RjQrL1BFWmlOdkRhS0dFT09lOXVvTmVMdGlEWEt0aFVQSEdEMm54RXVSL2lQeXluVmFETmtHYkZvc2d3c01JMXU4bGFJbHNwQWVrR2d5VWlPZzB3a1NRbEF4TjJuaFVqR3dMbjllUzBPWld0eGhUcHBNNEFGbElwY1hackFLeTlOZm53S2NGeUtvUmg3Zlo4bDlSR1hHeFl6ZXh2ejJ0LzhCbG5xb3ZQODZlWktHaFBxTTlFTGZPNTc4R1UrNWJCcFNqWUdsenhwemVnanZaUkR5bnBVbEJBdEtvWDBOdXh6ZjJ6SURvOVZwaldoVG9TKzZ0eDZJRFVNZVdEZHZjQytPQnNTNjNUdisxN2VFSVdpRjlGb0xNYUNUZXJRMFluaWlwVGQ3NDdGT2NDQXdFQUFhT0NBVGt3Z2dFMU1Ga0dDQ3NHQVFVRkJ3RUJCRTB3U3pCSkJnZ3JCZ0VGQlFjd0FvWTlhSFIwY0RvdkwyTmxjblJ6TG1WdGNtUnBjbVZqZEM1amIyMHZZMlZ5ZEhNdlJVMVNSR2x5WldOMFZHVnpkRU5zYVdWdWRGTjFZa05CTG1OeWREQWRCZ05WSFE0RUZnUVVuMDUzdk9jYVdINzRsR1c4VVlYazk4WU5nOUV3REFZRFZSMFRBUUgvQkFJd0FEQWZCZ05WSFNNRUdEQVdnQlNqbFcxcnZTdFJ6ZUhQNVpCdjF5WlB2OTArM2pCTUJnTlZIUjhFUlRCRE1FR2dQNkE5aGp0b2RIUndPaTh2WTJWeWRITXVaVzF5WkdseVpXTjBMbU52YlM5amNtd3ZSVTFTUkdseVpXTjBWR1Z6ZEVOc2FXVnVkRk4xWWtOQkxtTnliREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdMQVlEVlIwUkJDVXdJNFloYUhSMGNITTZMeTltYUdseWJHRmljeTV1WlhRNk56QXhOaTltYUdseUwzSTBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUI1VkswWkhWZXpMdUYvY2FieW1ZOWFLa0pENXhxY0JWVFNjeGVYQ3NMaWloLzhFS0NwdmVVSWl6NDJ5U3JtbHBJS2ljby95c1ByWHZKbU8vVnJHMjFWbnpZNkZKQjE3empXbkQ2bncvRnRFNXU0V2laTTE2aGcxUzJpa01FYXMzRjU3L3FrYjNLMzdXUm1IVDdickphUUtGZFYzWWRrVFloZ1cvbjFTellqWnEwZ0w0bDZWcVBSeCsxSWpaUkQxNWowZVFOV1hrR1lvWmlsR3duSFFJOUhKSGxadmMxZ1VLeFl2dDhwR2hlL0ZwZmF0cW9QVlhVY09CRVlBTHNrNmdlUDBhR0Z1M0xQa3NxdjZpZTM2M01tZWp5WEtxeE1uUThHcUR1bVNBU1ZhbDhyVmw4ZjE1NzlwUDc4aGxDYWNzam4zdTBnNVJLRDVPUk4rQTlJTTRDMyJdfQ.eyJpc3MiOiJodHRwczovL3N0YWdlLmhlYWx0aHRvZ28ubWU6ODE4MSIsInN1YiI6Imh0dHBzOi8vc3RhZ2UuaGVhbHRodG9nby5tZTo4MTgxIiwiaWF0IjoxNjc2OTM3NjI3LCJleHAiOjE2NzY5Mzc2ODcsImp0aSI6Ik95N0RaenVhXzBYbDhEaFNRXzVONzFxeHFBcllLdEI3OUdmRkVGQVFaUkUiLCJhdXRob3JpemF0aW9uX2VuZHBvaW50IjoiaHR0cHM6Ly9zZWN1cmVkY29udHJvbHMubmV0L2Nvbm5lY3QvYXV0aG9yaXplIiwidG9rZW5fZW5kcG9pbnQiOiJodHRwczovL3NlY3VyZWRjb250cm9scy5uZXQvY29ubmVjdC90b2tlbiIsInJlZ2lzdHJhdGlvbl9lbmRwb2ludCI6Imh0dHBzOi8vc2VjdXJlZGNvbnRyb2xzLm5ldC9jb25uZWN0L3JlZ2lzdGVyIn0.Y9qWVQFs9HXWipN8YDrH7gf89FoA0V7f3p9vqc6bPuqrcI0B6wgqZ2ZC3FYi46nGvpe6G_H20edXYR7zIHqcXqhtjfYNmCYoH-ceVwvq6kCAm0c4v8BXN23SM1Eh72_481Bbf7PidHUzcAIOn7fJ9DAk-LiVsT9aa7TD2Aj11cLC5ZiuoHyLCOaf6sjK-yX707ov313TEQREgLbSnl-YTwbIgmm_h3fW4eSZH2eszdr3a3Q8BWKKVBphWos5TvQ77WsYfTt60JfFHEXO8Psq7n4bGm2ZcNApzoa9PIuimmzeN8vjyaLBu7lDi93cc9jKphYz3KpLh_-8ruHF2HqmNw"
}

</details> <br/>

UDAP Resource Server Examples

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Udap.Metadata.Server:

Package Downloads
Udap.Metadata.Vonk.Server

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.5.16 161 10/13/2025
0.5.15 158 10/12/2025
0.5.14 76 10/10/2025
0.5.13 97 10/10/2025
0.5.12 101 10/10/2025
0.5.11 103 10/10/2025
0.5.10 174 9/14/2025
0.5.9 174 8/19/2025
0.5.8 168 8/18/2025
0.5.7 182 8/8/2025
0.5.5 166 7/15/2025
0.5.4 173 7/14/2025
0.5.3 129 7/11/2025
0.5.2 172 7/10/2025
0.5.1 169 7/9/2025
0.5.0 156 7/6/2025
0.4.12 111 7/5/2025
0.4.11 287 6/13/2025
0.4.10 322 6/12/2025
0.4.9 326 6/12/2025
0.4.8 179 6/3/2025
0.4.7 247 4/18/2025
0.4.6 357 3/17/2025
0.4.5 461 3/4/2025
0.4.4 217 1/15/2025
0.4.3 159 1/14/2025
0.4.2 171 1/14/2025
0.4.1 276 1/13/2025
0.4.0 202 12/14/2024
0.3.96 222 11/6/2024
0.3.95 156 11/2/2024
0.3.94 157 10/31/2024
0.3.93 340 10/13/2024
0.3.92 160 10/13/2024
0.3.91 155 10/10/2024
0.3.89 150 10/10/2024
0.3.87 144 10/5/2024
0.3.86 163 10/5/2024
0.3.85 157 10/4/2024
0.3.84 163 10/3/2024
0.3.83 163 10/3/2024
0.3.82 182 9/20/2024
0.3.81 173 9/19/2024
0.3.80 159 9/19/2024
0.3.79 163 9/19/2024
0.3.78 152 9/19/2024
0.3.77 157 9/17/2024
0.3.76 152 9/17/2024
0.3.75 163 9/12/2024
0.3.74 180 9/12/2024
0.3.73 177 9/10/2024
0.3.72 166 9/7/2024
0.3.71 181 9/5/2024
0.3.70 175 9/5/2024
0.3.69 180 9/5/2024
0.3.68 175 9/4/2024
0.3.67 158 9/4/2024
0.3.66 167 9/4/2024
0.3.65 175 9/4/2024
0.3.64 176 9/2/2024
0.3.63 170 8/31/2024
0.3.62 161 8/29/2024
0.3.61 166 8/28/2024
0.3.60 146 8/2/2024
0.3.59 155 8/1/2024
0.3.58 154 8/1/2024
0.3.57 171 7/19/2024
0.3.56 163 7/19/2024
0.3.54 173 7/18/2024
0.3.53 169 7/15/2024
0.3.52 159 7/15/2024
0.3.51 172 7/12/2024
0.3.50 174 7/1/2024
0.3.49 171 7/1/2024
0.3.48 207 5/22/2024
0.3.47 180 5/15/2024
0.3.46 161 5/14/2024
0.3.45 165 5/12/2024
0.3.44 170 5/12/2024
0.3.43 161 5/12/2024
0.3.42 159 5/12/2024
0.3.41 188 5/6/2024
0.3.40 186 5/4/2024
0.3.39 155 5/1/2024
0.3.38 225 4/30/2024
0.3.37 170 4/11/2024
0.3.36 180 4/10/2024
0.3.35 173 4/9/2024
0.3.34 187 4/8/2024
0.3.33 184 4/7/2024
0.3.32 179 4/5/2024
0.3.31 173 4/4/2024
0.3.30 179 4/4/2024
0.3.29 172 4/3/2024
0.3.28 182 4/3/2024
0.3.27 168 4/2/2024
0.3.26 173 4/2/2024
0.3.25 169 4/2/2024
0.3.24 266 3/24/2024
0.3.22 209 3/6/2024
0.3.21 203 3/6/2024
0.3.20 176 3/5/2024
0.3.19 188 3/2/2024
0.3.18 193 3/2/2024
0.3.13 193 3/1/2024
0.3.12 168 2/24/2024
0.3.10 177 2/14/2024
0.3.8 185 2/11/2024
0.3.7 179 2/11/2024
0.3.6 167 2/10/2024
0.3.5 180 2/10/2024
0.3.4 166 2/10/2024
0.3.2 184 2/10/2024
0.3.0 186 1/31/2024
0.2.21 286 10/24/2023
0.2.20 149 10/23/2023
0.2.19 193 10/20/2023
0.2.18 186 10/11/2023
0.2.17 197 10/5/2023
0.2.16 167 9/21/2023
0.2.15 172 9/21/2023
0.2.14 177 9/20/2023
0.2.13 169 9/20/2023
0.2.12 177 9/20/2023
0.2.11 175 9/19/2023
0.2.10 182 9/13/2023
0.2.9 264 8/26/2023
0.2.8 209 8/18/2023
0.2.7 231 8/15/2023
0.2.6 228 8/12/2023
0.2.5 232 8/11/2023
0.2.4 227 8/10/2023
0.2.3 296 8/2/2023
0.2.2 287 8/1/2023
0.2.1 283 7/25/2023
0.2.0 294 7/16/2023
0.1.24 264 5/26/2023
0.1.23 290 5/22/2023
0.1.22 266 5/22/2023
0.1.21 291 5/21/2023
0.1.20 267 5/20/2023
0.1.17 232 5/9/2023
0.1.16 208 5/6/2023
0.1.15 241 5/4/2023
0.1.14 249 5/2/2023
0.1.12 237 5/1/2023
0.1.11 233 4/29/2023
0.1.9 256 4/29/2023
0.1.8 241 4/29/2023
0.1.7 244 4/28/2023
0.1.6 237 4/27/2023
0.1.5 234 4/27/2023
0.1.4 246 4/25/2023
0.1.3 262 4/23/2023
0.1.2 252 4/22/2023
0.1.1 270 4/22/2023
0.0.4-preview040 222 4/21/2023
0.0.4-preview039 216 4/13/2023
0.0.4-preview038 214 4/11/2023
0.0.4-preview037 220 4/7/2023
0.0.4-preview036 213 3/31/2023
0.0.4-preview035 221 3/31/2023
0.0.4-preview034 216 3/31/2023
0.0.4-preview033 213 3/30/2023
0.0.4-preview032 276 3/19/2023
0.0.4-preview029 217 3/18/2023
0.0.4-preview028 216 3/15/2023
0.0.4-preview027 213 3/13/2023
0.0.4-preview026 197 3/12/2023
0.0.4-preview025 198 3/10/2023
0.0.4-preview024 224 3/9/2023
0.0.4-preview022 228 3/9/2023
0.0.4-preview021 225 3/7/2023
0.0.4-preview020 214 3/7/2023
0.0.4-preview019 214 3/4/2023
0.0.4-preview018 219 3/4/2023
0.0.4-preview017 219 3/4/2023
0.0.4-preview016 223 3/1/2023
0.0.4-preview015 219 2/28/2023
0.0.4-preview014 229 2/23/2023
0.0.4-preview013 220 2/23/2023
0.0.4-preview012 238 2/21/2023
0.0.4-preview011 231 2/20/2023
0.0.4-preview010 220 2/20/2023
0.0.4-preview009 224 2/19/2023
0.0.4-preview008 223 2/14/2023
0.0.4-preview007 209 2/10/2023
0.0.4-preview006 222 2/8/2023
0.0.4-preview005 221 2/8/2023
0.0.4-preview004 227 2/7/2023
0.0.4-preview003 218 2/7/2023
0.0.4-preview002 200 2/7/2023
0.0.4-preview001 219 2/3/2023
0.0.4-preview000 246 2/2/2023
0.0.3-preview032 230 2/1/2023
0.0.3-preview031 234 2/1/2023
0.0.3-preview030 234 1/30/2023
0.0.3-preview029 236 1/21/2023
0.0.3-preview028 243 1/19/2023
0.0.3-preview027 224 1/18/2023
0.0.3-preview026 228 1/16/2023
0.0.3-preview025 232 1/15/2023
0.0.3-preview024 226 1/15/2023
0.0.3-preview020 233 1/15/2023
0.0.3-preview019 243 1/11/2023
0.0.3-preview018 232 1/11/2023
0.0.3-preview017 233 1/7/2023
0.0.3-preview016 234 1/7/2023
0.0.3-preview015 233 1/6/2023
0.0.3-preview014 238 1/6/2023
0.0.3-preview013 227 1/6/2023
0.0.3-preview012 227 1/6/2023
0.0.3-preview011 228 1/6/2023
0.0.3-preview010 231 1/3/2023
0.0.3-preview009 234 1/3/2023
0.0.3-preview008 249 1/2/2023
0.0.3-preview007 242 1/2/2023
0.0.3-preview006 231 1/2/2023
0.0.3-preview005 224 1/2/2023
0.0.3-preview004 232 1/1/2023
0.0.3-preview003 222 12/31/2022
0.0.3-preview002 264 12/28/2022
0.0.3-preview001 258 12/21/2022
0.0.3-preview000 227 11/29/2022
0.0.2-preview003 236 11/4/2022
0.0.2-preview002 225 11/4/2022
0.0.2-preview000 266 11/4/2022
0.0.1-preview3373625764 268 11/1/2022
0.0.1-preview002 263 11/4/2022
0.0.1-preview001 263 11/4/2022