Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 2.5.0 · 2026-07-29 13:05 UTC

googleapis / python-container

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-container

Apache-2.0★ 44 зірки⑂ 18 форківз груд. 2019 р.архівнийПереглянути на GitHub ↗

googleapis/python-container має індекс здоров’я 19 зі 100, що відповідає смузі «Критичний». Найвищий показник — Sustainability & Governance (83/100), найнижчий — AI Readiness (1/100). Репозиторій заархівовано, тож подальшої підтримки не очікується.

19
загалом / 100
Критичний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

19
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 48 калібровано до 47 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

Google APIsОрганізація
6 641 підписник900 публічних репозиторіївз січ. 2016 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

25У зоні ризику · 21% загального індексу
Як обчислюється оцінка
0/36Свіжість push — останній push 1 033 дн. тому
0/36Ритм комітів — 0/52 тижнів із комітами
0/18Обсяг комітів — 0 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project is archived
Використані вхідні дані
commits_last_year0
human_commit_share0,19
days_since_last_push1 033
active_weeks_last_year0
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 65 релізів
0/36Свіжість релізів — останній реліз 1 054 дн. тому
27/27Ритм релізів — реліз кожні ~11 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count65
latest_release_tagv2.31.0
releases_from_tagsні
days_since_latest_release1 054
mean_days_between_releases11
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

62Помірний · 17% загального індексу
Як обчислюється оцінка
26.5/60Зірки — 44 зірок
10.3/25Форки — 18 форків
4.7/15Спостерігачі — 8 спостерігачів
Використані вхідні дані
forks18
stars44
watchers8
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges
has_contributingтак
has_issue_templateні
has_code_of_conductтак
readme_badge_services
has_pull_request_templateні

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

83Відмінний · 23% загального індексу
Як обчислюється оцінка
36/54Бас-фактор — на 3 контриб’ютор(ів) припадає половина всіх комітів
16.5/22.5Розподіл комітів — головний контриб’ютор — автор 26% комітів
13.5/13.5Широта контриб’юторів — 23 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 7 contributing companies or organizations
Використані вхідні дані
bus_factor3
contributors_sampled23
top_contributor_share0,265
Як обчислюється оцінка
42/42Вирішення issue — закрито 100% issue
24.9/30Прийняття PR — злито 304/367 вирішених PR
0/13Newcomer PR acceptance — за 30 дн. не вирішено жодного PR від новачка
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Використані вхідні дані
merged_prs304
open_issues0
closed_issues49
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio1
closed_unmerged_prs63
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Виключено з оцінювання (немає даних або не застосовно): newcomer_pr_acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
25/25Охоплення власника — 6 641 підписників у googleapis
25/25Послужний список — 900 публічних репозиторіїв, вік облікового запису ~10 р.
Використані вхідні дані
followers6 641
owner_typeOrganization
is_verified
owner_logingoogleapis
public_repos900
account_age_days3 843

Інженерна якість

Чи наявні базові інженерні практики та документація?

21У зоні ризику · 19% загального індексу
Як обчислюється оцінка
0/24Процеси CI
0/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 30 merged PRs checked by a CI test -- score normalized to 0
Використані вхідні дані
has_ciні
has_testsні
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

50Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
10/10Опис репозиторію
0/10Теми
10/10Wiki
Використані вхідні дані
topics
has_wikiтак
homepage
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

55Помірний · 16% загального індексу

Стан безпеки

55Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
6/7.5Branch-Protection — branch protection is not maximal on development and all release branches
0/2.5CI-Tests — 0 out of 30 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 7 contributing companies or organizations
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — project is archived
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate5,5
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Залишкові ваги перенормовано.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

1Критичний · 4% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
0/40Читабельна історія комітів — немає даних
Використані вхідні дані
has_llms_txtні
legible_history_share
agent_instruction_files
agent_instruction_max_bytes
Виключено з оцінювання (немає даних або не застосовно): Читабельна історія комітів. Залишкові ваги перенормовано.
Як обчислюється оцінка
0/18Розгортання однією командою
0/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
0/10Відтворюване середовище
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsні
lockfiles
has_dockerfileні
typed_languageні
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.

Ключові факти

44зірок GitHub
23контриб'юторів
0комітів за останні 12 місяців
1 033днів від останнього пушу
65релізів
3бас-фактор
0відкритих issue
пакетних екосистем

Попередження щодо збору даних

  • Language breakdown unavailable
  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Докладніше

Історія зірок і форків 0 ★ / 18 ⇿
0Зірки
18Форки
50Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

03581013151422020-022021-092023-04
Мажорні 2Мінорні 23Патчі 25

Кожна точка охоплює 3 днів.

OpenSSF Scorecard 5.5 / 10
5.5сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-29 13:04 UTC

10Binary-Artifactsno binaries found in the repo
8Branch-Protectionbranch protection is not maximal on development and all release branches
0CI-Tests0 out of 30 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 7 contributing companies or organizations
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject is archived
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 3628,
      "has_wiki": true,
      "homepage": null,
      "languages": {},
      "pushed_at": "2023-09-29T23:44:44Z",
      "created_at": "2019-12-10T00:09:15Z",
      "owner_type": "Organization",
      "updated_at": "2026-06-13T14:15:46Z",
      "description": "This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-container",
      "is_archived": true,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": null,
      "significant_languages": []
    },
    "owner": {
      "blog": "https://googleapis.github.io",
      "name": "Google APIs",
      "type": "Organization",
      "login": "googleapis",
      "company": null,
      "location": null,
      "followers": 6641,
      "avatar_url": "https://avatars.githubusercontent.com/u/16785467?v=4",
      "created_at": "2016-01-19T20:40:50Z",
      "is_verified": null,
      "public_repos": 900,
      "account_age_days": 3843
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.31.0",
          "kind": "minor",
          "published_at": "2023-09-08T18:41:56Z"
        },
        {
          "tag": "v2.30.0",
          "kind": "minor",
          "published_at": "2023-08-16T18:54:42Z"
        },
        {
          "tag": "v2.29.0",
          "kind": "minor",
          "published_at": "2023-08-09T13:26:48Z"
        },
        {
          "tag": "v2.28.0",
          "kind": "minor",
          "published_at": "2023-07-24T20:52:00Z"
        },
        {
          "tag": "v2.27.0",
          "kind": "minor",
          "published_at": "2023-07-19T16:45:38Z"
        },
        {
          "tag": "v2.26.0",
          "kind": "minor",
          "published_at": "2023-07-05T15:09:37Z"
        },
        {
          "tag": "v2.25.0",
          "kind": "minor",
          "published_at": "2023-06-29T16:58:38Z"
        },
        {
          "tag": "v2.24.0",
          "kind": "minor",
          "published_at": "2023-06-13T14:53:11Z"
        },
        {
          "tag": "v2.23.0",
          "kind": "minor",
          "published_at": "2023-06-06T14:36:15Z"
        },
        {
          "tag": "v2.22.0",
          "kind": "minor",
          "published_at": "2023-06-01T11:24:18Z"
        },
        {
          "tag": "v2.21.0",
          "kind": "minor",
          "published_at": "2023-04-17T15:04:34Z"
        },
        {
          "tag": "v2.20.0",
          "kind": "minor",
          "published_at": "2023-04-11T14:05:51Z"
        },
        {
          "tag": "v2.19.0",
          "kind": "minor",
          "published_at": "2023-04-06T13:31:39Z"
        },
        {
          "tag": "v2.18.0",
          "kind": "minor",
          "published_at": "2023-03-29T14:35:32Z"
        },
        {
          "tag": "v2.17.4",
          "kind": "patch",
          "published_at": "2023-03-01T18:25:24Z"
        },
        {
          "tag": "v2.17.3",
          "kind": "patch",
          "published_at": "2023-02-07T15:29:41Z"
        },
        {
          "tag": "v2.17.2",
          "kind": "patch",
          "published_at": "2023-02-01T14:01:50Z"
        },
        {
          "tag": "v2.17.1",
          "kind": "patch",
          "published_at": "2023-01-23T15:55:25Z"
        },
        {
          "tag": "v2.17.0",
          "kind": "minor",
          "published_at": "2023-01-18T14:44:14Z"
        },
        {
          "tag": "v2.16.0",
          "kind": "minor",
          "published_at": "2023-01-11T15:15:28Z"
        },
        {
          "tag": "v2.15.0",
          "kind": "minor",
          "published_at": "2023-01-09T18:41:55Z"
        },
        {
          "tag": "v2.14.0",
          "kind": "minor",
          "published_at": "2022-12-15T23:08:29Z"
        },
        {
          "tag": "v2.13.0",
          "kind": "minor",
          "published_at": "2022-10-27T19:29:35Z"
        },
        {
          "tag": "v2.12.2",
          "kind": "patch",
          "published_at": "2022-10-10T16:18:18Z"
        },
        {
          "tag": "v2.12.1",
          "kind": "patch",
          "published_at": "2022-10-04T00:27:48Z"
        },
        {
          "tag": "v2.12.0",
          "kind": "minor",
          "published_at": "2022-09-19T19:13:14Z"
        },
        {
          "tag": "v2.11.2",
          "kind": "patch",
          "published_at": "2022-08-15T14:42:44Z"
        },
        {
          "tag": "v2.11.1",
          "kind": "patch",
          "published_at": "2022-08-09T11:39:11Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2022-07-18T13:12:42Z"
        },
        {
          "tag": "v1.0.3",
          "kind": "patch",
          "published_at": "2022-06-09T14:42:43Z"
        },
        {
          "tag": "v2.10.8",
          "kind": "patch",
          "published_at": "2022-06-07T10:51:00Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2022-03-31T23:08:00Z"
        },
        {
          "tag": "v2.10.7",
          "kind": "patch",
          "published_at": "2022-03-22T02:28:55Z"
        },
        {
          "tag": "v2.10.6",
          "kind": "patch",
          "published_at": "2022-03-07T17:31:21Z"
        },
        {
          "tag": "v2.10.5",
          "kind": "patch",
          "published_at": "2022-02-16T02:49:50Z"
        },
        {
          "tag": "v2.10.4",
          "kind": "patch",
          "published_at": "2022-02-14T21:11:05Z"
        },
        {
          "tag": "v2.10.3",
          "kind": "patch",
          "published_at": "2022-02-12T00:13:59Z"
        },
        {
          "tag": "v2.10.2",
          "kind": "patch",
          "published_at": "2022-02-04T01:50:05Z"
        },
        {
          "tag": "v2.10.1",
          "kind": "patch",
          "published_at": "2021-11-02T16:20:17Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2021-10-13T14:17:47Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2021-10-11T16:48:06Z"
        },
        {
          "tag": "v2.8.1",
          "kind": "patch",
          "published_at": "2021-10-05T10:35:11Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2021-09-24T18:17:40Z"
        },
        {
          "tag": "v2.7.1",
          "kind": "patch",
          "published_at": "2021-07-26T17:47:46Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2021-07-23T13:47:41Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2021-07-21T23:47:40Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2021-07-13T14:17:39Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2021-06-30T23:47:32Z"
        },
        {
          "tag": "v2.4.1",
          "kind": "patch",
          "published_at": "2021-05-17T22:47:34Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2021-03-25T14:48:34Z"
        },
        {
          "tag": "v2.3.1",
          "kind": "patch",
          "published_at": "2021-02-19T18:02:59Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2020-12-08T22:03:01Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2020-11-17T16:32:00Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2020-09-16T20:49:36Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2020-07-31T20:21:27Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2020-07-16T19:31:45Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2020-06-17T00:01:40Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2020-06-16T17:46:39Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2020-04-14T23:46:39Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2020-02-11T00:46:50Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2020-01-31T19:12:57Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2020-01-31T19:13:12Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2020-01-31T19:13:39Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2020-01-31T19:13:54Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2020-01-31T19:14:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "9c46e4cae1c7b0f9a209ecda9e72007cc3d037ff",
          "body": "… files (#417)",
          "is_bot": false,
          "headline": "build: update README to indicate that source has moved and delete all…",
          "author_name": "Anthonios Partheniou",
          "author_login": "parthea",
          "committed_at": "2023-09-29T23:44:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9750ffecffacfd9051f6d3575c820e9f564261c",
          "body": "…rs to enable Advanced Vulnerability Scanning for their clusters (#413)\n\n* feat: add SecurityPostureConfig Enterprise vuln mode to allow customers to enable Advanced Vulnerability Scanning for their clusters\r\n\r\n---\r\ndocs: deprecate ProtectConfig fields in alpha and beta, with SecurityPostureConfig a\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add SecurityPostureConfig Enterprise vuln mode to allow custome…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-09-18T13:41:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "96ddca67bf0e23c9c8fb838ebdfb000bee7d1b02",
          "body": "- [ ] Regenerate this pull request now.\n\nchore: Update gapic-generator-python to v1.11.5\nbuild: Update rules_python to 0.24.0\n\nPiperOrigin-RevId: 563436317\n\nSource-Link: https://togithub.com/googleapis/googleapis/commit/42fd37b18d706f6f51f52f209973b3b2c28f509a\n\nSource-Link: https://togithub.com/googleapis/googleapis-gen/commit/280264ca02fb9316b4237a96d0af1a2343a81a56\nCopy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjgwMjY0Y2EwMmZiOTMxNmI0MjM3YTk2ZDBhZjFhMjM0M2E4MWE1NiJ9",
          "is_bot": true,
          "headline": "docs: Minor formatting (#411)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-09-13T21:10:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1072d005891454bde7db511e6b9fec78b261efda",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.31.0 (#409)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-09-08T18:41:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1e508c53415ea816ed2649a46b791947bf87705",
          "body": "…teNodePoolRequest` (#408)\n\n* feat: add support for NodeConfig Update\r\n\r\n---\r\nfeat: publicize tpu topology in v1 API\r\nPiperOrigin-RevId: 560116372\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/cf6f9ee10a753f9350b3bff8116199ada70ea205\r\n\r\nSource-Link: https://github.com/googleapis/go\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add `machine_type`, `disk_type`, `disk_size_gb` fields to `Upda…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-08-28T12:54:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af623481ba951f16303e0e02b49730ba787ef369",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.30.0 (#406)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-08-16T18:54:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5806de9c61b1c9855f1c9a5c3fac1ea343e1acc",
          "body": "…r compliance with a provided Binary Authorization platform policy via Binary Authorization Continuous Validation (#405)\n\n* feat: Add preview support for monitoring a cluster's pods for compliance with a provided Binary Authorization platform policy via Binary Authorization Continuous Validation\r\n\r\n\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat(v1beta1): Add preview support for monitoring a cluster's pods fo…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-08-11T14:41:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a10b34243a2396800ab20eb6ee2ccd8fb812811",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.29.0 (#404)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-08-09T13:26:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "834872af197b113183024f6711e36e8a88aad47e",
          "body": "* feat: add APIs for GKE OOTB metrics packages\r\n\r\nPiperOrigin-RevId: 554852538\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/ac012ee06c8eb2b4fdfa8d47f06f5e9ea6f462e5\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/91ddf779d506713f28bb2a1717ac287f225ee3d2\r\nCopy-T\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add APIs for GKE OOTB metrics packages (#403)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-08-09T10:11:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2a2f1ca785baf7f1074c0f918564dd0355111e66",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/352b9d4c068ce7c05908172af128b294073bf53c\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3e3800bb100af5d7f9e810d48212b37812c1856d20ffeafb99ebe66461b61fc7",
          "is_bot": true,
          "headline": "build: [autoapprove] bump cryptography from 41.0.2 to 41.0.3 (#401)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-08-02T11:58:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b5bb43dce3c22aa2eae52b5d81d6f7ba3d27d5d",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/0ddbff8012e47cde4462fe3f9feab01fbc4cdfd6\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:bced5ca77c4dda0fd2f5d845d4035fc3c5d3d6b81f245246a36aee114970082b",
          "is_bot": true,
          "headline": "chore: [autoapprove] Pin flake8 version (#399)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-08-01T18:00:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a75e7a38665d08705974c59078fa42d8176bd65",
          "body": "…#398)\n\nSource-Link: https://github.com/googleapis/synthtool/commit/395d53adeeacfca00b73abf197f65f3c17c8f1e9\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:6c1cbc75c74b8bdd71dada2fa1677e9d6d78a889e9a70ee75b93d1d0543f96e1\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): [autoapprove] bump certifi from 2022.12.7 to 2023.7.22 (…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-27T09:48:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a835ab2b09f3ebcb56fbca0bba3097b61939ea38",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.28.0 (#396)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-07-24T20:51:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02c497ec42f3d51a28e31b3cca940e5a147960bd",
          "body": "…#395)\n\n* feat: add policy_name to PlacementPolicy message within a node pool\r\nfeat: add support for HostMaintenancePolicy\r\nfeat: add support for AdditionalPodNetworkConfig and AdditionalNodeNetworkConfig\r\nfeat: add enable_multi_networking to NetworkConfig\r\n\r\nPiperOrigin-RevId: 550168784\r\n\r\nSource-L\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add policy_name to PlacementPolicy message within a node pool (…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-24T14:24:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e656b42cfb072e3db77c08bc26aa8fa179e767da",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/eaef28efd179e6eeb9f4e9bf697530d074a6f3b9\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f8ca7655fa8a449cadcabcbce4054f593dcbae7aeeab34aa3fcc8b5cf7a93c9e",
          "is_bot": true,
          "headline": "build(deps): [autoapprove] bump pygments from 2.13.0 to 2.15.0 (#394)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-21T02:32:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e098faba922146a1c972cad845df82221678c260",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.27.0 (#388)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-07-19T16:45:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c5cc4fbe54affde3744da3203c6bd2aeb733d61",
          "body": "* feat: Add Multi-networking API\r\nfeat: Add policy_name to PlacementPolicy message within a node pool\r\n\r\nPiperOrigin-RevId: 549032622\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/fded3eac4225dcf7b6822427f84b76cfd1d1e7e6\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add Multi-networking API (#391)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-19T14:33:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "06b2f8dafc431c779ae07c0d74f709004d0d7b1f",
          "body": "…390)\n\nSource-Link: https://togithub.com/googleapis/synthtool/commit/d6103f4a3540ba60f633a9e25c37ec5fe7e6286d\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:39f0f3f2be02ef036e297e376fe3b6256775576da8a6ccb1d5eeb80f4c8bf8fb",
          "is_bot": true,
          "headline": "build(deps): [autoapprove] bump cryptography from 41.0.0 to 41.0.2 (#…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-17T15:42:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5dfb6725c1a9097254959908af739cd3f7a20ea",
          "body": "* chore: Update gapic-generator-python to v1.11.3\r\n\r\nPiperOrigin-RevId: 546899192\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/e6b16918b98fe1a35f725b56537354f22b6cdc48\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/0b3917c421cbda7fcb67092e16c33f3ea46f4bc7\r\nCop\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: Update gapic-generator-python to v1.11.4 (#387)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-14T14:08:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c4672ef323cd231e1849b945b99702a66625c1ee",
          "body": "* chore: Update gapic-generator-python to v1.11.2\r\n\r\nPiperOrigin-RevId: 546510849\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/736073ad9a9763a170eceaaa54519bcc0ea55a5e\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/deb64e8ec19d141e31089fe932b3a997ad541c4d\r\nCop\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: Update gapic-generator-python to v1.11.2 (#386)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-10T13:11:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0ef32863bb9b9becc42a749c3dc62de4324876a1",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.26.0 (#384)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-07-05T15:09:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "074edd4c4f8cd10d8cd2afa5d8fb09f1c951c292",
          "body": "* fix: Add async context manager return types\r\n\r\nchore: Mock return_value should not populate oneof message fields\r\n\r\nchore: Support snippet generation for services that only support REST transport\r\n\r\nchore: Update gapic-generator-python to v1.11.0\r\nPiperOrigin-RevId: 545430278\r\n\r\nSource-Link: https\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix: Add async context manager return types (#385)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-04T19:22:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "be6b0ab88931a3c6a64cc92b8b0dbd33b82be255",
          "body": "* feat: Add `KUBE_DNS` option to `DNSConfig.cluster_dns`\r\n\r\n---\r\nfeat: add Tier 1 cluster-level API network_performance_config\r\nPiperOrigin-RevId: 544446757\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/becb844c32951ae950217ef50a1a0e54eba952ac\r\n\r\nSource-Link: https://github.com/goo\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add a flag to toggle the Kubelet read only port (#383)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-07-04T12:33:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3de5f9f4857f19587d07aab6cbd30adb121782cd",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.25.0 (#382)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-06-29T16:58:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91b001a4f89557e8a503c57de3e45d6bf399ea90",
          "body": "* feat: Add `KUBE_DNS` option to `DNSConfig.cluster_dns`\r\n\r\n---\r\nfeat: add Tier 1 cluster-level API network_performance_config\r\nPiperOrigin-RevId: 544216853\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/deabec5b5add7f85f9b30e06f43fc8c05b2f2cbb\r\n\r\nSource-Link: https://github.com/goo\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add `KUBE_DNS` option to `DNSConfig.cluster_dns` (#381)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-29T14:40:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "742c082f93b194e714414cfc366856f696f96070",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/cb960373d12d20f8dc38beee2bf884d49627165e\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2d816f26f728ac8b24248741e7d4c461c09764ef9f7be3684d557c9632e46dbd",
          "is_bot": true,
          "headline": "chore: store artifacts in placer [autoapprove] (#380)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-28T17:30:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcb730025334dc837866ace949133028895ef8df",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/909573ce9da2819eeb835909c795d29aea5c724e\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:ddf4551385d566771dc713090feb7b4c1164fb8a698fe52bbe7670b24236565b",
          "is_bot": true,
          "headline": "chore: remove pinned Sphinx version [autoapprove] (#379)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-27T13:24:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "565cd87e0d63cce092df2711c64d88636f54bd9e",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.24.0 (#378)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-06-13T14:52:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6da30922e76d8c56b8ec3c78b0cb8ffbb5bd82a",
          "body": "* feat: add API for GPU driver installation config\r\n\r\n---\r\nfeat: add SecurityPostureConfig API field to allow customers to enable GKE Security Posture capabilities for their clusters\r\n\r\n---\r\nfeat: add workloadPolicyConfig API field to allow customer enable NET_ADMIN capability for their autopilot cl\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add API for GPU driver installation config (#377)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-13T14:41:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1008adab45a013d35bec909bc30d4fee5a3f2078",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.23.0 (#376)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-06-06T14:36:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52d14803c65c06f65c1dcf7679faa9c6a0cca784",
          "body": "* feat: add a API field to enable FQDN Network Policy on clusters\r\n\r\n---\r\nfeat: turn on public visibility for best effort provision\r\n\r\n---\r\nfeat: add CheckAutopilotCompatibility API to get autopilot compatibility issues for a given standard cluster\r\nPiperOrigin-RevId: 537883922\r\n\r\nSource-Link: https\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add a API field to enable FQDN Network Policy on clusters (#375)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-06T14:23:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e67586330bff46b3c944ec145def147c575bdab9",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/d0f51a0c2a9a6bcca86911eabea9e484baadf64b\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:240b5bcc2bafd450912d2da2be15e62bc6de2cf839823ae4bf94d4f392b451dc",
          "is_bot": true,
          "headline": "build(deps): bump cryptography to 41.0.0 [autoapprove] (#374)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-03T21:44:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e84a186478085dbc7335202d891b80fd8dc1960",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.22.0 (#372)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-06-01T11:24:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3126afbc21296e5f3e0608276bc7903ae969fe3",
          "body": "* docs: Operation.Type is now documented in detail\r\ndocs: Operation.self_link and Operation.target_link given examples\r\nfeat: Cluster resizes will now have their own operation type (RESIZE_CLUSTER) instead of reusing REPAIR_CLUSTER; they will start using this in the near future\r\n\r\nPiperOrigin-RevId:\n[…]\no-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "feat: add SoleTenantConfig API (#369)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-06-01T11:00:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "31d7cb9cee2b8e5d9f62b51ea93fc530d7273e98",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/30bd01b4ab78bf1b2a425816e15b3e7e090993dd\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:9bc5fa3b62b091f60614c08a7fb4fd1d3e1678e326f34dd66ce1eefb5dc3267b",
          "is_bot": true,
          "headline": "build(deps): bump requests to 2.31.0 [autoapprove] (#371)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-05-25T16:14:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41d2747e616b07a3afdee9d85535c61a3c54d1e6",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.21.0 (#368)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-04-17T15:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "533b4f91a9175cbd9bf892b93a38b283316f272d",
          "body": "…d and Autopilot clusters (#367)\n\n* feat: Add support for updating additional pod IPv4 ranges for Standard and Autopilot clusters\r\n\r\nPiperOrigin-RevId: 524333419\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/813f189dfb1c9236b0a0b76c7a71dfcd00b0cf36\r\n\r\nSource-Link: https://github.co\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add support for updating additional pod IPv4 ranges for Standar…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-04-15T14:11:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "67e13fc45c0968963c294bfcdfea9a9f31d22ec1",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.20.0 (#366)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-04-11T14:05:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9c29c46f3c6a8d4dfebec3ec36e5c7fc6052bb7",
          "body": "…d and Autopilot clusters (#365)\n\n* feat: Add support for updating additional pod IPv4 ranges for Standard and Autopilot clusters\r\n\r\nUsers can append more pod ranges by name to an existing cluster at the cluster level. When users or Node Auto-provisioning create new node pools, GKE will select the m\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add support for updating additional pod IPv4 ranges for Standar…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-04-11T09:42:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3b815dd4cd8dce30b708d89c8eca7c2def1730fd",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.19.0 (#364)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-04-06T13:31:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56f65fa23de31317e4cf39e50351ad1e1bb04b57",
          "body": "* feat: add update support for accelerator config\r\n\r\nfeat: add support for disabling pod IP cidr overprovision. This feature requires special allowlisting for the projects.\r\nPiperOrigin-RevId: 522103275\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/9f6f02b530c856e873dd706d2ad4d7124\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add support for disabling pod IP cidr overprovision (#363)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-04-06T13:18:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "781da50fdd2e89e08dab200912dda74d32508e83",
          "body": "* chore(docs): remove samples\r\n\r\nSamples have migrated to https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/container/snippets\r\n\r\n* chore(docs): remove AUTHORING_GUIDE as obsolete\r\n\r\n* chore(docs): remove CONTRIBUTING guide (samples) as obsolete",
          "is_bot": false,
          "headline": "chore(docs): remove samples (#362)",
          "author_name": "meredithslota",
          "author_login": "meredithslota",
          "committed_at": "2023-04-04T16:12:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbf95e556ed843697a65c940faec8ce59cc533ad",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.18.0 (#357)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-03-29T14:35:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bfdffe31e660c3914081181c611efd5582a05d3",
          "body": "* feat: Add a new fleet registration feature\r\n\r\nUsers can now register their clusters to a fleet by setting cluster.fleet.project. Please see https://cloud.google.com/anthos/fleet-management/docs/fleet-concepts for more details about fleet management.\r\n\r\nPiperOrigin-RevId: 520023539\r\n\r\nSource-Link: \n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add a new fleet registration feature to v1beta1, v1 (#360)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-03-28T22:41:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d10ac7e8db4d79011f1b5fa1bb508a8829a683ac",
          "body": "* docs: Fix formatting of request arg in docstring\r\n\r\nchore: Update gapic-generator-python to v1.9.1\r\nPiperOrigin-RevId: 518604533\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/8a085aeddfa010af5bcef090827aac5255383d7e\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/com\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: Fix formatting of request arg in docstring (#359)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-03-23T13:44:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e07d0137b5c1fa73d865210ab437bf64b6f2b7d1",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/92006bb3cdc84677aa93c7f5235424ec2b157146\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2e247c7bf5154df7f98cce087a20ca7605e236340c7d6d1a14447e5c06791bd6",
          "is_bot": true,
          "headline": "chore(deps): Update nox in .kokoro/requirements.in [autoapprove] (#358)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-03-16T12:24:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f41b699907991248b0d14bd9d5ae3ab4a8e1aff7",
          "body": "* docs: minor typo fix\r\n\r\nPiperOrigin-RevId: 513869216\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/ec2020a9113f473a1542f84742c203a462bcd9be\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/df7a1af984f26cb3beb212b7dd5297c97175a213\r\nCopy-Tag: eyJwIjoiLmdpdGh1Yi8u\n[…]\no-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "docs: minor typo fix (#356)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-03-06T11:39:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d0a01ad0a1198581fa6ade6e0d6df38d90f893d9",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency pytest to v7.2.2 (#355)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-03-04T11:30:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5806fdb25bf4a55a3d8d8a22dd42c3dbdb05f0ea",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.17.4 (#354)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-03-01T20:42:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd736763b8582b097b0e42bf2e53fd224886be67",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.17.4 (#353)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-03-01T18:25:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2fa90be3c73c8f914fa57530f4636238459a409",
          "body": "Source-Link: https://github.com/googleapis/synthtool/commit/5f2a6089f73abf06238fe4310f6a14d6f6d1eed3\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:8555f0e37e6261408f792bfd6635102d2da5ad73f8f09bcb24f25e6afb5fac97\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "chore(python): upgrade gcp-releasetool in .kokoro [autoapprove] (#352)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-28T12:34:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a0eeae897e7f2312690eed1e52119a6a572c667",
          "body": "* docs: minor grammar improvements\r\n\r\nPiperOrigin-RevId: 511850615\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/6f90843c6b566e32a949bb958c2cf147e98f7915\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/26bf8b2af6276ca34ca6c53eb4410f1e24a8f6fa\r\nCopy-Tag: eyJwIjoi\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: minor grammar improvements (#351)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-28T11:08:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e15ecedcfe3474b03ba34f102f558844ee77a324",
          "body": "* chore: Reformatting\r\n\r\nPiperOrigin-RevId: 511116336\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/af2f5daac44399b9395c6be1049a3e70b47260b5\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/9c6068e8821f07198ed6f06e294f9d27b160e645\r\nCopy-Tag: eyJwIjoiLmdpdGh1Yi8uT\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: Reformatting (#350)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-21T11:15:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "59b0dbae7848e6ee42ddf4fc56c5c51d00bdbeb0",
          "body": "Co-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.17.3 (#346)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-02-15T22:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d98e4892853606188eb780f8f73b6fc97674bb1",
          "body": "…p/templates/python_library/.kokoro (#349)\n\n* build(deps): bump cryptography from 38.0.3 to 39.0.1 in /synthtool/gcp/templates/python_library/.kokoro\r\n\r\nSource-Link: https://github.com/googleapis/synthtool/commit/bb171351c3946d3c3c32e60f5f18cee8c464ec51\r\nPost-Processor: gcr.io/cloud-devrel-public-re\n[…]\n6e0d57696bb49c1a7c86c726e9bb8a2f87dadf\r\n\r\n* trigger ci\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "build(deps): bump cryptography from 38.0.3 to 39.0.1 in /synthtool/gc…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-08T17:07:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dae3b2b87c8924e8cfd95043bb54c4a00037dfeb",
          "body": "* chore: Update gapic-generator-python to v1.8.4\r\n\r\nPiperOrigin-RevId: 507808936\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/64cf8492b21778ce62c66ecee81b468a293bfd4c\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/53c48cac153d3b37f3d2c2dec4830cfd91ec4153\r\nCopy\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: Update gapic-generator-python to v1.8.4 (#347)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-08T11:45:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "784b590511e1cd16d320044ebe62cecac63f489b",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.17.3 (#345)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-02-07T15:29:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "071c147df8e6edd72ff66b1997f21e881acd9b32",
          "body": "…ield (#344)\n\n* docs: Improve `version` documentation for `NodePool`\r\n\r\nPiperOrigin-RevId: 506627554\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/666a551b6900359140c0b394ab8b6ac0e1736da2\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/e666add3b7a5b2b9cf21d4f2b7\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: Add clarification on whether `NodePool.version` is a required f…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-02-03T11:14:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f4d3110c0eec981bc0ffc14d0b384cf58f55cde",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.17.2 (#343)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-02-01T17:00:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fa6de218f218076e6c7f4c964b411b1d89ece55",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.17.2 (#341)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-02-01T14:01:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6259d324e14713226c1e0ea2c084d17899fd1c25",
          "body": "Source-Link: https://togithub.com/googleapis/synthtool/commit/26c7505b2f76981ec1707b851e1595c8c06e90fc\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f946c75373c2b0040e8e318c5e85d0cf46bc6e61d0a01f3ef94d8de974ac6790",
          "is_bot": true,
          "headline": "chore: fix prerelease_deps nox session [autoapprove] (#342)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-30T17:06:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76cfff85542aa1a8326efbfbc6d1c95b663e1452",
          "body": "…avior (#340)\n\n* docs: clarified wording around the NodePoolUpdateStrategy default behavior\r\ndocs: add references for available node image types\r\n\r\nPiperOrigin-RevId: 505182579\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/c062caf559720759356214d6aa6b9504e91eef99\r\n\r\nSource-Link: ht\n[…]\nOwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: clarified wording around the NodePoolUpdateStrategy default beh…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-28T11:25:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0472c8d886ee4cd6b2ac9653a225d104842ca06",
          "body": "Co-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.17.1 (#338)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-25T21:53:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc000a1253acb0f6677e585420f38172166e5686",
          "body": "* chore: Update gapic-generator-python to v1.8.2\r\n\r\nPiperOrigin-RevId: 504289125\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/38a48a44a44279e9cf9f2f864b588958a2d87491\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/b2dc22663dbe47a972c8d8c2f8a4df013dafdcbc\r\nCopy\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: Update gapic-generator-python to v1.8.2 (#339)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-25T17:33:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fd2e57c623a38e8a7106b1fbded2a7397e5dad3f",
          "body": "Co-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.17.0 (#335)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-24T15:13:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb0a6390ede5e725892d3c03eff5f8a4768dac9c",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.17.1 (#337)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-01-23T15:55:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc5ebabb1d584b137c42f45f55e6b803db72bf6d",
          "body": "* docs: Add documentation for enums\r\n\r\nfix: Add context manager return types\r\n\r\nchore: Update gapic-generator-python to v1.8.1\r\nPiperOrigin-RevId: 503210727\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/a391fd1dac18dfdfa00c18c8404f2c3a6ff8e98e\r\n\r\nSource-Link: https://github.com/goo\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: Add documentation for enums (#336)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-20T16:33:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f81f704d332e4cc21bffc82e80c79534e14b4c1",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.17.0 (#334)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-01-18T14:44:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d0a583f4ff23dca157b7835d9e59ec7ca9d16da",
          "body": "…CIDR assigned to dual stack clusters (#333)\n\n* feat: Add support for viewing the subnet IPv6 CIDR and services IPv6 CIDR assigned to dual stack clusters\r\n\r\nPiperOrigin-RevId: 502669678\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/1f62a66ee06632fdebb53993fb6c1d1ad2fdf373\r\n\r\nSource\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add support for viewing the subnet IPv6 CIDR and services IPv6 …",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-17T23:48:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f350c6f306e8e3e00df6b90a3de1b41ecc3f89f4",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency pytest to v7.2.1 (#332)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-14T18:10:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b79e67a90e99089fd23d341bbabda6456068680a",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.16.0 (#331)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-11T17:51:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "184ab13e838c98b526895248bb434bdfe529c2d8",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.16.0 (#330)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-01-11T15:15:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8eeee3bda1e0eaae6fb375b47cc68b959f9b9feb",
          "body": "* feat: Add support for python 3.11\r\n\r\nchore: Update gapic-generator-python to v1.8.0\r\nPiperOrigin-RevId: 500768693\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/190b612e3d0ff8f025875a669e5d68a1446d43c1\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/7bf29a414b9\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add field for enabled Beta K8s APIs in proto (#329)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-10T03:24:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa5eb7f1059a98ad87af5ef86419f17bca9fd628",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.15.0 (#328)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-09T22:50:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19517629d7e86e2f5cf18d6abe4d3eca56267634",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.15.0 (#326)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2023-01-09T18:41:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02df68494308793f53180607ff3d68b7b673327c",
          "body": "Source-Link: https://github.com/googleapis/synthtool/commit/7197a001ffb6d8ce7b0b9b11c280f0c536c1033a\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:c43f1d918bcf817d337aa29ff833439494a158a0831508fda4ec75dc4c0d0320\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(python): add support for python 3.11 (#327)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-09T16:53:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "403c1ad328e6d052d9e6aab667bb74b8b6a559b7",
          "body": "* feat: Add support for specifying stack type for clusters. This will allow clusters to be created as dual stack or toggled between IPV4 and dual stack\r\n\r\nClients can now configure dual stack clusters by specifying a stack type of IPV4_IPV6 during cluster creation, or with an update command. When us\n[…]\noogleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "feat: add etags for cluster and node pool update operations (#325)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2023-01-05T17:28:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d07e97f8347423b6b844a80769f85754a9a5f888",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.14.0 (#324)",
          "author_name": "Mend Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2023-01-04T20:19:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f963a7be78df20636f4c6dc97e3f53eff119049",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.14.0 (#316)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2022-12-15T23:08:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c1d04f874b64aabc378aa18370e0b6be503a886",
          "body": "…llow clusters to be created as dual stack or toggled between IPV4 and dual stack (#323)\n\n* feat: Add support for specifying stack type for clusters. This will allow clusters to be created as dual stack or toggled between IPV4 and dual stack\r\n\r\nClients can now configure dual stack clusters by specif\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: Add support for specifying stack type for clusters. This will a…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-12-15T17:54:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "30da14190e9d7b00f0fa912fc4afcf8d1eb9b995",
          "body": "…cp/templates/python_library/.kokoro (#321)\n\nSource-Link: https://github.com/googleapis/synthtool/commit/b4fe62efb5114b6738ad4b13d6f654f2bf4b7cc0\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3bf87e47c2173d7eed42714589dc4da2c07c3268610f1e47f8e1a30decbfc7f1\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): bump certifi from 2022.9.24 to 2022.12.7 in /synthtool/g…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-12-14T15:54:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25c47a8433050c1cfcdf033dff16b3dcaedb1a9b",
          "body": "* fix(deps): Require google-api-core >=1.34.0, >=2.11.0\r\n\r\nfix: Drop usage of pkg_resources\r\n\r\nfix: Fix timeout default values\r\n\r\ndocs(samples): Snippetgen should call await on the operation coroutine before calling result\r\n\r\nPiperOrigin-RevId: 493260409\r\n\r\nSource-Link: https://github.com/googleapis\n[…]\nbots/blob/main/packages/owl-bot/README.md\r\n\r\n* add gapic_version.py\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "fix(deps): Require google-api-core >=1.34.0, >=2.11.0 (#320)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-12-07T15:50:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "50728649c915df27e8876af572ef824a26a660b7",
          "body": "* feat: add a FastSocket API\r\n\r\nPiperOrigin-RevId: 491381130\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/6485d9c71aa756107393c3e03a30c344aabcc2c6\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/36f17cc94e07623aa384cbd40d694c111e97e41c\r\nCopy-Tag: eyJwIjoiLmdpdG\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat(v1beta1): add a FastSocket API (#319)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-30T13:07:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4d61084846ae9583140b04a4c68da070479d79b9",
          "body": "* feat: add a FastSocket API\r\n\r\nPiperOrigin-RevId: 491259489\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/39bcdf411c9c099412ddf6b4247f50352d83e5ad\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-gen/commit/ee2470d9e7906d0764adb562f4d4cc41f0d6c96f\r\nCopy-Tag: eyJwIjoiLmdpdG\n[…]\nUpdates from OwlBot post-processor\r\n\r\nSee https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add a FastSocket API (#318)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-28T15:24:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0d49eb0fc27a76d934a2f685df44faa25f2f7619",
          "body": "Source-Link: https://github.com/googleapis/synthtool/commit/6ed3a831cb9ff69ef8a504c353e098ec0192ad93\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3abfa0f1886adaf0b83f07cb117b24a639ea1cb9cffe56d43280b977033563eb\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(python): drop flake8-import-order in samples noxfile (#317)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-27T00:00:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "944001d24215b0757da36898c26b8e22ca3f7a12",
          "body": "* chore: update to gapic-generator-python 1.5.0\r\n\r\nfeat: add support for `google.cloud.<api>.__version__`\r\nPiperOrigin-RevId: 484665853\r\n\r\nSource-Link: https://github.com/googleapis/googleapis/commit/8eb249a19db926c2fbc4ecf1dc09c0e521a88b22\r\n\r\nSource-Link: https://github.com/googleapis/googleapis-ge\n[…]\noogleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "feat: add compact placement feature for node pools (#312)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-22T16:30:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "82fff0b643e188158a2d145d505e7b28003ff0c9",
          "body": "Source-Link: https://github.com/googleapis/synthtool/commit/25083af347468dd5f90f69627420f7d452b6c50e\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e6cbd61f1838d9ff6a31436dfc13717f372a7482a82fc1863ca954ec47bff8c8\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(python): update release script dependencies (#315)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-22T15:23:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23a4aabe8c47b0189a72b0288d61bd5bf012c7ab",
          "body": "…pprove] (#313)\n\nSource-Link: https://togithub.com/googleapis/synthtool/commit/e3a1277ac35fc88c09db1930533e24292b132ced\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:452901c74a22f9b9a3bd02bce780b8e8805c97270d424684bff809ce5be8c2a2",
          "is_bot": true,
          "headline": "chore(python): update dependencies in .kokoro/requirements.txt [autoa…",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-11-08T02:14:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4bbf7deaa40b85cd2c58305cbf46262296ab67b",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.13.0 (#311)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-10-28T12:21:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf9a40bb2469783d8082cbc1a7731309447b0c7e",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.13.0 (#309)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2022-10-27T19:29:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3891d4f1d3f7fed4b2785cc7f6825510b723faba",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency pytest to v7.2.0 (#310)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-10-26T10:56:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d625e3456bd37aa6cca4b0cf9de44c9ddb69ec21",
          "body": "- [ ] Regenerate this pull request now.\n\nPiperOrigin-RevId: 479682735\n\nSource-Link: https://togithub.com/googleapis/googleapis/commit/4a3979503f6b5814742eef42621c9673d2f929f1\n\nSource-Link: https://togithub.com/googleapis/googleapis-gen/commit/aaca9d43d55b767822788f4547e5479a2ce925a5\nCopy-Tag: eyJwIj\n[…]\n://togithub.com/googleapis/googleapis-gen/commit/4d197d8d782cca6d1e4a8199a15e411b5d40952d\nCopy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGQxOTdkOGQ3ODJjY2E2ZDFlNGE4MTk5YTE1ZTQxMWI1ZDQwOTUyZCJ9",
          "is_bot": true,
          "headline": "feat: launch GKE Cost Allocations configuration to the v1 GKE API (#307)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-10-16T09:42:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b9ed5d8bbddd9a8dccce6309dac5ecc7e4923425",
          "body": "[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [google-cloud-container](https://togithub.com/googleapis/python-container) | `\n[…]\nView repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-container).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjMyLjIzMC4wIn0=-->",
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.12.2 (#308)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-10-11T16:28:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c2e00aa6dda4c8b755a0b05ff0de88c328388a43",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.12.2 (#306)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2022-10-10T16:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "728fc485d91c113a151dea2641ccfe163a5accaf",
          "body": "* fix(deps): allow protobuf 3.19.5\r\n\r\n* explicitly exclude protobuf 4.21.0",
          "is_bot": false,
          "headline": "fix(deps): allow protobuf 3.19.5 (#305)",
          "author_name": "Anthonios Partheniou",
          "author_login": "parthea",
          "committed_at": "2022-10-07T20:43:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17257f128c7a7252dbf6ed79e1416f00c9843217",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency backoff to v2.2.1 (#304)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-10-06T13:35:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fae938ec3db8938f0989f517c0fc358acbd025f",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.12.1 (#303)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-10-04T13:43:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac7888654bc1bd3bc54df1ed89ceb8e730e87c77",
          "body": "Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 2.12.1 (#302)",
          "author_name": "release-please[bot]",
          "author_login": "release-please[bot]",
          "committed_at": "2022-10-04T00:27:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4d1351c67659624d373f1fe4e3f5c61e99fa074",
          "body": "* chore: exclude requirements.txt file from renovate-bot\r\n\r\nSource-Link: https://github.com/googleapis/synthtool/commit/f58d3135a2fab20e225d98741dbc06d57459b816\r\nPost-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7a40313731a7cb1454eef6b33d3446ebb121836738dc3ab3d2d3ded52\n[…]\n\n* update constraints files\r\n\r\n* fix(deps): require protobuf 3.20.2\r\n\r\nCo-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>\r\nCo-authored-by: Anthonios Partheniou <partheniou@google.com>",
          "is_bot": true,
          "headline": "fix(deps): require protobuf >= 3.20.2 (#301)",
          "author_name": "gcf-owl-bot[bot]",
          "author_login": "gcf-owl-bot[bot]",
          "committed_at": "2022-10-03T15:45:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2400b5a74cde8c35138739186b63f9e5a493c716",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update dependency google-cloud-container to v2.12.0 (#299)",
          "author_name": "WhiteSource Renovate",
          "author_login": "renovate-bot",
          "committed_at": "2022-09-20T01:43:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 65,
      "commits_last_year": 0,
      "latest_release_at": "2023-09-08T18:41:56Z",
      "latest_release_tag": "v2.31.0",
      "releases_from_tags": false,
      "days_since_last_push": 1033,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 1054,
      "mean_days_between_releases": 11
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 18,
      "stars": 44,
      "watchers": 8,
      "fork_history": {
        "days": [
          {
            "date": "2020-02-03",
            "count": 1
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-07-27",
            "count": 1
          },
          {
            "date": "2020-08-01",
            "count": 1
          },
          {
            "date": "2020-09-22",
            "count": 1
          },
          {
            "date": "2021-08-23",
            "count": 1
          },
          {
            "date": "2021-12-16",
            "count": 1
          },
          {
            "date": "2022-01-29",
            "count": 1
          },
          {
            "date": "2022-04-26",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 2
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 14,
        "total_forks": 18
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "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": [],
      "largest_source_bytes": null,
      "source_files_sampled": 0,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 304,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 49,
        "closed_unmerged_prs": 63
      },
      "bus_factor": 3,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "yoshi-automation",
          "commits": 43,
          "avatar_url": "https://avatars.githubusercontent.com/u/44816363?v=4"
        },
        {
          "type": "User",
          "login": "renovate-bot",
          "commits": 30,
          "avatar_url": "https://avatars.githubusercontent.com/u/25180681?v=4"
        },
        {
          "type": "User",
          "login": "busunkim96",
          "commits": 19,
          "avatar_url": "https://avatars.githubusercontent.com/u/8822365?v=4"
        },
        {
          "type": "User",
          "login": "parthea",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/5184014?v=4"
        },
        {
          "type": "User",
          "login": "tseaver",
          "commits": 14,
          "avatar_url": "https://avatars.githubusercontent.com/u/242750?v=4"
        },
        {
          "type": "User",
          "login": "crwilcox",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/638797?v=4"
        },
        {
          "type": "User",
          "login": "dandhlee",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/71398022?v=4"
        },
        {
          "type": "User",
          "login": "Shabirmean",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/7249208?v=4"
        },
        {
          "type": "User",
          "login": "arithmetic1728",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/58957152?v=4"
        },
        {
          "type": "User",
          "login": "lukesneeringer",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/4346?v=4"
        }
      ],
      "contributors_sampled": 23,
      "top_contributor_share": 0.265
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": false,
      "ci_workflows": [],
      "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": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 8,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 30 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 7 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project is archived",
            "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": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "9c46e4cae1c7b0f9a209ecda9e72007cc3d037ff",
        "ran_at": "2026-07-29T13:04:47Z",
        "aggregate_score": 5.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": "2023-09-29T23:44:42Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/googleapis/python-container",
    "host": "github.com",
    "name": "python-container",
    "owner": "googleapis"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "The weighted overall 48 is calibrated to 47 on the published index scale (record calibration 2026-08-02). Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 19.",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 48,
            "calibrated": 47,
            "calibration": "2026-08-02"
          }
        },
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 19,
            "pct": 40
          }
        }
      ],
      "value": 19,
      "inputs": {
        "security": 55,
        "vitality": 25,
        "community": 62,
        "governance": 83,
        "calibration": "2026-08-02",
        "engineering": 21,
        "ai_readiness": 1,
        "abandonment_cap": 19,
        "abandonment_state": "declared",
        "weighted_overall_raw": 48,
        "abandonment_multiplier": 40,
        "weighted_overall_before_abandonment": 47,
        "overall_after_abandonment_multiplier": 19
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 25,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 0.19,
              "days_since_last_push": 1033,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1033 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1033
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "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": 60,
            "inputs": {
              "releases_count": 65,
              "latest_release_tag": "v2.31.0",
              "releases_from_tags": false,
              "days_since_latest_release": 1054,
              "mean_days_between_releases": 11
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "65 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 65
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1054 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1054
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~11 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 11
                    }
                  }
                ],
                "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": "weak",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "cap": 19,
              "state": "declared",
              "guards": [],
              "signals": [],
              "red_flag": true,
              "multiplier_pct": 40,
              "declared_reason": "archived",
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "the repository is archived on GitHub",
                "points": 40,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_archived",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 62,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "weak",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 42,
            "inputs": {
              "forks": 18,
              "stars": 44,
              "watchers": 8,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "44 stars",
                "points": 26.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "18 forks",
                "points": 10.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "8 watchers",
                "points": 4.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [],
              "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "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": 13.5,
                "status": "met",
                "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": "excellent",
        "name": "Sustainability & Governance",
        "value": 83,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 23,
              "top_contributor_share": 0.265
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 26% of commits",
                "points": 16.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 26
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "23 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "exceptional",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 94,
            "inputs": {
              "merged_prs": 304,
              "open_issues": 0,
              "closed_issues": 49,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 63,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 42,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "304/367 decided PRs merged",
                "points": 24.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 304,
                      "decided": 367
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "excellent",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 6641,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "googleapis",
              "public_repos": 900,
              "account_age_days": 3843
            },
            "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": "6,641 followers of googleapis",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 6641,
                      "login": "googleapis"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "900 public repos, account ~10 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 900
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 21,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_ci": false,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "0 out of 30 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "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": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 55,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 55,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 5.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 30 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "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": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 9
            },
            "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": "critical",
        "name": "AI Readiness",
        "value": 1,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "legible_commit_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": null,
              "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": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [],
      "labels": [],
      "scores": {
        "library": 2
      },
      "primary": null,
      "evidence": [
        {
          "tier": "description",
          "label": "library",
          "source": "description:library",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "none",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": false
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Language breakdown unavailable",
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-29T13:05:16.796884Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/googleapis/python-container.svg",
  "full_name": "googleapis/python-container",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.5.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистика.