Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-30 23:27 UTC

mariadb-corporation / mariadb-connector-j

MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. MariaDB Connector/J is LGPL licensed.

JavaLGPL-2.1★ 359 Sterne⑂ 241 Forksseit Jan. 2015Auf GitHub ansehen ↗

mariadb-corporation/mariadb-connector-j erreicht einen Gesundheitsindex von 68 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Vitality (93/100) ab, am schwächsten bei AI Readiness (45/100). Zuletzt vor 1 Tag aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

68
gesamt / 100
Mittel

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.

68
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

MariaDBOrganisation
179 Follower111 öffentliche Reposseit Nov. 2013

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
Mavenorg.mariadb.jdbc:mariadb-java-client3.5.10-135vor 1 Tag

Metriken nach Kategorie

Vitalität

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

93Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 1 Tagen
24.2/36Commit-Rhythmus — 35/52 Wochen mit Commits
18/18Commit-Volumen — 196 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year196
human_commit_share0,98
days_since_last_push1
active_weeks_last_year35

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 100 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 1 Tagen
27/27Release-Rhythmus — ein Release etwa alle 24,9 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count100
latest_release_tag3.5.10
releases_from_tagsnein
days_since_latest_release1
mean_days_between_releases24,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?

71Gut · 18 % des Gesamtindex
Wie die Bewertung erfolgt
41.4/60Stars — 359 Stars
19.8/25Forks — 241 Forks
10/15Watcher — 64 Watcher
Verwendete Eingangsdaten
forks241
stars359
watchers64
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (LGPL-2.1)
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
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?

60Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
8.8/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 61 % der Commits
13.5/13.5Breite der Beitragenden — 79 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 15 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled79
top_contributor_share0,607
Wie die Bewertung erfolgt
0/46.8Issue-Lösungsquote — keine Issues oder keine Daten
21.1/38.3PR-Annahme — 126/228 entschiedene PRs gemergt
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs126
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs102
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Issue-Lösungsquote. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
16.2/25Reichweite des Inhabers — 179 Follower von mariadb-corporation
25/25Kontohistorie — 111 öffentliche Repos, Kontoalter ca. 12 Jahre
Verwendete Eingangsdaten
followers179
owner_typeOrganization
is_verified
owner_loginmariadb-corporation
public_repos111
account_age_days4.648

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf maven
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 1 Tagen
20/20Versionshistorie — 135 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesorg.mariadb.jdbc:mariadb-java-client
ecosystemsmaven
any_deprecatednein
min_days_since_publish1

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

52Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — keine Daten
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: CI-Tests. Die verbleibenden Gewichte wurden renormalisiert.

Dokumentation

40Gefährdet
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
0/10Topics
0/10Wiki
Verwendete Eingangsdaten
topics
has_wikinein
homepage
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

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

61Mittel · 16 % des Gesamtindex
Wie die Bewertung erfolgt
6.8/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — keine Daten
0/2.5CI-Tests — keine Daten
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 15 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 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 — no SAST tool detected
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
0/7.5Vulnerabilities — 12 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated14
scorecard_versionv5.5.0
checks_inconclusive4
scorecard_aggregate5,1
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, ci_tests, packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories0
affected_packages0
assessed_packages10
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von maven:org.mariadb.jdbc:mariadb-java-client@3.5.10 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 10 Paketen. Erreichbarkeit wird nicht analysiert.

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.

45Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
4.9/40Lesbare Commit-Historie — 9 von 98 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,092
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
12.6/18Bootstrap mit einem Befehl — .github/native-image-test/spring-boot/pom.xml, pom.xml (Toolchain-Konvention, kein Task-Runner)
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — Java (statisch typisiert)
0/10Reproduzierbare Umgebung
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
8/8Automatisierte Wartung — 2 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
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
toolchain_manifests.github/native-image-test/spring-boot/pom.xml, pom.xml
dependency_bot_commit_share0,02
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — Java (statisch typisiert)
53.8/55Handhabbare Dateigrößen — 9/401 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageJava
largest_source_bytes171.373
source_files_sampled401
oversized_source_files9

Eckdaten

359GitHub-Sterne
79Mitwirkende
196Commits, letzte 12 Monate
1Tage seit letztem Push
100Releases
1Bus-Faktor
0offene 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 ★ / 241 ⇿
0Sterne
241Forks
96Releases

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.

0408012016020024023242015-022020-102026-07
Major 0Minor 14Patch 78

Jeder Punkt umfasst 11 Tage.

OpenSSF Scorecard 5.1 / 10
5.1Gesamtwert

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-30 23:27 UTC

9Binary-Artifactsbinaries present in source code
k. A.Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
k. A.CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 15 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 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
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities12 existing vulnerabilities detected
Direkte Abhängigkeiten 9
RegistryPaketVersionsvorgabeManifest
Mavenorg.junit:junit-bom${junit.version}pom.xml
Mavensoftware.amazon.awssdk:bom2.21.1pom.xml
Mavenorg.slf4j:slf4j-api2.0.17pom.xml
Mavenorg.bouncycastle:bcpkix-jdk18on1.84pom.xml
Mavensoftware.amazon.awssdk:rdspom.xml
Mavenorg.openjdk.jmh:jmh-core${jmh.version}pom.xml
Mavenorg.openjdk.jmh:jmh-generator-annprocess${jmh.version}pom.xml
Mavencom.mysql:mysql-connector-j${mysql-connector-java.version}pom.xml
Mavencom.zaxxer:HikariCP5.0.1pom.xml
Alle Abhängigkeiten 35

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

RegistryPaketVersionBeziehung
Mavencom.mysql:mysql-connector-j9.7.0direkt
Mavencom.zaxxer:HikariCP5.0.1direkt
Mavenorg.bouncycastle:bcpkix-jdk18on1.84direkt
Mavenorg.junit:junit-bom5.7.0direkt
Mavenorg.openjdk.jmh:jmh-core1.37direkt
Mavenorg.openjdk.jmh:jmh-generator-annprocess1.37direkt
Mavenorg.slf4j:slf4j-api2.0.17direkt
Mavensoftware.amazon.awssdk:bom2.21.1direkt
Mavensoftware.amazon.awssdk:rdsdirekt
Mavenbiz.aQute.bnd:bnd-maven-plugin6.4.0indirekt
Mavench.qos.logback:logback-classic1.3.12indirekt
Mavench.qos.logback:logback-classic1.5.8indirekt
Mavencom.diffplug.spotless:spotless-maven-plugin3.7.0indirekt
Mavencom.github.waffle:waffle-jna3.3.0indirekt
Mavencom.github.waffle:waffle-jna3.5.1indirekt
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.13.0indirekt
Mavenorg.apache.maven.plugins:maven-gpg-plugin3.0.1indirekt
Mavenorg.apache.maven.plugins:maven-jar-plugin3.3.0indirekt
Mavenorg.apache.maven.plugins:maven-javadoc-plugin3.4.1indirekt
Mavenorg.apache.maven.plugins:maven-shade-plugin3.2.4indirekt
Mavenorg.apache.maven.plugins:maven-source-plugin3.2.1indirekt
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.2.2indirekt
Mavenorg.assertj:assertj-core3.27.7indirekt
Mavenorg.codehaus.mojo:build-helper-maven-plugin3.0.0indirekt
Mavenorg.codehaus.mojo:exec-maven-plugin3.1.0indirekt
Mavenorg.graalvm.buildtools:native-maven-pluginindirekt
Mavenorg.jacoco:jacoco-maven-plugin0.8.15indirekt
Mavenorg.junit-pioneer:junit-pioneer1.9.1indirekt
Mavenorg.junit.jupiter:junit-jupiter-engineindirekt
Mavenorg.mariadb.jdbc:mariadb-java-clientindirekt
Mavenorg.osgi:org.osgi.compendium5.0.0indirekt
Mavenorg.osgi:org.osgi.core6.0.0indirekt
Mavenorg.sonatype.central:central-publishing-maven-plugin0.8.0indirekt
Mavenorg.springframework.boot:spring-boot-maven-pluginindirekt
Mavenorg.springframework.boot:spring-boot-starter-jdbcindirekt
Abhängigkeits-Advisories 0

Die Installation von maven:org.mariadb.jdbc:mariadb-java-client@3.5.10 zieht 10 Pakete nach sich, direkt und transitiv: 0 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.

Keine bekannten Advisories betreffen die bewerteten Abhängigkeiten.

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 21833,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "Java": 4047325
      },
      "pushed_at": "2026-07-29T15:20:26Z",
      "created_at": "2015-01-30T13:12:38Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-29T15:19:14Z",
      "description": "MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. MariaDB Connector/J is LGPL licensed.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "LGPL-2.1",
      "default_branch": "main",
      "license_spdx_raw": "LGPL-2.1",
      "primary_language": "Java",
      "significant_languages": [
        "Java"
      ]
    },
    "owner": {
      "blog": "https://mariadb.com",
      "name": "MariaDB",
      "type": "Organization",
      "login": "mariadb-corporation",
      "company": null,
      "location": null,
      "followers": 179,
      "avatar_url": "https://avatars.githubusercontent.com/u/5877084?v=4",
      "created_at": "2013-11-07T07:13:42Z",
      "is_verified": null,
      "public_repos": 111,
      "account_age_days": 4648
    },
    "license": {
      "state": "standard",
      "spdx_id": "LGPL-2.1",
      "raw_spdx": "LGPL-2.1",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "3.5.10",
          "kind": "patch",
          "published_at": "2026-07-29T18:56:46Z"
        },
        {
          "tag": "3.4.4",
          "kind": "patch",
          "published_at": "2026-07-29T18:55:56Z"
        },
        {
          "tag": "3.3.6",
          "kind": "patch",
          "published_at": "2026-07-29T18:55:07Z"
        },
        {
          "tag": "2.7.15",
          "kind": "patch",
          "published_at": "2026-07-29T18:54:15Z"
        },
        {
          "tag": "3.4.3",
          "kind": "patch",
          "published_at": "2026-06-15T15:24:13Z"
        },
        {
          "tag": "3.3.5",
          "kind": "patch",
          "published_at": "2026-06-15T15:23:14Z"
        },
        {
          "tag": "3.5.9",
          "kind": "patch",
          "published_at": "2026-06-15T15:25:52Z"
        },
        {
          "tag": "2.7.14",
          "kind": "patch",
          "published_at": "2026-06-15T15:21:51Z"
        },
        {
          "tag": "3.5.8",
          "kind": "patch",
          "published_at": "2026-04-01T19:02:22Z"
        },
        {
          "tag": "2.7.13",
          "kind": "patch",
          "published_at": "2025-12-17T17:25:03Z"
        },
        {
          "tag": "3.5.7",
          "kind": "patch",
          "published_at": "2025-12-16T16:27:21Z"
        },
        {
          "tag": "3.5.6",
          "kind": "patch",
          "published_at": "2025-09-11T15:02:40Z"
        },
        {
          "tag": "3.5.5",
          "kind": "patch",
          "published_at": "2025-08-08T17:31:09Z"
        },
        {
          "tag": "3.5.4",
          "kind": "patch",
          "published_at": "2025-07-01T17:15:30Z"
        },
        {
          "tag": "3.5.3",
          "kind": "patch",
          "published_at": "2025-03-27T02:46:54Z"
        },
        {
          "tag": "3.4.2",
          "kind": "patch",
          "published_at": "2025-03-27T02:45:49Z"
        },
        {
          "tag": "3.3.4",
          "kind": "patch",
          "published_at": "2025-03-27T02:44:57Z"
        },
        {
          "tag": "3.5.2",
          "kind": "patch",
          "published_at": "2025-02-11T19:36:26Z"
        },
        {
          "tag": "3.5.1",
          "kind": "patch",
          "published_at": "2024-11-20T17:10:26Z"
        },
        {
          "tag": "3.5.0",
          "kind": "minor",
          "published_at": "2024-10-24T18:35:51Z"
        },
        {
          "tag": "3.4.1",
          "kind": "patch",
          "published_at": "2024-07-17T14:32:39Z"
        },
        {
          "tag": "3.4.0",
          "kind": "minor",
          "published_at": "2024-05-17T17:19:26Z"
        },
        {
          "tag": "3.3.3",
          "kind": "patch",
          "published_at": "2024-02-20T21:31:07Z"
        },
        {
          "tag": "2.7.12",
          "kind": "patch",
          "published_at": "2024-02-20T21:17:20Z"
        },
        {
          "tag": "3.3.2",
          "kind": "patch",
          "published_at": "2023-12-19T15:21:37Z"
        },
        {
          "tag": "3.3.1",
          "kind": "patch",
          "published_at": "2023-11-29T18:37:59Z"
        },
        {
          "tag": "2.7.11",
          "kind": "patch",
          "published_at": "2023-11-08T19:15:15Z"
        },
        {
          "tag": "3.3.0",
          "kind": "minor",
          "published_at": "2023-11-08T19:16:53Z"
        },
        {
          "tag": "3.2.0",
          "kind": "minor",
          "published_at": "2023-08-25T15:03:53Z"
        },
        {
          "tag": "3.0.11",
          "kind": "patch",
          "published_at": "2023-08-25T15:00:48Z"
        },
        {
          "tag": "2.7.10",
          "kind": "patch",
          "published_at": "2023-08-25T14:58:21Z"
        },
        {
          "tag": "3.1.4",
          "kind": "patch",
          "published_at": "2023-05-01T15:10:53Z"
        },
        {
          "tag": "2.7.9",
          "kind": "patch",
          "published_at": "2023-03-22T15:49:41Z"
        },
        {
          "tag": "3.1.3",
          "kind": "patch",
          "published_at": "2023-03-22T15:51:11Z"
        },
        {
          "tag": "3.1.2",
          "kind": "patch",
          "published_at": "2023-01-24T17:34:10Z"
        },
        {
          "tag": "2.7.8",
          "kind": "patch",
          "published_at": "2023-01-24T17:32:58Z"
        },
        {
          "tag": "3.1.1",
          "kind": "patch",
          "published_at": "2023-01-11T22:18:40Z"
        },
        {
          "tag": "3.0.10",
          "kind": "patch",
          "published_at": "2023-01-11T22:16:36Z"
        },
        {
          "tag": "3.0.9",
          "kind": "patch",
          "published_at": "2022-11-08T18:32:08Z"
        },
        {
          "tag": "2.7.7",
          "kind": "patch",
          "published_at": "2022-11-08T18:30:14Z"
        },
        {
          "tag": "3.0.8",
          "kind": "patch",
          "published_at": "2022-09-20T14:43:56Z"
        },
        {
          "tag": "3.0.7",
          "kind": "patch",
          "published_at": "2022-08-04T15:16:38Z"
        },
        {
          "tag": "2.7.6",
          "kind": "patch",
          "published_at": "2022-06-29T14:54:53Z"
        },
        {
          "tag": "3.0.6",
          "kind": "patch",
          "published_at": "2022-06-29T14:56:19Z"
        },
        {
          "tag": "3.0.5",
          "kind": "patch",
          "published_at": "2022-05-25T13:46:10Z"
        },
        {
          "tag": "3.0.4",
          "kind": "patch",
          "published_at": "2022-03-25T19:34:34Z"
        },
        {
          "tag": "2.7.5",
          "kind": "patch",
          "published_at": "2022-01-19T18:05:53Z"
        },
        {
          "tag": "3.0.3",
          "kind": "patch",
          "published_at": "2022-01-25T21:48:13Z"
        },
        {
          "tag": "3.0.2-rc",
          "kind": "prerelease",
          "published_at": "2021-09-16T20:26:53Z"
        },
        {
          "tag": "3.0.1-beta",
          "kind": "prerelease",
          "published_at": "2021-08-11T17:55:51Z"
        },
        {
          "tag": "2.7.4",
          "kind": "patch",
          "published_at": "2021-08-11T17:53:08Z"
        },
        {
          "tag": "2.7.3",
          "kind": "patch",
          "published_at": "2021-05-13T14:32:58Z"
        },
        {
          "tag": "3.0.0-alpha",
          "kind": "prerelease",
          "published_at": "2021-05-05T14:14:46Z"
        },
        {
          "tag": "2.7.2",
          "kind": "patch",
          "published_at": "2021-01-29T16:40:50Z"
        },
        {
          "tag": "1.7.6",
          "kind": "patch",
          "published_at": "2020-12-10T15:45:45Z"
        },
        {
          "tag": "1.7.5",
          "kind": "patch",
          "published_at": "2020-12-09T17:45:09Z"
        },
        {
          "tag": "2.7.1",
          "kind": "patch",
          "published_at": "2020-12-09T17:43:16Z"
        },
        {
          "tag": "2.7.0",
          "kind": "minor",
          "published_at": "2020-09-24T13:38:05Z"
        },
        {
          "tag": "2.6.2",
          "kind": "patch",
          "published_at": "2020-07-23T15:15:34Z"
        },
        {
          "tag": "2.6.1",
          "kind": "patch",
          "published_at": "2020-06-23T09:43:32Z"
        },
        {
          "tag": "2.6.0",
          "kind": "minor",
          "published_at": "2020-03-20T10:17:40Z"
        },
        {
          "tag": "2.5.4",
          "kind": "patch",
          "published_at": "2020-01-27T11:17:36Z"
        },
        {
          "tag": "2.5.3",
          "kind": "patch",
          "published_at": "2020-01-07T20:06:44Z"
        },
        {
          "tag": "2.5.2",
          "kind": "patch",
          "published_at": "2019-11-22T15:19:21Z"
        },
        {
          "tag": "2.5.1",
          "kind": "patch",
          "published_at": "2019-10-15T20:00:41Z"
        },
        {
          "tag": "2.5.0",
          "kind": "minor",
          "published_at": "2019-10-03T15:02:45Z"
        },
        {
          "tag": "2.4.4",
          "kind": "patch",
          "published_at": "2019-09-13T14:59:20Z"
        },
        {
          "tag": "2.4.3",
          "kind": "patch",
          "published_at": "2019-08-02T16:48:42Z"
        },
        {
          "tag": "2.4.2",
          "kind": "patch",
          "published_at": "2019-06-17T12:37:16Z"
        },
        {
          "tag": "1.8.0",
          "kind": "minor",
          "published_at": "2019-02-07T22:00:37Z"
        },
        {
          "tag": "2.4.0",
          "kind": "minor",
          "published_at": "2019-01-29T08:00:20Z"
        },
        {
          "tag": "2.3.0",
          "kind": "minor",
          "published_at": "2018-09-06T15:15:31Z"
        },
        {
          "tag": "2.2.6",
          "kind": "patch",
          "published_at": "2018-07-19T16:04:43Z"
        },
        {
          "tag": "2.2.5",
          "kind": "patch",
          "published_at": "2018-05-28T19:27:59Z"
        },
        {
          "tag": "1.7.4",
          "kind": "patch",
          "published_at": "2018-05-28T19:26:35Z"
        },
        {
          "tag": "2.2.4",
          "kind": "patch",
          "published_at": "2018-05-04T19:11:04Z"
        },
        {
          "tag": "1.7.3",
          "kind": "patch",
          "published_at": "2018-03-08T20:52:28Z"
        },
        {
          "tag": "2.2.3",
          "kind": "patch",
          "published_at": "2018-03-08T20:53:13Z"
        },
        {
          "tag": "2.2.2",
          "kind": "patch",
          "published_at": "2018-02-20T00:22:00Z"
        },
        {
          "tag": "1.7.2",
          "kind": "patch",
          "published_at": "2018-02-20T00:17:24Z"
        },
        {
          "tag": "2.2.1",
          "kind": "patch",
          "published_at": "2017-12-22T11:45:29Z"
        },
        {
          "tag": "1.7.1",
          "kind": "patch",
          "published_at": "2017-12-22T11:44:44Z"
        },
        {
          "tag": "2.2.0",
          "kind": "minor",
          "published_at": "2017-11-08T02:03:58Z"
        },
        {
          "tag": "1.7.0",
          "kind": "minor",
          "published_at": "2017-11-08T01:53:31Z"
        },
        {
          "tag": "2.1.2",
          "kind": "patch",
          "published_at": "2017-09-24T21:16:26Z"
        },
        {
          "tag": "1.6.5",
          "kind": "patch",
          "published_at": "2017-09-24T21:14:03Z"
        },
        {
          "tag": "2.1.1",
          "kind": "patch",
          "published_at": "2017-09-05T14:36:30Z"
        },
        {
          "tag": "1.6.4",
          "kind": "patch",
          "published_at": "2017-09-05T14:35:30Z"
        },
        {
          "tag": "2.1.0",
          "kind": "minor",
          "published_at": "2017-07-29T11:30:46Z"
        },
        {
          "tag": "1.6.3",
          "kind": "patch",
          "published_at": "2017-07-29T09:16:29Z"
        },
        {
          "tag": "2.0.3",
          "kind": "patch",
          "published_at": "2017-06-27T13:15:03Z"
        },
        {
          "tag": "1.6.2",
          "kind": "patch",
          "published_at": "2017-06-27T13:16:42Z"
        },
        {
          "tag": "2.0.2",
          "kind": "patch",
          "published_at": "2017-06-05T21:06:47Z"
        },
        {
          "tag": "1.6.1",
          "kind": "patch",
          "published_at": "2017-06-05T21:01:33Z"
        },
        {
          "tag": "2.0.1",
          "kind": "patch",
          "published_at": "2017-05-10T13:18:02Z"
        },
        {
          "tag": "1.6.0",
          "kind": "minor",
          "published_at": "2017-05-10T13:01:04Z"
        },
        {
          "tag": "2.0.0-RC",
          "kind": "prerelease",
          "published_at": "2017-04-20T07:36:11Z"
        },
        {
          "tag": "1.5.9",
          "kind": "patch",
          "published_at": "2017-03-09T02:15:53Z"
        },
        {
          "tag": "1.5.8",
          "kind": "patch",
          "published_at": "2017-02-10T15:58:55Z"
        },
        {
          "tag": "1.5.7",
          "kind": "patch",
          "published_at": "2017-01-12T16:42:38Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6164678e83aa9d203939d5bec73bd4571cbec8a2",
          "body": null,
          "is_bot": false,
          "headline": "[misc] update changelog",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T15:16:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f58858707c3d59881b171c40ec5ddd2773b0642",
          "body": "…low\" after batch insert when AUTO_INCREMENT value exceeds Integer.MAX_VALUE",
          "is_bot": false,
          "headline": "[CONJ-1335] getGeneratedKeys() throws SQLDataException \"integer overf…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T15:11:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f06db76c8502fa952dcd4de6ebe46cfe3f6ead9",
          "body": null,
          "is_bot": false,
          "headline": "[misc] CI stability improvement",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T14:58:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99aa9e2e7b84ecf4edec20beeac37752066599c8",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1336] correction follow up",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T14:35:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28a1550357fd3773a1cda68d545e79573c26bc8a",
          "body": "…verification\n\nSigned-off-by: Peter Zaoral <pzaoral@redhat.com>",
          "is_bot": false,
          "headline": "[CONJ-1336] strip trailing dot from hostname before SNI and hostname …",
          "author_name": "Peter Zaoral",
          "author_login": "Pepo48",
          "committed_at": "2026-07-29T14:27:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2b3f1beb8a5cb83f48e68ed7b912c637da0634e",
          "body": null,
          "is_bot": false,
          "headline": "[misc] limit authentication switch requests to 10 per connection",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T14:04:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26ca60ab4a6d58905d8beef98428bf04d6cd4a5f",
          "body": null,
          "is_bot": false,
          "headline": "[misc] bound the whole connection phase by connectTimeout",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T14:02:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15e08ff54fd0247a5491fe2695562d36b8e7f7c2",
          "body": "…e connection time",
          "is_bot": false,
          "headline": "[CONJ-1337] Limit parsec authentication PBKDF2 iteration factor to th…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T13:55:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3c4a726d7cfcc0fa10ee4cdcca423a7d88c67ab",
          "body": null,
          "is_bot": false,
          "headline": "bump 3.5.10 version",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-29T13:30:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d85e05f4dc010ce40df548cf908da6bbc2640903",
          "body": "…a jar: URL, enabling RCE when JDBC URL is attacker-controlled",
          "is_bot": false,
          "headline": "[CONJ-1342] socketFactory option allows loading arbitrary bytecode vi…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T15:25:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ad82ae78da7e3382fe83a79743b45d22e4118f7",
          "body": null,
          "is_bot": false,
          "headline": "[misc] test correction for hostname validation, ssl case",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T14:06:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05c5474d2bcd98f79ea5fffcebed497649deab2d",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1340] ensuring having database set when using updatable results",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T14:03:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "603af17694b0d3032eca681bc9b274583ab44d1d",
          "body": null,
          "is_bot": false,
          "headline": "[misc] remove duplicated javadoc block",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T13:40:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2614c2e4c1961b48686eda1f5c502f9c510a206d",
          "body": null,
          "is_bot": false,
          "headline": "[misc] keep datasource state in a single Configuration.Builder",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T13:40:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb176a0e2cc4681cedb56cbab5b6dabfc5900bcd",
          "body": "… url",
          "is_bot": false,
          "headline": "[misc] redact credentials at rendering time, not in the configuration…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T13:40:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4db7e2e81e041a863ff963c9627a00dca4575137",
          "body": null,
          "is_bot": false,
          "headline": "[misc] silence maven-compiler-plugin warnings",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T13:33:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78d5c35d322dd792d3a07a454d9d3bf460285e93",
          "body": null,
          "is_bot": false,
          "headline": "[misc] test correction for hostname validation",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-28T13:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03b9df302f8804ff27c1cbceeba76eaf791bc793",
          "body": "(cherry picked from commit 9d0efb24b3f63ce8498a25433a1cef0b04eed5da)",
          "is_bot": false,
          "headline": "mask sensitive nonMappedOptions when serializing connection url",
          "author_name": "Syed Mohammed Nayyar",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-07-28T08:22:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ecc80d7e2004fb6f13c4dd5cbb9730643153ea6",
          "body": "…res the user argument when the pool's own password is supplied",
          "is_bot": false,
          "headline": "[CONJ-1341]  MariaDbPoolDataSource.getConnection(user, password) igno…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-27T16:40:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5b1a3d9f3645a086e2d4e4387d7f372031a1550",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-24T17:42:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08452f78f0c3b831e388f091301de4504dc42a09",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1327] ignore cn only when a san entry of the host type is present",
          "author_name": "Syed Mohammed Nayyar",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-07-24T17:41:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "879d81841cb8af232f1355ffdd6fbceee8a51d20",
          "body": null,
          "is_bot": false,
          "headline": "cap length-encoded field length before narrowing to int in row decoders",
          "author_name": "Syed Mohammed Nayyar",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-07-24T17:07:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "554a88a2ae07a5d72135a31c29a424c1d1f9ac94",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1340] escape identifiers in updatable result set generated sql",
          "author_name": "Syed Mohammed Nayyar",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-07-24T16:46:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd0b6fa162ffeb53c0925c47bafd4621eff5e66f",
          "body": "…to execute",
          "is_bot": false,
          "headline": "[CONJ-1307] connection.setReadOnly(true) still allows DML statements …",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-24T16:24:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2831dc9ab7d22e4fb3b1fa51f627ef4627d75a6",
          "body": "…lumn count",
          "is_bot": false,
          "headline": "[CONJ-1339] Add maxAllowedColumns option to bound server-announced co…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-24T13:01:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30d4a883377a9b7762e02ee2c60d54567032ab99",
          "body": "…efore use as a length",
          "is_bot": false,
          "headline": "[CONJ-1338] validate length-encoded integers fit a non-negative int b…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-20T16:54:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22ca56817cf2172cb3760ac7931773f59fa1feea",
          "body": null,
          "is_bot": false,
          "headline": "[misc] benchmark correction for java 23+",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-20T12:01:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad193dd81fb6335ad18115e79be348deca8da044",
          "body": null,
          "is_bot": false,
          "headline": "[misc] CI proxy failover stability improvement",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-13T15:15:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "824b627bd6bda8daedd923785df6e53e9048af1d",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1333} maxAllowedPacket default value follow up",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-13T14:38:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24ef4350aabca3e7dcea96a97eb182761a82d349",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1333] Add maxAllowedPacket connection option (send/receive limit)",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-13T12:14:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77cb4585bcd587718429129487e8fb84b6b6d0c5",
          "body": null,
          "is_bot": false,
          "headline": "[misc] bump jacoco version",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-13T09:49:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "214d370f39c632b11edbcdc5c0af85d312e398b7",
          "body": null,
          "is_bot": false,
          "headline": "[misc] fix flaky UnixsocketTest FD-leak check on macOS",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-09T13:53:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3f7e1fe520bb43477317643979c2bf5a0e50eca",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1332] Reject multipart (>16 MB) packets before authentication",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-09T13:48:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "200c18e53270db8a4326df9f59f1765994205e69",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1330] update infer to 1.3.0 version",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-08T12:17:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71f12b5ad0287c7280e3281d03f5bebd470ac872",
          "body": null,
          "is_bot": false,
          "headline": "[misc] handle possible NPE properly",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-08T12:16:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "765a6140ae4f53a2d0c2657c0266e9e56f0f4cb6",
          "body": null,
          "is_bot": false,
          "headline": "[misc] disallow debugging logs at authentication level",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-08T11:43:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "854de227ac904701dbbfde7eed0103f03a33d562",
          "body": "…ring identity",
          "is_bot": false,
          "headline": "[CONJ-1331] Merge PR #233: validate trustStore chain instead of defer…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-06T10:30:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "960423184d32f887f5cb2ec03ac636047a4570ac",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1330] add Infer static-analysis config",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-06T10:11:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45815bc59549dce0005aadc365dcaeb1bda9c917",
          "body": null,
          "is_bot": false,
          "headline": "[misc] fix NPE and resource leak",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-06T10:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb24d5a5cdb34c34c666ceb031987492cab81d14",
          "body": null,
          "is_bot": false,
          "headline": "validate trustStore chain instead of deferring identity",
          "author_name": "Syed Mohammed Nayyar",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-07-03T17:38:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12cffa32a8604cbe03a5acb8b69fbbd895436499",
          "body": "…ail-closed\n\nrefuse local infile request when parameter value unavailable",
          "is_bot": false,
          "headline": "[CONJ-1329] Merge pull request #232 from jmestwa-coder/local-infile-f…",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-01T13:06:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4d84c465815a6f344bce6e8d14dd2aa7d2f9a20",
          "body": "match restrictedAuth plugin list exactly",
          "is_bot": false,
          "headline": "Merge pull request #231 from jmestwa-coder/restricted-auth-exact-match",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-01T11:59:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "167af2500f7b306c1c306db66ec76d7047f135aa",
          "body": "mask password in redirect url before logging",
          "is_bot": false,
          "headline": "Merge pull request #229 from jmestwa-coder/redirect-url-hide-password",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-07-01T09:10:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbe622c3ce0fb3b42bb6b2a70767ed3fc6815c57",
          "body": "enquoteLiteral now escapes according to the server sql_mode: the quote is\nalways doubled (safe everywhere), but the backslash is only escaped under\nthe default mode. Under NO_BACKSLASH_ESCAPES the backslash is a literal\ncharacter, so doubling it would corrupt data - only the quote is doubled.\nValues\n[…]\n with a no-escape fast path.\n\nenquoteNCharLiteral no longer emits the N introducer: N'...' forces utf8mb3\nand rejects/corrupts 4-byte utf8mb4 characters, so it now escapes exactly\nlike enquoteLiteral.",
          "is_bot": false,
          "headline": "[misc] sql_mode-aware enquoteLiteral, utf8mb4-safe enquoteNCharLiteral",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T17:36:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aa8cb0a87f352eed59a85c48b76b01f63bd53083",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1326] Unsafe escaping in enquoteLiteral()/enquoteNCharLiteral()",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T16:45:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c03bee1d421b0423c806a61433ff15ae57cfc80e",
          "body": "fix unsafe escaping in enquoteLiteral and enquoteNCharLiteral",
          "is_bot": false,
          "headline": "Merge pull request #228 from jmestwa-coder/enquote-literal-escaping",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T14:58:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb845474c1fe2e127dea1eb0132fa4f56bb381d0",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T14:41:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2e666d583c3de8634f4ac8c8c903d3ff5d619fa",
          "body": null,
          "is_bot": false,
          "headline": "[misc] upgrade google-java-format to 1.35.0 for JDK 25 support",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T14:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82ad499c642eee5520f18ce611ebc8a03f3e452e",
          "body": "skip unknown session-track entries from OkPacket session buffer",
          "is_bot": false,
          "headline": "Merge pull request #227 from jmestwa-coder/okpacket-session-track-skip",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T14:22:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56e6736b4fdd57c06d62cecbf0f3b5f3f336033c",
          "body": "read parsec auth iteration count as unsigned byte",
          "is_bot": false,
          "headline": "Merge pull request #226 from jmestwa-coder/parsec-iteration-unsigned",
          "author_name": "rusher",
          "author_login": "rusher",
          "committed_at": "2026-06-29T14:17:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25c6dcaf95f7c17dda7a94d03ba4b53672718fa9",
          "body": null,
          "is_bot": false,
          "headline": "read parsec auth iteration count as unsigned byte",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-29T07:38:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9377bc8659c5547834fc18507824bacd10464a0",
          "body": null,
          "is_bot": false,
          "headline": "[misc] correct test logic for new maxscale version",
          "author_name": "diego",
          "author_login": "rusher",
          "committed_at": "2026-06-23T17:45:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "987021c0406c584b79f908e1b71158cafd8daf11",
          "body": null,
          "is_bot": false,
          "headline": "[misc] missing changelog entry",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-23T14:13:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "347117ccf3654a2a32ed6f21ede6799291cf37ca",
          "body": null,
          "is_bot": false,
          "headline": "refuse local infile request when parameter value unavailable",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-17T07:45:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e29b29181c1f1d862971788cc07ead85d43ae5c2",
          "body": null,
          "is_bot": false,
          "headline": "match restrictedAuth plugin list exactly",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-16T15:47:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a410311a74e5b6d596b93507142efb9a5c9fc089",
          "body": null,
          "is_bot": false,
          "headline": "mask password in redirect url before logging",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-16T05:54:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a637571340bfcbcec104abfdf426609fd218afa",
          "body": null,
          "is_bot": false,
          "headline": "double quote and backslash in enquoteLiteral and enquoteNCharLiteral",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-13T17:55:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a04d44defc6cccb3cc313f735b0bfd343e6997ad",
          "body": null,
          "is_bot": false,
          "headline": "skip unknown session-track entries from OkPacket session buffer",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-13T06:51:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e9f2410663d0ff583ef949c0866f659d8b578c8",
          "body": "…ion for improved test reliability",
          "is_bot": false,
          "headline": "[misc] update PooledConnectionTest to prevent idle connection recreat…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-10T17:34:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df4ebe2c61293b7a79ab9dd440199544305d1f38",
          "body": "… and connection handling",
          "is_bot": false,
          "headline": "[misc] enhance TcpProxy and TcpProxySocket for improved thread safety…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T18:22:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "687c840492ae26e7d2352622b2f69239f9df16d8",
          "body": null,
          "is_bot": false,
          "headline": "[misc] update environment variable for Maxscale version",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T17:26:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4466ad6d0cbe55bbe2ebe6465ccef0ff2b463a06",
          "body": "…edConnectionTest",
          "is_bot": false,
          "headline": "[misc] test stability improvement : update proxy close method in Pool…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T17:01:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e29819b92618620f83a146b33203e4950920c1c",
          "body": null,
          "is_bot": false,
          "headline": "[misc] update README version",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T16:12:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da297f1c0cde791f8ada8d0776bd657dab987b24",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'develop'",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T16:11:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83d3da917861b90a3501b4f63b3ea3326865d3fc",
          "body": null,
          "is_bot": false,
          "headline": "[misc] Update CHANGELOG",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T16:10:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e39e8b9801619ea0adb8e6f55dde4967c3c8063b",
          "body": "(cherry picked from commit 1bacbbe2815c16f78075210ca43231754762f895)",
          "is_bot": false,
          "headline": "match local infile filename case-sensitively",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-09T15:21:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d90b9872322c76b05a48219be66bff1d33102f8a",
          "body": "…s for credential leakage",
          "is_bot": false,
          "headline": "[misc] Implement secure authentication checks and add regression test…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-09T12:49:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4a727c764d1cf48fd0c3d5e301dfa92503e0a58",
          "body": "thanks fg0x0 for the report",
          "is_bot": false,
          "headline": "[CONJ-1320] PAM (dialog) authentication must require a secure connection",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-08T15:01:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a87c711315f501497509c693564aad3eda50d187",
          "body": null,
          "is_bot": false,
          "headline": "[misc] update CHANGELOG",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-08T14:33:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7e9b0eb5965570a51a9d96bb1a17d93ab4d7e57",
          "body": "(cherry picked from commit 82887ce180d72da32f075c57a302ebf40f5a6cac)",
          "is_bot": false,
          "headline": "[CONJ-1319] use constant-time comparison in validateFingerPrint",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-08T14:27:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0205d8be947918566cd9ce5a9db149541bbc8dee",
          "body": "…ILE against a malicious server\n\nthanks tharavel for the report",
          "is_bot": false,
          "headline": "[CONJ-1318] allowLocalInfile=false does not block LOAD DATA LOCAL INF…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-08T14:08:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42b5008aeb98ae863a74a2535a24879e71329de9",
          "body": null,
          "is_bot": false,
          "headline": "[misc] update license header to 2026",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T14:08:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e99a59444358b1117ba0a4346f92bf48a8318d4",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T12:26:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec326566754d31b7be92027b00f74a17db13099a",
          "body": "(cherry picked from commit 596b3838d3696f0105b0ee4b530f2040c618b013)",
          "is_bot": false,
          "headline": "create gssapi jaas config temp file with owner-only permissions",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-05T12:24:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4daabe21f5ab49bec64df2fb728666bb157641a1",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1223] cache TLS trust/key managers across connections",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T12:17:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42988a6e46bc785b7fefea98c799283dc48f98ed",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T10:51:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1557c3bf9cc5c2c4bdd3bb2cadb7455edb3f6f87",
          "body": null,
          "is_bot": false,
          "headline": "[misc] add .vscode and .claude to .gitignore",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T10:33:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15c4ac2a7ed075fb74935ed60ffef608a3514da6",
          "body": null,
          "is_bot": false,
          "headline": "[misc] only buffer in-transaction statements for transaction replay",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-05T10:26:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6c82bf4c3024d9cb85dd612196f68fc42efce20",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1264] handle LocalDateTime as a zoneless wall-clock value",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-02T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d9ede477f7fa4951b5de54d0e785cda21fa44db",
          "body": "…iting batches",
          "is_bot": false,
          "headline": "[CONJ-1299] keep VALUES literals after the last placeholder when rewr…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T15:50:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd8db2592656643cfa98a293d34953032312637b",
          "body": null,
          "is_bot": false,
          "headline": "[misc] fix cross-thread failover-state race in MultiPrimaryReplicaClient",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T15:10:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "499c7cbef7255bd9adf2df225025a6e077a637bd",
          "body": "…paths",
          "is_bot": false,
          "headline": "[misc] hold connection lock in prepared-statement lifecycle/metadata …",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02ca68194286c345a488193c107d8d0729d84b05",
          "body": null,
          "is_bot": false,
          "headline": "encode caching_sha2 clear password as UTF-8",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a93b29001718844ae93935a40ed201b4831215ea",
          "body": "…ema fallback",
          "is_bot": false,
          "headline": "CONJ-1304] fix CallableStatement parameter metadata on MySQL info_sch…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e36f912e0726e02154fa0267f969ce394f6357af",
          "body": null,
          "is_bot": false,
          "headline": "[misc] improving test reliability",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e14a1ffb12e37df9278ce32f7dd7202e3a96b44",
          "body": "Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.6 to 3.27.7.\n- [Release notes](https://github.com/assertj/assertj/releases)\n- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7)\n\n---\nupdated-dependencies:\n- dependency-name: org.assertj:assertj-core\n  dependency-version: 3.27.7\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump org.assertj:assertj-core from 3.27.6 to 3.27.7",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3638b3c09b44da2f4f1905118f78f57162e6a9bb",
          "body": null,
          "is_bot": false,
          "headline": "[misc] use literal -- instead of [-] in LOAD LOCAL INFILE comment regex",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a7bec1ec804c39c1cea4d266b1e02fa52daefab",
          "body": "[--] is a degenerate character range (start == end) that is not portable across regex engines. [-] unambiguously matches a literal hyphen and is the correct way to express a single-character class containing only -.",
          "is_bot": false,
          "headline": "Fix: replace [--] with [-] in LOAD LOCAL INFILE regex patterns",
          "author_name": "Sebastian Dombrowski",
          "author_login": "sebdomdev",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f0a81c195413debae6e6983af01338eb09c7af1",
          "body": "Bumps [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) from 1.83 to 1.84.\n- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)\n- [Commits](https://github.com/bcgit/bc-java/commits)\n\n---\nupdated-dependencies:\n- dependency-name: org.bouncycastle:bcpkix-jdk18on\n  dependency-version: '1.84'\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump org.bouncycastle:bcpkix-jdk18on from 1.83 to 1.84",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fac8b455eefd02d95f6995752e7f01a2a5a3196",
          "body": null,
          "is_bot": false,
          "headline": "[misc] pin Locale.ROOT on remaining locale-sensitive call sites",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4517692e337c3c28a078357870b23518b0d008e",
          "body": null,
          "is_bot": false,
          "headline": "use Locale.ROOT in date/time codec text formatting",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9463dec01102e250d4ec57c9307117ee0e00d1b",
          "body": "… when available",
          "is_bot": false,
          "headline": "[CONJ-1304] read CallableStatement parameter metadata from mysql.proc…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71635350ae0ddf54f326ec8e6be480a0dc061838",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1311] add dedicated option useIpForKillQuery for cancelling",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f4ec4380e1e23f9eebe2b140366441b8cf4f559",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b023a90d26daccb17951bdf0e92ed510e037b662",
          "body": "…ULL when client.getSocketIp != null",
          "is_bot": false,
          "headline": "[CONJ-1311] Connection.cancelCurrentQuery fails with SslMode.VERIFY_F…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56f9cc0890ec73997d1f16d61b552a2361c1f318",
          "body": "…e NPE",
          "is_bot": false,
          "headline": "[CONJ-1313] Race condition in HaMode#getAvailableHostInOrder can caus…",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59cb6ae07ae558f47b7894d4e5f80e85b69b5f17",
          "body": null,
          "is_bot": false,
          "headline": "[CONJ-1314] Add SPI for interactive dialog (PAM) authentication callback",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a9b132effc80f5a64e8799815a4ac0a1a31a852",
          "body": null,
          "is_bot": false,
          "headline": "[misc] code style correction",
          "author_name": "kolzeeq",
          "author_login": "rusher",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ba38d952864976141d31dc2c8ba20d26aa7e0b9",
          "body": null,
          "is_bot": false,
          "headline": "format Duration text value with Locale.ROOT",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c9d89791d3114ae7f00b9d38d230d0d6be22e2b",
          "body": null,
          "is_bot": false,
          "headline": "call inflater.end() in finally in CompressInputStream",
          "author_name": "jmestwa-coder",
          "author_login": "jmestwa-coder",
          "committed_at": "2026-06-01T13:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 196,
      "latest_release_at": "2026-07-29T18:56:46Z",
      "latest_release_tag": "3.5.10",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 35,
      "days_since_latest_release": 1,
      "mean_days_between_releases": 24.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "org.mariadb.jdbc:mariadb-java-client",
          "exists": true,
          "license": "LGPL-2.1-or-later",
          "keywords": [],
          "ecosystem": "maven",
          "matches_repo": true,
          "registry_url": "https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client",
          "is_deprecated": false,
          "latest_version": "3.5.10",
          "repository_url": "https://github.com/mariadb-corporation/mariadb-connector-j",
          "versions_count": 135,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-29T19:20:54Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1
        }
      ]
    },
    "popularity": {
      "forks": 241,
      "stars": 359,
      "watchers": 64,
      "fork_history": {
        "days": [
          {
            "date": "2015-02-03",
            "count": 1
          },
          {
            "date": "2015-02-13",
            "count": 1
          },
          {
            "date": "2015-03-24",
            "count": 1
          },
          {
            "date": "2015-05-14",
            "count": 1
          },
          {
            "date": "2015-05-18",
            "count": 1
          },
          {
            "date": "2015-05-21",
            "count": 1
          },
          {
            "date": "2015-05-29",
            "count": 1
          },
          {
            "date": "2015-07-02",
            "count": 1
          },
          {
            "date": "2015-07-13",
            "count": 1
          },
          {
            "date": "2015-07-31",
            "count": 1
          },
          {
            "date": "2015-08-01",
            "count": 1
          },
          {
            "date": "2015-08-12",
            "count": 2
          },
          {
            "date": "2015-10-23",
            "count": 1
          },
          {
            "date": "2015-11-05",
            "count": 1
          },
          {
            "date": "2015-11-10",
            "count": 1
          },
          {
            "date": "2015-11-25",
            "count": 1
          },
          {
            "date": "2015-11-30",
            "count": 1
          },
          {
            "date": "2015-12-08",
            "count": 1
          },
          {
            "date": "2015-12-13",
            "count": 1
          },
          {
            "date": "2016-01-13",
            "count": 2
          },
          {
            "date": "2016-01-22",
            "count": 1
          },
          {
            "date": "2016-01-26",
            "count": 1
          },
          {
            "date": "2016-02-27",
            "count": 1
          },
          {
            "date": "2016-03-03",
            "count": 1
          },
          {
            "date": "2016-04-12",
            "count": 1
          },
          {
            "date": "2016-04-19",
            "count": 1
          },
          {
            "date": "2016-04-28",
            "count": 1
          },
          {
            "date": "2016-05-03",
            "count": 1
          },
          {
            "date": "2016-06-11",
            "count": 1
          },
          {
            "date": "2016-06-23",
            "count": 1
          },
          {
            "date": "2016-07-06",
            "count": 1
          },
          {
            "date": "2016-07-29",
            "count": 1
          },
          {
            "date": "2016-08-05",
            "count": 1
          },
          {
            "date": "2016-08-13",
            "count": 1
          },
          {
            "date": "2016-08-24",
            "count": 1
          },
          {
            "date": "2016-09-02",
            "count": 1
          },
          {
            "date": "2016-09-13",
            "count": 1
          },
          {
            "date": "2016-09-28",
            "count": 1
          },
          {
            "date": "2016-09-30",
            "count": 1
          },
          {
            "date": "2016-10-20",
            "count": 1
          },
          {
            "date": "2016-11-15",
            "count": 1
          },
          {
            "date": "2016-11-28",
            "count": 1
          },
          {
            "date": "2016-12-30",
            "count": 1
          },
          {
            "date": "2017-01-11",
            "count": 1
          },
          {
            "date": "2017-01-18",
            "count": 1
          },
          {
            "date": "2017-01-30",
            "count": 1
          },
          {
            "date": "2017-02-04",
            "count": 1
          },
          {
            "date": "2017-02-06",
            "count": 1
          },
          {
            "date": "2017-02-09",
            "count": 1
          },
          {
            "date": "2017-02-20",
            "count": 1
          },
          {
            "date": "2017-03-06",
            "count": 1
          },
          {
            "date": "2017-03-21",
            "count": 1
          },
          {
            "date": "2017-03-28",
            "count": 1
          },
          {
            "date": "2017-04-07",
            "count": 1
          },
          {
            "date": "2017-04-08",
            "count": 1
          },
          {
            "date": "2017-04-12",
            "count": 1
          },
          {
            "date": "2017-04-19",
            "count": 1
          },
          {
            "date": "2017-05-04",
            "count": 1
          },
          {
            "date": "2017-05-24",
            "count": 1
          },
          {
            "date": "2017-06-04",
            "count": 1
          },
          {
            "date": "2017-06-13",
            "count": 1
          },
          {
            "date": "2017-06-22",
            "count": 1
          },
          {
            "date": "2017-07-20",
            "count": 1
          },
          {
            "date": "2017-08-12",
            "count": 1
          },
          {
            "date": "2017-08-23",
            "count": 1
          },
          {
            "date": "2017-09-07",
            "count": 1
          },
          {
            "date": "2017-09-15",
            "count": 1
          },
          {
            "date": "2017-09-17",
            "count": 1
          },
          {
            "date": "2017-09-27",
            "count": 1
          },
          {
            "date": "2017-10-26",
            "count": 2
          },
          {
            "date": "2017-11-05",
            "count": 1
          },
          {
            "date": "2017-11-28",
            "count": 2
          },
          {
            "date": "2017-12-23",
            "count": 1
          },
          {
            "date": "2018-01-01",
            "count": 1
          },
          {
            "date": "2018-01-10",
            "count": 1
          },
          {
            "date": "2018-01-31",
            "count": 2
          },
          {
            "date": "2018-02-06",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-02-09",
            "count": 1
          },
          {
            "date": "2018-02-15",
            "count": 1
          },
          {
            "date": "2018-03-08",
            "count": 1
          },
          {
            "date": "2018-03-13",
            "count": 1
          },
          {
            "date": "2018-03-19",
            "count": 1
          },
          {
            "date": "2018-05-14",
            "count": 1
          },
          {
            "date": "2018-05-16",
            "count": 1
          },
          {
            "date": "2018-06-14",
            "count": 1
          },
          {
            "date": "2018-06-15",
            "count": 1
          },
          {
            "date": "2018-06-29",
            "count": 1
          },
          {
            "date": "2018-07-02",
            "count": 1
          },
          {
            "date": "2018-07-10",
            "count": 1
          },
          {
            "date": "2018-07-28",
            "count": 1
          },
          {
            "date": "2018-08-27",
            "count": 1
          },
          {
            "date": "2018-08-29",
            "count": 1
          },
          {
            "date": "2018-09-07",
            "count": 1
          },
          {
            "date": "2018-11-25",
            "count": 1
          },
          {
            "date": "2018-12-11",
            "count": 1
          },
          {
            "date": "2018-12-22",
            "count": 1
          },
          {
            "date": "2018-12-26",
            "count": 1
          },
          {
            "date": "2019-01-03",
            "count": 1
          },
          {
            "date": "2019-01-10",
            "count": 1
          },
          {
            "date": "2019-01-15",
            "count": 1
          },
          {
            "date": "2019-01-27",
            "count": 1
          },
          {
            "date": "2019-01-28",
            "count": 1
          },
          {
            "date": "2019-02-27",
            "count": 1
          },
          {
            "date": "2019-02-28",
            "count": 1
          },
          {
            "date": "2019-03-07",
            "count": 1
          },
          {
            "date": "2019-03-11",
            "count": 1
          },
          {
            "date": "2019-03-14",
            "count": 1
          },
          {
            "date": "2019-04-07",
            "count": 1
          },
          {
            "date": "2019-04-11",
            "count": 1
          },
          {
            "date": "2019-04-18",
            "count": 1
          },
          {
            "date": "2019-04-24",
            "count": 1
          },
          {
            "date": "2019-05-02",
            "count": 2
          },
          {
            "date": "2019-05-07",
            "count": 1
          },
          {
            "date": "2019-05-18",
            "count": 1
          },
          {
            "date": "2019-05-28",
            "count": 1
          },
          {
            "date": "2019-06-07",
            "count": 1
          },
          {
            "date": "2019-06-26",
            "count": 1
          },
          {
            "date": "2019-07-17",
            "count": 1
          },
          {
            "date": "2019-08-22",
            "count": 1
          },
          {
            "date": "2019-08-23",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2019-09-06",
            "count": 1
          },
          {
            "date": "2019-09-07",
            "count": 1
          },
          {
            "date": "2019-09-10",
            "count": 1
          },
          {
            "date": "2019-10-12",
            "count": 1
          },
          {
            "date": "2019-10-27",
            "count": 1
          },
          {
            "date": "2019-11-14",
            "count": 1
          },
          {
            "date": "2019-11-15",
            "count": 1
          },
          {
            "date": "2019-12-11",
            "count": 1
          },
          {
            "date": "2020-01-22",
            "count": 1
          },
          {
            "date": "2020-02-03",
            "count": 1
          },
          {
            "date": "2020-03-02",
            "count": 1
          },
          {
            "date": "2020-03-09",
            "count": 1
          },
          {
            "date": "2020-03-15",
            "count": 1
          },
          {
            "date": "2020-03-22",
            "count": 1
          },
          {
            "date": "2020-03-25",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 1
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-04-15",
            "count": 1
          },
          {
            "date": "2020-05-01",
            "count": 1
          },
          {
            "date": "2020-05-29",
            "count": 1
          },
          {
            "date": "2020-06-10",
            "count": 1
          },
          {
            "date": "2020-06-11",
            "count": 1
          },
          {
            "date": "2020-06-17",
            "count": 1
          },
          {
            "date": "2020-06-23",
            "count": 2
          },
          {
            "date": "2020-06-24",
            "count": 1
          },
          {
            "date": "2020-07-01",
            "count": 1
          },
          {
            "date": "2020-08-05",
            "count": 1
          },
          {
            "date": "2020-08-21",
            "count": 1
          },
          {
            "date": "2020-10-04",
            "count": 1
          },
          {
            "date": "2020-12-13",
            "count": 1
          },
          {
            "date": "2020-12-23",
            "count": 1
          },
          {
            "date": "2021-02-20",
            "count": 1
          },
          {
            "date": "2021-03-07",
            "count": 1
          },
          {
            "date": "2021-03-11",
            "count": 1
          },
          {
            "date": "2021-03-14",
            "count": 1
          },
          {
            "date": "2021-03-16",
            "count": 1
          },
          {
            "date": "2021-03-22",
            "count": 1
          },
          {
            "date": "2021-03-31",
            "count": 1
          },
          {
            "date": "2021-06-02",
            "count": 1
          },
          {
            "date": "2021-06-17",
            "count": 1
          },
          {
            "date": "2021-07-02",
            "count": 1
          },
          {
            "date": "2021-07-28",
            "count": 1
          },
          {
            "date": "2021-09-07",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 1
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-17",
            "count": 1
          },
          {
            "date": "2022-06-09",
            "count": 1
          },
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-02",
            "count": 1
          },
          {
            "date": "2022-09-21",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-17",
            "count": 1
          },
          {
            "date": "2022-10-24",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-10",
            "count": 1
          },
          {
            "date": "2023-02-04",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-05-14",
            "count": 1
          },
          {
            "date": "2023-07-18",
            "count": 1
          },
          {
            "date": "2023-09-22",
            "count": 1
          },
          {
            "date": "2023-10-09",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-04",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-07-05",
            "count": 1
          },
          {
            "date": "2024-07-16",
            "count": 1
          },
          {
            "date": "2024-07-17",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-18",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-11-18",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2025-10-18",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-10",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-28",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 232,
        "total_forks": 241
      },
      "star_history": null,
      "open_issues_and_prs": 2
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        ".github/native-image-test/spring-boot/pom.xml",
        "pom.xml"
      ],
      "largest_source_bytes": 171373,
      "source_files_sampled": 401,
      "oversized_source_files": 9,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 10,
        "malicious_count": 0,
        "assessed_package": "maven:org.mariadb.jdbc:mariadb-java-client@3.5.10",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "org.junit:junit-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${junit.version}"
        },
        {
          "name": "software.amazon.awssdk:bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.21.1"
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.0.17"
        },
        {
          "name": "org.bouncycastle:bcpkix-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.84"
        },
        {
          "name": "software.amazon.awssdk:rds",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.openjdk.jmh:jmh-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jmh.version}"
        },
        {
          "name": "org.openjdk.jmh:jmh-generator-annprocess",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jmh.version}"
        },
        {
          "name": "com.mysql:mysql-connector-j",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${mysql-connector-java.version}"
        },
        {
          "name": "com.zaxxer:HikariCP",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "5.0.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "com.mysql:mysql-connector-j",
            "direct": true,
            "version": "9.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.zaxxer:HikariCP",
            "direct": true,
            "version": "5.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcpkix-jdk18on",
            "direct": true,
            "version": "1.84",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit:junit-bom",
            "direct": true,
            "version": "5.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-core",
            "direct": true,
            "version": "1.37",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-generator-annprocess",
            "direct": true,
            "version": "1.37",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": "2.0.17",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:bom",
            "direct": true,
            "version": "2.21.1",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:rds",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "biz.aQute.bnd:bnd-maven-plugin",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "maven"
          },
          {
            "name": "ch.qos.logback:logback-classic",
            "direct": false,
            "version": "1.3.12",
            "ecosystem": "maven"
          },
          {
            "name": "ch.qos.logback:logback-classic",
            "direct": false,
            "version": "1.5.8",
            "ecosystem": "maven"
          },
          {
            "name": "com.diffplug.spotless:spotless-maven-plugin",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.waffle:waffle-jna",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.waffle:waffle-jna",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "3.13.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-gpg-plugin",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-jar-plugin",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": "3.4.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.assertj:assertj-core",
            "direct": false,
            "version": "3.27.7",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:build-helper-maven-plugin",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:exec-maven-plugin",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.graalvm.buildtools:native-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.jacoco:jacoco-maven-plugin",
            "direct": false,
            "version": "0.8.15",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit-pioneer:junit-pioneer",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter-engine",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.mariadb.jdbc:mariadb-java-client",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.osgi:org.osgi.compendium",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.osgi:org.osgi.core",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.sonatype.central:central-publishing-maven-plugin",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-jdbc",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 35,
        "direct_count": 9,
        "indirect_count": 26
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 126,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 102
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "kalebaran",
          "commits": 2041,
          "avatar_url": "https://avatars.githubusercontent.com/u/291027405?v=4"
        },
        {
          "type": "User",
          "login": "rusher",
          "commits": 794,
          "avatar_url": "https://avatars.githubusercontent.com/u/618074?v=4"
        },
        {
          "type": "User",
          "login": "vaintroub",
          "commits": 226,
          "avatar_url": "https://avatars.githubusercontent.com/u/1708204?v=4"
        },
        {
          "type": "User",
          "login": "massimosiani",
          "commits": 94,
          "avatar_url": "https://avatars.githubusercontent.com/u/6097078?v=4"
        },
        {
          "type": "User",
          "login": "jmestwa-coder",
          "commits": 18,
          "avatar_url": "https://avatars.githubusercontent.com/u/269461539?v=4"
        },
        {
          "type": "User",
          "login": "GuuBu",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/46982854?v=4"
        },
        {
          "type": "User",
          "login": "sehrope",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/1690926?v=4"
        },
        {
          "type": "User",
          "login": "knoxg",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/214232?v=4"
        },
        {
          "type": "User",
          "login": "9E0R9",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/7721918?v=4"
        },
        {
          "type": "User",
          "login": "rasmushoj",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/6068869?v=4"
        }
      ],
      "contributors_sampled": 79,
      "top_contributor_share": 0.607
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "native-image.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 9,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "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": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 15 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": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is 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": "30 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": "no SAST tool detected",
            "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": 0,
            "reason": "12 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6164678e83aa9d203939d5bec73bd4571cbec8a2",
        "ran_at": "2026-07-30T23:27:43Z",
        "aggregate_score": 5.1,
        "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-29T15:22:24Z",
      "oldest_open_prs": [
        {
          "number": 196,
          "created_at": "2024-08-18T13:42:27Z",
          "last_comment_at": "2025-03-21T13:10:09Z",
          "last_comment_author": "rusher"
        },
        {
          "number": 214,
          "created_at": "2026-03-10T20:37:55Z",
          "last_comment_at": "2026-03-17T04:10:43Z",
          "last_comment_author": "vishalcoc44"
        }
      ],
      "last_merged_pr_at": "2025-12-15T12:05:22Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/mariadb-corporation/mariadb-connector-j",
    "host": "github.com",
    "name": "mariadb-connector-j",
    "owner": "mariadb-corporation"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 68,
      "inputs": {
        "security": 61,
        "vitality": 93,
        "community": 71,
        "governance": 60,
        "engineering": 52
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 93,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "commits_last_year": 196,
              "human_commit_share": 0.98,
              "days_since_last_push": 1,
              "active_weeks_last_year": 35
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "35/52 weeks with commits",
                "points": 24.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 35
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "196 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 196
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 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": "3.5.10",
              "releases_from_tags": false,
              "days_since_latest_release": 1,
              "mean_days_between_releases": 24.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 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~24.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 24.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": "good",
        "name": "Community & Adoption",
        "value": 71,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "forks": 241,
              "stars": 359,
              "watchers": 64,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "359 stars",
                "points": 41.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 359
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "241 forks",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 241
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "64 watchers",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 64
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "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 (LGPL-2.1)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "LGPL-2.1"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 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": "moderate",
        "name": "Sustainability & Governance",
        "value": 60,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 41,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 79,
              "top_contributor_share": 0.607
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 61% of commits",
                "points": 8.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 61
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "79 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 79
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 15 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 40,
            "inputs": {
              "merged_prs": 126,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 102
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "126/228 decided PRs merged",
                "points": 21.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 126,
                      "decided": 228
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "followers": 179,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "mariadb-corporation",
              "public_repos": 111,
              "account_age_days": 4648
            },
            "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": "179 followers of mariadb-corporation",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 179,
                      "login": "mariadb-corporation"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "111 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 111
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "org.mariadb.jdbc:mariadb-java-client"
              ],
              "ecosystems": "maven",
              "any_deprecated": false,
              "min_days_since_publish": 1
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on maven",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "maven"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 1 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "135 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 135
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 52,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "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": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 61,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "ci_tests",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 51,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 14,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 4,
              "scorecard_aggregate": 5.1
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 15 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": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "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": "30 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": "no SAST tool detected",
                "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": "12 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the maven:org.mariadb.jdbc:mariadb-java-client@3.5.10 runtime dependency closure — what installing the published package pulls in — 10 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "maven:org.mariadb.jdbc:mariadb-java-client@3.5.10",
                  "assessed": 10
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 10,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 10,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 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": "at_risk",
        "name": "AI Readiness",
        "value": 45,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 5,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.092,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "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": "9 of 98 human commits state their intent (structured subject or explanatory body)",
                "points": 4.9,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 9,
                      "sampled": 98
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 54,
            "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,
              "toolchain_manifests": [
                ".github/native-image-test/spring-boot/pom.xml",
                "pom.xml"
              ],
              "dependency_bot_commit_share": 0.02
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": ".github/native-image-test/spring-boot/pom.xml, pom.xml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": ".github/native-image-test/spring-boot/pom.xml, pom.xml"
                    }
                  }
                ],
                "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": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "2 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 2,
                      "sampled": 100
                    }
                  }
                ],
                "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": 171373,
              "source_files_sampled": 401,
              "oversized_source_files": 9
            },
            "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": "9/401 source files over 60KB",
                "points": 53.8,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 401,
                      "oversized": 9
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-30T23:27:58.012299Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/mariadb-corporation/mariadb-connector-j.svg",
  "full_name": "mariadb-corporation/mariadb-connector-j",
  "license_state": "standard",
  "license_spdx": "LGPL-2.1"
}

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 StatistikenMaven.