Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-25 06:14 UTC

AzureAD / microsoft-authentication-library-for-android

Microsoft Authentication Library (MSAL) for Android

Java · KotlinMIT★ 265 Sterne⑂ 149 Forksseit Juli 2016Auf GitHub ansehen ↗

AzureAD/microsoft-authentication-library-for-android erreicht einen Gesundheitsindex von 76 von 100 und liegt damit im Bereich Gut. Am stärksten schneidet es bei Vitality (97/100) ab, am schwächsten bei Security (50/100). Zuletzt heute aktualisiert. 4 Mitwirkende tragen den Großteil der jüngsten Arbeit.

76
gesamt / 100
Gut

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

76
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

794 Follower57 öffentliche Reposseit Dez. 2012

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

97Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
31.2/36Commit-Rhythmus — 45/52 Wochen mit Commits
18/18Commit-Volumen — 109 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year109
human_commit_share1
days_since_last_push0
active_weeks_last_year45

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 100 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 10 Tagen
27/27Release-Rhythmus — ein Release etwa alle 20,9 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count100
latest_release_tagv8.4.1
releases_from_tagsnein
days_since_latest_release10
mean_days_between_releases20,9
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

60Mittel · 18 % des Gesamtindex
Wie die Bewertung erfolgt
39.3/60Stars — 265 Stars
18.1/25Forks — 149 Forks
11.5/15Watcher — 116 Watcher
Verwendete Eingangsdaten
forks149
stars265
watchers116
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

84Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
43.2/54Bus-Faktor — 4 Beitragende decken die Hälfte aller Commits ab
17.5/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 22 % der Commits
13.5/13.5Breite der Beitragenden — 58 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor4
contributors_sampled58
top_contributor_share0,221
Wie die Bewertung erfolgt
44.6/46.8Issue-Lösungsquote — 95 % der Issues geschlossen
32.7/38.3PR-Annahme — 1.366/1.600 entschiedene PRs gemergt
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Verwendete Eingangsdaten
merged_prs1.366
open_issues41
closed_issues832
issue_closed_ratio0,953
closed_unmerged_prs234
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
20.9/25Reichweite des Inhabers — 794 Follower von AzureAD
24.8/25Kontohistorie — 57 öffentliche Repos, Kontoalter ca. 13 Jahre
Verwendete Eingangsdaten
followers794
owner_typeOrganization
is_verified
owner_loginAzureAD
public_repos57
account_age_days4.980

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

81Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 3 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein

Dokumentation

100Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — http://aka.ms/aadv2
10/10Repository-Beschreibung
10/10Topics — 5 Topics
10/10Wiki
Verwendete Eingangsdaten
topicsmsal, android, identity, microsoft, azure-active-directory
has_wikija
homepagehttp://aka.ms/aadv2
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

50Mittel · 16 % des Gesamtindex
Wie die Bewertung erfolgt
4.5/7.5Binary-Artifacts — binaries present in source code
1.5/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
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.5Lizenz — license file detected
7.5/7.5Maintained — 29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

69Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — .github/copilot-instructions.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 100 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_files.github/copilot-instructions.md
agent_instruction_max_bytes47.238
Wie die Bewertung erfolgt
12.6/18Bootstrap mit einem Befehl — build.gradle, examples/hello-msal-multiple-account/app/build.gradle, examples/hello-msal-multiple-account/build.gradle (Toolchain-Konvention, kein Task-Runner)
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — Java (statisch typisiert)
0/10Reproduzierbare Umgebung
10/10Belegte Agentenpraxis — 36 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0,36
toolchain_manifestsbuild.gradle, examples/hello-msal-multiple-account/app/build.gradle, examples/hello-msal-multiple-account/build.gradle, examples/hello-msal-single-account/app/build.gradle, examples/hello-msal-single-account/build.gradle, msal/build.gradle, msalautomationapp/build.gradle, package-inspector/build.gradle, pop-benchmarker/build.gradle, testapps/testapp/build.gradle
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — Java (statisch typisiert)
54.4/55Handhabbare Dateigrößen — 4/367 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageJava
largest_source_bytes145.542
source_files_sampled367
oversized_source_files4
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — example, examples
Verwendete Eingangsdaten
example_dirsexample, examples
has_mcp_signalnein
api_schema_files

Eckdaten

265GitHub-Sterne
58Mitwirkende
109Commits, letzte 12 Monate
0Tage seit letztem Push
100Releases
4Bus-Faktor
41offene Issues
MavenPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 149 ⇿
0Sterne
149Forks
98Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

025507510012515014642017-062021-122026-07
Major 6Minor 33Patch 55

Jeder Punkt umfasst 9 Tage.

OpenSSF Scorecard 5.0 / 10
5.0Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-25 06:13 UTC

6Binary-Artifactsbinaries present in source code
2Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
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
10Maintained29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Alle Abhängigkeiten 0

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 0 direkte und 0 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
Abhängigkeits-Advisories nicht bewertet

Der Advisory-Abgleich konnte für diesen Bericht nicht ausgeführt werden: No resolved dependencies to assess

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "msal",
        "android",
        "identity",
        "microsoft",
        "azure-active-directory"
      ],
      "is_fork": false,
      "size_kb": 91928,
      "has_wiki": true,
      "homepage": "http://aka.ms/aadv2",
      "languages": {
        "Java": 1934041,
        "Kotlin": 932275
      },
      "pushed_at": "2026-07-24T06:35:22Z",
      "created_at": "2016-07-27T20:27:57Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-24T00:06:58Z",
      "description": "Microsoft Authentication Library (MSAL) for Android",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "dev",
      "license_spdx_raw": "MIT",
      "primary_language": "Java",
      "significant_languages": [
        "Java",
        "Kotlin"
      ]
    },
    "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": 794,
      "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": 4980
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v8.4.1",
          "kind": "patch",
          "published_at": "2026-07-15T03:07:18Z"
        },
        {
          "tag": "v8.4.0",
          "kind": "minor",
          "published_at": "2026-06-18T00:58:58Z"
        },
        {
          "tag": "v8.3.3",
          "kind": "patch",
          "published_at": "2026-05-30T01:52:51Z"
        },
        {
          "tag": "v8.3.2",
          "kind": "patch",
          "published_at": "2026-05-01T17:23:27Z"
        },
        {
          "tag": "v8.3.1",
          "kind": "patch",
          "published_at": "2026-04-17T18:14:50Z"
        },
        {
          "tag": "v8.3.0",
          "kind": "minor",
          "published_at": "2026-03-27T01:23:10Z"
        },
        {
          "tag": "v8.2.3",
          "kind": "patch",
          "published_at": "2026-03-06T00:55:02Z"
        },
        {
          "tag": "v8.2.2",
          "kind": "patch",
          "published_at": "2026-02-26T22:45:40Z"
        },
        {
          "tag": "v8.2.1",
          "kind": "patch",
          "published_at": "2026-02-07T00:02:57Z"
        },
        {
          "tag": "v8.2.0",
          "kind": "minor",
          "published_at": "2026-01-08T01:45:34Z"
        },
        {
          "tag": "v8.1.1",
          "kind": "patch",
          "published_at": "2025-12-02T21:43:48Z"
        },
        {
          "tag": "v8.1.0",
          "kind": "minor",
          "published_at": "2025-11-13T18:58:07Z"
        },
        {
          "tag": "v8.0.2",
          "kind": "patch",
          "published_at": "2025-10-09T22:04:16Z"
        },
        {
          "tag": "v7.1.0",
          "kind": "minor",
          "published_at": "2025-09-09T15:23:36Z"
        },
        {
          "tag": "v7.0.3",
          "kind": "patch",
          "published_at": "2025-08-27T00:30:19Z"
        },
        {
          "tag": "v7.0.1",
          "kind": "patch",
          "published_at": "2025-08-11T22:02:44Z"
        },
        {
          "tag": "v7.0.0",
          "kind": "major",
          "published_at": "2025-08-06T20:24:36Z"
        },
        {
          "tag": "v6.2.0",
          "kind": "minor",
          "published_at": "2025-07-08T00:19:24Z"
        },
        {
          "tag": "v6.1.0",
          "kind": "minor",
          "published_at": "2025-06-05T19:36:41Z"
        },
        {
          "tag": "v6.0.1",
          "kind": "patch",
          "published_at": "2025-05-06T18:05:08Z"
        },
        {
          "tag": "v6.0.0",
          "kind": "major",
          "published_at": "2025-04-03T22:06:36Z"
        },
        {
          "tag": "v5.10.2",
          "kind": "patch",
          "published_at": "2025-03-07T16:14:03Z"
        },
        {
          "tag": "v5.10.0",
          "kind": "minor",
          "published_at": "2025-02-10T09:50:32Z"
        },
        {
          "tag": "5.9.0",
          "kind": "minor",
          "published_at": "2025-01-10T04:00:28Z"
        },
        {
          "tag": "v5.8.3",
          "kind": "patch",
          "published_at": "2025-01-07T01:52:30Z"
        },
        {
          "tag": "v5.8.2",
          "kind": "patch",
          "published_at": "2024-11-19T05:58:47Z"
        },
        {
          "tag": "v5.8.1",
          "kind": "patch",
          "published_at": "2024-11-15T22:19:09Z"
        },
        {
          "tag": "v5.8.0",
          "kind": "minor",
          "published_at": "2024-11-12T20:34:05Z"
        },
        {
          "tag": "v5.7.0",
          "kind": "minor",
          "published_at": "2024-10-08T20:00:52Z"
        },
        {
          "tag": "v5.6.0",
          "kind": "minor",
          "published_at": "2024-09-12T19:14:44Z"
        },
        {
          "tag": "v5.5.0",
          "kind": "minor",
          "published_at": "2024-08-08T19:54:31Z"
        },
        {
          "tag": "v5.4.2",
          "kind": "patch",
          "published_at": "2024-07-15T21:18:46Z"
        },
        {
          "tag": "v5.4.0",
          "kind": "minor",
          "published_at": "2024-06-12T00:59:01Z"
        },
        {
          "tag": "v5.3.1",
          "kind": "patch",
          "published_at": "2024-05-22T18:15:33Z"
        },
        {
          "tag": "v5.3.0",
          "kind": "minor",
          "published_at": "2024-04-15T16:13:19Z"
        },
        {
          "tag": "v5.2.1",
          "kind": "patch",
          "published_at": "2024-03-28T16:07:37Z"
        },
        {
          "tag": "v5.2.0",
          "kind": "minor",
          "published_at": "2024-03-14T20:31:11Z"
        },
        {
          "tag": "v5.1.0",
          "kind": "minor",
          "published_at": "2024-02-13T00:59:50Z"
        },
        {
          "tag": "v5.0.1",
          "kind": "patch",
          "published_at": "2024-01-25T20:40:13Z"
        },
        {
          "tag": "v5.0.0",
          "kind": "major",
          "published_at": "2024-01-08T23:33:33Z"
        },
        {
          "tag": "v4.10.0",
          "kind": "minor",
          "published_at": "2023-11-17T19:18:18Z"
        },
        {
          "tag": "v4.9.2",
          "kind": "patch",
          "published_at": "2023-11-15T22:43:33Z"
        },
        {
          "tag": "v4.9.0",
          "kind": "minor",
          "published_at": "2023-10-08T20:32:29Z"
        },
        {
          "tag": "v4.8.1",
          "kind": "patch",
          "published_at": "2023-09-20T16:09:38Z"
        },
        {
          "tag": "v4.7.0",
          "kind": "minor",
          "published_at": "2023-08-08T04:15:25Z"
        },
        {
          "tag": "v4.6.3",
          "kind": "patch",
          "published_at": "2023-07-24T04:54:15Z"
        },
        {
          "tag": "v4.6.2",
          "kind": "patch",
          "published_at": "2023-07-11T21:50:07Z"
        },
        {
          "tag": "v4.6.1",
          "kind": "patch",
          "published_at": "2023-06-12T13:44:12Z"
        },
        {
          "tag": "v4.5.0",
          "kind": "minor",
          "published_at": "2023-05-09T23:57:23Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2023-04-06T18:47:53Z"
        },
        {
          "tag": "v4.3.1",
          "kind": "patch",
          "published_at": "2023-03-08T06:33:23Z"
        },
        {
          "tag": "v4.2.0",
          "kind": "minor",
          "published_at": "2023-02-07T03:20:53Z"
        },
        {
          "tag": "v4.1.3",
          "kind": "patch",
          "published_at": "2023-01-09T13:30:34Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2022-11-12T12:19:54Z"
        },
        {
          "tag": "v4.0.5",
          "kind": "patch",
          "published_at": "2022-11-01T16:24:40Z"
        },
        {
          "tag": "v4.0.4",
          "kind": "patch",
          "published_at": "2022-10-20T22:17:29Z"
        },
        {
          "tag": "v4.0.3",
          "kind": "patch",
          "published_at": "2022-10-11T18:41:16Z"
        },
        {
          "tag": "v4.0.2",
          "kind": "patch",
          "published_at": "2022-09-21T19:09:19Z"
        },
        {
          "tag": "v4.0.1",
          "kind": "patch",
          "published_at": "2022-08-16T18:35:20Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2022-07-26T21:10:52Z"
        },
        {
          "tag": "v3.0.2",
          "kind": "patch",
          "published_at": "2022-03-25T00:30:59Z"
        },
        {
          "tag": "v2.2.3",
          "kind": "patch",
          "published_at": "2022-01-12T20:27:44Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2021-12-07T16:23:37Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2021-09-27T22:20:58Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2021-08-26T23:21:08Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2021-07-08T15:19:38Z"
        },
        {
          "tag": "v2.0.12",
          "kind": "patch",
          "published_at": "2021-05-07T17:23:03Z"
        },
        {
          "tag": "v2.0.10",
          "kind": "patch",
          "published_at": "2021-04-19T17:34:12Z"
        },
        {
          "tag": "v2.0.8",
          "kind": "patch",
          "published_at": "2021-03-08T13:22:25Z"
        },
        {
          "tag": "v2.0.6",
          "kind": "patch",
          "published_at": "2021-01-22T05:02:51Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2021-01-07T05:47:55Z"
        },
        {
          "tag": "2.0.4",
          "kind": "patch",
          "published_at": "2020-11-12T04:17:38Z"
        },
        {
          "tag": "2.0.3",
          "kind": "patch",
          "published_at": "2020-11-11T16:47:16Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2020-10-15T21:54:14Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2020-09-23T19:10:22Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2020-09-15T22:05:19Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2020-07-30T00:16:07Z"
        },
        {
          "tag": "v1.5.5",
          "kind": "patch",
          "published_at": "2020-07-23T17:46:54Z"
        },
        {
          "tag": "v1.5.4",
          "kind": "patch",
          "published_at": "2020-07-02T21:32:55Z"
        },
        {
          "tag": "v1.5.3",
          "kind": "patch",
          "published_at": "2020-06-25T20:09:23Z"
        },
        {
          "tag": "v1.5.2",
          "kind": "patch",
          "published_at": "2020-06-17T21:51:11Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2020-05-05T21:47:05Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2020-04-27T21:10:53Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2020-04-23T17:33:10Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2020-02-28T22:21:20Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2020-02-12T20:11:22Z"
        },
        {
          "tag": "v1.2.0-hf1",
          "kind": "prerelease",
          "published_at": "2020-02-04T22:00:36Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2020-01-16T19:55:08Z"
        },
        {
          "tag": "v1.1.0-hf1",
          "kind": "prerelease",
          "published_at": "2020-01-07T18:11:31Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2019-12-18T00:40:55Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2019-12-16T20:16:23Z"
        },
        {
          "tag": "v1.0.0-hf1",
          "kind": "prerelease",
          "published_at": "2019-12-03T18:47:03Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2019-09-30T18:18:07Z"
        },
        {
          "tag": "v0.3.1-alpha",
          "kind": "prerelease",
          "published_at": "2019-05-02T16:19:12Z"
        },
        {
          "tag": "v0.2.2",
          "kind": "patch",
          "published_at": "2019-02-07T22:50:28Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2018-10-17T00:07:48Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2018-10-10T16:55:14Z"
        },
        {
          "tag": "v0.1.3",
          "kind": "patch",
          "published_at": "2018-04-27T18:50:10Z"
        },
        {
          "tag": "v0.1.2",
          "kind": "patch",
          "published_at": "2018-04-25T20:00:59Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2017-05-10T00:57:53Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "8d1f0552ced36459d70bfd6705862bf6d0f0af84",
          "body": "…eline, Fixes AB#3678342 (#2540)\n\n[AB#3678342](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3678342)\n\n## What\n\nMakes `FlakyTestRetryRule` / `@RetryFlakyTest` (added in common)\navailable to broker's instrumented (androidTest) suite\n(AADAuthenticator),\n[…]\nulator.\n\n## Depends on\nCommon PR (AzureAD common-for-android #3181). The wiring is harmless\nbefore that lands; `@RetryFlakyTest` becomes usable once the common\nsubmodule is bumped to include the rule.",
          "is_bot": false,
          "headline": "Wire testutils into msal instrumented tests + add instrumented PR pip…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-07-24T00:06:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b757f5eb85794316b039bb98720e1c4264268c95",
          "body": "Fixes AB#3684509\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Release integration/8.4.1 back to dev,  Fixes AB#3684509 (#2543)",
          "author_name": "Sowmya Malayanur",
          "author_login": "somalaya",
          "committed_at": "2026-07-15T00:28:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2964cbe49ec67a8f66aa25b96f7eb72beffd527",
          "body": "…itive review patterns, Fixes AB#3660481 (#2539)\n\n### What\n\nAdds a new **§7.17 Recurring False-Positive Patterns — Do NOT Flag\nThese** subsection to `.github/copilot-instructions.md` (within the §7\nreview block, before the appendices), plus reciprocal cross-references\nin Intent Safety (§7.2.3), Test\n[…]\nAB#3660481](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3660481)\n\n---------\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[msal] Refine copilot-instructions.md to suppress recurring false-pos…",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2026-07-09T16:11:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fe3f65d3ec67098f2b4db92fb9a422ee8fae3664",
          "body": "### Summary\nA couple of UI auto tests which rely on Mooncake were failing, so adding\nthe ignore annotation.\n\n\n[AB#3688062](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3688062)",
          "is_bot": false,
          "headline": "Ignoring a couple of other Mooncake tests, Fixes AB#3688062 (#2538)",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2026-07-08T19:35:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a39208341a6b54b6c58472178d015ec807c32e5",
          "body": "### Summary\nUpdated UI automated test to better represent what the interactive and\nthen silent requests will look like (lookup mode).\n\n\n[AB#3682854](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3682854/)\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "WebApps UI test Lookup mode update, Fixes AB#3682854 (#2537)",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2026-07-08T16:29:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "783c3ff64b1b749e7f2f7edb23a2002f97f9dc1a",
          "body": "China accounts are decommissioned, ignoring tests for now to unblock\ndevelopment\n\n\n[AB#3686034](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3686034)",
          "is_bot": false,
          "headline": "disable china tests, Fixes AB#3686034 (#2536)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-07-07T19:43:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca4701fe2ce7923a31efad16d3fa97fb2bc7800d",
          "body": "…2531)\n\n## Summary\n\nAdds OWASP Dependency-Check scanning to the :msal Android library build\nso runtime dependencies can be analyzed for known CVEs during the\nstandard Gradle check lifecycle, using a suppression file for\nnarrowly-scoped false positives.\n\n## What changed\n\n- Applies the org.owasp.depen\n[…]\nidentitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3557141)\n-\nhttps://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3667951",
          "is_bot": false,
          "headline": "Add OWASP Dependency-Check to msal library build, Fixes AB#3557141 (#…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-07-02T16:16:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "58a942227c7a9f3955ab632d2bc98e94f6e4783a",
          "body": "This updates the `common` git submodule to the current head of the `dev`\nbranch in `AzureAD/microsoft-authentication-library-common-for-android`,\nso MSAL Android consumes the latest shared auth/runtime fixes and\nbehavior changes.\n\n- **Submodule pointer update**\n- Advanced `common` from `0b219baca3bd\n[…]\nAB#3673330](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3673330)\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update `common` submodule to latest `dev` commit (#2535)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-06-26T15:31:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "22315e4d3130b2eb931fa492c4ff8d653cd6cf65",
          "body": "This PR updates the `common` git submodule to the latest `dev` tip\nrequested in the issue. The repository now points `common` from\n`fb98ec58...` to `0b219bac...`, with no other tree changes.\n\n- **Submodule pointer update**\n  - Moved submodule gitlink at `common`:\n- `fb98ec58b36af556fed6de41480b783c8\n[…]\nd6de41480b783c8ee3df53\n+Subproject commit 0b219baca3bdc00a610de9a9d5d70aad40e0bcfb\n```\n\nFixes AB#3667378\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bump `common` submodule to latest `dev` commit, Fixes AB#3667378 (#2534)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-06-18T20:27:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6c13eea2b8cbb00b10f376824a8ab9b240f57997",
          "body": "### Summary\nUpdating changelog and versioning.\n\n\n[AB#3669341](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3669341)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Release integration/8.4.0 to dev, Fixes AB#3669341 (#2532)",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2026-06-17T22:50:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d2f24585601408ea7bbd354becc79281aef30c2",
          "body": "…es AB#3582859 (#2504)\n\n[AB#3582859](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3582859)\n\nAdd stress test for concurrent request scenario.\n(one caveat: there's currently a known \"null_object\" issue which is only\naddressed in OneAuth. so the test wi\n[…]\nthub.com>\nCo-authored-by: rpdome <19558668+rpdome@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Dome Pongmongkol <rapong@microsoft.com>",
          "is_bot": false,
          "headline": "Add e2e concurrent/stress test for AcquireTokenSilent via broker, Fix…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-06-17T21:37:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "69b54758891c2c9e396d7b6a091e8fd92444266a",
          "body": "[AB#3654871](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3654871)\n\nDue to an ongoing CA change [Enforcement for baseline scopes in\nConditional Access - Microsoft Entra ID | Microsoft\nLearn](https://learn.microsoft.com/en-us/entra/identity/conditiona\n[…]\nhttps://console.firebase.google.com/u/1/project/msal-automation-app-764c7/testlab/histories/bh.8ea0f850e176ede8/matrices/5652255611600854094/details?stepId=bs.5728d347d675a2e4&testCaseId=1&tabId=video",
          "is_bot": false,
          "headline": "update to sharepoint resource for Token , Fixes AB#3654871 (#2528)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-06-12T20:41:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2f7851aa15e7e9a13801397ae7247f5db743d8d6",
          "body": "[AB#3648301](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3648301)",
          "is_bot": false,
          "headline": "Update common, Fixes AB#3648301 (#2526)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-06-10T22:21:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f01a486d4a3e4958aad0a4633bb18a042474b92d",
          "body": "Pull cleaned common, adjust two tests\n\n\n[AB#3647753](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3647753)",
          "is_bot": false,
          "headline": "small cleanups, pull common, Fixes AB#3647753 (#2522)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-06-10T06:34:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b42ae4a34b234cbbe4579b5cd7db5235a3f22543",
          "body": "When release-integration/8.3.3 was back-merged into dev (#2520), entry\n#2511 (which was merged to dev *after* the 8.3.3 RC cut) got listed\nunder `Version 8.3.3`. It actually shipped to dev after 8.3.3 was\nfinalized, so it belongs under `vNext` for the next release.\n\nThis PR moves 1 entry from `Versi\n[…]\ne RC\" cut).\n\n\n[AB#3618269](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3618269)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix changelog: move #2511 from Version 8.3.3 to vNext (#2525)",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2026-06-09T23:51:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f74ea5581f339cb91643203a68e3e8d2c8f1290",
          "body": "…8301 (#2523)\n\n[AB#3648301](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3648301)\n\nPart of\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/3142",
          "is_bot": false,
          "headline": "handle batt opt exemption prompt in token binding tests, Fixes AB#364…",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-06-09T23:03:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d93bafecbb44cc77db7a3d0a68327129922b44d1",
          "body": "AB#3611236",
          "is_bot": false,
          "headline": "update versions.gradle (#2524)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-06-09T21:21:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c4974f4f2888b966263ae0d107e07eb12384f91",
          "body": "… (#2513)\n\n## Summary\nAdds a new `flatusername` built-in attribute to the\n`UserAttributes.Builder` class, following the existing pattern for other\nattributes (city, country, surname, etc.).\n\n## Changes\n- **UserAttributes.kt**: Added `FLAT_USERNAME` constant and\n`flatUsername()` builder method with K\n[…]\nside existing attributes.\n\n\n[AB#3607103](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3607103)\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add flatUsername attribute to UserAttributes builder Fixes AB#3607103…",
          "author_name": "Silviu Petrescu",
          "author_login": "spetrescu84",
          "committed_at": "2026-06-09T15:45:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eb7bd5912303f605784fda1e0326a6a2ed87c5c1",
          "body": "[AB#3618269](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3618269)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>\nCo-authored-by: Mohit <mohitc1@live.com>",
          "is_bot": false,
          "headline": "Merge Release integration/8.3.3 to dev, Fixes AB#3618269 (#2520)",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2026-06-08T23:07:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a1be91c8cd5ae143af78bc4dd8bddfa8aac1a33",
          "body": "### Summary\nRemoving GetCookies and replacing it with GetAllSsoToken (the method\nwhich should actually be getting called by Edge).\n\n\n[AB#3624552](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3624552)\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Edits to the WebApp UI Automated test, Fixes AB#3624552 (#2521)",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2026-06-05T16:53:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "eaf3d1f2d8c3d5bf1a3715f3400e0ff652c38aee",
          "body": "Update all ui automation test cases to work with the ID4SLAB2 resources\n\n- Update configurations to point ID4SLAB2 client ids and applications\nthat replace what was previously accessed in lab4\n- Remove all usage of LabQuery\n- Remove all usage of RetryOnFailure, reduces clutter since we force a\nminim\n[…]\n\n\n\n[AB#3525444](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3525444)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Migrate tests to using ID4SLAB2, Fixes AB#3525444 (#2471)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-06-04T16:14:57Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ebc0d1c2aad6301c8ce1e216db1b3015cfefe5c7",
          "body": "… Fixes AB#3606613 (#2511)\n\n## Summary\n\nEnables apps to inject custom `x-*` headers into native auth HTTP\nrequests (e.g., for CIAM fraud-signal scenarios like Akamai sensor\ndata).\n\n## Changes\n\n### MSAL (this PR)\n- **`NativeAuthRequestInterceptor.kt`** — Defined in\n`com.microsoft.identity.nativeauth`\n[…]\nngineering/_workitems/edit/3606613)\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add NativeAuthRequestInterceptor for custom per-request HTTP headers,…",
          "author_name": "Silviu Petrescu",
          "author_login": "spetrescu84",
          "committed_at": "2026-06-03T15:09:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a4ad7f0fc22dbc9cc7e94f8189d15fbd98f3addc",
          "body": "[AB#3609347](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3609347)\n\n## Summary\nSwitches Maven publishing from the `AndroidADAL` feed to the\n`NewAndroid` feed to eliminate upstream-feed traversal latency on\ndependency resolution in CI.\n\n## Why\n- We pu\n[…]\nre DevOps organization, same auth, same package\ncoordinates, same retention. Only the publish-target feed name changes.\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Build perf: enable Gradle configure-on-demand, Fixes AB#3609347 (#2512)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-06-01T20:18:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2596e2d4f57280bd91e11042131a452099df5e9f",
          "body": "… (#2414), Fixes AB#3611726 (#2515)\n\nFixes\n[AB#3611726](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3611726)\ntracks the MSAL-side default-config update for the customer-reported\nEdge browser issue.\n\n## Customer-reported issue\nResolves [microsoft-aut\n[…]\nhe version in the\ncommon repo (which uses `(?<=AB#)\\d+ | head -n 1`).\n\n---------\n\nCo-authored-by: shjameel <shjameel@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add rotated Microsoft Edge signature hash to default browser safelist…",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2026-05-21T04:33:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d003b0b34de5432f279bd31fc49b55ad8441fa7c",
          "body": "[AB#3605734](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3605734)\n\nI don't think this is needed (we don't use bouncy here)... i'm just\nupdating for the sake of consistency.",
          "is_bot": false,
          "headline": "Update Bouncy to 1.84, Fixes AB#3605734 (#2514)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-05-18T15:37:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26a4790566d6bebd681c0feb7055f0f09c1cef9b",
          "body": "… AB#3587778 (#2507)\n\nAdds a new PR validation pipeline that runs\n`msalautomationapp:assembleLocal` to validate the msalautomationapp\nproject builds successfully.\n\n\nhttps://identitydivision.visualstudio.com/Engineering/_build?definitionId=3081&_a=summary\n\n\n[AB#3587778](https://identitydivision.visua\n[…]\nedit/3587778)\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add PR validation pipeline for msalautomationapp assembleLocal, Fixes…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-05-13T01:37:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5ee0dd187de5254118eb5674f3241b7816343ff2",
          "body": "… 3561310 (#2508)\n\nFixes\n[AB#3588706](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3588706)\nThis test has been converted to a manual test case (ADO Test Case\n3561310) under the 'MSAL /w Broker' category. Adding @Ignore to skip\nautomated execution.\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fixes AB#3588706 Ignore TestCase833544 - converted to manual test ADO…",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2026-05-06T20:06:49Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6cb9bf3cd415f78647578b1b3674798948779727",
          "body": "Fixes\n[AB#3557679](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3557679)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Merge release-integration/8.3.2 to dev, Fixes AB#3557679 (#2506)",
          "author_name": "Mohit",
          "author_login": "mohitc1",
          "committed_at": "2026-05-05T17:52:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7e157aed04cabd0fd45ed2ae815e6f2cb5eb623",
          "body": "AB#3587724",
          "is_bot": false,
          "headline": "Update subproject commit reference in common (#2503)",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-04-27T20:23:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "954d4ca29f0aff87c19ac1091875b66c70aac161",
          "body": "…nfiguration, Fixes AB#3568778 (#2494)\n\n- [x] Remove `validateCustomTabRedirectActivity()` from\n`PublicClientApplicationConfiguration.java`\n- [x] Delete `ShadowPublicClientApplicationConfiguration.java`\n- [x] Update 10 test files to remove the deleted shadow from\n`@Config(shadows = ...)`\n- [x] Remov\n[…]\nored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>\nCo-authored-by: fadidurah <fadidurah@microsoft.com>",
          "is_bot": false,
          "headline": "Remove \"multiple apps listening\" check from PublicClientApplicationCo…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-04-24T16:11:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "299672abaf13aceafc50cd0fafd4f7af851475d5",
          "body": "…e833544) (#2502)\n\nWord intermittently shows a 'Your privacy option' dialog after sign-in\nvia FOCI SSO. This blocks subsequent UI interactions and causes the test\nto fail. Add a safe dismiss of the 'Close' button if the dialog appears\nafter the 'Fetching your files' screen.\n\n<img width=\"1080\" height\n[…]\nd2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3584928)\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fixes AB#3584928 Handle Word privacy screen in FOCI SSO test (TestCas…",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2026-04-23T19:49:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "167b9256460ae57731739d6702a9ba3d7a921c21",
          "body": "[AB#3580011](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3580011)\n\n\nEnhanced the MSAL test app's concurrent ATS stress test to better\nreproduce broker deadlocks and race conditions:\n\n### Execution model\n- **Wave-synchronized execution** — Added `Cyc\n[…]\nbb5d100bf\"\n/>\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update Concurrent ATS Section in MsalTestApp, Fixes AB#3580011 (#2500)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-04-20T21:13:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ba640331145ff2666be68c12b3daec80315bee23",
          "body": "Update bouncy castle version due to vulnerability revealed\n\nhttps://identitydivision.visualstudio.com/Engineering/_componentGovernance/AuthClientAndroidPipelines/alert/13283474?typeId=34726829&pipelinesTrackingFilter=0\n\nValidation:\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1617164&view=results\n\n\n[AB#3565065](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3565065)",
          "is_bot": false,
          "headline": "bouncyCastleVersion 1.80, Fixes AB#3565065 (#2493)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-04-16T00:45:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f6624232c61cf9c8434ddc91a16615f5a1d3c1d",
          "body": "use feed for robolectric\n\n\n[AB#3544225](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3544225)",
          "is_bot": false,
          "headline": "use feed for robolectric, Fixes AB#3544225 (#2498)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-04-15T21:41:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfbe26a2f7a50b331c48f56e5af2f0386816ef11",
          "body": "…, Fixes AB#3568550 (#2496)\n\n### Summary\nThis UI test case tests the WebApps API with local BrokerHost only.\nOperations tested include GetToken (Interactive and silent), GetCookies,\nand SignOut.\nLink to test item:\nhttps://identitydivision.visualstudio.com/Engineering/_workitems/edit/3571739\nI put this item in the Broker Master Test Plan under\nLocalBrokerHostDebug\n\n\n[AB#3568550](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3568550/)",
          "is_bot": false,
          "headline": "Adding UI automation testcase for WebApps API within local BrokerHost…",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2026-04-15T17:35:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab65e0fcb0af070de270448e1e0550ea99673025",
          "body": "[AB#3575771](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3575771)",
          "is_bot": false,
          "headline": "fixing github injection vuln as part of MSRC, Fixes AB#3575771 (#2497)",
          "author_name": "richardtz12",
          "author_login": "richardtz12",
          "committed_at": "2026-04-13T19:34:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cefec8c04c631050c7f1fbd95a9b89fe11b55578",
          "body": "This pull request updates the Android SDK versions used in the project\nto ensure compatibility with the latest tools and platform features. The\nmost important changes are:\n\n**Build configuration updates:**\n\n* Updated `compileSdkVersion` to 36 and `buildToolsVersion` to 36.0.0 in\n`gradle/versions.gra\n[…]\nply.github.com>\nCo-authored-by: p3dr0rv <76129899+p3dr0rv@users.noreply.github.com>\nCo-authored-by: p3dr0rv <pedroro@microsoft.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bump compileSdk to 36, Fixes AB#3561424 (#2492)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-04-08T00:20:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bd7fee4e887ea57d2c93b0d98be001f471df65ba",
          "body": "Merging latest MSAL release (8.3.0) back onto dev branch\n\nWorkItem id:\n[AB#3557594](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3557594)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: pedro romero vargas <76129899+p3dr0rv@users.noreply.github.com>\nCo-authored-by: Cesar Acosta <cesaracosta@microsoft.com>",
          "is_bot": false,
          "headline": "Release integration/8.3.0, Fixes AB#3557594 (#2490)",
          "author_name": "Cesar Acosta",
          "author_login": "cacosta33",
          "committed_at": "2026-03-30T14:31:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0aa906d0612664af2f3273f43f07d8ac369caa20",
          "body": "This pull request removes several unused test classes and updates test\nlogic for device registration and workplace join scenarios, particularly\naround migration and verification of device records. The changes focus\non cleaning up redundant code and improving the accuracy and reliability\nof test asse\n[…]\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1608442&view=results\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update test that use legacy WPJ API, Fixes AB#3528431 (#2483)",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-03-27T00:14:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f5d424143a45c1b74934a5978b9d00ec8faabcb7",
          "body": "Adds a new `AzureFranceSov` value to the `AzureCloudInstance` enum,\nenabling app developers to target the Bleu sovereign cloud (France)\nusing the type-safe builder pattern:\n\n```java\nAcquireTokenParameters.builder()\n    .fromAuthority(AzureCloudInstance.AzureFranceSov, AadAuthorityAudience.AzureAdMul\n[…]\nor-android/pull/3027\nFixes\n[AB#3536002](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3536002)\n\n---------\n\nCo-authored-by: Mohit <mchand@microsoft.com>",
          "is_bot": false,
          "headline": "Add AzureFranceSov to AzureCloudInstance enum, Fixes AB#3536002 (#2484)",
          "author_name": "Mohit",
          "author_login": "mohitc1",
          "committed_at": "2026-03-21T02:46:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f1e2ab518c737e33e6f87fe1d56435998d86f816",
          "body": "…token binding, Fixes AB#3544154 (#2485)\n\n[AB#3544154](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3544154)",
          "is_bot": false,
          "headline": "Fix msalautomation tests (update common) + Use id4slab2 accounts for …",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-03-20T22:17:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8af45d1a46c1827f9514f03c1486561fb47f3b35",
          "body": "…ipeline (#2486)\n\n## Summary\nReplace `MSSecurity-1ES-Build-Agents-Pool` with Microsoft-hosted\n`vmImage: 'windows-2022'` in the `pr-msal.yml` pipeline.\n\n## Changes\n- **File:** `azure-pipelines/pull-request-validation/pr-msal.yml`\n- **Before:** `pool: { name: MSSecurity-1ES-Build-Agents-Pool, image:\nM\n[…]\n.\n\n[AB#3549891](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3549891)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Replace MSSecurity-1ES pool with Microsoft-hosted agents in pr-msal p…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-03-20T18:10:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "afe0a831fb7eac41cb08302c069f37eced28fa2e",
          "body": "…28 (#2470)\n\nFixes\n[AB#3501428](https://dev.azure.com/IdentityDivision/Engineering/_workitems/edit/3501428)\n\nThis pull request adds end-to-end (E2E) test support for the Browser SSO\n(Single Sign-On) flow in the test app. It introduces new UI fragments\nand layouts that allow developers to simulate br\n[…]\non to the new fragments\nwhen the corresponding menu items are selected.\n\n**4. Submodule Update:**\n- Updated the `common` submodule reference to the latest commit,\nensuring dependencies are up to date.",
          "is_bot": false,
          "headline": "Add BrowserSsoFragment for E2E testing of Browser SSO, Fixes AB#35014…",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2026-03-16T20:54:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ad8d449b5f55ce010194bfcb2c6b8ccb679d914e",
          "body": "… AB#3540776 (#2481)\n\n* Added a call to confirmCallingAppNotVerified in\ntest_1600567_nonAllowedBrokerApp. When the app is launched, an error\nmessage is immediately received, so we need to validate and dispatch\nthis initial message first.\n\n* Introduced an Assume.assumeFalse statement in\ntest_2516571_\n[…]\ndivision.visualstudio.com/Engineering/_build/results?buildId=1604258&view=results\n\n\n[AB#3540776](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3540776)",
          "is_bot": false,
          "headline": "Fix UI test related to broker validation for ECS configuration, Fixes…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-03-14T00:09:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "06734194df2d01eb40625b67a9dc5d850e76ad94",
          "body": "… AB#3537345 (#2482)\n\nRefer\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/3015\nfor description,\n\nFixes\n[AB#3537345](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3537345)\n\n---------\n\nCo-authored-by: Mohit <mchand@microsoft.com>",
          "is_bot": false,
          "headline": "Fix test_2828864_DCF_CheckSignInFromOtherDeviceOptionAvailable, Fixes…",
          "author_name": "Mohit",
          "author_login": "mohitc1",
          "committed_at": "2026-03-13T16:58:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3a50ff277307a83b5c9e787deacac95a33c599c",
          "body": "Moshi 1.14.0 pulls in `okio:2.10.0`, which is vulnerable to\nCVE-2023-3635. Prior mitigation via dependency constraints in\nbuild.gradle only worked for pipeline builds, not for independent\nconsuming apps. Bumping Moshi to 1.15.2 fixes this at the source\n(`okio:3.7.0`).\n\n- **`gradle/versions.gradle`**\n[…]\n/gh.io/copilot-coding-agent-survey).\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: mohitc1 <22034758+mohitc1@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update Moshi to 1.15.2 to resolve transitive okio CVE-2023-3635 (#2480)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-03-06T20:01:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "77c500db6642163c7d97939e77b4e32a2c715b05",
          "body": "[AB#3534721](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3534721)\n\n---------\n\nCo-authored-by: Dome Pongmongkol <19558668+rpdome@users.noreply.github.com>\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Release integration/8.2.3, Fixes AB#3534721 (#2479)",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-03-06T00:49:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa86adb40206d5b57aa53c4de8e0af8b9b468933",
          "body": "[AB#3532401](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3532401)",
          "is_bot": false,
          "headline": "fix dcf test, Fixes AB#3532401 (#2477)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-03-05T06:54:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27b37eb9208ef8856380bbb0ebc390be38739b75",
          "body": "[AB#3275400](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3275400)\n\n---------\n\nCo-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Strongkey E2E tests, Fixes AB#3275400 (#2468)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-02-27T18:50:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "39448089dc7ffa9cdddc53527c67ed9eea900657",
          "body": "[AB#3509010](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3509010)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: pedro romero vargas <76129899+p3dr0rv@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Release integration/8.2.2, Fixes AB#3509010 (#2475)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-02-26T22:43:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cf8fb0fe97e817753f2437455f47802d697ad28",
          "body": "…le valid messages, Fixes AB#3505565 (#2472)\n\nThis pull request updates the test logic in `TestCase1600567.java` to\nimprove compatibility with different versions of the Broker by allowing\nmultiple valid dialog messages when verifying that a calling app is not\nallowed. The main change is in how dialo\n[…]\n.\n\n[AB#3505565](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3505565)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update dialog message assertions in TestCase1600567 to support multip…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-02-26T18:04:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "48b12d2466ba1343a841e6e580ed4b068c81d6f1",
          "body": "PR to trim down ui automation, combine tests where possible to result in\na shorter runtime overall. For a summary of the combinations made, check\nmsalautomationapp/src/androidTest/TestCaseSummary_Compact.md\n\nValidation:\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1596072&view=results\n\n\n[AB#3421522](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3421522)",
          "is_bot": false,
          "headline": "Trim down ui automation, combine many tests, Fixes AB#3421522 (#2432)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-26T00:37:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b062005cb309539dff2c1a89386502860387b544",
          "body": "[AB#3494371](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3494371).\n\nrun\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1593966&view=results",
          "is_bot": false,
          "headline": "Remove AAD Graph usage, Fixes AB#3494371 (#2467)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2026-02-19T20:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57f114fc7d013e0f78a7bfa63a5fede6873a48b8",
          "body": "Finally got this to work, tested in a fork of the repo\n\nFull Github Models integration for github issues, both on creation and\non demand/backfill using a label `Target-For-Ai-Triage'.\n\nFeatures:\n- Initial triage and possible solution\n- Issue Classification with explanation for classification\n- Prior\n[…]\nd2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3517523)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Final Fix to github issues (#2463)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-19T17:15:55Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0b36c6254d79b6a4cd98cb01741b8913422c8c84",
          "body": "…d, Fixes AB#3505565 (#2451)\n\nThis pull request adds conditional logic to several Android test cases\nto ensure they only run when the device is configured to trust or not\ntrust debug brokers, according to their requirements. This improves test\nreliability and prevents false failures by skipping tests when\npreconditions are not met.\n\n\n[AB#3505565](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3505565)",
          "is_bot": false,
          "headline": "Add precondition checks to skip tests if debug brokers are not truste…",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-02-13T21:36:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f188f3aff084801232ceabcb5af2415f5ee8c5f8",
          "body": "…ue, Fixes AB#3515122 (#2459)\n\nThis testcase is no longer applicable when the flight\nperformNonSharedWpjWithHardwareKey is set to true. See PR\nhttps://github.com/identity-authnz-teams/ad-accounts-for-android/pull/39\nfor original changes where we disabled install certificate with harware\nbound key sc\n[…]\nes\n[AB#3515122](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3515122)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Disable testcase when performNonSharedWpjWithHardwareKey is set to tr…",
          "author_name": "Sowmya Malayanur",
          "author_login": "somalaya",
          "committed_at": "2026-02-13T04:41:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d9af1defbcfe65e9814e262d4e593ad7bcf6ef0e",
          "body": "…#2455)\n\nGithub Model Api is now enabled for our Org, just need to make an\nadjustment to this action to enable testing with it. I took this chance\nto refactor the yaml (it had gotten pretty huge) with claude and added\nthe needed models: read permission. Also, added a trigger for the\n`Target-For-Ai-T\n[…]\n\n\n\n[AB#3482361](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3482361)\n\n---------\n\nCo-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update permissions for github issue triage action, Fixes AB#3482361 (…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-12T08:01:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d82e5ab99db1e0c25d7daf26410145fc9553977f",
          "body": "…506772 (#2442)\n\nSetting up code coverage checks in PRs. the check does the comparison\nbetween pr branch and dev, but it is not blocking at this time.\n\nCommon PR:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2884\n\n\n[AB#3506772](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3506772)",
          "is_bot": false,
          "headline": "Add Code coverage comparison for Msal, it is not blocking, Fixes AB#3…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-12T01:10:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f6102483adf6d493d726dab094a25766aba11b6",
          "body": "[AB#3501549](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3501549)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: pedro romero vargas <76129899+p3dr0rv@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Merge release_integration/8.2.1 to dev, Fixes AB#3501549 (#2452)",
          "author_name": "wzhipan",
          "author_login": "wzhipan",
          "committed_at": "2026-02-06T23:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0f36b99d4648ab5848b793ae845aab7da95ba3e",
          "body": "There are 2 issues to fix with the github issues yaml\n(.github/workflows/copilot-issue-response.yml) at this time:\n- PING-COPILOT section has a syntax error, which is stopping the\nautomatic replies. Check here for more info\nhttps://github.com/AzureAD/microsoft-authentication-library-for-android/acti\n[…]\ns much\nhttps://github.com/AzureAD/microsoft-authentication-library-for-android/actions/runs/21680063535/job/62511599816\n\n---------\n\nCo-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Github issue workflow yaml fix (#2446)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-05T16:31:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d668e5ad076e311115c755338c07bbd5de5e24bd",
          "body": "…iority assignment using GitHub Models API (#2440)\n\nReplaces hardcoded PING-COPILOT response logic and rule-based issue\nclassification with fully AI-powered analysis using GitHub Models API.\nThe system now uses AI for impact detection, response generation, issue\nclassification, security detection, a\n[…]\nswe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Implement fully AI-powered issue triage with PING-COPILOT and auto-pr…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-04T16:42:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ba2bd0f6a7491e19b8a03cf316f40f56fad5f588",
          "body": "Introduced a bug that caused an error in consumers pipeline. This PR\nfixes the bug by excluding jacoco from tasks where it doesn't belong.\n\n\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1588026&view=results\n\n\n[AB#3421522](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3421522)",
          "is_bot": false,
          "headline": "Fix Jacoco Gradle, Fixes AB#3421522 (#2444)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2026-02-04T00:53:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d23bbe381b63db59bd14b3f0997aa5f3a962dc6",
          "body": "Update error message\n\n\n[AB#3505565](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3505565)",
          "is_bot": false,
          "headline": "Update verification message in TestCase1600567, Fixes AB#3505565 (#2443)",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2026-02-03T23:10:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afe03b641aba9ddc488ecc4ed83ec07b3050af88",
          "body": "…21522 (#2433)\n\nThis PR adds a gradle task to generate a jacoco test coverage report. I\nwill use this in a later PR to enable code coverage increase check as\npart of the test pipeline check.\n\n\n[AB#3421522](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit\n[…]\nusers.noreply.github.com>\nCo-authored-by: Cesar Acosta <cacosta333@hotmail.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <fadidurah@microsoft.com>",
          "is_bot": false,
          "headline": "Move code coverage from GitHub Actions to Azure Pipeline, Fixes AB#34…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-03T17:44:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6c204088f0b575338bd59f759e7a545ccb3c2d75",
          "body": "…y bugs, Fixes AB#3482361 (#2438)\n\n## Add Missing Pattern Detectors ✅\n\nRe-added three pattern detection checks that existed in the original\n`pattern_detection` job but were accidentally omitted when pattern\ndetection was integrated into the `classify` step:\n\n### Patterns Re-Added:\n\n1. **display-mask\n[…]\n7a6bf26/_workitems/edit/3482361)\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Decouple priority from issue type, distinguish user error from librar…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-03T03:06:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "88b1cb458d263bcd728b4a9ee339f87a0153258b",
          "body": "Getting rid of a test that is failing due to a code cleanup done\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1583005&view=logs&j=5c79abb1-9ec0-595a-4f3c-4dab092abbb7&t=3a27e138-3b87-5c14-208e-f494ebcbafb3&s=2c159723-1993-5fdc-9491-8356989f2405",
          "is_bot": false,
          "headline": "Remove server side telemetry test that is not needed anymore (#2435)",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2026-01-22T20:46:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5215c5c286f163ccc4cabd7f2369e1d6acba276c",
          "body": "Fixes\n[AB#3493850](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3493850)\nThe eSTS telemetry emission has been gated behind a flight since\nSeptember 2025. This PR removes the associated code paths as part of the\ncleanup.\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2742",
          "is_bot": false,
          "headline": "code cleanup - skip eSTS telemetry Fixes AB#3493850 (#2434)",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2026-01-20T22:44:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2fe12cd7a52ec134afe5d4436ca15db00028700",
          "body": "…xes AB#3462702 (#2430)\n\n[AB#3462702](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3462702)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Merge release-integration/8.2.0 into dev to finish up the release, Fi…",
          "author_name": "wzhipan",
          "author_login": "wzhipan",
          "committed_at": "2026-01-08T00:45:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d777f3c1515825cddf329a5bc5295d6980be513",
          "body": "…ow-up for Copilot agent, Fixes AB#3482361 (#2429)\n\n## Summary\n\nSuccessfully implemented all requirements and addressed all PR review\nfeedback:\n\n### ✅ Review Feedback Addressed (Final)\n\n1. **Case-insensitive PING-COPILOT trigger** - Added lowercase variant\nto workflow conditional\n2. **Multi-line PIN\n[…]\n7a6bf26/_workitems/edit/3482361)\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add version-aware triage, label transparency, and user-triggered foll…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-01-07T20:13:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a4e9fe0d36d23ac03423c323d09b9677bc4a0320",
          "body": "[AB#3469226](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3469226)",
          "is_bot": false,
          "headline": "DCF API test removed, Fixes AB#3469226 (#2428)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-12-30T18:23:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c9610cc8d5656afef986f644c652bf7674ec54f",
          "body": "…xes AB#3415746 (#2424)\n\nFixes\n[AB#3415746](https://dev.azure.com/IdentityDivision/Engineering/_workitems/edit/3415746)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add MSAL-specific code review guidance to copilot-instructions.md, Fi…",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2025-12-29T19:29:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "442e3127c185a2ee3fe16c0b18a355e3605814c9",
          "body": "…472 (#2427)\n\nThis test has been failing again with invalid_grant; this is because the\nexpired device code value we used is now \"expired\" (server side not\nrecognizing it as a previous code anymore). So we need to update this\nvalue.\n\nAlso updating common submodule while I'm at it.\n\n\n[AB#3468472](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3468472)",
          "is_bot": false,
          "headline": "Updating testDeviceCodeFlowTokenExpiredToken unit test, Fixes AB#3468…",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2025-12-23T18:56:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72b7d6f79ceabf3cb9d7da52af82c1547c36607d",
          "body": "The feature has been stopped, per Mohit\n\n\n[AB#3465480](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3465480)",
          "is_bot": false,
          "headline": "Remove Phone Sign Up Test case, Fixes AB#3465480 (#2425)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-12-19T22:51:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9435d715c823bd19ac697fd65a10511e75f2b1fc",
          "body": "…es AB#3377270 (#2411)\n\nAdds AI-agent resources for triaging GitHub issues **and** providing\ngeneral debugging support to users across all interaction channels: a\ncommon issues reference guide, customer communication guidelines, and an\nautomated workflow for initial issue triage.\n\n## Capabilities\n\nT\n[…]\nswe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: fadidurah <88730756+fadidurah@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add AI resources for GitHub issue handling and debugging support, Fix…",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2025-12-15T17:21:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b2b91b3558e1bd35a6795e159dd09414f574dea1",
          "body": "…entral, Fixes AB#3395409 (#2413)\n\nReceived an s360 item asking our libraries to always pull packages from\nfeeds, and not declare mavenCentral as a repository to source\ndependencies. The feed itself has maven as an upstream. We cannot use\nAndroidADAL feed as that one has some versions deleted (once \n[…]\ndivision.visualstudio.com/Engineering/_build/results?buildId=1568877&view=results\n\n\n[AB#3395409](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3395409)",
          "is_bot": false,
          "headline": "Move our Libraries to only use artifact feed for packages, no Maven C…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-12-11T17:08:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "390feda95cef8a6757aa3f356d50b345e103a97e",
          "body": "Fixes\n[AB#3444129](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3444129)",
          "is_bot": false,
          "headline": "Fixes AB#3444129 merge release branch to dev (#2417)",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2025-12-11T03:16:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec9dd47a93ecc18521d0e9f50ff8d84f0f7943d0",
          "body": "…430779 (#2407)\n\nLab is now back online, we can un-ignore some tests\n\n\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2820\n\n[AB#3430779](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3430779)",
          "is_bot": false,
          "headline": "Lab back online, take common changes and bring back tests, Fixes AB#3…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-11-24T18:18:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70f423bca060ec0a58fcfbdf9889732dca257e53",
          "body": "[AB#3435630](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3435630)\n\n[Related Common\nChange](https://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2818)",
          "is_bot": false,
          "headline": "Update test app , Fixes AB#3435630 (#2409)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2025-11-20T01:32:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a69af3a3504281c6391848d615ecadf61e38171",
          "body": "[AB#3427295](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3427295)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Merge info of release 8.1.0 to dev, Fixes AB#3427295 (#2403)",
          "author_name": "wzhipan",
          "author_login": "wzhipan",
          "committed_at": "2025-11-19T20:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "477a72959e52131a27af73516a2e414f2f5830f0",
          "body": "…4041 (#2398)\n\nThere are some functions that still don't work from lab api. This PR\nignores 4 tests that use these apis.\n\nCommon PR to fix lab api calls:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2809\n\n\n[AB#3424041](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3424041)",
          "is_bot": false,
          "headline": "Ignore some UI tests that use ResetApi, EnablePolicyApi, Fixes AB#342…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-11-10T22:22:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48cbc99146909b77828c7304b039356fb0c7d024",
          "body": "Update common to latest dev\n\n\n[AB#3395876](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3395876)",
          "is_bot": false,
          "headline": "Update common to latest dev, Fixes AB#3395876 (#2399)",
          "author_name": "Danilo Raspa",
          "author_login": "nilo-ms",
          "committed_at": "2025-11-10T14:29:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a20f4a5b71594c1c49e537a718bb526f1f7eb57",
          "body": "[AB#3385532](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3385532)\n\nhttps://identitydivision.visualstudio.com/DevEx/_git/AuthLibrariesApiReview/pullrequest/20357\n### Add WebAuthn Version Support and Passkey Headers\n\nThis PR adds support for handling \n[…]\nlete\nthe flow, and you will end up with a token and a passkey.\n6 - try again with no user selected and use the passkey.\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add WebAuthn version support in configuration, Fixes AB#3385532 (#2393)",
          "author_name": "pedro romero vargas",
          "author_login": "p3dr0rv",
          "committed_at": "2025-11-06T22:37:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "71ac706202aaf57b14e92b1cfbe22a83ddf7b1bc",
          "body": "[AB#3403843](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3403843)\n\nRemove native auth doc warning and log warning from preview features in\nnative auth SDK. This is no longer needed going into preview.",
          "is_bot": false,
          "headline": "Remove native auth warning logs, Fixes AB#3403843 (#2397)",
          "author_name": "anzhen",
          "author_login": "andwhysoft",
          "committed_at": "2025-11-06T16:32:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76f578a8e8b2ca26a511b8d6f2e4ef5f63f8d9c0",
          "body": "…2392)\n\n[AB#3385486](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3385486)\n\nThis PR adds the domainHint parameters into acquireTokenParameters and\nhas a dependency on\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2792\n\nDomainHint is adde\n[…]\n to streamline developer experience for\nSocial IdP/Custom OIDC scenarios with MSAL SDK. Today developer can use\nextraQueryParameters as a alternative which required developer to type\nin \"domain_hint\".",
          "is_bot": false,
          "headline": "Add domainHint support to acquireTokenParameters, Fixes AB#3385486 (#…",
          "author_name": "anzhen",
          "author_login": "andwhysoft",
          "committed_at": "2025-10-29T15:22:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e8ee2d0b70c0ae293ac592a9d5447241557456eb",
          "body": "[AB#3397730](https://dev.azure.com/IdentityDivision/Engineering/_workitems/edit/3397730)\n\n---------\n\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: p3dr0rv <pedroro@microsoft.com>\nCo-authored-by: rohitluthra <rohitluthra@microsoft.com>",
          "is_bot": false,
          "headline": "Merge branch created from Release/8.0.0 to dev, Fixes AB#3397730 (#2389)",
          "author_name": "Rohit Luthra",
          "author_login": "rohitluthra",
          "committed_at": "2025-10-24T21:51:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b2bbab67fd4e0aa0c756174ac37174c9c357c1f",
          "body": "[AB#3404910](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3404910)\n\nNOTE: in order for this to work, the build config\n```shouldSkipSilentTokenCommandCacheForStressTest``` must be set to\ntrue.\nOtherwise, the redundant requests will be absorbed by the\n\n[…]\n654\" height=\"1408\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/9603c253-a906-4ee3-afdd-f1d8767a1e35\"\n/>\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add stress test for ATS to msaltestapp, Fixes AB#3404910 (#2391)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2025-10-24T18:38:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "95e5aed343e6b0cafde9e55f9146292719a12179",
          "body": "Remove some old ltw tests that use \"Old\" apks, also remove usage of api\n29 in remaining ltw tests (oneauthtestapp no longer needs api 29 minus).\n\n\n[AB#3382033](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3382033)",
          "is_bot": false,
          "headline": "adjust ltw tests, Fixes AB#3382033 (#2385)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-10-07T18:57:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50deebcf88ee0b02cae813ee9687c96cb7552d0f",
          "body": "…3313635 (#2384)\n\nThis PR adds a new SDK error with instructions when the auth method is\nblocked during MFA flow.\n\nMSAL Common PR:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2772\n\nFixes\n[AB#3313635](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3313635)",
          "is_bot": false,
          "headline": "Native auth: add new SDK error when auth method is blocked, Fixes AB#…",
          "author_name": "Danilo Raspa",
          "author_login": "nilo-ms",
          "committed_at": "2025-09-26T11:11:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a1b0122f8618c83423131ff51927a10dee5cae1",
          "body": "This PR needs to be merged after the email OTP MFA one.\n\nThis PR contains the changes to support SMS OTP MFA/JIT.\nVerification contact is now a mandatory field.\n\nMSAL Common PR:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2766\n\nFixes\n[AB#3313635](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3313635)",
          "is_bot": false,
          "headline": "Native auth: SMS OTP MFA/JIT implementation, Fixes AB#3313635 (#2382)",
          "author_name": "Danilo Raspa",
          "author_login": "nilo-ms",
          "committed_at": "2025-09-25T10:10:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d1c787a32bfc9353936363b345f7810e7258063",
          "body": "…B#3351233 (#2380)\n\nThis PR updates the SDK to match the latest flow from EC.\n\nIn this new flow, the developer must always supply an auth Method to the\n/oauth2/v2.0/challenge endpoint which means once the .mfaRequired error\nis received from token endpoint, the /oauth2/v2.0/introspect endpoint\nneeds \n[…]\nes\n[AB#3351233](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3351233)\n\nMSAL Common PR:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2764",
          "is_bot": false,
          "headline": "Native auth: Update Email OTP MFA to Match EC Implementation, Fixes A…",
          "author_name": "Danilo Raspa",
          "author_login": "nilo-ms",
          "committed_at": "2025-09-24T10:54:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a8c96e5af4ad60e01aad24ae289914385edb4fb",
          "body": "Fixes\n[AB#3340920](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3340920)\n\nCommon:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2756\n\nRUn:\nhttps://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1532428&view=results",
          "is_bot": false,
          "headline": "[MSAL] Update proguard rules, Fixes AB#3340920 (#2372)",
          "author_name": "Mohit",
          "author_login": null,
          "committed_at": "2025-09-16T18:45:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "148f2c62ea4a8ffc36140d595d995cf2206441db",
          "body": "Fixes\n[AB#3363212](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3363212)",
          "is_bot": false,
          "headline": "Update release versions in dev, Fixes AB#3363212 (#2377)",
          "author_name": "Siddhi",
          "author_login": "siddhijain",
          "committed_at": "2025-09-10T20:00:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc5375fcac1d8741d4e7e4a2f3a07d8d00167933",
          "body": "Settings up copilot instructions to facilitate app generation and\ngeneral calling pattern debugging\n\nThis is to get the file into dev. Will probably need to tweak it once\ni've validated things, from a general perspective in dev, without\nexisting context with the agent.\n\n\nhttps://github.com/AzureAD/m\n[…]\nosoft-authentication-library-for-android/pull/2370\n\n---------\n\nCo-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fadi/copilot 1 (#2369)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-09-09T15:25:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "960bc92c9dd6f4cd2fe4574558eadde6e46d8148",
          "body": "…s Ui, Fixes AB#3330305 (#2365)\n\nAuthenticator is rolling out React Native settings page. This PR is to\nupdate our E2E Ui Automation validation to handle both the old Ui and\nthe new to maintain success rate as the feature rolls out.\n\nValidation:\n\nhttps://identitydivision.visualstudio.com/Engineering\n[…]\ndit/3330305)\n\n---------\n\nCo-authored-by: richardtz12 <richardtz12@gmail.com>\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: Dome Pongmongkol <rapong@microsoft.com>",
          "is_bot": false,
          "headline": "Adjust Ui Automation to handle both old and new Authenticator Setting…",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-08-29T17:33:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b7c62432bd106ade2c95ab1ff96588eb4f3a3327",
          "body": "See related common PR:\nhttps://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/2745",
          "is_bot": false,
          "headline": "Fix for App Link Usage in DUNA / SSO scenarios (#2363)",
          "author_name": "Shahzaib",
          "author_login": "shahzaibj",
          "committed_at": "2025-08-28T17:43:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed72371713a7523c164bba48e917f1bc1b25a212",
          "body": "Working/release/7.0.3\n\n---------\n\nCo-authored-by: richardtz12 <richardtz12@gmail.com>\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>\nCo-authored-by: Dome Pongmongkol <rapong@microsoft.com>",
          "is_bot": false,
          "headline": "Working/release/7.0.3 (#2364)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-08-27T00:52:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55240275c39c56f93ce6490912bd3831e7f145ff",
          "body": "### Summary\n\n[AB#3330213](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3330213)\n\nWe got a report from a partner team that they were seeing very low\namounts (like 5 instances) of an NPE related to AccountAdapter. Looking\nat past related issues, this seems like some account en\n[…]\no very old\nbroker versions. The patch in this PR is to add null checks for both the\nhome and local id from the guest account, and if either are null, then\nit won't be added to the guest account array.",
          "is_bot": false,
          "headline": "Add null checks for guest account ids, Fixes AB#3330213 (#2361)",
          "author_name": "melissaahn",
          "author_login": "melissaahn",
          "committed_at": "2025-08-26T00:42:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e5f13ee8780ace706a32228e56adb5caed841df2",
          "body": "ignore 3 federated tests\n\nThese tests use a lab api which currently does not have VMs allocated\nfor federated auth. Ignoring these tests as they are currently failing\nas false flags.",
          "is_bot": false,
          "headline": "ignore 3 federated tests (#2357)",
          "author_name": "fadidurah",
          "author_login": "fadidurah",
          "committed_at": "2025-08-20T00:21:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "886e28176f84b67c816565524e7fbdb2a118f7de",
          "body": "Co-authored-by: richardtz12 <richardtz12@gmail.com>\nCo-authored-by: Azure DevOps Pipeline <build-agent@azuredevops.com>",
          "is_bot": false,
          "headline": "Merge working/release/7.0.1 to dev (#2352)",
          "author_name": "Dome Pongmongkol",
          "author_login": "rpdome",
          "committed_at": "2025-08-12T19:15:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65e5ad746d23e1a3bd838fd8998bd5db6f74a67a",
          "body": "Enabling Phone signup option test again, as the changes are not deployed\nto WW.\n\nTested Locally using the URL redirects. The test can run on 08/10/2025\nweekly run",
          "is_bot": false,
          "headline": "Re-enable Phone Sign Up Option Test (#2351)",
          "author_name": "Mohit",
          "author_login": null,
          "committed_at": "2025-08-08T23:22:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 109,
      "latest_release_at": "2026-07-15T03:07:18Z",
      "latest_release_tag": "v8.4.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 45,
      "days_since_latest_release": 10,
      "mean_days_between_releases": 20.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 149,
      "stars": 265,
      "watchers": 116,
      "fork_history": {
        "days": [
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-27",
            "count": 1
          },
          {
            "date": "2017-06-29",
            "count": 1
          },
          {
            "date": "2017-07-23",
            "count": 1
          },
          {
            "date": "2017-08-13",
            "count": 1
          },
          {
            "date": "2017-08-17",
            "count": 1
          },
          {
            "date": "2017-10-03",
            "count": 1
          },
          {
            "date": "2017-10-22",
            "count": 1
          },
          {
            "date": "2018-02-06",
            "count": 1
          },
          {
            "date": "2018-03-19",
            "count": 1
          },
          {
            "date": "2018-04-03",
            "count": 1
          },
          {
            "date": "2018-05-30",
            "count": 1
          },
          {
            "date": "2018-07-17",
            "count": 1
          },
          {
            "date": "2018-09-20",
            "count": 1
          },
          {
            "date": "2018-10-08",
            "count": 1
          },
          {
            "date": "2018-11-27",
            "count": 1
          },
          {
            "date": "2018-12-19",
            "count": 1
          },
          {
            "date": "2019-01-04",
            "count": 1
          },
          {
            "date": "2019-01-25",
            "count": 1
          },
          {
            "date": "2019-02-04",
            "count": 1
          },
          {
            "date": "2019-02-08",
            "count": 1
          },
          {
            "date": "2019-02-24",
            "count": 1
          },
          {
            "date": "2019-03-22",
            "count": 1
          },
          {
            "date": "2019-03-28",
            "count": 1
          },
          {
            "date": "2019-04-16",
            "count": 1
          },
          {
            "date": "2019-04-17",
            "count": 1
          },
          {
            "date": "2019-05-08",
            "count": 1
          },
          {
            "date": "2019-05-22",
            "count": 1
          },
          {
            "date": "2019-06-02",
            "count": 2
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2019-07-05",
            "count": 1
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-09-19",
            "count": 1
          },
          {
            "date": "2019-10-11",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 1
          },
          {
            "date": "2019-12-12",
            "count": 1
          },
          {
            "date": "2020-01-10",
            "count": 1
          },
          {
            "date": "2020-01-12",
            "count": 1
          },
          {
            "date": "2020-01-14",
            "count": 1
          },
          {
            "date": "2020-01-31",
            "count": 1
          },
          {
            "date": "2020-02-04",
            "count": 1
          },
          {
            "date": "2020-02-13",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-16",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2020-04-29",
            "count": 1
          },
          {
            "date": "2020-04-30",
            "count": 2
          },
          {
            "date": "2020-05-12",
            "count": 1
          },
          {
            "date": "2020-05-14",
            "count": 1
          },
          {
            "date": "2020-06-29",
            "count": 1
          },
          {
            "date": "2020-07-16",
            "count": 1
          },
          {
            "date": "2020-08-10",
            "count": 1
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-10-08",
            "count": 1
          },
          {
            "date": "2020-12-18",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-03-01",
            "count": 1
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-05-05",
            "count": 2
          },
          {
            "date": "2021-05-10",
            "count": 1
          },
          {
            "date": "2021-05-13",
            "count": 1
          },
          {
            "date": "2021-05-25",
            "count": 1
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-06-07",
            "count": 1
          },
          {
            "date": "2021-06-24",
            "count": 1
          },
          {
            "date": "2021-06-30",
            "count": 1
          },
          {
            "date": "2021-07-05",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-15",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 1
          },
          {
            "date": "2022-01-14",
            "count": 1
          },
          {
            "date": "2022-01-17",
            "count": 1
          },
          {
            "date": "2022-01-18",
            "count": 1
          },
          {
            "date": "2022-01-30",
            "count": 1
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-03-11",
            "count": 1
          },
          {
            "date": "2022-03-15",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 1
          },
          {
            "date": "2022-04-25",
            "count": 1
          },
          {
            "date": "2022-04-28",
            "count": 1
          },
          {
            "date": "2022-05-29",
            "count": 1
          },
          {
            "date": "2022-06-09",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-09-09",
            "count": 1
          },
          {
            "date": "2022-10-19",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-11-23",
            "count": 1
          },
          {
            "date": "2022-12-30",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 1
          },
          {
            "date": "2023-03-10",
            "count": 1
          },
          {
            "date": "2023-04-07",
            "count": 1
          },
          {
            "date": "2023-04-11",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-07-05",
            "count": 1
          },
          {
            "date": "2023-07-25",
            "count": 2
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-08-05",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-11-04",
            "count": 1
          },
          {
            "date": "2023-12-04",
            "count": 1
          },
          {
            "date": "2024-01-08",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-06-13",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-29",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 2
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 2
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 146,
        "total_forks": 149
      },
      "star_history": null,
      "open_issues_and_prs": 78
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "build.gradle",
        "examples/hello-msal-multiple-account/app/build.gradle",
        "examples/hello-msal-multiple-account/build.gradle",
        "examples/hello-msal-single-account/app/build.gradle",
        "examples/hello-msal-single-account/build.gradle",
        "msal/build.gradle",
        "msalautomationapp/build.gradle",
        "package-inspector/build.gradle",
        "pop-benchmarker/build.gradle",
        "testapps/testapp/build.gradle"
      ],
      "largest_source_bytes": 145542,
      "source_files_sampled": 367,
      "oversized_source_files": 4,
      "agent_instruction_files": [
        ".github/copilot-instructions.md"
      ],
      "agent_instruction_max_bytes": 47238
    },
    "dependencies": {
      "manifests": [
        "build.gradle",
        "msal/build.gradle",
        "msalautomationapp/build.gradle",
        "package-inspector/build.gradle",
        "pop-benchmarker/build.gradle"
      ],
      "advisories": {
        "error": "No resolved dependencies to assess",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [],
        "collected": true,
        "truncated": false,
        "total_count": 0,
        "direct_count": 0,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 37,
        "merged_prs": 1366,
        "open_issues": 41,
        "closed_ratio": 0.953,
        "closed_issues": 832,
        "closed_unmerged_prs": 234
      },
      "bus_factor": 4,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "shahzaibj",
          "commits": 892,
          "avatar_url": "https://avatars.githubusercontent.com/u/37125644?v=4"
        },
        {
          "type": "User",
          "login": "fadidurah",
          "commits": 566,
          "avatar_url": "https://avatars.githubusercontent.com/u/88730756?v=4"
        },
        {
          "type": "User",
          "login": "rpdome",
          "commits": 365,
          "avatar_url": "https://avatars.githubusercontent.com/u/19558668?v=4"
        },
        {
          "type": "User",
          "login": "shoatman",
          "commits": 361,
          "avatar_url": "https://avatars.githubusercontent.com/u/8864677?v=4"
        },
        {
          "type": "User",
          "login": "weijjia",
          "commits": 242,
          "avatar_url": "https://avatars.githubusercontent.com/u/1166233?v=4"
        },
        {
          "type": "User",
          "login": "AdamBJohnsonx",
          "commits": 191,
          "avatar_url": "https://avatars.githubusercontent.com/u/63813613?v=4"
        },
        {
          "type": "User",
          "login": "heidijinxujia",
          "commits": 163,
          "avatar_url": "https://avatars.githubusercontent.com/u/16140683?v=4"
        },
        {
          "type": "User",
          "login": "iamgusain",
          "commits": 146,
          "avatar_url": "https://avatars.githubusercontent.com/u/75644120?v=4"
        },
        {
          "type": "User",
          "login": "iambmelt",
          "commits": 139,
          "avatar_url": "https://avatars.githubusercontent.com/u/990063?v=4"
        },
        {
          "type": "User",
          "login": "paulkagiri",
          "commits": 126,
          "avatar_url": "https://avatars.githubusercontent.com/u/4158695?v=4"
        }
      ],
      "contributors_sampled": 58,
      "top_contributor_share": 0.221
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "copilot-issue-response.yml",
        "label.yml",
        "validate-pr-ab-id.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 6,
            "reason": "binaries present in source code",
            "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": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "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": "29 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not 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": "8d1f0552ced36459d70bfd6705862bf6d0f0af84",
        "ran_at": "2026-07-25T06:13:58Z",
        "aggregate_score": 5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-24T00:06:55Z",
      "oldest_open_prs": [
        {
          "number": 1614,
          "created_at": "2022-04-20T16:34:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1625,
          "created_at": "2022-05-22T16:38:44Z",
          "last_comment_at": "2022-05-22T16:48:20Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1641,
          "created_at": "2022-06-22T14:00:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1652,
          "created_at": "2022-07-13T13:08:16Z",
          "last_comment_at": "2022-08-14T22:06:48Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1684,
          "created_at": "2022-08-18T16:08:53Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1716,
          "created_at": "2022-10-27T17:13:43Z",
          "last_comment_at": "2023-01-06T00:53:05Z",
          "last_comment_author": "moumighosh"
        },
        {
          "number": 1745,
          "created_at": "2022-12-30T23:56:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1778,
          "created_at": "2023-03-11T07:21:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1800,
          "created_at": "2023-04-12T03:48:56Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1830,
          "created_at": "2023-05-29T02:45:09Z",
          "last_comment_at": "2025-04-04T04:36:14Z",
          "last_comment_author": "Goooler"
        },
        {
          "number": 1861,
          "created_at": "2023-07-25T02:17:50Z",
          "last_comment_at": "2024-09-25T03:34:17Z",
          "last_comment_author": "repstosw"
        },
        {
          "number": 1862,
          "created_at": "2023-07-25T07:59:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2035,
          "created_at": "2024-02-12T12:20:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2045,
          "created_at": "2024-02-23T17:57:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2051,
          "created_at": "2024-03-01T09:03:40Z",
          "last_comment_at": "2024-05-07T11:11:15Z",
          "last_comment_author": "Dickson-Mwendia"
        },
        {
          "number": 2066,
          "created_at": "2024-03-23T17:54:06Z",
          "last_comment_at": "2024-04-16T10:45:28Z",
          "last_comment_author": "SammyO"
        },
        {
          "number": 2075,
          "created_at": "2024-04-12T20:58:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2096,
          "created_at": "2024-05-08T14:51:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2102,
          "created_at": "2024-05-15T11:47:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2135,
          "created_at": "2024-07-01T15:43:04Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-24T00:06:54Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 1287,
          "created_at": "2021-01-26T03:57:41Z",
          "last_comment_at": "2026-02-24T23:59:03Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1751,
          "created_at": "2023-01-18T16:01:43Z",
          "last_comment_at": "2026-04-24T06:21:43Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1920,
          "created_at": "2023-10-12T14:17:48Z",
          "last_comment_at": "2026-02-25T00:18:09Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2053,
          "created_at": "2024-03-06T04:30:41Z",
          "last_comment_at": "2026-02-25T00:14:18Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2142,
          "created_at": "2024-07-15T19:56:01Z",
          "last_comment_at": "2026-02-25T05:00:11Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2146,
          "created_at": "2024-07-25T01:59:07Z",
          "last_comment_at": "2026-04-24T06:21:11Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2172,
          "created_at": "2024-09-05T07:25:09Z",
          "last_comment_at": "2026-02-25T00:09:14Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2175,
          "created_at": "2024-09-11T02:55:28Z",
          "last_comment_at": "2026-02-25T00:07:52Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2204,
          "created_at": "2024-10-16T18:52:13Z",
          "last_comment_at": "2026-02-25T00:06:17Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2215,
          "created_at": "2024-11-07T02:13:03Z",
          "last_comment_at": "2026-02-25T00:01:52Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2227,
          "created_at": "2024-12-13T09:08:13Z",
          "last_comment_at": "2026-02-25T00:00:44Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2232,
          "created_at": "2024-12-23T11:05:42Z",
          "last_comment_at": "2026-02-24T23:57:20Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2235,
          "created_at": "2025-01-03T05:45:37Z",
          "last_comment_at": "2026-02-24T23:55:01Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2237,
          "created_at": "2025-01-06T17:42:39Z",
          "last_comment_at": "2026-02-24T23:53:59Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2243,
          "created_at": "2025-01-10T14:25:52Z",
          "last_comment_at": "2026-02-24T23:52:43Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2257,
          "created_at": "2025-02-18T15:25:31Z",
          "last_comment_at": "2026-02-24T23:51:29Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2266,
          "created_at": "2025-03-17T17:42:32Z",
          "last_comment_at": "2026-02-24T20:15:58Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2289,
          "created_at": "2025-05-01T13:38:46Z",
          "last_comment_at": "2026-02-24T23:39:43Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2292,
          "created_at": "2025-05-07T23:02:27Z",
          "last_comment_at": "2026-02-24T20:14:00Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 2295,
          "created_at": "2025-05-13T10:52:50Z",
          "last_comment_at": "2026-02-24T20:16:10Z",
          "last_comment_author": "github-actions"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/AzureAD/microsoft-authentication-library-for-android",
    "host": "github.com",
    "name": "microsoft-authentication-library-for-android",
    "owner": "AzureAD"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 76,
      "inputs": {
        "security": 50,
        "vitality": 97,
        "community": 60,
        "governance": 84,
        "engineering": 81
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 97,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 95,
            "inputs": {
              "commits_last_year": 109,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 45
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "45/52 weeks with commits",
                "points": 31.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 45
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "109 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 109
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "29 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": "v8.4.1",
              "releases_from_tags": false,
              "days_since_latest_release": 10,
              "mean_days_between_releases": 20.9
            },
            "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 10 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~20.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 20.9
                    }
                  }
                ],
                "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": 1,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 1 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 60,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "forks": 149,
              "stars": 265,
              "watchers": 116,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "265 stars",
                "points": 39.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 265
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "149 forks",
                "points": 18.1,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 149
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "116 watchers",
                "points": 11.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 116
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "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": 0,
                "status": "missed",
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 84,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 58,
              "top_contributor_share": 0.221
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 22% of commits",
                "points": 17.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 22
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "58 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 58
                    }
                  }
                ],
                "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": 92,
            "inputs": {
              "merged_prs": 1366,
              "open_issues": 41,
              "closed_issues": 832,
              "issue_closed_ratio": 0.953,
              "closed_unmerged_prs": 234
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "95% of issues closed",
                "points": 44.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 95
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1366/1600 decided PRs merged",
                "points": 32.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1366,
                      "decided": 1600
                    }
                  }
                ],
                "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": 794,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "AzureAD",
              "public_repos": 57,
              "account_age_days": 4980
            },
            "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": "794 followers of AzureAD",
                "points": 20.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 794,
                      "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
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 81,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "msal",
                "android",
                "identity",
                "microsoft",
                "azure-active-directory"
              ],
              "has_wiki": true,
              "homepage": "http://aka.ms/aadv2",
              "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": "http://aka.ms/aadv2",
                "points": 15,
                "status": "met",
                "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": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "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": "moderate",
        "name": "Security",
        "value": 50,
        "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": 50,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 4.5,
                "status": "partial",
                "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "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": "29 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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "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": "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": 6
            },
            "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": "moderate",
        "name": "AI Readiness",
        "value": 69,
        "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": 1,
              "agent_instruction_files": [
                ".github/copilot-instructions.md"
              ],
              "agent_instruction_max_bytes": 47238
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 56,
            "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.36,
              "toolchain_manifests": [
                "build.gradle",
                "examples/hello-msal-multiple-account/app/build.gradle",
                "examples/hello-msal-multiple-account/build.gradle",
                "examples/hello-msal-single-account/app/build.gradle",
                "examples/hello-msal-single-account/build.gradle",
                "msal/build.gradle",
                "msalautomationapp/build.gradle",
                "package-inspector/build.gradle",
                "pop-benchmarker/build.gradle",
                "testapps/testapp/build.gradle"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "build.gradle, examples/hello-msal-multiple-account/app/build.gradle, examples/hello-msal-multiple-account/build.gradle (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "build.gradle, examples/hello-msal-multiple-account/app/build.gradle, examples/hello-msal-multiple-account/build.gradle"
                    }
                  }
                ],
                "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": "Java (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "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": "36 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 36,
                      "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Java",
              "largest_source_bytes": 145542,
              "source_files_sampled": 367,
              "oversized_source_files": 4
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Java (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "4/367 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 367,
                      "oversized": 4
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "example",
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T06:14:47.702985Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/AzureAD/microsoft-authentication-library-for-android.svg",
  "full_name": "AzureAD/microsoft-authentication-library-for-android",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistiken.