Public record
Software health reportschema 0.23.0 · metrics 1.13.0 · 2026-07-21 20:48 UTC

AzureAD / azure-activedirectory-identitymodel-extensions-for-dotnet

IdentityModel extensions for .NET

C#MIT★ 1,153 stars⑂ 471 forkssince Mar 2014View on GitHub ↗

AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet holds a health index of 81 out of 100, placing it in the Good band. It scores highest on Vitality (90/100) and lowest on Security (71/100). It was last updated 1 day ago. 3 contributors account for most of its recent work.

81
overall / 100
Good

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

81
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

792 followers57 public repossince Dec 2012

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

90Excellent · 22% of overall
How it's scored
36/36Push recency — last push 1 days ago
20.1/36Commit cadence — 29/52 weeks with commits
16.7/18Commit volume — 72 commits in the last year
10/10OpenSSF Scorecard: Maintained — 17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year72
human_commit_share1
days_since_last_push1
active_weeks_last_year29

Release discipline

100Excellent
How it's scored
27/27Ships releases — 100 releases published
36/36Release recency — latest release 7 days ago
27/27Release cadence — a release every ~26.3 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count100
latest_release_tag8.19.2
releases_from_tagsno
days_since_latest_release7
mean_days_between_releases26.3
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

85Excellent · 18% of overall
How it's scored
49.7/60Stars — 1,153 stars
22.3/25Forks — 471 forks
11/15Watchers — 98 watchers
Inputs used
forks471
stars1,153
watchers98
growth_stateorganic
growth_factor_pct100
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateyes
How it's scored
80/80Total downloads — 15,211,604,045 downloads all-time across nuget
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesMicrosoft.IdentityModel.Xml, Microsoft.IdentityModel.Dpop, Microsoft.IdentityModel.Tokens, Microsoft.IdentityModel.Logging, System.IdentityModel.Tokens.Jwt, Microsoft.IdentityModel.Protocols, Microsoft.IdentityModel.Validators, Microsoft.IdentityModel.Tokens.Saml
dependents
ecosystemsnuget
total_downloads15,211,604,045
monthly_downloads
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

83Good · 24% of overall
How it's scored
36/54Bus factor — 3 contributor(s) cover half of all commits
13.2/22.5Commit distribution — top contributor authored 41% of commits
13.5/13.5Contributor breadth — 99 contributors
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Inputs used
bus_factor3
contributors_sampled99
top_contributor_share0.412
How it's scored
40.8/46.8Issue resolution — 87% of issues closed
31.4/38.3PR acceptance — 1,445/1,760 decided PRs merged
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs1,445
open_issues213
closed_issues1,466
issue_closed_ratio0.873
closed_unmerged_prs315
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
20.8/25Owner reach — 792 followers of AzureAD
24.8/25Track record — 57 public repos, account ~13 yr old
Inputs used
followers792
owner_typeOrganization
is_verified
owner_loginAzureAD
public_repos57
account_age_days4,976
How it's scored
25/25Published & resolvable — 8 package(s) on nuget
35/35Publish recency — latest publish 0 days ago
20/20Version history — 125 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesMicrosoft.IdentityModel.Xml, Microsoft.IdentityModel.Dpop, Microsoft.IdentityModel.Tokens, Microsoft.IdentityModel.Logging, System.IdentityModel.Tokens.Jwt, Microsoft.IdentityModel.Protocols, Microsoft.IdentityModel.Validators, Microsoft.IdentityModel.Tokens.Saml
ecosystemsnuget
any_deprecatedno
min_days_since_publish0

Engineering Quality

Are baseline engineering and documentation practices in place?

73Good · 20% of overall
How it's scored
24/24CI workflows — 3 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
18/20OpenSSF Scorecard: CI-Tests — 29 out of 30 merged PRs checked by a CI test -- score normalized to 9
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configno
has_precommit_configno
How it's scored
30/30README
25/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepage
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

71Good · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
1.5/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.2/2.5CI-Tests — 29 out of 30 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 6 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
4.5/5SAST — SAST tool detected but not run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6.4
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories0
affected_packages0
assessed_packages3
unassessed_packages15
affected_by_severitynone
direct_affected_packages0
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 3 resolved dependencies against OSV. 15 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

75Good · 0% of overall
How it's scored
45/45Agent instructions — .github/copilot-instructions.md, agents.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 98 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.98
agent_instruction_files.github/copilot-instructions.md, agents.md
agent_instruction_max_bytes10,807
How it's scored
12.6/18One-command bootstrap — benchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj, src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj, src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj (toolchain convention, no task runner)
22/22Automated tests
0/11Lint / format config
11/11Static type checking — C# (statically typed)
0/10Reproducible environment
10/10Demonstrated agent practice — 15 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0.15
toolchain_manifestsbenchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj, src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj, src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj, src/Microsoft.IdentityModel.JsonWebTokens/Microsoft.IdentityModel.JsonWebTokens.csproj, src/Microsoft.IdentityModel.Logging/Microsoft.IdentityModel.Logging.csproj, src/Microsoft.IdentityModel.LoggingExtensions/Microsoft.IdentityModel.LoggingExtensions.csproj, src/Microsoft.IdentityModel.Protocols.OpenIdConnect/Microsoft.IdentityModel.Protocols.OpenIdConnect.csproj, src/Microsoft.IdentityModel.Protocols.SignedHttpRequest/Microsoft.IdentityModel.Protocols.SignedHttpRequest.csproj, src/Microsoft.IdentityModel.Protocols.WsFederation/Microsoft.IdentityModel.Protocols.WsFederation.csproj, src/Microsoft.IdentityModel.Protocols/Microsoft.IdentityModel.Protocols.csproj, src/Microsoft.IdentityModel.TestExtensions/Microsoft.IdentityModel.TestExtensions.csproj, src/Microsoft.IdentityModel.Tokens.Saml/Microsoft.IdentityModel.Tokens.Saml.csproj, src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj, src/Microsoft.IdentityModel.Validators/Microsoft.IdentityModel.Validators.csproj, src/Microsoft.IdentityModel.Xml/Microsoft.IdentityModel.Xml.csproj, src/System.IdentityModel.Tokens.Jwt/System.IdentityModel.Tokens.Jwt.csproj, test/Microsoft.IdentityModel.Abstractions.Tests/Microsoft.IdentityModel.Abstractions.Tests.csproj, test/Microsoft.IdentityModel.AotCompatibility.TestApp/Microsoft.IdentityModel.AotCompatibility.TestApp.csproj, test/Microsoft.IdentityModel.Dpop.Tests/Microsoft.IdentityModel.Dpop.Tests.csproj, test/Microsoft.IdentityModel.JsonWebTokens.Tests/Microsoft.IdentityModel.JsonWebTokens.Tests.csproj, test/Microsoft.IdentityModel.Logging.Tests/Microsoft.IdentityModel.Logging.Tests.csproj, test/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests.csproj, test/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests.csproj, test/Microsoft.IdentityModel.Protocols.Tests/Microsoft.IdentityModel.Protocols.Tests.csproj, test/Microsoft.IdentityModel.Protocols.WsFederation.Tests/Microsoft.IdentityModel.Protocols.WsFederation.Tests.csproj, test/Microsoft.IdentityModel.TestUtils/Microsoft.IdentityModel.TestUtils.csproj, test/Microsoft.IdentityModel.Tokens.Saml.Tests/Microsoft.IdentityModel.Tokens.Saml.Tests.csproj, test/Microsoft.IdentityModel.Tokens.Tests/Microsoft.IdentityModel.Tokens.Tests.csproj, test/Microsoft.IdentityModel.Validators.Tests/Microsoft.IdentityModel.Validators.Tests.csproj, test/Microsoft.IdentityModel.Xml.Tests/Microsoft.IdentityModel.Xml.Tests.csproj, test/System.IdentityModel.Tokens.Jwt.Tests/System.IdentityModel.Tokens.Jwt.Tests.csproj
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — C# (statically typed)
52.6/55Manageable file sizes — 33/749 source files over 60KB
Inputs used
primary_languageC#
largest_source_bytes303,020
source_files_sampled749
oversized_source_files33

Key facts

1,153GitHub stars
99contributors
72commits, last 12 months
1days since last push
100releases
3bus factor
213open issues
package ecosystems

More detail

Star and fork history 1,153 ★ / 471 ⇿
1,153Stars
471Forks
100Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

02004006008001,0001,2001,153457112014-052020-062026-07
Major 2Minor 50Patch 40

Each point covers 12 days.

OpenSSF Scorecard 6.4 / 10
6.4aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-21 20:47 UTC

10Binary-Artifactsno binaries found in the repo
2Branch-Protectionbranch protection is not maximal on development and all release branches
9CI-Tests29 out of 30 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 6 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
9SASTSAST tool detected but not run on all commits
10Security-Policysecurity policy file detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direct dependencies 13
RegistryPackageVersion constraintManifest
NuGetMicrosoft.Bcl.TimeProvider$(MicrosoftBclTimeProviderVersion)src/Microsoft.IdentityModel.JsonWebTokens/Microsoft.IdentityModel.JsonWebTokens.csproj
NuGetMicrosoft.Extensions.Logging.Abstractions$(AspNetCoreMinSupportedVersion)src/Microsoft.IdentityModel.LoggingExtensions/Microsoft.IdentityModel.LoggingExtensions.csproj
NuGetSystem.Text.Json$(SystemTextJsonVersion)src/Microsoft.IdentityModel.Protocols.OpenIdConnect/Microsoft.IdentityModel.Protocols.OpenIdConnect.csproj
NuGetSystem.Text.Json$(SystemTextJsonVersion)src/Microsoft.IdentityModel.Protocols.SignedHttpRequest/Microsoft.IdentityModel.Protocols.SignedHttpRequest.csproj
NuGetSystem.Text.Json$(SystemTextJsonVersion)src/Microsoft.IdentityModel.TestExtensions/Microsoft.IdentityModel.TestExtensions.csproj
NuGetMicrosoft.CSharp$(MicrosoftCSharpVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetSystem.Security.Cryptography.Cng$(SystemSecurityCryptographyCngVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetSystem.Memory$(SystemMemoryVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetSystem.Diagnostics.DiagnosticSource$(SystemDiagnosticSourceVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetSystem.Text.Json$(SystemTextJsonVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetMicrosoft.Bcl.TimeProvider$(MicrosoftBclTimeProviderVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetMicrosoft.Bcl.Cryptography$(MicrosoftBclCryptographyVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
NuGetMicrosoft.Extensions.Logging.Abstractions$(MicrosoftExtensionsLoggingAbstractionsVersion)src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj
All dependencies 18

Full resolved dependency set from the GitHub dependency graph: 8 direct and 10 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
NuGetMicrosoft.Bcl.Cryptographydirect
NuGetMicrosoft.Bcl.TimeProviderdirect
NuGetMicrosoft.CSharpdirect
NuGetMicrosoft.Extensions.Logging.Abstractionsdirect
NuGetSystem.Diagnostics.DiagnosticSourcedirect
NuGetSystem.Memorydirect
NuGetSystem.Security.Cryptography.Cngdirect
NuGetSystem.Text.Jsondirect
NuGetBenchmarkDotNet0.13.12indirect
NuGetMicrosoft.Azure.KeyVault.Cryptographyindirect
NuGetMicrosoft.CodeAnalysis.BannedApiAnalyzers3.3.4indirect
NuGetMicrosoft.Extensions.TimeProvider.Testingindirect
NuGetMicrosoft.Rest.ClientRuntimeindirect
NuGetNSubstitute4.2.2indirect
NuGetOpenTelemetry.Exporter.Consoleindirect
NuGetOpenTelemetry.Exporter.InMemoryindirect
NuGetSystem.Net.Httpindirect
NuGetSystem.Text.RegularExpressionsindirect
Dependency advisories 0

This repository publishes no package the index resolves, so its own dependency graph was assessed — 3 packages, which also include development and test pins that never ship: 0 carry known advisories, of which 0 are direct. 15 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

No known advisories affect the assessed dependencies.

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 58166,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C#": 9006329,
        "HTML": 128929,
        "Shell": 2729,
        "Batchfile": 1188,
        "PowerShell": 25386
      },
      "pushed_at": "2026-07-20T18:37:56Z",
      "created_at": "2014-03-06T23:18:05Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T12:23:54Z",
      "description": "IdentityModel extensions for .NET",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "dev",
      "license_spdx_raw": "MIT",
      "primary_language": "C#",
      "significant_languages": [
        "C#"
      ]
    },
    "owner": {
      "blog": "http://azure.microsoft.com/en-us/services/active-directory/",
      "name": "Azure Active Directory",
      "type": "Organization",
      "login": "AzureAD",
      "company": null,
      "location": "Redmond, WA",
      "followers": 792,
      "avatar_url": "https://avatars.githubusercontent.com/u/2966316?v=4",
      "created_at": "2012-12-04T23:19:57Z",
      "is_verified": null,
      "public_repos": 57,
      "account_age_days": 4976
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "8.19.2",
          "kind": "patch",
          "published_at": "2026-07-14T17:20:14Z"
        },
        {
          "tag": "7.7.3",
          "kind": "patch",
          "published_at": "2026-07-14T17:19:22Z"
        },
        {
          "tag": "5.7.1",
          "kind": "patch",
          "published_at": "2026-07-14T17:18:31Z"
        },
        {
          "tag": "7.7.2",
          "kind": "patch",
          "published_at": "2026-06-03T07:04:33Z"
        },
        {
          "tag": "8.19.1",
          "kind": "patch",
          "published_at": "2026-06-03T03:37:54Z"
        },
        {
          "tag": "8.19.0",
          "kind": "minor",
          "published_at": "2026-06-02T03:37:39Z"
        },
        {
          "tag": "8.18.0",
          "kind": "minor",
          "published_at": "2026-05-05T21:27:34Z"
        },
        {
          "tag": "8.17.0",
          "kind": "minor",
          "published_at": "2026-03-24T20:31:25Z"
        },
        {
          "tag": "8.16.0",
          "kind": "minor",
          "published_at": "2026-02-13T21:45:51Z"
        },
        {
          "tag": "8.15.0",
          "kind": "minor",
          "published_at": "2025-11-19T21:12:54Z"
        },
        {
          "tag": "8.14.0",
          "kind": "minor",
          "published_at": "2025-08-15T23:29:08Z"
        },
        {
          "tag": "8.13.1",
          "kind": "patch",
          "published_at": "2025-08-08T20:54:12Z"
        },
        {
          "tag": "8.13.0",
          "kind": "minor",
          "published_at": "2025-07-21T19:01:14Z"
        },
        {
          "tag": "8.12.1",
          "kind": "patch",
          "published_at": "2025-06-18T00:30:52Z"
        },
        {
          "tag": "8.12.0",
          "kind": "minor",
          "published_at": "2025-06-04T01:30:22Z"
        },
        {
          "tag": "8.11.0",
          "kind": "minor",
          "published_at": "2025-05-23T17:33:10Z"
        },
        {
          "tag": "8.10.0",
          "kind": "minor",
          "published_at": "2025-05-16T00:52:54Z"
        },
        {
          "tag": "8.9.0",
          "kind": "minor",
          "published_at": "2025-04-24T21:11:31Z"
        },
        {
          "tag": "8.8.0",
          "kind": "minor",
          "published_at": "2025-04-08T03:05:04Z"
        },
        {
          "tag": "8.7.0",
          "kind": "minor",
          "published_at": "2025-03-21T17:10:42Z"
        },
        {
          "tag": "8.6.1",
          "kind": "patch",
          "published_at": "2025-03-07T20:07:21Z"
        },
        {
          "tag": "8.6.0",
          "kind": "minor",
          "published_at": "2025-02-22T20:03:27Z"
        },
        {
          "tag": "8.5.0",
          "kind": "minor",
          "published_at": "2025-02-15T00:21:33Z"
        },
        {
          "tag": "8.4.0",
          "kind": "minor",
          "published_at": "2025-02-07T03:24:45Z"
        },
        {
          "tag": "8.3.1",
          "kind": "patch",
          "published_at": "2025-01-17T21:39:06Z"
        },
        {
          "tag": "8.3.0",
          "kind": "minor",
          "published_at": "2024-12-04T20:58:08Z"
        },
        {
          "tag": "8.2.1",
          "kind": "patch",
          "published_at": "2024-11-15T19:36:45Z"
        },
        {
          "tag": "8.2.0",
          "kind": "minor",
          "published_at": "2024-11-02T21:00:11Z"
        },
        {
          "tag": "8.1.2",
          "kind": "patch",
          "published_at": "2024-10-08T21:33:54Z"
        },
        {
          "tag": "8.1.1",
          "kind": "patch",
          "published_at": "2024-10-05T01:58:40Z"
        },
        {
          "tag": "8.1.0",
          "kind": "minor",
          "published_at": "2024-09-24T15:24:39Z"
        },
        {
          "tag": "8.0.2",
          "kind": "patch",
          "published_at": "2024-08-22T15:58:11Z"
        },
        {
          "tag": "8.0.1",
          "kind": "patch",
          "published_at": "2024-07-23T00:15:29Z"
        },
        {
          "tag": "7.7.1",
          "kind": "patch",
          "published_at": "2024-07-19T23:48:31Z"
        },
        {
          "tag": "7.7.0",
          "kind": "minor",
          "published_at": "2024-07-19T01:34:16Z"
        },
        {
          "tag": "6.36.0",
          "kind": "minor",
          "published_at": "2024-07-19T01:35:27Z"
        },
        {
          "tag": "8.0.0",
          "kind": "major",
          "published_at": "2024-07-16T02:57:30Z"
        },
        {
          "tag": "7.6.2",
          "kind": "patch",
          "published_at": "2024-06-20T02:31:28Z"
        },
        {
          "tag": "8.0.0-preview1",
          "kind": "prerelease",
          "published_at": "2024-06-19T15:59:49Z"
        },
        {
          "tag": "7.6.1",
          "kind": "patch",
          "published_at": "2024-06-17T23:23:25Z"
        },
        {
          "tag": "7.6.0",
          "kind": "minor",
          "published_at": "2024-05-28T00:55:07Z"
        },
        {
          "tag": "7.5.2",
          "kind": "patch",
          "published_at": "2024-05-13T22:06:06Z"
        },
        {
          "tag": "7.5.1",
          "kind": "patch",
          "published_at": "2024-04-05T22:58:24Z"
        },
        {
          "tag": "7.5.0",
          "kind": "minor",
          "published_at": "2024-03-27T01:32:32Z"
        },
        {
          "tag": "v7.4.1",
          "kind": "patch",
          "published_at": "2024-03-15T20:39:15Z"
        },
        {
          "tag": "v7.4.0",
          "kind": "minor",
          "published_at": "2024-02-27T19:13:22Z"
        },
        {
          "tag": "7.4.0-preview1",
          "kind": "prerelease",
          "published_at": "2024-02-12T19:16:27Z"
        },
        {
          "tag": "7.3.1",
          "kind": "patch",
          "published_at": "2024-02-03T04:38:08Z"
        },
        {
          "tag": "7.3.0",
          "kind": "minor",
          "published_at": "2024-01-30T07:24:00Z"
        },
        {
          "tag": "7.2.0",
          "kind": "minor",
          "published_at": "2024-01-12T02:00:35Z"
        },
        {
          "tag": "6.35.0",
          "kind": "minor",
          "published_at": "2024-01-09T18:05:22Z"
        },
        {
          "tag": "7.1.2",
          "kind": "patch",
          "published_at": "2024-01-09T18:03:18Z"
        },
        {
          "tag": "5.7.0",
          "kind": "minor",
          "published_at": "2024-01-09T18:00:12Z"
        },
        {
          "tag": "7.0.3",
          "kind": "patch",
          "published_at": "2023-10-17T03:11:09Z"
        },
        {
          "tag": "6.34.0",
          "kind": "minor",
          "published_at": "2024-01-09T18:03:48Z"
        },
        {
          "tag": "v6.33.0",
          "kind": "minor",
          "published_at": "2023-10-04T00:02:24Z"
        },
        {
          "tag": "7.0.2",
          "kind": "patch",
          "published_at": "2023-09-29T17:58:17Z"
        },
        {
          "tag": "7.0.1",
          "kind": "patch",
          "published_at": "2023-09-27T22:05:03Z"
        },
        {
          "tag": "7.0.0",
          "kind": "major",
          "published_at": "2023-09-11T15:25:25Z"
        },
        {
          "tag": "7.0.0-preview5",
          "kind": "prerelease",
          "published_at": "2023-09-06T01:15:45Z"
        },
        {
          "tag": "6.32.3",
          "kind": "patch",
          "published_at": "2023-09-05T21:54:26Z"
        },
        {
          "tag": "7.0.0-preview4",
          "kind": "prerelease",
          "published_at": "2023-08-29T22:57:23Z"
        },
        {
          "tag": "6.32.2",
          "kind": "patch",
          "published_at": "2023-08-26T00:43:55Z"
        },
        {
          "tag": "7.0.0-preview3",
          "kind": "prerelease",
          "published_at": "2023-08-21T03:56:45Z"
        },
        {
          "tag": "7.0.0-preview2",
          "kind": "prerelease",
          "published_at": "2023-08-13T22:57:28Z"
        },
        {
          "tag": "6.32.1",
          "kind": "patch",
          "published_at": "2023-07-28T05:23:02Z"
        },
        {
          "tag": "7.1.0-preview",
          "kind": "prerelease",
          "published_at": "2023-07-20T04:31:09Z"
        },
        {
          "tag": "v6.32.0",
          "kind": "minor",
          "published_at": "2023-07-12T23:48:10Z"
        },
        {
          "tag": "7.0.0-preview",
          "kind": "prerelease",
          "published_at": "2023-07-13T16:47:24Z"
        },
        {
          "tag": "6.31.0",
          "kind": "minor",
          "published_at": "2023-06-08T00:55:07Z"
        },
        {
          "tag": "6.30.1",
          "kind": "patch",
          "published_at": "2023-05-10T20:04:02Z"
        },
        {
          "tag": "6.30.0",
          "kind": "minor",
          "published_at": "2023-04-26T23:25:19Z"
        },
        {
          "tag": "6.29.0",
          "kind": "minor",
          "published_at": "2023-04-14T00:53:54Z"
        },
        {
          "tag": "6.28.1",
          "kind": "patch",
          "published_at": "2023-04-03T17:39:42Z"
        },
        {
          "tag": "6.28.0",
          "kind": "minor",
          "published_at": "2023-03-31T21:39:38Z"
        },
        {
          "tag": "6.27.0",
          "kind": "minor",
          "published_at": "2023-02-23T17:45:31Z"
        },
        {
          "tag": "v6.26.1",
          "kind": "patch",
          "published_at": "2023-02-07T19:53:03Z"
        },
        {
          "tag": "6.26.0",
          "kind": "minor",
          "published_at": "2023-01-20T18:51:26Z"
        },
        {
          "tag": "6.25.1",
          "kind": "patch",
          "published_at": "2022-12-01T18:31:19Z"
        },
        {
          "tag": "6.25.0",
          "kind": "minor",
          "published_at": "2022-10-28T18:18:00Z"
        },
        {
          "tag": "6.24.0",
          "kind": "minor",
          "published_at": "2022-10-14T18:11:30Z"
        },
        {
          "tag": "6.23.1",
          "kind": "patch",
          "published_at": "2022-09-08T23:59:16Z"
        },
        {
          "tag": "6.23.0",
          "kind": "minor",
          "published_at": "2022-09-06T22:50:49Z"
        },
        {
          "tag": "6.22.1",
          "kind": "patch",
          "published_at": "2022-08-26T17:21:45Z"
        },
        {
          "tag": "6.22.0",
          "kind": "minor",
          "published_at": "2022-07-27T16:47:51Z"
        },
        {
          "tag": "6.21.0",
          "kind": "minor",
          "published_at": "2022-07-01T20:37:51Z"
        },
        {
          "tag": "6.20.0",
          "kind": "minor",
          "published_at": "2022-06-21T18:27:04Z"
        },
        {
          "tag": "6.19.0",
          "kind": "minor",
          "published_at": "2022-06-08T21:48:25Z"
        },
        {
          "tag": "6.18.0",
          "kind": "minor",
          "published_at": "2022-05-18T17:07:41Z"
        },
        {
          "tag": "6.17.0",
          "kind": "minor",
          "published_at": "2022-03-23T18:41:38Z"
        },
        {
          "tag": "6.16.0",
          "kind": "minor",
          "published_at": "2022-02-18T23:13:06Z"
        },
        {
          "tag": "6.15.1",
          "kind": "patch",
          "published_at": "2022-01-20T05:19:15Z"
        },
        {
          "tag": "v6.15.0",
          "kind": "minor",
          "published_at": "2021-12-03T20:10:55Z"
        },
        {
          "tag": "6.14.1",
          "kind": "patch",
          "published_at": "2021-11-04T16:35:21Z"
        },
        {
          "tag": "6.14.0",
          "kind": "minor",
          "published_at": "2021-10-29T20:14:49Z"
        },
        {
          "tag": "6.13.1",
          "kind": "patch",
          "published_at": "2021-10-07T00:31:04Z"
        },
        {
          "tag": "6.12.2",
          "kind": "patch",
          "published_at": "2021-08-21T19:00:33Z"
        },
        {
          "tag": "6.12.1",
          "kind": "patch",
          "published_at": "2021-08-20T18:49:27Z"
        },
        {
          "tag": "6.12.0",
          "kind": "minor",
          "published_at": "2021-07-21T18:01:26Z"
        },
        {
          "tag": "6.11.1",
          "kind": "patch",
          "published_at": "2021-05-21T23:28:53Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "bb897f7c96644147e038c7b859be8f2559081532",
          "body": "…(#3552)\n\n* Add JsonWebToken header-replacement constructor to avoid re-parsing payload\n\nAdd a public constructor, JsonWebToken(JsonWebToken jsonWebToken, string\nencodedHeader), that builds a token by replacing the header of an existing JWS\nwhile reusing its already-parsed payload and signature. The\n[…]\nnHandler.ReplaceTokenHeader instead of a public ctor\n\n* Use string.Create to assemble token in header replacement\n\n---------\n\nCo-authored-by: Shubhshankar Murugaiah Sankachelvi <shmurug@microsoft.com>",
          "is_bot": false,
          "headline": "Add JsonWebToken header-replacement path to avoid re-parsing payload …",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-07-16T17:28:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "43a457b066ad5fc75713a842c8e2a66852f79e5d",
          "body": "* Add claims dictionary presizing\n\n* Add unit tests for edge cases\n\n---------\n\nCo-authored-by: Zhenya Polyvanyi <iepoly@microsoft.com>",
          "is_bot": false,
          "headline": "Add claims dictionary preallocation (#3542)",
          "author_name": "Ievgen Polyvanyi",
          "author_login": "cpp11nullptr",
          "committed_at": "2026-07-15T21:14:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01273779903b1ed97d8b1515289fd484da5d7d65",
          "body": "…RFC 3986 section 3.3) (#3539)\n\nMake SHR p-claim path comparison case-sensitive (ordinal) per RFC 3986 section 3.3",
          "is_bot": false,
          "headline": "Make Signed HTTP Request `p` claim (path) comparison case-sensitive (…",
          "author_name": "debchoudhury-id4s",
          "author_login": "debchoudhury-id4s",
          "committed_at": "2026-07-09T01:53:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c58a45119909d12dc56787e97a1b4aa2da49519c",
          "body": null,
          "is_bot": false,
          "headline": "add missing lines to strong name bypass registry file (#3537)",
          "author_name": "Toidi357",
          "author_login": "Toidi357",
          "committed_at": "2026-07-08T17:23:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6213066cf107bf1a9b6793e98c41167667c75261",
          "body": "…#3536)",
          "is_bot": false,
          "headline": "Port CacheCustomProviders property to CryptoProviderFactory (#3489) (…",
          "author_name": "Ignacio Inglese",
          "author_login": "iNinja",
          "committed_at": "2026-07-07T21:39:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fbc3cf741482fe2a0ae18eb89869dcaafc2f0ed",
          "body": null,
          "is_bot": false,
          "headline": "Port ML-DSA (FIPS 204) post-quantum signature support to dev (#3532)",
          "author_name": "Ignacio Inglese",
          "author_login": "iNinja",
          "committed_at": "2026-07-03T17:28:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e714eba14b8be9d7e9577e1199c6d4fbc381a190",
          "body": "…e (Bug 3669406) (#3531)\n\nThe test fetched OpenID Connect metadata from the live pre-production endpoint\nlogin.windows-ppe.net, which is not reachable from GitHub-hosted CI runners, so\nthe \"Run unit tests\" job failed on every pull request.\n\nThis test-only change injects a method-local HttpClient bac\n[…]\ndata fetch is forbidden. No src/ changes.\n\nCo-authored-by: debchoudhury-id4s <290261775+debchoudhury-id4s@users.noreply.github.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Make Validate_CanFetchMetadataWithoutConfigurationProvider run offlin…",
          "author_name": "debchoudhury-id4s",
          "author_login": "debchoudhury-id4s",
          "committed_at": "2026-07-01T18:46:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "168714d244b2d8f27b1d5b769c3480ccb0a87da0",
          "body": "* Update CHANGELOG for version 8.19.0\n\nAdded new features and bug fixes for version 8.19.0.\n\n* Update CHANGELOG for version 8.19.1\n\nUpdated changelog for version 8.19.1 with bug fixes and new features.\n\n* Update CHANGELOG for version 7.7.2\n\nAdded details for version 7.7.2, including bug fixes and dependency updates.\n\n* Apply suggestions from code review\n\nCo-authored-by: campersau <buchholz.bastian@googlemail.com>\n\n---------\n\nCo-authored-by: campersau <buchholz.bastian@googlemail.com>",
          "is_bot": false,
          "headline": "Update CHANGELOG for version 8.19.0 (#3514)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-06-09T08:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35f2792aff7e33493e4253438c5999601f9e5314",
          "body": "…506)\n\n* Apply RFC 3986 section 6.2.2 normalization to DPoP htu comparison\n\n* Address PR feedback: rename PopUriComparer to DpopUriComparer, expand RFC 3986 coverage\n\n- Rename PopUriComparer -> DpopUriComparer per @pmaytak (the comparer is specific to DPoP htu validation, not general PoP)\n\n- Add 5 t\n[…]\nad added an awkward TryCreate dance. Keep only AreEquivalent(Uri uri, string uriToCompareTo) — parsing happens inside, callers stay clean.\n\n---------\n\nCo-authored-by: marcinzo <marcinzo@microsoft.com>",
          "is_bot": false,
          "headline": "Apply RFC 3986 section 6.2.2 normalization to DPoP htu comparison (#3…",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-05-29T16:39:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "75ba352180f7954d4db6726d198769466a721f29",
          "body": "…eType categorization (#3504)\n\n* Refactor nonce enforncement opt-out, enrich code docs, improve error handling\n\n* Rename types to fit naming standard, replace Wilson mentions\n\n---------\n\nCo-authored-by: marcinzo <marcinzo@microsoft.com>",
          "is_bot": false,
          "headline": "DPoP: fail-closed when replay protection isn't configured; add Failur…",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-05-27T18:58:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d4c8681edf22fc1acba07ebfe5ef43945fc7fa7",
          "body": "Co-authored-by: marcinzo <marcinzo@microsoft.com>",
          "is_bot": false,
          "headline": "DPoP Hardening (#3501)",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-05-26T17:47:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "782e9800f54e350e1ef1c862a4f68d0b0b361a47",
          "body": "Added new features including IConfigurationEventHandlerContextAware interface and Microsoft.IdentityModel.Dpop package. Updated changelog for version 8.18.0.",
          "is_bot": false,
          "headline": "Update CHANGELOG for version 8.18.0 features (#3474)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-05-15T19:39:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a294fa758667ccaaaf735df1eb60e464ee7c388d",
          "body": null,
          "is_bot": false,
          "headline": "promote exception to property, add test (#3471)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-05-13T17:02:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0bdcea5c5ccc33d8a2eb21197cdcc3aecb1a5cc",
          "body": null,
          "is_bot": false,
          "headline": "adjust error message (#3482)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-05-12T15:53:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "389570054159a030dd9a3e858a33b53d73102dba",
          "body": "* Drop Net 6 from test targets as it has reached EOL support.\n\n* Suppress Tfm support build warning instead of dropping .NET 6\n\n* Use correct property\n\n* Use both properties in benchmark tests\n\n---------\n\nCo-authored-by: Franco Fung <francofung@microsoft.com>",
          "is_bot": false,
          "headline": "Suppress EOL .NET 6 warning in targetTest.props  (#3469)",
          "author_name": "Franco Fung",
          "author_login": "FuPingFranco",
          "committed_at": "2026-05-03T06:54:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4a9c211ee86fabed30b9803aa6719e76d6596bd",
          "body": null,
          "is_bot": false,
          "headline": "Bump open telemetry version (#3465)",
          "author_name": "Avery-Dunn",
          "author_login": "Avery-Dunn",
          "committed_at": "2026-04-29T23:02:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3565e761ea68e53d3b39801689c4881c42db8c73",
          "body": "* bypass cache option in result\n\n* Revert \"bypass cache option in result\"\n\nThis reverts commit 93447ae7185d46b7e3082ace06d273a1fe018f91.\n\n* poc for context aware event handler\n\n* Follow up on draft feedback\n\n* PR feedback\n\n* pr feedback\n\n* Update test/Microsoft.IdentityModel.Protocols.OpenIdConnect.\n[…]\ne condition in tests\n\n* updates to fix test flakiness\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Peter <34331512+pmaytak@users.noreply.github.com>",
          "is_bot": false,
          "headline": "L2 cache bypass (#3444)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-04-24T19:01:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f9b491f2c493e1a8906cec99dcf6ac76753dd5a6",
          "body": "* Initial prototype for dpop, work in progress\n\n* Finalize DPoP implementation\n\n* Add net462 tests\n\n* Removing unnecessary net462 guard\n\n* Remove keycloack tests and move proof creation to test projects.\n\n* Remove prefixes from proof options, after refactoring MISE #2\n\n* Add to linux sln and add e2e\n[…]\n additional token parsing.\n\n* Address error messaging comments and update tests\n\n---------\n\nCo-authored-by: Keegan Caruso <keegancaruso@microsoft.com>\nCo-authored-by: marcinzo <marcinzo@microsoft.com>",
          "is_bot": false,
          "headline": "Add DPoP (RFC 9449) proof creation and server-side validation (#3443)",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-04-22T02:13:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8bf229b22e9f1fa791947b42d1564557b0e57a45",
          "body": "* Enable manual triggering for dotnetcore workflow\n\nAdded support for manual triggering of the workflow.\n\n* Enable manual triggering for CodeQL analysis\n\nAdded manual triggering option for CodeQL workflow.\n\n* Enable manual trigger for AOT Check workflow\n\nAdd manual triggering option for AOT Check workflow\n\n* Add dev8x branch to workflow triggers\n\n* Add 'dev8x' branch to CodeQL analysis workflow\n\n* Add 'dev8x' branch to workflow triggers",
          "is_bot": false,
          "headline": "Enable manual triggering for workflows (#3437)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-03-28T07:36:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7421dbf3723aff93aa35a6760de28f5ede9b488",
          "body": "* Update CHANGELOG for version 8.17.0\n\nUpdated CHANGELOG for version 8.17.0 with dependency changes and new features.\n\n* Update CHANGELOG.md\r\n\r\nupdated\n\nCo-authored-by: Peter <34331512+pmaytak@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Peter <34331512+pmaytak@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update CHANGELOG for version 8.17.0 (#3441)",
          "author_name": "Mallika Chennupaty",
          "author_login": "mdchennu",
          "committed_at": "2026-03-24T20:27:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01f8caf75507bf0504363802293686679a64182e",
          "body": "…NET 10 (#3436)",
          "is_bot": false,
          "headline": "Downgrade MicrosoftExtensionsLoggingAbstractionsVersion to 8.0.0 on .…",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-03-23T20:04:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa4bdc81ecbfb1bac20f27ad0c15dc87e19957b7",
          "body": "Email address no longer accepts submissions",
          "is_bot": false,
          "headline": "Email address no longer accepts submissions (#3417)",
          "author_name": "Louis Nyffenegger",
          "author_login": "snyff",
          "committed_at": "2026-03-19T11:56:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9200421e6f3e4e268e5a2b10bf3e6cc1a2b811f",
          "body": "…(#3399)\n\n* Initial plan\n\n* Convert delegates to interfaces for validators - Core implementation\n\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.github.com>\n\n* Update all usages to call interface methods instead of delegates\n\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.git\n[…]\ns\n\n* review feedback\n\n* small fix\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Convert validation delegates to interfaces in Experimental namespace …",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-03-16T22:07:45Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cdac1ecfe50d72fb24f280cb2cbc49d68883aef2",
          "body": "…tives (#3430)\n\n* Remove breaking changes in JsonSerializerPrimitives - restore backward compatible reader positioning\n\nCo-authored-by: Josh Lozensky <joshlozensky@microsoft.com>",
          "is_bot": false,
          "headline": "Restore backward-compatible reader positioning in JsonSerializerPrimi…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-03-11T23:00:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "856c90c009e6bd91ee0439fcf53ec36925fe48ad",
          "body": null,
          "is_bot": false,
          "headline": "Improve validation of \"jku\" claim (#3431)",
          "author_name": "Avery-Dunn",
          "author_login": "Avery-Dunn",
          "committed_at": "2026-03-10T09:28:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c90b15c0fbdfdb02dc1300cb566b41e4059afcc",
          "body": null,
          "is_bot": false,
          "headline": "clear plaintext on decrypt failure (#3432)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-03-09T17:45:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "532cc64c73b1a3bd1efc0986808c85ef09b70673",
          "body": null,
          "is_bot": false,
          "headline": "use SHA for specific action version (#3433)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-03-09T17:13:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f02a3a874530521d489758411131f92e2c4a45c0",
          "body": "* Emit warning for package version mismatch\n\n* Add explicit list of packages to check\n\n* Update task comment\n\n* Use IDX as warning prefix\n\n---------\n\nCo-authored-by: Zhenya Polyvanyi <iepoly@microsoft.com>",
          "is_bot": false,
          "headline": "Emit warning for package version mismatch (#3423)",
          "author_name": "Ievgen Polyvanyi",
          "author_login": "cpp11nullptr",
          "committed_at": "2026-02-23T21:26:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dc6f553eaf5e3f219520aadf99c3b46713b0910",
          "body": "* Initial plan\n\n* Add LogValidationExceptions checks before logging exceptions\n\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>\n\n* Fix spelling error in comment\n\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>\n\n* Add comprehensive tests for LogValidati\n[…]\nbot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>\nCo-authored-by: JoshLozensky <103777376+JoshLozensky@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Respect LogValidationExceptions flag in all validator methods (#3425)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-19T18:10:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "154323fde480540c0d45e2bdff3e4ef7be810217",
          "body": "Update SDK version from 10.0.100 to 10.0.103",
          "is_bot": false,
          "headline": "Update SDK version from 10.0.100 to 10.0.103 (#3427)",
          "author_name": "Gladwin Johnson",
          "author_login": "gladjohn",
          "committed_at": "2026-02-19T07:52:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cab969c79fb08e8390319d7226a8d0c307152e9",
          "body": null,
          "is_bot": false,
          "headline": "Update MicrosoftIdentityModelCurrentVersion to 9.0.0 (#3420)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-02-18T23:00:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b9a7a181c7723636952d9b659c918a4174c967e",
          "body": "Added new features and fixed FileVersion format in CHANGELOG.",
          "is_bot": false,
          "headline": "Update CHANGELOG for version 8.16.0 (#3421)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2026-02-18T23:00:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61449b853c3ce153aa2a21ed75d5a9bc27af37cf",
          "body": "* Added helper class and methods to track signature validation telemetry. Added tests\n\n* Added a counter for signature validation. Updated ITelemetryClient interface and TelemetryClient to support the new telemetry. Added null telemetry client for no op\n\n* Added telemetry to JWT and SAML/SAML2 handl\n[…]\nunify telemetry client usage and streamline issuer tracking logic, with tests updated to match new behavior.\n\n* Removed case insensitive comparison for telemetry issuer extraction based on PR feedback",
          "is_bot": false,
          "headline": "Add telemetry around signature validation (#3410)",
          "author_name": "Ignacio Inglese",
          "author_login": "iNinja",
          "committed_at": "2026-02-11T18:10:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8ffd5b0493c07af0a5ced6410690b83d08c4e1a3",
          "body": "- Updated TenantIdAsGuid: f645ad92-e38d-4d1a-b510-d1b09a74a8ca -> 10c419d4-4a50-45b2-aa4e-919fb84df24f\n- Updated V1Issuer, V1IssuerWithoutTrailingSlash, and V1IssuerPPE constants\n- Updated test assertions in MicrosoftIdentityIssuerValidatorTest\n- All 143 tests in Microsoft.IdentityModel.Validators.Tests pass successfully",
          "is_bot": false,
          "headline": "Lab Migration: Update tenant ID from MSIDLAB4 to new tenant (#3413)",
          "author_name": "Ryan Auld",
          "author_login": "RyAuld",
          "committed_at": "2026-02-10T18:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a47bda9f8a241965f9d89bd9e40bf3d195f3d2f",
          "body": "Co-authored-by: marcinzo <marcinzo@microsoft.com>",
          "is_bot": false,
          "headline": "Fix ob violation (#3411)",
          "author_name": "MARCIN Z",
          "author_login": "MZOLN",
          "committed_at": "2026-02-10T18:07:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c074b468f467bb20fbbbf1cffd440efc0d2d36a1",
          "body": "…(#3409)\n\n* Initial plan\n\n* Add AppContext switch and update log levels for IDX10239 and IDX10234\n\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>\n\n* Add comprehensive tests for log level changes\n\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>\n\n* Fix \n[…]\naEnnam@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: RojaEnnam <63254595+RojaEnnam@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Change IDX10239 and IDX10234 log level to Verbose with opt-in switch …",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-05T17:45:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e80574dcb3830667dfd1c21b1efc9d3a02659108",
          "body": "* Completed changes to SymmettricKeyWrapProvider!\n\n* Local commit\n\n* Resolved issues with KeyVaultVerify\n\n* FIxed KeyWrapProvider tests\n\n* Updated reference test for dotnet 10",
          "is_bot": false,
          "headline": "Use default KW for dotnet 10 (#3404)",
          "author_name": "saurabhsathe-ms",
          "author_login": "saurabhsathe-ms",
          "committed_at": "2026-02-03T00:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0408a007cc393a4356ac422f1b3721b3ecc0f379",
          "body": "…403)\n\n* make a deep copy with copy constructor\n\n* PR feedback",
          "is_bot": false,
          "headline": "Use TokenValidationParameter copy constructor to make a deep copy (#3…",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-01-22T17:42:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38224047dbe9a037dbf6bb8b0c0ca015b34e04da",
          "body": "* Initial plan\n\n* Add CancellationToken parameter to ValidateTokenAsync methods\n\nCo-authored-by: kllysng <69649063+kllysng@users.noreply.github.com>\n\n* Pass CancellationToken through internal validation methods\n\nCo-authored-by: kllysng <69649063+kllysng@users.noreply.github.com>\n\n* add cancellation \n[…]\nuthored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: kllysng <69649063+kllysng@users.noreply.github.com>\nCo-authored-by: Kelly Song <kellysong@microsoft.com>",
          "is_bot": false,
          "headline": "Add CancellationToken parameter to ValidateTokenAsync methods (#3401)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-01-22T17:28:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cb6958c7ea779f02156115277902a1800b469b0d",
          "body": "* Initial plan\n\n* Add System.Security.Cryptography.AesGcm support for .NET 6+\n\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.github.com>\n\n* Update tests to support AesGcm on .NET 6+\n\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.github.com>\n\n* Address code review feedback -\n[…]\n* move conditions for readability\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: westin-m <127992899+westin-m@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Enable cross-platform AES-GCM support for .NET 6+ (#3396)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-01-14T22:45:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1a5591937ab73213789279c83526e07dd9053910",
          "body": "* rename parameter\n\n* rename bool in tests",
          "is_bot": false,
          "headline": "Update Signature for JsonWebKeyConverter (#3394)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2026-01-14T22:23:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b04dc2f8b725a86fe5f64bc58a13a786ec165c10",
          "body": "…ft.Json entry (#3393)\n\n* Initial plan\n\n* Remove outdated Newtonsoft.Json entry from cgmanifest.json\n\nCo-authored-by: saurabhsathe-ms <197688485+saurabhsathe-ms@users.noreply.github.com>\n\n* Delete cgmanifest.json file as empty registrations array is not needed\n\nCo-authored-by: saurabhsathe-ms <19768\n[…]\n-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: saurabhsathe-ms <197688485+saurabhsathe-ms@users.noreply.github.com>\nCo-authored-by: Saurabh Sathe <saurabhsathe@microsoft.com>",
          "is_bot": false,
          "headline": "Delete registrations from cgmanifest.json file with outdated Newtonso…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-01-13T21:40:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6a1b575b0048d4de3a286b05874253eba64390e4",
          "body": "* Local commit\n\n* Updated the tests to accomodate the changes to groups\n\n* Added an end  to end test for JwtSecurityTokenHandler",
          "is_bot": false,
          "headline": "Ssathe/claim type mapping missing groups (#3391)",
          "author_name": "saurabhsathe-ms",
          "author_login": "saurabhsathe-ms",
          "committed_at": "2026-01-12T19:26:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcd41b75b2a09fc245a19fcfb7bb2fe3ec810d96",
          "body": null,
          "is_bot": false,
          "headline": "Fix FileVersion format to use two-digit year and day of year (#3389)",
          "author_name": "thejaswinic",
          "author_login": "thejaswinic",
          "committed_at": "2026-01-06T21:59:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c33522ef007464c86989ab65f22ab5719a664bbf",
          "body": "Added new features, bug fixes, and updates for version 8.15.0, including ECDsa support and .NET 10 compatibility improvements.",
          "is_bot": false,
          "headline": "Update CHANGELOG for version 8.15.0 (#3371)",
          "author_name": "Jean-Marc Prieur",
          "author_login": "jmprieur",
          "committed_at": "2025-11-18T19:03:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08b72d480b4c3755dafa010180fddecbdd74b9e6",
          "body": "* Update runTests.ps1 arguments to specify dotnet directory\n\n* need to include 9.x\n\n---------\n\nCo-authored-by: Keegan Caruso <keegancaruso@microsoft.com>",
          "is_bot": false,
          "headline": "Update runTests.ps1 arguments to specify dotnet directory (#3368)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-11-14T23:03:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d37e7c288249b3479d7f18888e209dcacf0374a6",
          "body": null,
          "is_bot": false,
          "headline": "Update supportPolicy.md (#3367)",
          "author_name": "Bogdan Gavril",
          "author_login": "bgavrilMS",
          "committed_at": "2025-11-13T10:48:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91dc20a79b913c0115d26a1694fcb867b7bc07a7",
          "body": "* Add suppression.\n\n* Add suppression.",
          "is_bot": false,
          "headline": "Fix CodeQL alerts (#3364)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-11-13T01:25:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "234279d58420e06a997329a53b9d801ccf8a4132",
          "body": "Co-authored-by: Keegan Caruso <keegancaruso@microsoft.com>",
          "is_bot": false,
          "headline": "Update project files and workflows for .NET 10.0 compatibility (#3363)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-11-11T22:31:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24dfa17cfa56ed036a3afcbc4ac4c94e937b443a",
          "body": "Co-authored-by: Keegan <Keegan.Caruso@microsoft.com>",
          "is_bot": false,
          "headline": "update .net version to CG compliance (#3353)",
          "author_name": "Westin Musser",
          "author_login": "westin-m",
          "committed_at": "2025-11-11T01:40:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24bd27f92438632daaa686be1384e6dcf6b0341b",
          "body": "* Initial plan\n\n* Update to .NET 10 RC 1 with wildcard versions\n\nCo-authored-by: saurabhsathe-ms <197688485+saurabhsathe-ms@users.noreply.github.com>\n\n* Fix AES-GCM tests for .NET 10 Linux support\n\nCo-authored-by: saurabhsathe-ms <197688485+saurabhsathe-ms@users.noreply.github.com>\n\n* Add net10.0 ta\n[…]\n saurabhsathe-ms <197688485+saurabhsathe-ms@users.noreply.github.com>\nCo-authored-by: Josh Lozensky <joshlozensky@microsoft.com>\nCo-authored-by: JLoze <103777376+JoshLozensky@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update to .NET 10 RC 1 with explicit versioning (#3358)",
          "author_name": "saurabhsathe-ms",
          "author_login": "saurabhsathe-ms",
          "committed_at": "2025-10-23T17:54:05Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa32391a2748279c916a4107cc2ab6ee1fea6a9b",
          "body": "…o System.Text.Json (#3356)\n\n* Migrate Microsoft.IdentityModel.TestExtensions from Newtonsoft.Json to System.Text.Json\n\nCo-authored-by: keegan-caruso <54109988+keegan-caruso@users.noreply.github.com>\n\n* Add comment explaining NoWarn suppressions for IL2026 and IL3050\n\nCo-authored-by: keegan-caruso <\n[…]\ncopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: keegan-caruso <54109988+keegan-caruso@users.noreply.github.com>\nCo-authored-by: Keegan <Keegan.Caruso@microsoft.com>",
          "is_bot": false,
          "headline": "Migrate Microsoft.IdentityModel.TestExtensions from Newtonsoft.Json t…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-10-22T20:01:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "39bfc930eb47afd20d37b0982ee4059ce2385bdf",
          "body": "* Upgrade GitHub Actions to v5 for .NET setup\n\n* Apply suggestion from @keegan-caruso\n\n* Apply suggestion from @keegan-caruso\n\n* Apply suggestion from @keegan-caruso",
          "is_bot": false,
          "headline": "Lock .NET10 SDK to rc1 (#3357)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-20T23:34:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa2d252b720c777398ac5aacbf26114b053938ab",
          "body": "…(#3341)\n\n* Initial plan\n\n* Implement SearchValues-based sanitization for improved performance\n\nCo-authored-by: mdchennu <45950356+mdchennu@users.noreply.github.com>\n\n* Add comprehensive sanitization tests for SearchValues implementation\n\nCo-authored-by: mdchennu <45950356+mdchennu@users.noreply.git\n[…]\nmdchennu@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: mdchennu <45950356+mdchennu@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Optimize log sanitization with SearchValues for improved performance …",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-10-14T14:37:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b9b623c40043e7efb2b45b0faec705c604885675",
          "body": "This reverts commit c152004ebe7071ab0184ca69cc9d2d0a5c4507cc.",
          "is_bot": false,
          "headline": "Revert \"Don't target NET 10 SDK for dotnetcore.yml (#3335)\" (#3339)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-10T01:14:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cae27c68c5c648f970a70a806a043c0a5c3e96a7",
          "body": "…rtFromX509SecurityKey` (#2377)\n\n* Add ECDsa support in X509SecurityKey\n\n* Add unit test\n\n* Add support for ECDsa in JsonWebKeyConverter.ConvertFromX509SecurityKey\n\n* Update unit test\n\n* Remove use of self-signed certificate\n\n* Change order for validation\n\n* Add condition for .NET 4.7.2 or NET\n\n* Fi\n[…]\nte preprocessor directives\n\n* Address feedbacks from review\n\n---------\n\nCo-authored-by: joegoldman2 <147369450+joegoldman@users.noreply.github.com>\nCo-authored-by: Keegan <Keegan.Caruso@microsoft.com>",
          "is_bot": false,
          "headline": "Add ECDsa support in `X509SecurityKey` and `JsonWebKeyConverter.Conve…",
          "author_name": "joegoldman2",
          "author_login": null,
          "committed_at": "2025-10-10T00:03:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d0fe58e3863c3cdd858fa962b5dfc7804bf35636",
          "body": "Co-authored-by: Keegan Caruso <keegancaruso@microsoft.com>",
          "is_bot": false,
          "headline": "Disable code coverage comments (#3349)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-09T22:44:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be5bc4d4d5278cff08360e7aee493a83dc81e769",
          "body": "…arameter across build, test, and pack phases. (#3337)\n\n* Passed TargetNetNext argument for build and pack\n\n* Passed env TargetNetNext to build and pack\n\n* Added comment explanation\n\n---------\n\nCo-authored-by: Alex Holub <alexholub@microsoft.com>",
          "is_bot": false,
          "headline": "Fixes .NET 10.0 test execution by ensuring consistent TargetNetNext p…",
          "author_name": "Alex Holub",
          "author_login": "alexholub113",
          "committed_at": "2025-10-09T17:28:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04a187b9f178d3e49e1761161b854ffafa264720",
          "body": "* Upgrade Microsoft.NET.Test.Sdk to version 17.13.0",
          "is_bot": false,
          "headline": "Upgrade Microsoft.NET.Test.Sdk (#3336)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-07T20:27:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c152004ebe7071ab0184ca69cc9d2d0a5c4507cc",
          "body": "* Change TargetNetNext environment variable to false\n\n* Comment out .NET 10 preview SDK setup\n\nComment out setup for .NET 10 preview SDK due to test coverage issues.",
          "is_bot": false,
          "headline": "Don't target NET 10 SDK for dotnetcore.yml (#3335)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-06T23:20:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a09823d9f56a7442a8f62727aef8df25980c2c7",
          "body": null,
          "is_bot": false,
          "headline": "Update CoverletCollectorVersion to 6.0.4 (#3333)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-10-06T17:35:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ae21182dd521961dd378233557ff12b8e951868",
          "body": "* Initial plan\n\n* Migrate .clinerules to agents.md and update references\n\nCo-authored-by: jennyf19 <19942418+jennyf19@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: jennyf19 <19942418+jennyf19@users.noreply.github.com>\nCo-authored-by: jennyf19 <jeferrie@microsoft.com>\nCo-authored-by: saurabhsathe-ms <saurabhsathe@microsoft.com>",
          "is_bot": false,
          "headline": "Migrate repository agent rules from .clinerules to agents.md (#3313)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-09-29T21:10:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "637fae34ab10f47ba93150e8cc1c9bb27d38cf18",
          "body": "* Sanitize log strings.\n\n* Update logger.\n\n* Sanitize Unicode format characters.\n\n* Add .NET 6.x setup to GitHub Actions workflow\n\nAdded setup step for .NET 6.x in workflow.",
          "is_bot": false,
          "headline": "Sanitize logs (#3316)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-09-26T04:42:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a20ebdd9158f8da56e343bdfd651eabe94c39d1",
          "body": null,
          "is_bot": false,
          "headline": "Update test for IDX10400. (#3314)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-09-24T06:55:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91f1925e8345fc1b586022bf766a95a69941ebc5",
          "body": null,
          "is_bot": false,
          "headline": "Building with NET 10 preview (#3287)",
          "author_name": "JLoze",
          "author_login": "JoshLozensky",
          "committed_at": "2025-09-04T20:42:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f58d585121cfba4ac83ec0fa5d34763dcf241ae4",
          "body": "* Add tests\n\n* Add all none cases",
          "is_bot": false,
          "headline": "Add supported algorithm tests (#3296)",
          "author_name": "RojaEnnam",
          "author_login": "RojaEnnam",
          "committed_at": "2025-08-18T20:24:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0df5711a5de310c2b06bdb21ae25ff59ac4332cd",
          "body": "* Changelog 8.14.0\n\n* Update CHANGELOG.md\n\n* Update CHANGELOG.md",
          "is_bot": false,
          "headline": "Changelog 8.14.0 (#3294)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-08-15T23:29:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8f7d87bcda35557a68f6cb9c55856a2ee733856",
          "body": "…n. (#3299)\n\n* OpertionResult -> ValidationResult\nRemove dependency on Microsoft.Identity.Abstractions\n\n* remove dependency\n\n---------\n\nCo-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "Switch to back to ValidationResult for results when validating a toke…",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-08-15T16:38:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1badce8949d974cf2650fa496432fadd0e3aeee8",
          "body": null,
          "is_bot": false,
          "headline": "Update Abstractions (#3289)",
          "author_name": "Jean-Marc Prieur",
          "author_login": "jmprieur",
          "committed_at": "2025-08-08T17:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcacd48979d5bd50c20e241a6c289f67fb1207a3",
          "body": "* 8.13.1 changelog\n\n* Update CHANGELOG.md\n\nCo-authored-by: Westin Musser <127992899+westin-m@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Westin Musser <127992899+westin-m@users.noreply.github.com>",
          "is_bot": false,
          "headline": "8.13.1 changelog (#3288)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-08-08T01:51:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec4cc0fa856a20d380e241c0cc1e69d571a8f77b",
          "body": "…ompressionProvider (#3286)\n\n* Initial plan\n\n* Initial plan for fixing IDX10816 decompression issue\n\nCo-authored-by: pmaytak <34331512+pmaytak@users.noreply.github.com>\n\n* Fix IDX10816 decompression issue and add tests\n\nCo-authored-by: pmaytak <34331512+pmaytak@users.noreply.github.com>\n\n* Final ver\n[…]\nb.com>\n\n* Fix formatting, fix tests.\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: pmaytak <34331512+pmaytak@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix IDX10816 decompression failure for large JWE payloads in DeflateC…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-08-06T20:54:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "35cc68b38de33ebfa0ebb4ebe4f9453835f429dd",
          "body": "…Result (#3284)\n\n* ValidationResult -> OperationResult\nStandardize validation across token types.\n\n* Addressing PR comments.\n\n---------\n\nCo-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "Update return from validation steps to use M.I.Abstractions.Operation…",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-08-01T21:32:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d25996a6c7e9a9cd11655a70566e913d6ccdad51",
          "body": "* changelog for 8.13\n\n* Update CHANGELOG.md\n\nCo-authored-by: Keegan <Keegan.Caruso@microsoft.com>\n\n* Update CHANGELOG.md\n\n* Update CHANGELOG.md\n\n---------\n\nCo-authored-by: Keegan <Keegan.Caruso@microsoft.com>\nCo-authored-by: Jean-Marc Prieur <jmprieur@microsoft.com>",
          "is_bot": false,
          "headline": "changelog for 8.13 (#3282)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-07-19T02:16:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11251ee32f9a047b19f70a7bb713f3b54a908833",
          "body": "No functional difference, using pkcs1 will be flagged on scans and this removes it here.",
          "is_bot": false,
          "headline": "Update RsaSecurityKey.cs (#3280)",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-07-18T17:26:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7699e533557a32fb3b74dc440c10a61c9b90df1b",
          "body": "* Update .NET SDK version in global.json from 9.0.107 to 9.0.108\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Keegan <Keegan.Caruso@microsoft.com>",
          "is_bot": false,
          "headline": "Update .NET SDK version in global.json from 9.0.107 to 9.0.108 (#3274)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-07-14T20:48:06Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6d127306b9ea6660a1b873f4727d91f758f8af2b",
          "body": "…nal (#3278)",
          "is_bot": false,
          "headline": "Make CaseSensitiveClaimsIdentity.SecurityToken setter protected inter…",
          "author_name": "Keegan",
          "author_login": "keegan-caruso",
          "committed_at": "2025-07-14T17:16:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edd8166f5497a14ee51f3bf85fadfc283d480055",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG.md (#3266)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-06-18T00:30:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d0aa4465d61ae950ea6239aa041dc2ebbfd2dcb",
          "body": null,
          "is_bot": false,
          "headline": "Update global.json to latest (#3263)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-06-17T19:59:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "572de2de4b711f10be6858e7b32cec8b8112a28a",
          "body": "Co-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "moved files to experimental folder (#3261)",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-06-06T17:59:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3de93845500ab3daa30b7fd0f886ca1c0850cdc2",
          "body": "* remove experimental code from TokenValidationResult\n\n* move all experimental code into partial classes\n\n---------\n\nCo-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "Remove experimental code from TokenValidationResult (#3259)",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-06-06T00:49:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec9d65b526111132558eab7e905c72ba758e4f49",
          "body": "* Update CHANGELOG.md\n* Update version.props",
          "is_bot": false,
          "headline": "Update CHANGELOG.md for 8.12.0 (#3258)",
          "author_name": "Jean-Marc Prieur",
          "author_login": "jmprieur",
          "committed_at": "2025-06-03T18:21:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb55fba1cb05e23d71267d35b8694b678aa08b1b",
          "body": "* Update Microsoft.CodeAnalysis.PublicApiAnalyzers to 4.14\n\n* Update common.props\n\n* Update AI guidelines.\n\n* Update API files.\n\n* Update Base64UrlEncoder Decode API.\n\n* Updated BannedApiAnalyzers version.",
          "is_bot": false,
          "headline": "Update PublicApiAnalyzers and BannedApiAnalyzers to 4.14.0 (#3256)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-06-03T15:55:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0b3cd3316ab71ee6a81351715e3a4f6c3715ab6",
          "body": "Public API changes:\n- New interface\n- Result class used by the interface\n- New property and constructor on ConfigurationManager (number of constructors that throw on null args is too high, so I added IConfigurationEventHandler as a public property too).\n- JsonData is now public to allow for serializ\n[…]\nl if the handler implementation is not set.\n- Both blocking and non-blocking paths are supported.\n- New tag on configuration source is added (examples: retriever (http/file/etc.), handler)\nFixes #3253",
          "is_bot": false,
          "headline": "Enhance ConfigurationManager with event handling (#3254)",
          "author_name": "George Krechar",
          "author_login": "GeoK",
          "committed_at": "2025-06-03T04:30:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6c80366463b6804a5b0fc6cc95d8b62548550808",
          "body": "* add ai assist rules\n\n* update",
          "is_bot": false,
          "headline": "add ai assist rules (#3255)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-31T04:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1175022534ba57252e94245179223143b58c96c",
          "body": "* Add API tests.\n\n* Update code and tests.\n\n* Fix tests.",
          "is_bot": false,
          "headline": "Add expected Base64UrlEncoder.Decode overload for NET6 and 8 (#3250)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-05-30T21:20:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d77de2b30c33e3a1bb1fed5dd571addf79184687",
          "body": "Fix Benchmarks build issue.\nValidateSignature delegate returns ValidationResult<SecurityKey, SignatureValidationError>\n\nCo-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "Move suppression of RS006 to csproj. (#3230)",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-05-30T17:17:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2995aabc699feecb6f50d03c6180e9944af1f966",
          "body": "* changelog for 8.11\n\n* Update CHANGELOG.md",
          "is_bot": false,
          "headline": "changelog for 8.11 (#3248)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-23T16:19:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ecbd7d8a9bb02a7a3cd39a1031f0f3fc13c5394",
          "body": "* Add DecryptTokenWithConfiguration API\n\n* Pass configuration.\n\n* Add API.\n\n* Updates to API.\n\n* Update log message.\n\n* Add tests.",
          "is_bot": false,
          "headline": "Add DecryptTokenWithConfiguration API (#3243)",
          "author_name": "Peter",
          "author_login": "pmaytak",
          "committed_at": "2025-05-23T15:35:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db552291c7955cedff4ef44cf5b524f8724714e7",
          "body": "Co-authored-by: id4s <user@contoso.com>",
          "is_bot": false,
          "headline": "update current version to 8.10.0 (#3246)",
          "author_name": "BrentSchmaltz",
          "author_login": "brentschmaltz",
          "committed_at": "2025-05-22T22:45:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59b1e069f366cfd2f1412b8bf167e58daeead4f8",
          "body": "…gate (#3244)\n\n* Exposes puublicly the factory for AadIssuerValidator with cache function\n* Update test/Microsoft.IdentityModel.Validators.Tests/AadIssuerValidatorTests.cs\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Exposes publicly override of AadIssuerValidator factory taking a dele…",
          "author_name": "Jean-Marc Prieur",
          "author_login": "jmprieur",
          "committed_at": "2025-05-22T15:22:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9a7b3b70348ff9850163e42981b80c76caab9ba2",
          "body": "* Changelog for 8.10.0.\n\n* Update CHANGELOG.md\n\nCo-authored-by: Jean-Marc Prieur <jmprieur@microsoft.com>\n\n---------\n\nCo-authored-by: Sruthi Keerthi Rangavajhula <srangavajhul@microsoft.com>\nCo-authored-by: Jean-Marc Prieur <jmprieur@microsoft.com>\nCo-authored-by: jennyf19 <jeferrie@microsoft.com>",
          "is_bot": false,
          "headline": "Changelog for 8.10.0 (#3241)",
          "author_name": "sruthikeerthi",
          "author_login": "sruke",
          "committed_at": "2025-05-16T23:01:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b1e8b641c581e0e199a0daa85e837256b0ea96a",
          "body": null,
          "is_bot": false,
          "headline": "few updates (#3242)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-16T18:22:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "793bd34e945eb8ba7528cf87c4a29a29c4704a65",
          "body": "….0.2 to 8.0.0 (#3226)\n\n* removed cs proj reference to System.Text.Json and updated Abstractions\n\n* updated with PR comments\n\n* updated statement to be more clear\n\n* remove the AspNetCore reference\n\n* updated comment\n\n---------\n\nCo-authored-by: Mallika Chennupaty <mallikac@microsoft.com>",
          "is_bot": false,
          "headline": "[For Net9.0 TFM] Change MicrosoftExtensionsLoggingAbstractions from 8…",
          "author_name": "Mallika Chennupaty",
          "author_login": "mdchennu",
          "committed_at": "2025-05-15T17:22:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33784b8ec0ff4300efad788535f90b3adc5bdfd1",
          "body": "* started merging for Base64UrlEncoder, need to work on decoding\n\n* fixed the decoding for Base64UrlEncoding.cs\n\n* updated base64url encoding.cs and log messages\n\n* update PR according to comments\n\n* updated for .net9.0\n\n* updated bcl memory\n\n---------\n\nCo-authored-by: Mallika Chennupaty <mallikac@microsoft.com>",
          "is_bot": false,
          "headline": "Remove Microsoft.Bcl.Memory 9.0 in Wilson (#3220)",
          "author_name": "Mallika Chennupaty",
          "author_login": "mdchennu",
          "committed_at": "2025-05-13T21:12:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23f88d69061ebde619d2955ae7223b39b9c409a8",
          "body": "* Update supportPolicy.md\n\n* Update README.md\n\n* Update README.md",
          "is_bot": false,
          "headline": "Update supportPolicy.md (#3233)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-09T22:27:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14842aedb3d57c32b9ce784061cd9beccbdd1eb1",
          "body": "* more feedback\n\n* Apply suggestions from code review\n\n---------\n\nCo-authored-by: Peter <34331512+pmaytak@users.noreply.github.com>",
          "is_bot": false,
          "headline": "more feedback (#3232)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-09T20:45:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35caa6cb0b693188b5c5c1b9434414f1a3ba43ba",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md (#3231)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-09T16:39:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "946bec18cdeb26b8133a04e8c056dd5f17588f89",
          "body": "* add LTS policy\n\n* Apply suggestions from code review\n\n* Update README.md\n\n---------\n\nCo-authored-by: Peter <34331512+pmaytak@users.noreply.github.com>",
          "is_bot": false,
          "headline": "add LTS policy (#3228)",
          "author_name": "jennyf19",
          "author_login": "jennyf19",
          "committed_at": "2025-05-09T03:07:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc001335c1715ad38c8bc60313609515b081486b",
          "body": "* Tried a fix in XMLSignatureConsant.cs so that we dont get type instead of Type.\n\n* Identified places to change and created app context switches\n\n* Added default switch value\n\n* Updated the test Signature Values to be returned as per the switch value\n\n* Reverted the changes made to XMLSignatureCons\n[…]\n the tests to consider the switch value now\n\n* Added new test case to test Signature with capitalized Type\n\n* Reverted changes made to type in RoleDescriptorTemplate\n\n* NIT repairs as per the comments",
          "is_bot": false,
          "headline": "Ssathe/fix casting for xml attr type (#3217)",
          "author_name": "saurabhsathe-ms",
          "author_login": "saurabhsathe-ms",
          "committed_at": "2025-04-29T19:46:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9123695ec5f407c3ebcc8fa12aa1fe722367983",
          "body": "* Updates changelog for v8.9.0.\n\n* Update CHANGELOG.md\n\nCo-authored-by: Kelly🌠 <69649063+kllysng@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Sruthi Keerthi Rangavajhula <srangavajhul@microsoft.com>\nCo-authored-by: Kelly🌠 <69649063+kllysng@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Updates changelog for v8.9.0. (#3214)",
          "author_name": "sruthikeerthi",
          "author_login": "sruke",
          "committed_at": "2025-04-24T20:41:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 72,
      "latest_release_at": "2026-07-14T17:20:14Z",
      "latest_release_tag": "8.19.2",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 29,
      "days_since_latest_release": 7,
      "mean_days_between_releases": 26.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "Microsoft.IdentityModel.Xml",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "Reading",
            "XML",
            "Writing",
            "Enveloped",
            "Signatures"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Xml",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 109,
          "total_downloads": 179528670,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:28.663000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Dpop",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "Json",
            "Web",
            "Token"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Dpop",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 4,
          "total_downloads": 1566,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:09.483000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Tokens",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "SecurityTokens",
            "Cryptographic",
            "operations",
            "Signing",
            "Verifying",
            "Signatures",
            "Encryption"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Tokens",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 114,
          "total_downloads": 4092319413,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:23.370000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Logging",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "Logging"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Logging",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 114,
          "total_downloads": 4021522415,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:12.560000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "System.IdentityModel.Tokens.Jwt",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "Json",
            "Web",
            "Token"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 125,
          "total_downloads": 3730084734,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:30.587000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Protocols",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "OpenIdConnect",
            "WsFederation"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Protocols",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 114,
          "total_downloads": 2768629565,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:15.417000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Validators",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "OpenIdConnect",
            "Validation",
            "AzureAD",
            "Microsoft",
            "identity",
            "platform"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Validators",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 85,
          "total_downloads": 239191102,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:26.743000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Microsoft.IdentityModel.Tokens.Saml",
          "exists": true,
          "license": null,
          "keywords": [
            ".NET",
            "Windows",
            "Authentication",
            "Identity",
            "SamlTokens",
            "Saml",
            "Token",
            "Saml2"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Microsoft.IdentityModel.Tokens.Saml",
          "is_deprecated": false,
          "latest_version": "8.20.0",
          "repository_url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
          "versions_count": 109,
          "total_downloads": 180326580,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T20:07:25.213000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 471,
      "stars": 1153,
      "watchers": 98,
      "fork_history": {
        "days": [
          {
            "date": "2014-05-20",
            "count": 1
          },
          {
            "date": "2014-06-10",
            "count": 1
          },
          {
            "date": "2014-06-27",
            "count": 1
          },
          {
            "date": "2014-07-04",
            "count": 1
          },
          {
            "date": "2014-07-14",
            "count": 1
          },
          {
            "date": "2014-09-22",
            "count": 1
          },
          {
            "date": "2015-02-09",
            "count": 1
          },
          {
            "date": "2015-02-19",
            "count": 1
          },
          {
            "date": "2015-02-26",
            "count": 1
          },
          {
            "date": "2015-03-09",
            "count": 1
          },
          {
            "date": "2015-04-01",
            "count": 1
          },
          {
            "date": "2015-05-01",
            "count": 1
          },
          {
            "date": "2015-05-17",
            "count": 1
          },
          {
            "date": "2015-05-20",
            "count": 1
          },
          {
            "date": "2015-05-21",
            "count": 1
          },
          {
            "date": "2015-05-23",
            "count": 1
          },
          {
            "date": "2015-06-03",
            "count": 1
          },
          {
            "date": "2015-06-12",
            "count": 1
          },
          {
            "date": "2015-07-08",
            "count": 1
          },
          {
            "date": "2015-07-19",
            "count": 1
          },
          {
            "date": "2015-08-09",
            "count": 1
          },
          {
            "date": "2015-09-15",
            "count": 1
          },
          {
            "date": "2015-09-19",
            "count": 1
          },
          {
            "date": "2015-09-20",
            "count": 1
          },
          {
            "date": "2015-10-09",
            "count": 1
          },
          {
            "date": "2016-01-06",
            "count": 1
          },
          {
            "date": "2016-01-22",
            "count": 1
          },
          {
            "date": "2016-01-26",
            "count": 2
          },
          {
            "date": "2016-02-16",
            "count": 1
          },
          {
            "date": "2016-04-17",
            "count": 1
          },
          {
            "date": "2016-04-28",
            "count": 2
          },
          {
            "date": "2016-05-30",
            "count": 1
          },
          {
            "date": "2016-05-31",
            "count": 1
          },
          {
            "date": "2016-06-02",
            "count": 1
          },
          {
            "date": "2016-06-06",
            "count": 1
          },
          {
            "date": "2016-06-08",
            "count": 1
          },
          {
            "date": "2016-06-15",
            "count": 1
          },
          {
            "date": "2016-06-28",
            "count": 1
          },
          {
            "date": "2016-07-11",
            "count": 1
          },
          {
            "date": "2016-08-15",
            "count": 1
          },
          {
            "date": "2016-08-29",
            "count": 1
          },
          {
            "date": "2016-09-11",
            "count": 1
          },
          {
            "date": "2016-09-22",
            "count": 1
          },
          {
            "date": "2016-09-26",
            "count": 1
          },
          {
            "date": "2016-10-07",
            "count": 1
          },
          {
            "date": "2016-10-10",
            "count": 1
          },
          {
            "date": "2016-10-26",
            "count": 1
          },
          {
            "date": "2016-11-18",
            "count": 1
          },
          {
            "date": "2016-11-21",
            "count": 1
          },
          {
            "date": "2016-12-12",
            "count": 1
          },
          {
            "date": "2016-12-14",
            "count": 1
          },
          {
            "date": "2016-12-16",
            "count": 1
          },
          {
            "date": "2017-01-01",
            "count": 1
          },
          {
            "date": "2017-01-04",
            "count": 1
          },
          {
            "date": "2017-02-02",
            "count": 1
          },
          {
            "date": "2017-02-18",
            "count": 1
          },
          {
            "date": "2017-02-24",
            "count": 1
          },
          {
            "date": "2017-02-27",
            "count": 1
          },
          {
            "date": "2017-03-01",
            "count": 2
          },
          {
            "date": "2017-03-08",
            "count": 1
          },
          {
            "date": "2017-03-10",
            "count": 1
          },
          {
            "date": "2017-03-20",
            "count": 1
          },
          {
            "date": "2017-04-08",
            "count": 1
          },
          {
            "date": "2017-04-12",
            "count": 1
          },
          {
            "date": "2017-04-17",
            "count": 1
          },
          {
            "date": "2017-04-24",
            "count": 1
          },
          {
            "date": "2017-05-07",
            "count": 1
          },
          {
            "date": "2017-05-11",
            "count": 1
          },
          {
            "date": "2017-05-25",
            "count": 2
          },
          {
            "date": "2017-05-31",
            "count": 2
          },
          {
            "date": "2017-06-06",
            "count": 1
          },
          {
            "date": "2017-06-09",
            "count": 1
          },
          {
            "date": "2017-06-12",
            "count": 1
          },
          {
            "date": "2017-07-06",
            "count": 1
          },
          {
            "date": "2017-07-15",
            "count": 1
          },
          {
            "date": "2017-07-21",
            "count": 1
          },
          {
            "date": "2017-07-29",
            "count": 1
          },
          {
            "date": "2017-08-06",
            "count": 1
          },
          {
            "date": "2017-08-28",
            "count": 1
          },
          {
            "date": "2017-09-12",
            "count": 1
          },
          {
            "date": "2017-09-15",
            "count": 1
          },
          {
            "date": "2017-09-24",
            "count": 1
          },
          {
            "date": "2017-09-26",
            "count": 1
          },
          {
            "date": "2017-10-23",
            "count": 1
          },
          {
            "date": "2017-11-13",
            "count": 1
          },
          {
            "date": "2017-11-30",
            "count": 1
          },
          {
            "date": "2017-12-06",
            "count": 1
          },
          {
            "date": "2018-01-03",
            "count": 1
          },
          {
            "date": "2018-01-09",
            "count": 1
          },
          {
            "date": "2018-01-20",
            "count": 1
          },
          {
            "date": "2018-01-24",
            "count": 1
          },
          {
            "date": "2018-01-30",
            "count": 1
          },
          {
            "date": "2018-02-02",
            "count": 1
          },
          {
            "date": "2018-02-16",
            "count": 1
          },
          {
            "date": "2018-02-28",
            "count": 1
          },
          {
            "date": "2018-03-01",
            "count": 1
          },
          {
            "date": "2018-03-08",
            "count": 1
          },
          {
            "date": "2018-03-15",
            "count": 1
          },
          {
            "date": "2018-03-31",
            "count": 1
          },
          {
            "date": "2018-04-11",
            "count": 1
          },
          {
            "date": "2018-04-13",
            "count": 1
          },
          {
            "date": "2018-04-24",
            "count": 1
          },
          {
            "date": "2018-05-04",
            "count": 1
          },
          {
            "date": "2018-05-11",
            "count": 1
          },
          {
            "date": "2018-05-22",
            "count": 2
          },
          {
            "date": "2018-06-05",
            "count": 1
          },
          {
            "date": "2018-06-07",
            "count": 2
          },
          {
            "date": "2018-06-14",
            "count": 2
          },
          {
            "date": "2018-06-25",
            "count": 1
          },
          {
            "date": "2018-06-26",
            "count": 1
          },
          {
            "date": "2018-07-06",
            "count": 1
          },
          {
            "date": "2018-07-16",
            "count": 1
          },
          {
            "date": "2018-07-23",
            "count": 1
          },
          {
            "date": "2018-08-06",
            "count": 1
          },
          {
            "date": "2018-08-07",
            "count": 1
          },
          {
            "date": "2018-08-09",
            "count": 1
          },
          {
            "date": "2018-10-16",
            "count": 1
          },
          {
            "date": "2018-10-26",
            "count": 1
          },
          {
            "date": "2018-10-27",
            "count": 1
          },
          {
            "date": "2018-10-30",
            "count": 1
          },
          {
            "date": "2018-11-07",
            "count": 1
          },
          {
            "date": "2018-11-20",
            "count": 1
          },
          {
            "date": "2018-11-21",
            "count": 1
          },
          {
            "date": "2018-11-26",
            "count": 1
          },
          {
            "date": "2018-12-21",
            "count": 1
          },
          {
            "date": "2018-12-27",
            "count": 1
          },
          {
            "date": "2018-12-28",
            "count": 1
          },
          {
            "date": "2019-01-08",
            "count": 1
          },
          {
            "date": "2019-01-11",
            "count": 1
          },
          {
            "date": "2019-01-13",
            "count": 1
          },
          {
            "date": "2019-01-29",
            "count": 1
          },
          {
            "date": "2019-03-11",
            "count": 1
          },
          {
            "date": "2019-03-14",
            "count": 1
          },
          {
            "date": "2019-04-09",
            "count": 1
          },
          {
            "date": "2019-04-11",
            "count": 1
          },
          {
            "date": "2019-04-12",
            "count": 1
          },
          {
            "date": "2019-04-25",
            "count": 1
          },
          {
            "date": "2019-04-30",
            "count": 1
          },
          {
            "date": "2019-05-02",
            "count": 1
          },
          {
            "date": "2019-05-03",
            "count": 2
          },
          {
            "date": "2019-05-23",
            "count": 1
          },
          {
            "date": "2019-05-24",
            "count": 1
          },
          {
            "date": "2019-05-27",
            "count": 1
          },
          {
            "date": "2019-06-14",
            "count": 2
          },
          {
            "date": "2019-06-27",
            "count": 1
          },
          {
            "date": "2019-07-12",
            "count": 1
          },
          {
            "date": "2019-07-17",
            "count": 1
          },
          {
            "date": "2019-08-01",
            "count": 1
          },
          {
            "date": "2019-08-09",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2019-09-13",
            "count": 1
          },
          {
            "date": "2019-09-19",
            "count": 1
          },
          {
            "date": "2019-09-25",
            "count": 1
          },
          {
            "date": "2019-09-27",
            "count": 1
          },
          {
            "date": "2019-10-08",
            "count": 1
          },
          {
            "date": "2019-10-12",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 1
          },
          {
            "date": "2019-10-28",
            "count": 1
          },
          {
            "date": "2019-10-31",
            "count": 1
          },
          {
            "date": "2019-11-21",
            "count": 1
          },
          {
            "date": "2019-11-26",
            "count": 2
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-11-29",
            "count": 1
          },
          {
            "date": "2019-12-02",
            "count": 1
          },
          {
            "date": "2020-01-21",
            "count": 1
          },
          {
            "date": "2020-01-26",
            "count": 1
          },
          {
            "date": "2020-02-18",
            "count": 1
          },
          {
            "date": "2020-02-29",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-09",
            "count": 2
          },
          {
            "date": "2020-03-11",
            "count": 1
          },
          {
            "date": "2020-03-12",
            "count": 1
          },
          {
            "date": "2020-03-19",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 1
          },
          {
            "date": "2020-04-01",
            "count": 1
          },
          {
            "date": "2020-04-06",
            "count": 1
          },
          {
            "date": "2020-04-07",
            "count": 1
          },
          {
            "date": "2020-04-08",
            "count": 1
          },
          {
            "date": "2020-04-10",
            "count": 1
          },
          {
            "date": "2020-04-21",
            "count": 2
          },
          {
            "date": "2020-04-25",
            "count": 1
          },
          {
            "date": "2020-04-26",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2020-04-29",
            "count": 1
          },
          {
            "date": "2020-05-01",
            "count": 1
          },
          {
            "date": "2020-05-12",
            "count": 1
          },
          {
            "date": "2020-05-19",
            "count": 1
          },
          {
            "date": "2020-05-25",
            "count": 1
          },
          {
            "date": "2020-05-28",
            "count": 1
          },
          {
            "date": "2020-05-29",
            "count": 1
          },
          {
            "date": "2020-06-05",
            "count": 1
          },
          {
            "date": "2020-06-09",
            "count": 1
          },
          {
            "date": "2020-06-20",
            "count": 1
          },
          {
            "date": "2020-06-22",
            "count": 1
          },
          {
            "date": "2020-06-29",
            "count": 1
          },
          {
            "date": "2020-07-01",
            "count": 1
          },
          {
            "date": "2020-07-13",
            "count": 1
          },
          {
            "date": "2020-07-23",
            "count": 1
          },
          {
            "date": "2020-07-31",
            "count": 1
          },
          {
            "date": "2020-08-07",
            "count": 1
          },
          {
            "date": "2020-08-29",
            "count": 1
          },
          {
            "date": "2020-09-12",
            "count": 1
          },
          {
            "date": "2020-09-21",
            "count": 1
          },
          {
            "date": "2020-09-23",
            "count": 1
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-15",
            "count": 1
          },
          {
            "date": "2020-10-20",
            "count": 1
          },
          {
            "date": "2020-10-21",
            "count": 3
          },
          {
            "date": "2020-10-24",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 1
          },
          {
            "date": "2020-11-03",
            "count": 1
          },
          {
            "date": "2020-11-15",
            "count": 1
          },
          {
            "date": "2020-11-16",
            "count": 1
          },
          {
            "date": "2020-11-23",
            "count": 1
          },
          {
            "date": "2020-11-26",
            "count": 1
          },
          {
            "date": "2020-11-29",
            "count": 1
          },
          {
            "date": "2020-12-03",
            "count": 1
          },
          {
            "date": "2020-12-05",
            "count": 1
          },
          {
            "date": "2020-12-09",
            "count": 1
          },
          {
            "date": "2020-12-16",
            "count": 1
          },
          {
            "date": "2020-12-25",
            "count": 1
          },
          {
            "date": "2021-01-05",
            "count": 1
          },
          {
            "date": "2021-01-09",
            "count": 1
          },
          {
            "date": "2021-02-08",
            "count": 1
          },
          {
            "date": "2021-03-04",
            "count": 1
          },
          {
            "date": "2021-03-11",
            "count": 1
          },
          {
            "date": "2021-03-24",
            "count": 1
          },
          {
            "date": "2021-03-30",
            "count": 1
          },
          {
            "date": "2021-04-16",
            "count": 1
          },
          {
            "date": "2021-04-18",
            "count": 1
          },
          {
            "date": "2021-05-04",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-24",
            "count": 1
          },
          {
            "date": "2021-05-29",
            "count": 1
          },
          {
            "date": "2021-06-24",
            "count": 1
          },
          {
            "date": "2021-06-28",
            "count": 1
          },
          {
            "date": "2021-07-02",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 1
          },
          {
            "date": "2021-07-22",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 1
          },
          {
            "date": "2021-08-26",
            "count": 1
          },
          {
            "date": "2021-08-30",
            "count": 1
          },
          {
            "date": "2021-09-01",
            "count": 1
          },
          {
            "date": "2021-09-06",
            "count": 1
          },
          {
            "date": "2021-09-29",
            "count": 1
          },
          {
            "date": "2021-10-03",
            "count": 1
          },
          {
            "date": "2021-10-05",
            "count": 1
          },
          {
            "date": "2021-10-07",
            "count": 2
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-21",
            "count": 1
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-03-01",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 2
          },
          {
            "date": "2022-03-22",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 1
          },
          {
            "date": "2022-04-10",
            "count": 1
          },
          {
            "date": "2022-05-19",
            "count": 1
          },
          {
            "date": "2022-06-16",
            "count": 1
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-07-16",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-08-07",
            "count": 1
          },
          {
            "date": "2022-08-20",
            "count": 1
          },
          {
            "date": "2022-09-22",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2022-11-21",
            "count": 1
          },
          {
            "date": "2022-12-01",
            "count": 1
          },
          {
            "date": "2022-12-10",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 2
          },
          {
            "date": "2022-12-27",
            "count": 1
          },
          {
            "date": "2023-01-20",
            "count": 2
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 2
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 2
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-11",
            "count": 1
          },
          {
            "date": "2023-06-22",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-08",
            "count": 1
          },
          {
            "date": "2023-07-20",
            "count": 1
          },
          {
            "date": "2023-07-25",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-11",
            "count": 1
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-09-13",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 1
          },
          {
            "date": "2023-09-19",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 1
          },
          {
            "date": "2023-10-14",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-15",
            "count": 1
          },
          {
            "date": "2023-12-20",
            "count": 1
          },
          {
            "date": "2023-12-26",
            "count": 1
          },
          {
            "date": "2024-01-08",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-03",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-11",
            "count": 1
          },
          {
            "date": "2024-02-12",
            "count": 1
          },
          {
            "date": "2024-02-16",
            "count": 1
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-16",
            "count": 1
          },
          {
            "date": "2024-05-18",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-24",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-29",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 4
          },
          {
            "date": "2024-09-12",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2024-12-19",
            "count": 3
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-02-28",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-19",
            "count": 1
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 2
          },
          {
            "date": "2025-06-13",
            "count": 2
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-11-08",
            "count": 2
          },
          {
            "date": "2025-11-17",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 2
          },
          {
            "date": "2025-11-26",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-15",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 2
          },
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-11",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 2
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-22",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-03",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 2
          }
        ],
        "complete": true,
        "collected": 457,
        "total_forks": 471
      },
      "star_history": {
        "days": [
          {
            "date": "2016-11-18",
            "count": 1
          },
          {
            "date": "2016-11-21",
            "count": 1
          },
          {
            "date": "2016-11-23",
            "count": 1
          },
          {
            "date": "2016-11-30",
            "count": 1
          },
          {
            "date": "2016-12-04",
            "count": 1
          },
          {
            "date": "2016-12-14",
            "count": 1
          },
          {
            "date": "2016-12-29",
            "count": 1
          },
          {
            "date": "2016-12-30",
            "count": 1
          },
          {
            "date": "2017-01-01",
            "count": 1
          },
          {
            "date": "2017-01-11",
            "count": 3
          },
          {
            "date": "2017-01-26",
            "count": 1
          },
          {
            "date": "2017-02-03",
            "count": 1
          },
          {
            "date": "2017-02-05",
            "count": 1
          },
          {
            "date": "2017-02-21",
            "count": 1
          },
          {
            "date": "2017-02-22",
            "count": 1
          },
          {
            "date": "2017-02-23",
            "count": 1
          },
          {
            "date": "2017-02-24",
            "count": 1
          },
          {
            "date": "2017-03-03",
            "count": 1
          },
          {
            "date": "2017-03-10",
            "count": 2
          },
          {
            "date": "2017-03-15",
            "count": 1
          },
          {
            "date": "2017-03-16",
            "count": 1
          },
          {
            "date": "2017-03-17",
            "count": 2
          },
          {
            "date": "2017-03-21",
            "count": 1
          },
          {
            "date": "2017-03-27",
            "count": 1
          },
          {
            "date": "2017-04-02",
            "count": 1
          },
          {
            "date": "2017-04-03",
            "count": 2
          },
          {
            "date": "2017-04-05",
            "count": 1
          },
          {
            "date": "2017-04-06",
            "count": 1
          },
          {
            "date": "2017-04-12",
            "count": 1
          },
          {
            "date": "2017-04-18",
            "count": 1
          },
          {
            "date": "2017-04-25",
            "count": 1
          },
          {
            "date": "2017-04-26",
            "count": 1
          },
          {
            "date": "2017-04-27",
            "count": 1
          },
          {
            "date": "2017-04-29",
            "count": 1
          },
          {
            "date": "2017-05-05",
            "count": 1
          },
          {
            "date": "2017-05-08",
            "count": 1
          },
          {
            "date": "2017-05-10",
            "count": 1
          },
          {
            "date": "2017-05-17",
            "count": 1
          },
          {
            "date": "2017-05-19",
            "count": 2
          },
          {
            "date": "2017-05-22",
            "count": 2
          },
          {
            "date": "2017-05-23",
            "count": 1
          },
          {
            "date": "2017-05-25",
            "count": 1
          },
          {
            "date": "2017-06-01",
            "count": 1
          },
          {
            "date": "2017-06-03",
            "count": 1
          },
          {
            "date": "2017-06-05",
            "count": 1
          },
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-08",
            "count": 1
          },
          {
            "date": "2017-06-09",
            "count": 1
          },
          {
            "date": "2017-06-11",
            "count": 1
          },
          {
            "date": "2017-06-17",
            "count": 1
          },
          {
            "date": "2017-06-22",
            "count": 2
          },
          {
            "date": "2017-06-23",
            "count": 1
          },
          {
            "date": "2017-06-29",
            "count": 1
          },
          {
            "date": "2017-07-08",
            "count": 1
          },
          {
            "date": "2017-07-09",
            "count": 1
          },
          {
            "date": "2017-07-10",
            "count": 1
          },
          {
            "date": "2017-07-12",
            "count": 1
          },
          {
            "date": "2017-07-13",
            "count": 1
          },
          {
            "date": "2017-07-21",
            "count": 2
          },
          {
            "date": "2017-07-22",
            "count": 1
          },
          {
            "date": "2017-07-24",
            "count": 2
          },
          {
            "date": "2017-07-25",
            "count": 1
          },
          {
            "date": "2017-07-28",
            "count": 1
          },
          {
            "date": "2017-08-01",
            "count": 1
          },
          {
            "date": "2017-08-04",
            "count": 2
          },
          {
            "date": "2017-08-11",
            "count": 1
          },
          {
            "date": "2017-08-14",
            "count": 1
          },
          {
            "date": "2017-08-19",
            "count": 1
          },
          {
            "date": "2017-08-28",
            "count": 1
          },
          {
            "date": "2017-08-30",
            "count": 1
          },
          {
            "date": "2017-08-31",
            "count": 1
          },
          {
            "date": "2017-09-05",
            "count": 1
          },
          {
            "date": "2017-09-10",
            "count": 1
          },
          {
            "date": "2017-09-13",
            "count": 1
          },
          {
            "date": "2017-09-15",
            "count": 1
          },
          {
            "date": "2017-09-19",
            "count": 1
          },
          {
            "date": "2017-09-20",
            "count": 1
          },
          {
            "date": "2017-09-22",
            "count": 1
          },
          {
            "date": "2017-09-27",
            "count": 1
          },
          {
            "date": "2017-10-04",
            "count": 1
          },
          {
            "date": "2017-10-06",
            "count": 2
          },
          {
            "date": "2017-10-09",
            "count": 1
          },
          {
            "date": "2017-10-11",
            "count": 1
          },
          {
            "date": "2017-10-17",
            "count": 1
          },
          {
            "date": "2017-11-04",
            "count": 1
          },
          {
            "date": "2017-11-07",
            "count": 1
          },
          {
            "date": "2017-11-09",
            "count": 1
          },
          {
            "date": "2017-11-14",
            "count": 1
          },
          {
            "date": "2017-11-15",
            "count": 1
          },
          {
            "date": "2017-11-20",
            "count": 1
          },
          {
            "date": "2017-11-21",
            "count": 1
          },
          {
            "date": "2017-11-23",
            "count": 1
          },
          {
            "date": "2017-11-24",
            "count": 1
          },
          {
            "date": "2017-11-28",
            "count": 1
          },
          {
            "date": "2017-12-01",
            "count": 1
          },
          {
            "date": "2017-12-04",
            "count": 1
          },
          {
            "date": "2017-12-05",
            "count": 1
          },
          {
            "date": "2017-12-19",
            "count": 1
          },
          {
            "date": "2017-12-21",
            "count": 1
          },
          {
            "date": "2017-12-22",
            "count": 1
          },
          {
            "date": "2017-12-26",
            "count": 1
          },
          {
            "date": "2017-12-28",
            "count": 1
          },
          {
            "date": "2017-12-31",
            "count": 1
          },
          {
            "date": "2018-01-09",
            "count": 2
          },
          {
            "date": "2018-01-11",
            "count": 1
          },
          {
            "date": "2018-01-13",
            "count": 1
          },
          {
            "date": "2018-01-16",
            "count": 1
          },
          {
            "date": "2018-01-18",
            "count": 1
          },
          {
            "date": "2018-01-19",
            "count": 1
          },
          {
            "date": "2018-01-22",
            "count": 1
          },
          {
            "date": "2018-01-23",
            "count": 1
          },
          {
            "date": "2018-01-25",
            "count": 2
          },
          {
            "date": "2018-02-01",
            "count": 1
          },
          {
            "date": "2018-02-04",
            "count": 1
          },
          {
            "date": "2018-02-07",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-02-09",
            "count": 1
          },
          {
            "date": "2018-02-11",
            "count": 1
          },
          {
            "date": "2018-02-15",
            "count": 1
          },
          {
            "date": "2018-02-20",
            "count": 2
          },
          {
            "date": "2018-02-22",
            "count": 1
          },
          {
            "date": "2018-02-24",
            "count": 1
          },
          {
            "date": "2018-02-27",
            "count": 2
          },
          {
            "date": "2018-02-28",
            "count": 1
          },
          {
            "date": "2018-03-01",
            "count": 2
          },
          {
            "date": "2018-03-09",
            "count": 1
          },
          {
            "date": "2018-03-11",
            "count": 1
          },
          {
            "date": "2018-03-12",
            "count": 1
          },
          {
            "date": "2018-03-13",
            "count": 1
          },
          {
            "date": "2018-03-14",
            "count": 1
          },
          {
            "date": "2018-03-16",
            "count": 1
          },
          {
            "date": "2018-03-22",
            "count": 1
          },
          {
            "date": "2018-03-23",
            "count": 1
          },
          {
            "date": "2018-03-26",
            "count": 1
          },
          {
            "date": "2018-03-27",
            "count": 1
          },
          {
            "date": "2018-03-28",
            "count": 2
          },
          {
            "date": "2018-03-30",
            "count": 1
          },
          {
            "date": "2018-04-01",
            "count": 1
          },
          {
            "date": "2018-04-04",
            "count": 1
          },
          {
            "date": "2018-04-08",
            "count": 1
          },
          {
            "date": "2018-04-09",
            "count": 1
          },
          {
            "date": "2018-04-11",
            "count": 3
          },
          {
            "date": "2018-04-12",
            "count": 1
          },
          {
            "date": "2018-04-13",
            "count": 3
          },
          {
            "date": "2018-04-17",
            "count": 1
          },
          {
            "date": "2018-04-18",
            "count": 1
          },
          {
            "date": "2018-04-23",
            "count": 1
          },
          {
            "date": "2018-04-25",
            "count": 2
          },
          {
            "date": "2018-04-26",
            "count": 2
          },
          {
            "date": "2018-05-03",
            "count": 1
          },
          {
            "date": "2018-05-06",
            "count": 1
          },
          {
            "date": "2018-05-09",
            "count": 1
          },
          {
            "date": "2018-05-10",
            "count": 1
          },
          {
            "date": "2018-05-14",
            "count": 1
          },
          {
            "date": "2018-05-16",
            "count": 1
          },
          {
            "date": "2018-05-21",
            "count": 1
          },
          {
            "date": "2018-05-30",
            "count": 1
          },
          {
            "date": "2018-05-31",
            "count": 2
          },
          {
            "date": "2018-06-04",
            "count": 1
          },
          {
            "date": "2018-06-06",
            "count": 1
          },
          {
            "date": "2018-06-07",
            "count": 1
          },
          {
            "date": "2018-06-09",
            "count": 1
          },
          {
            "date": "2018-06-12",
            "count": 1
          },
          {
            "date": "2018-06-13",
            "count": 1
          },
          {
            "date": "2018-06-14",
            "count": 1
          },
          {
            "date": "2018-06-15",
            "count": 2
          },
          {
            "date": "2018-06-19",
            "count": 1
          },
          {
            "date": "2018-06-22",
            "count": 2
          },
          {
            "date": "2018-06-26",
            "count": 3
          },
          {
            "date": "2018-06-27",
            "count": 1
          },
          {
            "date": "2018-06-29",
            "count": 1
          },
          {
            "date": "2018-07-04",
            "count": 2
          },
          {
            "date": "2018-07-05",
            "count": 2
          },
          {
            "date": "2018-07-08",
            "count": 1
          },
          {
            "date": "2018-07-09",
            "count": 1
          },
          {
            "date": "2018-07-10",
            "count": 1
          },
          {
            "date": "2018-07-12",
            "count": 1
          },
          {
            "date": "2018-07-13",
            "count": 2
          },
          {
            "date": "2018-07-15",
            "count": 2
          },
          {
            "date": "2018-07-16",
            "count": 3
          },
          {
            "date": "2018-07-17",
            "count": 1
          },
          {
            "date": "2018-07-19",
            "count": 1
          },
          {
            "date": "2018-07-23",
            "count": 2
          },
          {
            "date": "2018-07-25",
            "count": 1
          },
          {
            "date": "2018-07-26",
            "count": 2
          },
          {
            "date": "2018-07-30",
            "count": 2
          },
          {
            "date": "2018-08-04",
            "count": 1
          },
          {
            "date": "2018-08-07",
            "count": 1
          },
          {
            "date": "2018-08-14",
            "count": 1
          },
          {
            "date": "2018-08-16",
            "count": 1
          },
          {
            "date": "2018-08-17",
            "count": 1
          },
          {
            "date": "2018-08-22",
            "count": 1
          },
          {
            "date": "2018-08-28",
            "count": 1
          },
          {
            "date": "2018-08-30",
            "count": 1
          },
          {
            "date": "2018-09-05",
            "count": 1
          },
          {
            "date": "2018-09-06",
            "count": 1
          },
          {
            "date": "2018-09-07",
            "count": 2
          },
          {
            "date": "2018-09-10",
            "count": 1
          },
          {
            "date": "2018-09-17",
            "count": 1
          },
          {
            "date": "2018-09-18",
            "count": 2
          },
          {
            "date": "2018-09-19",
            "count": 1
          },
          {
            "date": "2018-09-23",
            "count": 1
          },
          {
            "date": "2018-09-24",
            "count": 1
          },
          {
            "date": "2018-09-27",
            "count": 1
          },
          {
            "date": "2018-09-28",
            "count": 1
          },
          {
            "date": "2018-09-29",
            "count": 1
          },
          {
            "date": "2018-10-04",
            "count": 1
          },
          {
            "date": "2018-10-13",
            "count": 1
          },
          {
            "date": "2018-10-14",
            "count": 1
          },
          {
            "date": "2018-10-15",
            "count": 1
          },
          {
            "date": "2018-10-16",
            "count": 1
          },
          {
            "date": "2018-10-22",
            "count": 1
          },
          {
            "date": "2018-10-23",
            "count": 1
          },
          {
            "date": "2018-10-25",
            "count": 1
          },
          {
            "date": "2018-11-07",
            "count": 1
          },
          {
            "date": "2018-11-09",
            "count": 1
          },
          {
            "date": "2018-11-12",
            "count": 1
          },
          {
            "date": "2018-11-13",
            "count": 1
          },
          {
            "date": "2018-11-14",
            "count": 2
          },
          {
            "date": "2018-11-20",
            "count": 1
          },
          {
            "date": "2018-11-22",
            "count": 3
          },
          {
            "date": "2018-11-30",
            "count": 1
          },
          {
            "date": "2018-12-02",
            "count": 1
          },
          {
            "date": "2018-12-04",
            "count": 1
          },
          {
            "date": "2018-12-08",
            "count": 1
          },
          {
            "date": "2018-12-09",
            "count": 1
          },
          {
            "date": "2018-12-12",
            "count": 1
          },
          {
            "date": "2018-12-14",
            "count": 1
          },
          {
            "date": "2018-12-18",
            "count": 1
          },
          {
            "date": "2018-12-23",
            "count": 1
          },
          {
            "date": "2019-01-02",
            "count": 1
          },
          {
            "date": "2019-01-07",
            "count": 1
          },
          {
            "date": "2019-01-09",
            "count": 2
          },
          {
            "date": "2019-01-10",
            "count": 1
          },
          {
            "date": "2019-01-12",
            "count": 1
          },
          {
            "date": "2019-01-19",
            "count": 1
          },
          {
            "date": "2019-01-22",
            "count": 1
          },
          {
            "date": "2019-01-25",
            "count": 1
          },
          {
            "date": "2019-01-30",
            "count": 4
          },
          {
            "date": "2019-01-31",
            "count": 1
          },
          {
            "date": "2019-02-01",
            "count": 1
          },
          {
            "date": "2019-02-05",
            "count": 2
          },
          {
            "date": "2019-02-07",
            "count": 1
          },
          {
            "date": "2019-02-14",
            "count": 1
          },
          {
            "date": "2019-02-16",
            "count": 1
          },
          {
            "date": "2019-02-19",
            "count": 2
          },
          {
            "date": "2019-02-21",
            "count": 1
          },
          {
            "date": "2019-02-27",
            "count": 1
          },
          {
            "date": "2019-02-28",
            "count": 1
          },
          {
            "date": "2019-03-02",
            "count": 1
          },
          {
            "date": "2019-03-04",
            "count": 1
          },
          {
            "date": "2019-03-06",
            "count": 1
          },
          {
            "date": "2019-03-08",
            "count": 1
          },
          {
            "date": "2019-03-10",
            "count": 1
          },
          {
            "date": "2019-03-12",
            "count": 1
          },
          {
            "date": "2019-03-14",
            "count": 1
          },
          {
            "date": "2019-03-15",
            "count": 2
          },
          {
            "date": "2019-03-16",
            "count": 1
          },
          {
            "date": "2019-03-17",
            "count": 1
          },
          {
            "date": "2019-03-19",
            "count": 2
          },
          {
            "date": "2019-03-23",
            "count": 1
          },
          {
            "date": "2019-03-25",
            "count": 1
          },
          {
            "date": "2019-03-27",
            "count": 1
          },
          {
            "date": "2019-04-08",
            "count": 2
          },
          {
            "date": "2019-04-09",
            "count": 2
          },
          {
            "date": "2019-04-11",
            "count": 2
          },
          {
            "date": "2019-04-12",
            "count": 1
          },
          {
            "date": "2019-04-14",
            "count": 1
          },
          {
            "date": "2019-04-20",
            "count": 1
          },
          {
            "date": "2019-04-22",
            "count": 1
          },
          {
            "date": "2019-04-23",
            "count": 2
          },
          {
            "date": "2019-04-24",
            "count": 2
          },
          {
            "date": "2019-04-25",
            "count": 1
          },
          {
            "date": "2019-04-26",
            "count": 1
          },
          {
            "date": "2019-04-28",
            "count": 1
          },
          {
            "date": "2019-04-29",
            "count": 1
          },
          {
            "date": "2019-04-30",
            "count": 2
          },
          {
            "date": "2019-05-05",
            "count": 1
          },
          {
            "date": "2019-05-08",
            "count": 2
          },
          {
            "date": "2019-05-14",
            "count": 2
          },
          {
            "date": "2019-05-15",
            "count": 1
          },
          {
            "date": "2019-05-16",
            "count": 1
          },
          {
            "date": "2019-05-17",
            "count": 1
          },
          {
            "date": "2019-06-01",
            "count": 1
          },
          {
            "date": "2019-06-04",
            "count": 1
          },
          {
            "date": "2019-06-07",
            "count": 1
          },
          {
            "date": "2019-06-09",
            "count": 1
          },
          {
            "date": "2019-06-12",
            "count": 1
          },
          {
            "date": "2019-06-13",
            "count": 1
          },
          {
            "date": "2019-06-17",
            "count": 1
          },
          {
            "date": "2019-06-18",
            "count": 1
          },
          {
            "date": "2019-06-27",
            "count": 1
          },
          {
            "date": "2019-06-29",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 1
          },
          {
            "date": "2019-07-04",
            "count": 2
          },
          {
            "date": "2019-07-07",
            "count": 1
          },
          {
            "date": "2019-07-10",
            "count": 2
          },
          {
            "date": "2019-07-12",
            "count": 1
          },
          {
            "date": "2019-07-17",
            "count": 1
          },
          {
            "date": "2019-07-19",
            "count": 1
          },
          {
            "date": "2019-07-26",
            "count": 1
          },
          {
            "date": "2019-07-29",
            "count": 1
          },
          {
            "date": "2019-07-31",
            "count": 1
          },
          {
            "date": "2019-08-05",
            "count": 1
          },
          {
            "date": "2019-08-09",
            "count": 1
          },
          {
            "date": "2019-08-11",
            "count": 1
          },
          {
            "date": "2019-08-12",
            "count": 1
          },
          {
            "date": "2019-08-15",
            "count": 2
          },
          {
            "date": "2019-08-19",
            "count": 1
          },
          {
            "date": "2019-08-20",
            "count": 1
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-09-08",
            "count": 1
          },
          {
            "date": "2019-09-09",
            "count": 1
          },
          {
            "date": "2019-09-14",
            "count": 1
          },
          {
            "date": "2019-09-18",
            "count": 1
          },
          {
            "date": "2019-09-22",
            "count": 1
          },
          {
            "date": "2019-09-23",
            "count": 1
          },
          {
            "date": "2019-09-25",
            "count": 2
          },
          {
            "date": "2019-09-29",
            "count": 1
          },
          {
            "date": "2019-10-05",
            "count": 2
          },
          {
            "date": "2019-10-07",
            "count": 2
          },
          {
            "date": "2019-10-09",
            "count": 1
          },
          {
            "date": "2019-10-11",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 2
          },
          {
            "date": "2019-10-28",
            "count": 1
          },
          {
            "date": "2019-10-31",
            "count": 1
          },
          {
            "date": "2019-11-01",
            "count": 1
          },
          {
            "date": "2019-11-10",
            "count": 1
          },
          {
            "date": "2019-11-12",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-23",
            "count": 1
          },
          {
            "date": "2019-11-25",
            "count": 1
          },
          {
            "date": "2019-12-01",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 2
          },
          {
            "date": "2019-12-07",
            "count": 1
          },
          {
            "date": "2019-12-10",
            "count": 1
          },
          {
            "date": "2019-12-14",
            "count": 1
          },
          {
            "date": "2019-12-19",
            "count": 2
          },
          {
            "date": "2019-12-20",
            "count": 1
          },
          {
            "date": "2019-12-22",
            "count": 1
          },
          {
            "date": "2019-12-26",
            "count": 2
          },
          {
            "date": "2020-01-06",
            "count": 1
          },
          {
            "date": "2020-01-11",
            "count": 1
          },
          {
            "date": "2020-01-16",
            "count": 1
          },
          {
            "date": "2020-01-17",
            "count": 1
          },
          {
            "date": "2020-01-18",
            "count": 1
          },
          {
            "date": "2020-01-19",
            "count": 1
          },
          {
            "date": "2020-01-22",
            "count": 1
          },
          {
            "date": "2020-02-02",
            "count": 1
          },
          {
            "date": "2020-02-04",
            "count": 1
          },
          {
            "date": "2020-02-05",
            "count": 1
          },
          {
            "date": "2020-02-10",
            "count": 1
          },
          {
            "date": "2020-02-11",
            "count": 1
          },
          {
            "date": "2020-02-15",
            "count": 1
          },
          {
            "date": "2020-02-16",
            "count": 1
          },
          {
            "date": "2020-02-21",
            "count": 1
          },
          {
            "date": "2020-02-24",
            "count": 1
          },
          {
            "date": "2020-02-25",
            "count": 1
          },
          {
            "date": "2020-03-02",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 1
          },
          {
            "date": "2020-03-17",
            "count": 1
          },
          {
            "date": "2020-03-19",
            "count": 1
          },
          {
            "date": "2020-03-21",
            "count": 1
          },
          {
            "date": "2020-03-22",
            "count": 2
          },
          {
            "date": "2020-03-23",
            "count": 2
          },
          {
            "date": "2020-03-25",
            "count": 1
          },
          {
            "date": "2020-03-28",
            "count": 1
          },
          {
            "date": "2020-03-29",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 1
          },
          {
            "date": "2020-04-02",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 1
          },
          {
            "date": "2020-04-08",
            "count": 2
          },
          {
            "date": "2020-04-10",
            "count": 1
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-17",
            "count": 1
          },
          {
            "date": "2020-04-20",
            "count": 2
          },
          {
            "date": "2020-04-21",
            "count": 1
          },
          {
            "date": "2020-04-22",
            "count": 1
          },
          {
            "date": "2020-04-24",
            "count": 1
          },
          {
            "date": "2020-04-25",
            "count": 3
          },
          {
            "date": "2020-04-26",
            "count": 1
          },
          {
            "date": "2020-04-30",
            "count": 2
          },
          {
            "date": "2020-05-01",
            "count": 2
          },
          {
            "date": "2020-05-04",
            "count": 1
          },
          {
            "date": "2020-05-06",
            "count": 1
          },
          {
            "date": "2020-05-13",
            "count": 1
          },
          {
            "date": "2020-05-16",
            "count": 1
          },
          {
            "date": "2020-05-25",
            "count": 4
          },
          {
            "date": "2020-05-27",
            "count": 2
          },
          {
            "date": "2020-06-03",
            "count": 2
          },
          {
            "date": "2020-06-07",
            "count": 1
          },
          {
            "date": "2020-06-12",
            "count": 1
          },
          {
            "date": "2020-06-16",
            "count": 1
          },
          {
            "date": "2020-06-17",
            "count": 2
          },
          {
            "date": "2020-06-18",
            "count": 1
          },
          {
            "date": "2020-06-19",
            "count": 1
          },
          {
            "date": "2020-06-26",
            "count": 2
          },
          {
            "date": "2020-06-27",
            "count": 1
          },
          {
            "date": "2020-06-28",
            "count": 1
          },
          {
            "date": "2020-06-29",
            "count": 1
          },
          {
            "date": "2020-06-30",
            "count": 1
          },
          {
            "date": "2020-07-01",
            "count": 1
          },
          {
            "date": "2020-07-02",
            "count": 1
          },
          {
            "date": "2020-07-03",
            "count": 1
          },
          {
            "date": "2020-07-06",
            "count": 1
          },
          {
            "date": "2020-07-08",
            "count": 1
          },
          {
            "date": "2020-07-09",
            "count": 1
          },
          {
            "date": "2020-07-11",
            "count": 1
          },
          {
            "date": "2020-07-14",
            "count": 1
          },
          {
            "date": "2020-07-21",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 3
          },
          {
            "date": "2020-07-31",
            "count": 1
          },
          {
            "date": "2020-08-05",
            "count": 1
          },
          {
            "date": "2020-08-10",
            "count": 1
          },
          {
            "date": "2020-08-17",
            "count": 1
          },
          {
            "date": "2020-08-23",
            "count": 1
          },
          {
            "date": "2020-08-24",
            "count": 1
          },
          {
            "date": "2020-08-26",
            "count": 2
          },
          {
            "date": "2020-08-28",
            "count": 1
          },
          {
            "date": "2020-09-09",
            "count": 1
          },
          {
            "date": "2020-09-10",
            "count": 1
          },
          {
            "date": "2020-09-11",
            "count": 1
          },
          {
            "date": "2020-09-15",
            "count": 1
          },
          {
            "date": "2020-09-23",
            "count": 2
          },
          {
            "date": "2020-09-25",
            "count": 1
          },
          {
            "date": "2020-09-29",
            "count": 2
          },
          {
            "date": "2020-10-05",
            "count": 1
          },
          {
            "date": "2020-10-13",
            "count": 1
          },
          {
            "date": "2020-10-14",
            "count": 3
          },
          {
            "date": "2020-10-18",
            "count": 1
          },
          {
            "date": "2020-11-07",
            "count": 1
          },
          {
            "date": "2020-11-15",
            "count": 1
          },
          {
            "date": "2020-11-18",
            "count": 2
          },
          {
            "date": "2020-11-25",
            "count": 1
          },
          {
            "date": "2020-11-26",
            "count": 1
          },
          {
            "date": "2020-11-27",
            "count": 1
          },
          {
            "date": "2020-12-06",
            "count": 1
          },
          {
            "date": "2020-12-10",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2020-12-17",
            "count": 1
          },
          {
            "date": "2020-12-18",
            "count": 1
          },
          {
            "date": "2020-12-31",
            "count": 1
          },
          {
            "date": "2021-01-02",
            "count": 1
          },
          {
            "date": "2021-01-06",
            "count": 1
          },
          {
            "date": "2021-01-10",
            "count": 1
          },
          {
            "date": "2021-01-12",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-27",
            "count": 1
          },
          {
            "date": "2021-01-28",
            "count": 1
          },
          {
            "date": "2021-02-06",
            "count": 1
          },
          {
            "date": "2021-02-08",
            "count": 1
          },
          {
            "date": "2021-02-09",
            "count": 1
          },
          {
            "date": "2021-02-14",
            "count": 3
          },
          {
            "date": "2021-02-19",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-02-23",
            "count": 1
          },
          {
            "date": "2021-03-03",
            "count": 1
          },
          {
            "date": "2021-03-12",
            "count": 1
          },
          {
            "date": "2021-03-13",
            "count": 2
          },
          {
            "date": "2021-03-17",
            "count": 2
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-03-19",
            "count": 1
          },
          {
            "date": "2021-03-21",
            "count": 2
          },
          {
            "date": "2021-03-22",
            "count": 2
          },
          {
            "date": "2021-03-25",
            "count": 1
          },
          {
            "date": "2021-03-29",
            "count": 1
          },
          {
            "date": "2021-03-30",
            "count": 1
          },
          {
            "date": "2021-03-31",
            "count": 2
          },
          {
            "date": "2021-04-08",
            "count": 1
          },
          {
            "date": "2021-04-13",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 1
          },
          {
            "date": "2021-04-19",
            "count": 1
          },
          {
            "date": "2021-04-21",
            "count": 1
          },
          {
            "date": "2021-04-25",
            "count": 1
          },
          {
            "date": "2021-04-26",
            "count": 1
          },
          {
            "date": "2021-05-02",
            "count": 1
          },
          {
            "date": "2021-05-09",
            "count": 1
          },
          {
            "date": "2021-05-15",
            "count": 1
          },
          {
            "date": "2021-05-17",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-06-10",
            "count": 1
          },
          {
            "date": "2021-06-17",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-06-30",
            "count": 1
          },
          {
            "date": "2021-07-05",
            "count": 1
          },
          {
            "date": "2021-07-12",
            "count": 1
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 1
          },
          {
            "date": "2021-07-28",
            "count": 1
          },
          {
            "date": "2021-07-30",
            "count": 1
          },
          {
            "date": "2021-08-02",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 2
          },
          {
            "date": "2021-08-05",
            "count": 1
          },
          {
            "date": "2021-08-06",
            "count": 1
          },
          {
            "date": "2021-08-09",
            "count": 1
          },
          {
            "date": "2021-08-25",
            "count": 1
          },
          {
            "date": "2021-08-26",
            "count": 1
          },
          {
            "date": "2021-08-27",
            "count": 1
          },
          {
            "date": "2021-08-30",
            "count": 1
          },
          {
            "date": "2021-09-02",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-09-07",
            "count": 1
          },
          {
            "date": "2021-09-13",
            "count": 1
          },
          {
            "date": "2021-09-14",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-22",
            "count": 1
          },
          {
            "date": "2021-09-30",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 1
          },
          {
            "date": "2021-10-22",
            "count": 2
          },
          {
            "date": "2021-10-25",
            "count": 1
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-07",
            "count": 1
          },
          {
            "date": "2021-11-11",
            "count": 1
          },
          {
            "date": "2021-11-15",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 1
          },
          {
            "date": "2021-11-19",
            "count": 1
          },
          {
            "date": "2021-12-07",
            "count": 1
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2021-12-12",
            "count": 1
          },
          {
            "date": "2021-12-16",
            "count": 1
          },
          {
            "date": "2021-12-25",
            "count": 1
          },
          {
            "date": "2021-12-31",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 1
          },
          {
            "date": "2022-01-18",
            "count": 2
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-01-25",
            "count": 2
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-04",
            "count": 1
          },
          {
            "date": "2022-02-05",
            "count": 1
          },
          {
            "date": "2022-02-07",
            "count": 1
          },
          {
            "date": "2022-02-11",
            "count": 1
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-02-24",
            "count": 2
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-03-04",
            "count": 2
          },
          {
            "date": "2022-03-07",
            "count": 1
          },
          {
            "date": "2022-03-13",
            "count": 1
          },
          {
            "date": "2022-03-14",
            "count": 1
          },
          {
            "date": "2022-03-15",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-19",
            "count": 1
          },
          {
            "date": "2022-03-23",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 2
          },
          {
            "date": "2022-04-04",
            "count": 1
          },
          {
            "date": "2022-04-07",
            "count": 1
          },
          {
            "date": "2022-04-10",
            "count": 1
          },
          {
            "date": "2022-04-16",
            "count": 1
          },
          {
            "date": "2022-04-17",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 1
          },
          {
            "date": "2022-04-27",
            "count": 1
          },
          {
            "date": "2022-05-06",
            "count": 1
          },
          {
            "date": "2022-06-01",
            "count": 1
          },
          {
            "date": "2022-06-03",
            "count": 2
          },
          {
            "date": "2022-06-05",
            "count": 1
          },
          {
            "date": "2022-06-06",
            "count": 2
          },
          {
            "date": "2022-06-15",
            "count": 2
          },
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-06",
            "count": 1
          },
          {
            "date": "2022-07-09",
            "count": 1
          },
          {
            "date": "2022-07-10",
            "count": 1
          },
          {
            "date": "2022-07-14",
            "count": 1
          },
          {
            "date": "2022-07-18",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-07-27",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-15",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 2
          },
          {
            "date": "2022-08-28",
            "count": 2
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-09-01",
            "count": 1
          },
          {
            "date": "2022-09-04",
            "count": 1
          },
          {
            "date": "2022-09-05",
            "count": 1
          },
          {
            "date": "2022-09-07",
            "count": 1
          },
          {
            "date": "2022-09-16",
            "count": 1
          },
          {
            "date": "2022-09-18",
            "count": 1
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-09-30",
            "count": 1
          },
          {
            "date": "2022-10-07",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 1
          },
          {
            "date": "2022-10-14",
            "count": 1
          },
          {
            "date": "2022-10-25",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-15",
            "count": 2
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-23",
            "count": 2
          },
          {
            "date": "2022-12-02",
            "count": 1
          },
          {
            "date": "2022-12-15",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 2
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-10",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-20",
            "count": 1
          },
          {
            "date": "2023-02-07",
            "count": 1
          },
          {
            "date": "2023-02-09",
            "count": 1
          },
          {
            "date": "2023-02-14",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 2
          },
          {
            "date": "2023-02-24",
            "count": 2
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-13",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 3
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-25",
            "count": 1
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 2
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-05",
            "count": 2
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-04-14",
            "count": 1
          },
          {
            "date": "2023-04-27",
            "count": 1
          },
          {
            "date": "2023-05-01",
            "count": 1
          },
          {
            "date": "2023-05-04",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-11",
            "count": 1
          },
          {
            "date": "2023-07-13",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 2
          },
          {
            "date": "2023-07-15",
            "count": 1
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-07-22",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-07-27",
            "count": 2
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-07-29",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 1
          },
          {
            "date": "2023-08-14",
            "count": 2
          },
          {
            "date": "2023-08-15",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 1
          },
          {
            "date": "2023-08-25",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-10",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-21",
            "count": 1
          },
          {
            "date": "2023-09-25",
            "count": 1
          },
          {
            "date": "2023-10-14",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 2
          },
          {
            "date": "2023-10-26",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-07",
            "count": 1
          },
          {
            "date": "2023-12-22",
            "count": 1
          },
          {
            "date": "2023-12-24",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 2
          },
          {
            "date": "2024-01-04",
            "count": 1
          },
          {
            "date": "2024-01-05",
            "count": 1
          },
          {
            "date": "2024-01-15",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 3
          },
          {
            "date": "2024-01-27",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 2
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-11",
            "count": 1
          },
          {
            "date": "2024-02-12",
            "count": 2
          },
          {
            "date": "2024-02-18",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 1
          },
          {
            "date": "2024-02-25",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 2
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-04-17",
            "count": 1
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-05-02",
            "count": 4
          },
          {
            "date": "2024-05-03",
            "count": 2
          },
          {
            "date": "2024-05-04",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-07",
            "count": 3
          },
          {
            "date": "2024-05-09",
            "count": 1
          },
          {
            "date": "2024-05-10",
            "count": 2
          },
          {
            "date": "2024-05-12",
            "count": 1
          },
          {
            "date": "2024-05-16",
            "count": 2
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-05-21",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 2
          },
          {
            "date": "2024-06-02",
            "count": 1
          },
          {
            "date": "2024-06-14",
            "count": 2
          },
          {
            "date": "2024-06-26",
            "count": 1
          },
          {
            "date": "2024-06-28",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 2
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-14",
            "count": 1
          },
          {
            "date": "2024-07-17",
            "count": 1
          },
          {
            "date": "2024-07-18",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 1
          },
          {
            "date": "2024-08-09",
            "count": 1
          },
          {
            "date": "2024-08-13",
            "count": 2
          },
          {
            "date": "2024-08-18",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 1
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-06",
            "count": 1
          },
          {
            "date": "2024-09-07",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-22",
            "count": 2
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-11-10",
            "count": 1
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2024-11-18",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 1
          },
          {
            "date": "2024-11-29",
            "count": 1
          },
          {
            "date": "2024-12-01",
            "count": 2
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-19",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2024-12-28",
            "count": 1
          },
          {
            "date": "2025-01-04",
            "count": 2
          },
          {
            "date": "2025-01-07",
            "count": 2
          },
          {
            "date": "2025-01-08",
            "count": 2
          },
          {
            "date": "2025-01-13",
            "count": 2
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 4
          },
          {
            "date": "2025-01-30",
            "count": 2
          },
          {
            "date": "2025-01-31",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-03-12",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-19",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 2
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 2
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-20",
            "count": 2
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-23",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-05",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 2
          },
          {
            "date": "2025-12-15",
            "count": 1
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 2
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 1153
      },
      "open_issues_and_prs": 253
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "benchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj",
        "src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj",
        "src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj",
        "src/Microsoft.IdentityModel.JsonWebTokens/Microsoft.IdentityModel.JsonWebTokens.csproj",
        "src/Microsoft.IdentityModel.Logging/Microsoft.IdentityModel.Logging.csproj",
        "src/Microsoft.IdentityModel.LoggingExtensions/Microsoft.IdentityModel.LoggingExtensions.csproj",
        "src/Microsoft.IdentityModel.Protocols.OpenIdConnect/Microsoft.IdentityModel.Protocols.OpenIdConnect.csproj",
        "src/Microsoft.IdentityModel.Protocols.SignedHttpRequest/Microsoft.IdentityModel.Protocols.SignedHttpRequest.csproj",
        "src/Microsoft.IdentityModel.Protocols.WsFederation/Microsoft.IdentityModel.Protocols.WsFederation.csproj",
        "src/Microsoft.IdentityModel.Protocols/Microsoft.IdentityModel.Protocols.csproj",
        "src/Microsoft.IdentityModel.TestExtensions/Microsoft.IdentityModel.TestExtensions.csproj",
        "src/Microsoft.IdentityModel.Tokens.Saml/Microsoft.IdentityModel.Tokens.Saml.csproj",
        "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
        "src/Microsoft.IdentityModel.Validators/Microsoft.IdentityModel.Validators.csproj",
        "src/Microsoft.IdentityModel.Xml/Microsoft.IdentityModel.Xml.csproj",
        "src/System.IdentityModel.Tokens.Jwt/System.IdentityModel.Tokens.Jwt.csproj",
        "test/Microsoft.IdentityModel.Abstractions.Tests/Microsoft.IdentityModel.Abstractions.Tests.csproj",
        "test/Microsoft.IdentityModel.AotCompatibility.TestApp/Microsoft.IdentityModel.AotCompatibility.TestApp.csproj",
        "test/Microsoft.IdentityModel.Dpop.Tests/Microsoft.IdentityModel.Dpop.Tests.csproj",
        "test/Microsoft.IdentityModel.JsonWebTokens.Tests/Microsoft.IdentityModel.JsonWebTokens.Tests.csproj",
        "test/Microsoft.IdentityModel.Logging.Tests/Microsoft.IdentityModel.Logging.Tests.csproj",
        "test/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests.csproj",
        "test/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests.csproj",
        "test/Microsoft.IdentityModel.Protocols.Tests/Microsoft.IdentityModel.Protocols.Tests.csproj",
        "test/Microsoft.IdentityModel.Protocols.WsFederation.Tests/Microsoft.IdentityModel.Protocols.WsFederation.Tests.csproj",
        "test/Microsoft.IdentityModel.TestUtils/Microsoft.IdentityModel.TestUtils.csproj",
        "test/Microsoft.IdentityModel.Tokens.Saml.Tests/Microsoft.IdentityModel.Tokens.Saml.Tests.csproj",
        "test/Microsoft.IdentityModel.Tokens.Tests/Microsoft.IdentityModel.Tokens.Tests.csproj",
        "test/Microsoft.IdentityModel.Validators.Tests/Microsoft.IdentityModel.Validators.Tests.csproj",
        "test/Microsoft.IdentityModel.Xml.Tests/Microsoft.IdentityModel.Xml.Tests.csproj",
        "test/System.IdentityModel.Tokens.Jwt.Tests/System.IdentityModel.Tokens.Jwt.Tests.csproj"
      ],
      "largest_source_bytes": 303020,
      "source_files_sampled": 749,
      "oversized_source_files": 33,
      "agent_instruction_files": [
        ".github/copilot-instructions.md",
        "agents.md"
      ],
      "agent_instruction_max_bytes": 10807
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [],
        "collected": true,
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 3,
        "assessed_package": null,
        "unassessed_count": 15,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [
        {
          "name": "Microsoft.Bcl.TimeProvider",
          "manifest": "src/Microsoft.IdentityModel.JsonWebTokens/Microsoft.IdentityModel.JsonWebTokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(MicrosoftBclTimeProviderVersion)"
        },
        {
          "name": "Microsoft.Extensions.Logging.Abstractions",
          "manifest": "src/Microsoft.IdentityModel.LoggingExtensions/Microsoft.IdentityModel.LoggingExtensions.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(AspNetCoreMinSupportedVersion)"
        },
        {
          "name": "System.Text.Json",
          "manifest": "src/Microsoft.IdentityModel.Protocols.OpenIdConnect/Microsoft.IdentityModel.Protocols.OpenIdConnect.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemTextJsonVersion)"
        },
        {
          "name": "System.Text.Json",
          "manifest": "src/Microsoft.IdentityModel.Protocols.SignedHttpRequest/Microsoft.IdentityModel.Protocols.SignedHttpRequest.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemTextJsonVersion)"
        },
        {
          "name": "System.Text.Json",
          "manifest": "src/Microsoft.IdentityModel.TestExtensions/Microsoft.IdentityModel.TestExtensions.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemTextJsonVersion)"
        },
        {
          "name": "Microsoft.CSharp",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(MicrosoftCSharpVersion)"
        },
        {
          "name": "System.Security.Cryptography.Cng",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemSecurityCryptographyCngVersion)"
        },
        {
          "name": "System.Memory",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemMemoryVersion)"
        },
        {
          "name": "System.Diagnostics.DiagnosticSource",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemDiagnosticSourceVersion)"
        },
        {
          "name": "System.Text.Json",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(SystemTextJsonVersion)"
        },
        {
          "name": "Microsoft.Bcl.TimeProvider",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(MicrosoftBclTimeProviderVersion)"
        },
        {
          "name": "Microsoft.Bcl.Cryptography",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(MicrosoftBclCryptographyVersion)"
        },
        {
          "name": "Microsoft.Extensions.Logging.Abstractions",
          "manifest": "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
          "ecosystem": "nuget",
          "version_constraint": "$(MicrosoftExtensionsLoggingAbstractionsVersion)"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "Microsoft.Bcl.Cryptography",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Bcl.TimeProvider",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.CSharp",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Abstractions",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Diagnostics.DiagnosticSource",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Memory",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Security.Cryptography.Cng",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Text.Json",
            "direct": true,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "BenchmarkDotNet",
            "direct": false,
            "version": "0.13.12",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Azure.KeyVault.Cryptography",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.CodeAnalysis.BannedApiAnalyzers",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.TimeProvider.Testing",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Rest.ClientRuntime",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "NSubstitute",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Exporter.Console",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "OpenTelemetry.Exporter.InMemory",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Net.Http",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "System.Text.RegularExpressions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 18,
        "direct_count": 8,
        "indirect_count": 10
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 40,
        "merged_prs": 1445,
        "open_issues": 213,
        "closed_ratio": 0.873,
        "closed_issues": 1466,
        "closed_unmerged_prs": 315
      },
      "bus_factor": 3,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "brentschmaltz",
          "commits": 925,
          "avatar_url": "https://avatars.githubusercontent.com/u/3172421?v=4"
        },
        {
          "type": "User",
          "login": "tushargupta51",
          "commits": 176,
          "avatar_url": "https://avatars.githubusercontent.com/u/803796?v=4"
        },
        {
          "type": "User",
          "login": "mafurman",
          "commits": 166,
          "avatar_url": "https://avatars.githubusercontent.com/u/30272009?v=4"
        },
        {
          "type": "User",
          "login": "jennyf19",
          "commits": 124,
          "avatar_url": "https://avatars.githubusercontent.com/u/19942418?v=4"
        },
        {
          "type": "User",
          "login": "keegan-caruso",
          "commits": 83,
          "avatar_url": "https://avatars.githubusercontent.com/u/54109988?v=4"
        },
        {
          "type": "User",
          "login": "iNinja",
          "commits": 68,
          "avatar_url": "https://avatars.githubusercontent.com/u/538318?v=4"
        },
        {
          "type": "User",
          "login": "lovemaths",
          "commits": 68,
          "avatar_url": "https://avatars.githubusercontent.com/u/6593843?v=4"
        },
        {
          "type": "User",
          "login": "ChenYan98",
          "commits": 53,
          "avatar_url": "https://avatars.githubusercontent.com/u/19174056?v=4"
        },
        {
          "type": "User",
          "login": "GeoK",
          "commits": 50,
          "avatar_url": "https://avatars.githubusercontent.com/u/1943561?v=4"
        },
        {
          "type": "User",
          "login": "pmaytak",
          "commits": 46,
          "avatar_url": "https://avatars.githubusercontent.com/u/34331512?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.412
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "aot-check.yml",
        "codeql-analysis.yml",
        "dotnetcore.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 2,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 9,
            "reason": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 6 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 9,
            "reason": "SAST tool detected but not run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "bb897f7c96644147e038c7b859be8f2559081532",
        "ran_at": "2026-07-21T20:47:55Z",
        "aggregate_score": 6.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
    "host": "github.com",
    "name": "azure-activedirectory-identitymodel-extensions-for-dotnet",
    "owner": "AzureAD"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 81,
      "inputs": {
        "security": 71,
        "vitality": 90,
        "community": 85,
        "governance": 83,
        "engineering": 73
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 90,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "commits_last_year": 72,
              "human_commit_share": 1,
              "days_since_last_push": 1,
              "active_weeks_last_year": 29
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "29/52 weeks with commits",
                "points": 20.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 29
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "72 commits in the last year",
                "points": 16.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 72
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "8.19.2",
              "releases_from_tags": false,
              "days_since_latest_release": 7,
              "mean_days_between_releases": 26.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 7 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~26.3 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 26.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 85,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "forks": 471,
              "stars": 1153,
              "watchers": 98,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1,153 stars",
                "points": 49.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1153
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "471 forks",
                "points": 22.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 471
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "98 watchers",
                "points": 11,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 98
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "Microsoft.IdentityModel.Xml",
                "Microsoft.IdentityModel.Dpop",
                "Microsoft.IdentityModel.Tokens",
                "Microsoft.IdentityModel.Logging",
                "System.IdentityModel.Tokens.Jwt",
                "Microsoft.IdentityModel.Protocols",
                "Microsoft.IdentityModel.Validators",
                "Microsoft.IdentityModel.Tokens.Saml"
              ],
              "dependents": null,
              "ecosystems": "nuget",
              "total_downloads": 15211604045,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "15,211,604,045 downloads all-time across nuget",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 15211604045,
                      "ecosystems": "nuget"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 83,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 73,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 99,
              "top_contributor_share": 0.412
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 41% of commits",
                "points": 13.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 41
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "merged_prs": 1445,
              "open_issues": 213,
              "closed_issues": 1466,
              "issue_closed_ratio": 0.873,
              "closed_unmerged_prs": 315
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "87% of issues closed",
                "points": 40.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 87
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1445/1760 decided PRs merged",
                "points": 31.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1445,
                      "decided": 1760
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "followers": 792,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "AzureAD",
              "public_repos": 57,
              "account_age_days": 4976
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "792 followers of AzureAD",
                "points": 20.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 792,
                      "login": "AzureAD"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "57 public repos, account ~13 yr old",
                "points": 24.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 57
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 13
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "Microsoft.IdentityModel.Xml",
                "Microsoft.IdentityModel.Dpop",
                "Microsoft.IdentityModel.Tokens",
                "Microsoft.IdentityModel.Logging",
                "System.IdentityModel.Tokens.Jwt",
                "Microsoft.IdentityModel.Protocols",
                "Microsoft.IdentityModel.Validators",
                "Microsoft.IdentityModel.Tokens.Saml"
              ],
              "ecosystems": "nuget",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on nuget",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "nuget"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "125 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 125
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 73,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 71,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 6.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "17 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool detected but not run on all commits",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 3 resolved dependencies against OSV; 15 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 3
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 15
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 3,
              "unassessed_packages": 15,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 3,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 15
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 75,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.98,
              "agent_instruction_files": [
                ".github/copilot-instructions.md",
                "agents.md"
              ],
              "agent_instruction_max_bytes": 10807
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md, agents.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.md, agents.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "98 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 98,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.15,
              "toolchain_manifests": [
                "benchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj",
                "src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj",
                "src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj",
                "src/Microsoft.IdentityModel.JsonWebTokens/Microsoft.IdentityModel.JsonWebTokens.csproj",
                "src/Microsoft.IdentityModel.Logging/Microsoft.IdentityModel.Logging.csproj",
                "src/Microsoft.IdentityModel.LoggingExtensions/Microsoft.IdentityModel.LoggingExtensions.csproj",
                "src/Microsoft.IdentityModel.Protocols.OpenIdConnect/Microsoft.IdentityModel.Protocols.OpenIdConnect.csproj",
                "src/Microsoft.IdentityModel.Protocols.SignedHttpRequest/Microsoft.IdentityModel.Protocols.SignedHttpRequest.csproj",
                "src/Microsoft.IdentityModel.Protocols.WsFederation/Microsoft.IdentityModel.Protocols.WsFederation.csproj",
                "src/Microsoft.IdentityModel.Protocols/Microsoft.IdentityModel.Protocols.csproj",
                "src/Microsoft.IdentityModel.TestExtensions/Microsoft.IdentityModel.TestExtensions.csproj",
                "src/Microsoft.IdentityModel.Tokens.Saml/Microsoft.IdentityModel.Tokens.Saml.csproj",
                "src/Microsoft.IdentityModel.Tokens/Microsoft.IdentityModel.Tokens.csproj",
                "src/Microsoft.IdentityModel.Validators/Microsoft.IdentityModel.Validators.csproj",
                "src/Microsoft.IdentityModel.Xml/Microsoft.IdentityModel.Xml.csproj",
                "src/System.IdentityModel.Tokens.Jwt/System.IdentityModel.Tokens.Jwt.csproj",
                "test/Microsoft.IdentityModel.Abstractions.Tests/Microsoft.IdentityModel.Abstractions.Tests.csproj",
                "test/Microsoft.IdentityModel.AotCompatibility.TestApp/Microsoft.IdentityModel.AotCompatibility.TestApp.csproj",
                "test/Microsoft.IdentityModel.Dpop.Tests/Microsoft.IdentityModel.Dpop.Tests.csproj",
                "test/Microsoft.IdentityModel.JsonWebTokens.Tests/Microsoft.IdentityModel.JsonWebTokens.Tests.csproj",
                "test/Microsoft.IdentityModel.Logging.Tests/Microsoft.IdentityModel.Logging.Tests.csproj",
                "test/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests/Microsoft.IdentityModel.Protocols.OpenIdConnect.Tests.csproj",
                "test/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests/Microsoft.IdentityModel.Protocols.SignedHttpRequest.Tests.csproj",
                "test/Microsoft.IdentityModel.Protocols.Tests/Microsoft.IdentityModel.Protocols.Tests.csproj",
                "test/Microsoft.IdentityModel.Protocols.WsFederation.Tests/Microsoft.IdentityModel.Protocols.WsFederation.Tests.csproj",
                "test/Microsoft.IdentityModel.TestUtils/Microsoft.IdentityModel.TestUtils.csproj",
                "test/Microsoft.IdentityModel.Tokens.Saml.Tests/Microsoft.IdentityModel.Tokens.Saml.Tests.csproj",
                "test/Microsoft.IdentityModel.Tokens.Tests/Microsoft.IdentityModel.Tokens.Tests.csproj",
                "test/Microsoft.IdentityModel.Validators.Tests/Microsoft.IdentityModel.Validators.Tests.csproj",
                "test/Microsoft.IdentityModel.Xml.Tests/Microsoft.IdentityModel.Xml.Tests.csproj",
                "test/System.IdentityModel.Tokens.Jwt.Tests/System.IdentityModel.Tokens.Jwt.Tests.csproj"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "benchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj, src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj, src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "benchmark/Microsoft.IdentityModel.Benchmarks/Microsoft.IdentityModel.Benchmarks.csproj, src/Microsoft.IdentityModel.Abstractions/Microsoft.IdentityModel.Abstractions.csproj, src/Microsoft.IdentityModel.Dpop/Microsoft.IdentityModel.Dpop.csproj"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C# (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C#"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "15 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 15,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "C#",
              "largest_source_bytes": 303020,
              "source_files_sampled": 749,
              "oversized_source_files": 33
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C# (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C#"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "33/749 source files over 60KB",
                "points": 52.6,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 749,
                      "oversized": 33
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-21T20:48:26.218983Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet.svg",
  "full_name": "AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.23.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsNuGet.