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

godaddy / asherah-ffi

Application-layer envelope encryption with automatic key rotation. Rust core with bindings for Node.js, Python, .NET, Java, Ruby, and Go.

RustApache-2.0★ 0 зірок⑂ 1 форкз вер. 2025 р.Переглянути на GitHub ↗

godaddy/asherah-ffi має індекс здоров’я 70 зі 100, що відповідає смузі «Добрий». Найвищий показник — Engineering Quality (96/100), найнижчий — Community & Adoption (40/100). Останнє оновлення було 6 днів тому. Більшість нещодавньої роботи виконує один учасник.

70
загалом / 100
Добрий

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

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

70
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

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

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

Власність

GoDaddyОрганізація
228 підписників215 публічних репозиторіївз лют. 2012 р.

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

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
Packagistgodaddy/asherahv1.0.0101937 днів томуencryptionkmsffienvelope-encryptionasherah
Gogithub.com/godaddy/asherah-ffi/asherah-gov1.0.0-1437 днів тому
crates.ioasherah1.0.0749437 днів томуasherahencryptionkmssecretssecuritycryptographyconfigmemory-management
crates.ioasherah-ffi1.0.016337 днів томуasherahencryptionffikmsapi-bindingscryptographymemory-management

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

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

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

85Відмінний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 6 дн. тому
17.3/36Ритм комітів — 25/52 тижнів із комітами
18/18Обсяг комітів — 667 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year667
human_commit_share0,84
days_since_last_push6
active_weeks_last_year25
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 100 релізів
36/36Свіжість релізів — останній реліз 37 дн. тому
27/27Ритм релізів — реліз кожні ~3,2 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count100
latest_release_tagv1.0.0
releases_from_tagsні
days_since_latest_release37
mean_days_between_releases3,2

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

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

40У зоні ризику · 18% загального індексу
Як обчислюється оцінка
0/60Зірки — 0 зірок
0/25Форки — 1 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks1
stars0
watchers0
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так
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateні
Як обчислюється оцінка
38.5/80Щомісячні завантаження — 775 завантажень/місяць у crates, go, packagist
0/20Залежні пакети в реєстрі — залежних пакетів: 0
Використані вхідні дані
packagesgodaddy/asherah, github.com/godaddy/asherah-ffi/asherah-go, asherah, asherah-ffi
dependents0
ecosystemscrates, go, packagist
total_downloads2 361
monthly_downloads775

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

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

63Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
4.3/22.5Розподіл комітів — головний контриб’ютор — автор 81% комітів
6.8/13.5Широта контриб’юторів — 5 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled5
top_contributor_share0,808
Як обчислюється оцінка
37.4/46.8Вирішення issue — закрито 80% issue
34/38.3Прийняття PR — злито 310/349 вирішених PR
3/15OpenSSF Scorecard: Code-Review — Found 6/22 approved changesets -- score normalized to 2
Використані вхідні дані
merged_prs310
open_issues1
closed_issues4
issue_closed_ratio0,8
closed_unmerged_prs39
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
17/25Охоплення власника — 228 підписників у godaddy
25/25Послужний список — 215 публічних репозиторіїв, вік облікового запису ~14 р.
Використані вхідні дані
followers228
owner_typeOrganization
is_verified
owner_logingodaddy
public_repos215
account_age_days5 287

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 4 пакет(ів) у crates, go, packagist
35/35Свіжість публікацій — остання публікація 37 дн. тому
20/20Історія версій — 19 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgodaddy/asherah, github.com/godaddy/asherah-ffi/asherah-go, asherah, asherah-ffi
ecosystemscrates, go, packagist
any_deprecatedні
min_days_since_publish37

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

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

96Відмінний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 19 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — .php-cs-fixer.php, .rubocop.yml, phpstan.neon
9.6/9.6Pre-commit-хуки
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 28 out of 28 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigтак
has_linter_configтак
has_precommit_configтак

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

90Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://github.com/godaddy/asherah-ffi
10/10Опис репозиторію
10/10Теми — 13 тем
0/10Wiki
Використані вхідні дані
topicscryptography, dotnet, encryption, envelope-encryption, ffi, go, java, key-rotation, nodejs, python, ruby, rust, security
has_wikiні
homepagehttps://github.com/godaddy/asherah-ffi
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

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

Стан безпеки

60Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 28 out of 28 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
1.5/7.5Code-Review — Found 6/22 approved changesets -- score normalized to 2
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
0/10Dangerous-Workflow — немає даних
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
5/5SAST — SAST tool is run on all commits
2/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — немає даних
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated14
scorecard_versionv5.5.0
checks_inconclusive4
scorecard_aggregate6
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, pinned_dependencies, token_permissions. Залишкові ваги перенормовано.
Як обчислюється оцінка
11.4/35Прямі залежності без відомих сповіщень — уражено 4: openssl 0.10.78 (high 7.5), anyhow 1.0.102 (unknown), scc 2.4.0 (unknown), ще +1
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
40/40Немає задавнених сповіщень — жодне сповіщення не є публічним довше за 90 дн.
Використані вхідні дані
sourceosv
advisories90
affected_packages23
assessed_packages708
unassessed_packages76
affected_by_severitycritical 3, high 4, moderate 5, unknown 11
direct_affected_packages4
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 708 резолвлених залежностей із OSV. 76 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

90Відмінний · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — AGENTS.md, CLAUDE.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 81 з 84 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,964
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes10 921
Як обчислюється оцінка
12.6/18Розгортання однією командою — Cargo.toml, asherah-cobhan/Cargo.toml, asherah-cobhan/interop/go.mod (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .php-cs-fixer.php, .rubocop.yml, phpstan.neon
11/11Статична перевірка типів — asherah-py/asherah/py.typed
10/10Відтворюване середовище — Dockerfile, lockfile
10/10Підтверджена практика роботи з агентами — 8 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 16 з останніх 100 комітів — автоматичні оновлення залежностей
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfilesCargo.lock, go.sum, package-lock.json, packages.lock.json
has_dockerfileтак
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configтак
typecheck_configsasherah-py/asherah/py.typed
agent_commit_share0,08
toolchain_manifestsCargo.toml, asherah-cobhan/Cargo.toml, asherah-cobhan/interop/go.mod, asherah-config/Cargo.toml, asherah-dotnet/src/GoDaddy.Asherah.Encryption.Compat/GoDaddy.Asherah.Encryption.Compat.csproj, asherah-dotnet/src/GoDaddy.Asherah.Encryption/GoDaddy.Asherah.Encryption.csproj, asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Compat.Tests/GoDaddy.Asherah.Encryption.Compat.Tests.csproj, asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Tests/GoDaddy.Asherah.Encryption.Tests.csproj, asherah-ffi/Cargo.toml, asherah-go/go.mod, asherah-java/Cargo.toml, asherah-java/java/pom.xml, asherah-node/Cargo.toml, asherah-py/Cargo.toml, asherah-server/Cargo.toml, asherah/Cargo.toml, benchmarks/asherah-bench/Cargo.toml, benchmarks/dotnet-bench-canonical/dotnet-bench-canonical.csproj, benchmarks/dotnet-bench-newmetastore/dotnet-bench-newmetastore.csproj, benchmarks/dotnet-bench/dotnet-bench.csproj, benchmarks/go-bench/go.mod, benchmarks/go-wrapper/go.mod, benchmarks/grpc-bench/go.mod, benchmarks/java-bench-canonical/pom.xml, benchmarks/java-bench/pom.xml, benchmarks/native-bench/go-bench/go.mod, benchmarks/native-bench/rust-bench/Cargo.toml, fuzz/Cargo.toml, interop-grpc/client/Cargo.toml, interop/canonical-csharp/CanonicalCsharpProbe.csproj, interop/canonical-go/go.mod, interop/canonical-java/pom.xml, samples/dotnet/Sample.csproj, samples/go/go.mod, samples/rust/Cargo.toml
dependency_bot_commit_share0,16
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.
Як обчислюється оцінка
45/45Типізований код — Rust (статично типізована)
54.4/55Керовані розміри файлів — 4/352 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRust
largest_source_bytes198 446
source_files_sampled352
oversized_source_files4
Як обчислюється оцінка
40/40Схема API (OpenAPI/GraphQL/proto) — asherah-server/proto/appencryption.proto, interop-grpc/client/proto/appencryption.proto
0/20Сервер MCP
40/40Придатні до запуску приклади — examples, samples
Використані вхідні дані
example_dirsexamples, samples
has_mcp_signalні
api_schema_filesasherah-server/proto/appencryption.proto, interop-grpc/client/proto/appencryption.proto

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

0зірок GitHub
5контриб'юторів
667комітів за останні 12 місяців
6днів від останнього пушу
100релізів
1бас-фактор
1відкритих issue
crates.io, Go, npm, Packagist, PyPI, RubyGemsпакетних екосистем

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

  • Could not fetch crates package 'asherah-workspace' from its registry
  • Could not fetch crates package 'asherah-py' from its registry
  • Could not fetch crates package 'asherah-java' from its registry
  • Could not fetch crates package 'asherah-node' from its registry

Докладніше

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

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

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests28 out of 28 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
2Code-ReviewFound 6/22 approved changesets -- score normalized to 2
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
н/дDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
10SASTSAST tool is run on all commits
4Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
н/дToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Прямі залежності 105
РеєстрПакетОбмеження версіїМаніфест
crates.ioasherah1.0.0asherah-cobhan/Cargo.toml
crates.ioasherah-config1.0.0asherah-cobhan/Cargo.toml
crates.iolog0.4asherah-cobhan/Cargo.toml
crates.ioserde_json1.0asherah-cobhan/Cargo.toml
crates.ioserde1.0asherah-cobhan/Cargo.toml
crates.iozeroize1.8asherah-cobhan/Cargo.toml
crates.ioanyhow1.0asherah-config/Cargo.toml
crates.ioserde1.0asherah-config/Cargo.toml
crates.ioserde_json1.0asherah-config/Cargo.toml
crates.ioasherah1.0.0asherah-config/Cargo.toml
crates.ioasherah1.0.0asherah-ffi/Cargo.toml
crates.ioasherah-cobhan1.0.0asherah-ffi/Cargo.toml
crates.ioasherah-config1.0.0asherah-ffi/Cargo.toml
crates.ioserde_json1.0asherah-ffi/Cargo.toml
crates.ioanyhow1.0asherah-ffi/Cargo.toml
crates.iotokio1asherah-ffi/Cargo.toml
crates.ioonce_cell1asherah-ffi/Cargo.toml
crates.ioparking_lot0.12asherah-ffi/Cargo.toml
crates.iolog0.4asherah-ffi/Cargo.toml
crates.iozeroize1.8asherah-ffi/Cargo.toml
Gogithub.com/ebitengine/puregov0.10.1asherah-go/go.mod
crates.iojni0.22asherah-java/Cargo.toml
crates.ioasherah1.0.0asherah-java/Cargo.toml
crates.ioasherah-config1.0.0asherah-java/Cargo.toml
crates.ioanyhow1.0asherah-java/Cargo.toml
crates.ioserde_json1.0asherah-java/Cargo.toml
crates.iotokio1asherah-java/Cargo.toml
crates.ioonce_cell1asherah-java/Cargo.toml
crates.iolog0.4asherah-java/Cargo.toml
crates.ioparking_lot0.12asherah-java/Cargo.toml
crates.iozeroize1.8asherah-java/Cargo.toml
crates.ionapi3asherah-node/Cargo.toml
crates.ionapi-derive3asherah-node/Cargo.toml
crates.ioserde1.0asherah-node/Cargo.toml
crates.ioserde_json1.0asherah-node/Cargo.toml
crates.ioanyhow1.0asherah-node/Cargo.toml
crates.ioasherah1.0.0asherah-node/Cargo.toml
crates.ioasherah-config1.0.0asherah-node/Cargo.toml
crates.iotokio1asherah-node/Cargo.toml
crates.ioonce_cell1asherah-node/Cargo.toml
crates.ioparking_lot0.12asherah-node/Cargo.toml
crates.iolru0.16asherah-node/Cargo.toml
crates.iolog0.4asherah-node/Cargo.toml
crates.iopyo30.29asherah-py/Cargo.toml
crates.ioasherah1.0.0asherah-py/Cargo.toml
crates.iotokio1asherah-py/Cargo.toml
crates.ioasherah-config1.0.0asherah-py/Cargo.toml
crates.ioserde_json1.0asherah-py/Cargo.toml
crates.ioanyhow1.0asherah-py/Cargo.toml
crates.ioonce_cell1.21asherah-py/Cargo.toml
crates.ioparking_lot0.12asherah-py/Cargo.toml
crates.iolru0.16asherah-py/Cargo.toml
crates.iolog0.4asherah-py/Cargo.toml
crates.iozeroize1asherah-py/Cargo.toml
crates.ioasherahasherah-server/Cargo.toml
crates.ioasherah-configasherah-server/Cargo.toml
crates.iotonic0.14asherah-server/Cargo.toml
crates.iotonic-prost0.14asherah-server/Cargo.toml
crates.ioprost0.14asherah-server/Cargo.toml
crates.iotokio1asherah-server/Cargo.toml
crates.iotokio-stream0.1asherah-server/Cargo.toml
crates.ioclap4asherah-server/Cargo.toml
crates.ioserde_json1asherah-server/Cargo.toml
crates.ioanyhow1asherah-server/Cargo.toml
crates.iolog0.4asherah-server/Cargo.toml
crates.ioenv_logger0.11asherah-server/Cargo.toml
crates.iorustix1.1asherah-server/Cargo.toml
crates.ioserde1.0asherah/Cargo.toml
crates.ioserde_json1.0asherah/Cargo.toml
crates.ioonce_cell1.21asherah/Cargo.toml
crates.ioparking_lot0.12asherah/Cargo.toml
crates.iorand0.9asherah/Cargo.toml
crates.iorand_chacha0.9asherah/Cargo.toml
crates.ioitoa1asherah/Cargo.toml
crates.ioanyhow1.0asherah/Cargo.toml
crates.ioasync-trait0.1asherah/Cargo.toml
crates.iolog0.4asherah/Cargo.toml
crates.ioserde_bytes0.11asherah/Cargo.toml
crates.ioblake20.10asherah/Cargo.toml
crates.iobase640.22asherah/Cargo.toml
crates.iosubtle2.5asherah/Cargo.toml
crates.iosignal-hook0.4asherah/Cargo.toml
crates.iolibc0.2asherah/Cargo.toml
crates.iowindows-sys0.59asherah/Cargo.toml
crates.iohardware-rust-crypto1.0asherah/Cargo.toml
crates.ioring0.17asherah/Cargo.toml
crates.ioscc3asherah/Cargo.toml
crates.iopercent-encoding2asherah/Cargo.toml
crates.iozeroize1.8asherah/Cargo.toml
crates.iohardware-enclave0.2.9asherah/Cargo.toml
crates.iorusqlite0.38asherah/Cargo.toml
crates.ioaws-config1asherah/Cargo.toml
crates.ioaws-types1asherah/Cargo.toml
crates.ioaws-sdk-kms1asherah/Cargo.toml
crates.ioaws-sdk-dynamodb1asherah/Cargo.toml
crates.ioaws-sdk-secretsmanager1asherah/Cargo.toml
crates.iotokio1asherah/Cargo.toml
crates.iomysql27asherah/Cargo.toml
crates.iopostgres0.19asherah/Cargo.toml
crates.iopostgres-native-tls0.5asherah/Cargo.toml
crates.ionative-tls0.2asherah/Cargo.toml
crates.ioopenssl0.10asherah/Cargo.toml
crates.ioreqwest0.12asherah/Cargo.toml
npmasherah^3.0.12interop/package.json
npmasherah-nodefile:../asherah-nodeinterop/package.json
Усі залежності 784

Повний розв'язаний набір залежностей із графа залежностей GitHub: 127 прямих і 657 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
crates.ioanyhowпряма
crates.ioanyhow1.0.102пряма
crates.ioasherahпряма
crates.ioasherah-cobhanпряма
crates.ioasherah-configпряма
crates.ioasync-traitпряма
crates.ioasync-trait0.1.89пряма
crates.ioaws-configпряма
crates.ioaws-config1.8.13пряма
crates.ioaws-config1.8.15пряма
crates.ioaws-sdk-dynamodbпряма
crates.ioaws-sdk-dynamodb1.104.0пряма
crates.ioaws-sdk-dynamodb1.108.0пряма
crates.ioaws-sdk-kmsпряма
crates.ioaws-sdk-kms1.103.0пряма
crates.ioaws-sdk-kms1.99.0пряма
crates.ioaws-sdk-secretsmanagerпряма
crates.ioaws-sdk-secretsmanager1.99.0пряма
crates.ioaws-typesпряма
crates.ioaws-types1.3.11пряма
crates.ioaws-types1.3.14пряма
crates.iobase64пряма
crates.iobase640.21.7пряма
crates.iobase640.22.1пряма
crates.ioblake2пряма
crates.ioblake20.10.6пряма
crates.ioclapпряма
crates.ioclap4.6.1пряма
crates.ioenv_loggerпряма
crates.ioenv_logger0.11.10пряма
crates.iohardware-enclaveпряма
crates.iohardware-enclave0.2.9пряма
crates.iohardware-rust-cryptoпряма
crates.iohardware-rust-crypto1.0.1пряма
crates.ioitoaпряма
crates.ioitoa1.0.17пряма
crates.ioitoa1.0.18пряма
crates.iojniпряма
crates.iojni0.22.4пряма
crates.iolibcпряма
crates.iolibc0.2.183пряма
crates.iolibc0.2.186пряма
crates.iologпряма
crates.iolog0.4.29пряма
crates.iolog0.4.32пряма
crates.iolruпряма
crates.iolru0.16.3пряма
crates.iolru0.16.4пряма
crates.iomysqlпряма
crates.iomysql27.0.0пряма
crates.ionapiпряма
crates.ionapi3.9.0пряма
crates.ionapi-deriveпряма
crates.ionapi-derive3.5.6пряма
crates.ionative-tlsпряма
crates.ionative-tls0.2.18пряма
crates.ioonce_cellпряма
crates.ioonce_cell1.21.3пряма
crates.ioonce_cell1.21.4пряма
crates.ioopensslпряма
crates.ioopenssl0.10.78пряма
crates.ioopenssl0.10.80пряма
crates.ioparking_lotпряма
crates.ioparking_lot0.12.5пряма
crates.iopercent-encodingпряма
crates.iopercent-encoding2.3.2пряма
crates.iopostgresпряма
crates.iopostgres0.19.12пряма
crates.iopostgres0.19.13пряма
crates.iopostgres-native-tlsпряма
crates.iopostgres-native-tls0.5.2пряма
crates.iopostgres-native-tls0.5.3пряма
crates.ioprostпряма
crates.ioprost0.14.4пряма
crates.iopyo3пряма
crates.iopyo30.29.0пряма
crates.iorandпряма
crates.iorand0.10.1пряма
crates.iorand0.9.4пряма
crates.iorand_chachaпряма
crates.iorand_chacha0.9.0пряма
crates.ioreqwestпряма
crates.ioreqwest0.12.28пряма
crates.ioringпряма
crates.ioring0.17.14пряма
crates.iorusqliteпряма
crates.iorusqlite0.38.0пряма
crates.iorustixпряма
crates.iorustix1.1.4пряма
crates.iosccпряма
crates.ioscc2.4.0пряма
crates.ioscc3.7.2пряма
crates.ioserdeпряма
crates.ioserde1.0.228пряма
crates.ioserde_bytesпряма
crates.ioserde_bytes0.11.19пряма
crates.ioserde_jsonпряма
crates.ioserde_json1.0.149пряма
crates.ioserde_json1.0.150пряма
crates.iosignal-hookпряма
crates.iosignal-hook0.4.3пряма
crates.iosignal-hook0.4.4пряма
crates.iosubtleпряма
crates.iosubtle2.6.1пряма
crates.iotokioпряма
crates.iotokio1.50.0пряма
crates.iotokio1.52.3пряма
crates.iotokio-streamпряма
crates.iotokio-stream0.1.18пряма
crates.iotonicпряма
crates.iotonic0.14.6пряма
crates.iotonic-prostпряма
crates.iotonic-prost0.14.6пряма
crates.iowindows-sysпряма
crates.iowindows-sys0.52.0пряма
crates.iowindows-sys0.59.0пряма
crates.iowindows-sys0.61.2пряма
crates.iozeroizeпряма
crates.iozeroize1.8.2пряма
Gogithub.com/ebitengine/puregov0.10.0пряма
Gogithub.com/ebitengine/puregov0.10.1пряма
Gogithub.com/ebitengine/puregov0.9.0пряма
npmasherah3.0.12пряма
npmasherah3.0.16пряма
npmasherah4.0.0-beta.1пряма
npmasherahlatestпряма
npmasherahnextпряма
crates.ioadler22.0.1непряма
crates.ioaead0.5.2непряма
crates.ioaes0.8.4непряма
crates.ioaes-gcm0.10.3непряма
crates.ioaho-corasick1.1.4непряма
crates.ioallocator-api20.2.21непряма
crates.ioandroid_system_properties0.1.5непряма
crates.ioanes0.1.6непряма
crates.ioanstream1.0.0непряма
crates.ioanstyle1.0.14непряма
crates.ioanstyle-parse1.0.0непряма
crates.ioanstyle-query1.1.5непряма
crates.ioanstyle-wincon3.0.11непряма
crates.ioarbitrary1.4.2непряма
crates.ioastral-tokio-tar0.6.2непряма
crates.ioasync-stream0.3.6непряма
crates.ioasync-stream-impl0.3.6непряма
crates.ioatomic-waker1.1.2непряма
crates.ioautocfg1.5.0непряма
crates.ioaws-credential-types1.2.11непряма
crates.ioaws-credential-types1.2.14непряма
crates.ioaws-lc-rs1.16.2непряма
crates.ioaws-lc-sys0.39.0непряма
crates.ioaws-lc-sys0.39.1непряма
crates.ioaws-runtime1.6.0непряма
crates.ioaws-runtime1.7.2непряма
crates.ioaws-sdk-sso1.93.0непряма
crates.ioaws-sdk-sso1.96.0непряма
crates.ioaws-sdk-ssooidc1.95.0непряма
crates.ioaws-sdk-ssooidc1.98.0непряма
crates.ioaws-sdk-sts1.100.0непряма
crates.ioaws-sdk-sts1.97.0непряма
crates.ioaws-sigv41.3.8непряма
crates.ioaws-sigv41.4.2непряма
crates.ioaws-smithy-async1.2.11непряма
crates.ioaws-smithy-async1.2.14непряма
crates.ioaws-smithy-http0.63.3непряма
crates.ioaws-smithy-http0.63.6непряма
crates.ioaws-smithy-http-client1.1.12непряма
crates.ioaws-smithy-http-client1.1.9непряма
crates.ioaws-smithy-json0.62.3непряма
crates.ioaws-smithy-json0.62.5непряма
crates.ioaws-smithy-observability0.2.4непряма
crates.ioaws-smithy-observability0.2.6непряма
crates.ioaws-smithy-query0.60.13непряма
crates.ioaws-smithy-query0.60.15непряма
crates.ioaws-smithy-runtime1.10.0непряма
crates.ioaws-smithy-runtime1.10.3непряма
crates.ioaws-smithy-runtime-api1.11.3непряма
crates.ioaws-smithy-runtime-api1.11.6непряма
crates.ioaws-smithy-types1.4.3непряма
crates.ioaws-smithy-types1.4.6непряма
crates.ioaws-smithy-xml0.60.13непряма
crates.ioaws-smithy-xml0.60.15непряма
crates.ioaxum0.8.8непряма
crates.ioaxum-core0.5.6непряма
crates.iobase64-simd0.8.0непряма
crates.iobitflags2.11.0непряма
crates.ioblock-buffer0.10.4непряма
crates.ioblock-buffer0.12.0непряма
crates.iobollard0.20.2непряма
crates.iobollard-buildkit-proto0.7.0непряма
crates.iobollard-stubs1.52.1-rc.29.1.3непряма
crates.iobstr1.12.1непряма
crates.iobtoi0.5.0непряма
crates.iobufstream0.1.4непряма
crates.iobumpalo3.20.2непряма
crates.iobytecount0.6.9непряма
crates.iobyteorder1.5.0непряма
crates.iobytes1.11.1непряма
crates.iobytes-utils0.1.4непряма
crates.iocast0.3.0непряма
crates.iocc1.2.56непряма
crates.iocc1.2.60непряма
crates.iocfg-if1.0.4непряма
crates.iocfg_aliases0.2.1непряма
crates.iochacha200.10.0непряма
crates.iochrono0.4.44непряма
crates.iociborium0.2.2непряма
crates.iociborium-io0.2.2непряма
crates.iociborium-ll0.2.2непряма
crates.iocipher0.4.4непряма
crates.ioclap_builder4.6.0непряма
crates.ioclap_derive4.6.1непряма
crates.ioclap_lex1.1.0непряма
crates.iocmake0.1.57непряма
crates.iocmake0.1.58непряма
crates.iocmov0.5.3непряма
crates.iocolorchoice1.0.5непряма
crates.iocombine4.6.7непряма
crates.ioconsole0.16.3непряма
crates.ioconst-oid0.10.2непряма
crates.ioconvert_case0.10.0непряма
crates.ioconvert_case0.11.0непряма
crates.iocore-foundation0.10.1непряма
crates.iocore-foundation-sys0.8.7непряма
crates.iocpufeatures0.2.17непряма
crates.iocpufeatures0.3.0непряма
crates.iocrc32fast1.5.0непряма
crates.iocriterionнепряма
crates.iocriterion0.5.1непряма
crates.iocriterion-plot0.5.0непряма
crates.iocrossbeam-deque0.8.6непряма
crates.iocrossbeam-epoch0.9.18непряма
crates.iocrossbeam-queue0.3.12непряма
crates.iocrossbeam-utils0.8.21непряма
crates.iocrunchy0.2.4непряма
crates.iocrypto-common0.1.7непряма
crates.iocrypto-common0.2.1непряма
crates.ioctor1.0.6непряма
crates.ioctr0.9.2непряма
crates.ioctutils0.4.2непряма
crates.iocucumberнепряма
crates.iocucumber0.22.1непряма
crates.iocucumber-codegen0.22.1непряма
crates.iocucumber-expressions0.5.0непряма
crates.iodarling0.20.11непряма
crates.iodarling0.23.0непряма
crates.iodarling_core0.20.11непряма
crates.iodarling_core0.23.0непряма
crates.iodarling_macro0.20.11непряма
crates.iodarling_macro0.23.0непряма
crates.ioderanged0.5.8непряма
crates.ioderive_arbitrary1.4.2непряма
crates.ioderive_more2.1.1непряма
crates.ioderive_more-impl2.1.1непряма
crates.ioderive_utils0.15.1непряма
crates.iodigest0.10.7непряма
crates.iodigest0.11.2непряма
crates.iodisplaydoc0.2.5непряма
crates.iodocker_credential1.3.2непряма
crates.iodunce1.0.5непряма
crates.iodyn-clone1.0.20непряма
crates.ioeither1.15.0непряма
crates.ioencode_unicode1.0.0непряма
crates.ioenv_filter1.0.1непряма
crates.ioequivalent1.0.2непряма
crates.ioerrno0.3.14непряма
crates.ioetcetera0.11.0непряма
crates.iofallible-iterator0.2.0непряма
crates.iofallible-iterator0.3.0непряма
crates.iofallible-streaming-iterator0.1.9непряма
crates.iofastrand2.3.0непряма
crates.iofastrand2.4.1непряма
crates.ioferroid2.0.0непряма
crates.iofiletime0.2.27непряма
crates.iofind-msvc-tools0.1.9непряма
crates.iofixedbitset0.5.7непряма
crates.ioflate21.1.9непряма
crates.iofnv1.0.7непряма
crates.iofoldhash0.1.5непряма
crates.iofoldhash0.2.0непряма
crates.ioforeign-types0.3.2непряма
crates.ioforeign-types-shared0.1.1непряма
crates.ioform_urlencoded1.2.2непряма
crates.iofs_extra1.3.0непряма
crates.iofuturesнепряма
crates.iofutures0.3.32непряма
crates.iofutures-channel0.3.32непряма
crates.iofutures-core0.3.32непряма
crates.iofutures-executor0.3.32непряма
crates.iofutures-io0.3.32непряма
crates.iofutures-macro0.3.32непряма
crates.iofutures-sink0.3.32непряма
crates.iofutures-task0.3.32непряма
crates.iofutures-util0.3.32непряма
crates.iogeneric-array0.14.7непряма
crates.iogetrandom0.2.17непряма
crates.iogetrandom0.3.4непряма
crates.iogetrandom0.4.2непряма
crates.ioghash0.5.1непряма
crates.iogherkin0.15.0непряма
crates.ioglob0.3.3непряма
crates.ioglobset0.4.18непряма
crates.ioglobwalk0.9.1непряма
crates.ioh20.4.13непряма
crates.iohalf2.7.1непряма
crates.iohashbrown0.12.3непряма
crates.iohashbrown0.15.5непряма
crates.iohashbrown0.16.1непряма
crates.iohashbrown0.17.0непряма
crates.iohashlink0.11.0непряма
crates.ioheck0.5.0непряма
crates.iohermit-abi0.5.2непряма
crates.iohex0.4.3непряма
crates.iohmac0.12.1непряма
crates.iohmac0.13.0непряма
crates.iohome0.5.12непряма
crates.iohttp0.2.12непряма
crates.iohttp1.4.0непряма
crates.iohttp-body0.4.6непряма
crates.iohttp-body1.0.1непряма
crates.iohttp-body-util0.1.3непряма
crates.iohttparse1.10.1непряма
crates.iohttpdate1.0.3непряма
crates.iohumantime2.3.0непряма
crates.iohybrid-array0.4.10непряма
crates.iohyper1.8.1непряма
crates.iohyper1.9.0непряма
crates.iohyper-named-pipe0.1.0непряма
crates.iohyper-rustls0.27.7непряма
crates.iohyper-rustls0.27.8непряма
crates.iohyper-timeout0.5.2непряма
crates.iohyper-utilнепряма
crates.iohyper-util0.1.20непряма
crates.iohyperlocal0.9.1непряма
crates.ioiana-time-zone0.1.65непряма
crates.ioiana-time-zone-haiku0.1.2непряма
crates.ioicu_collections2.1.1непряма
crates.ioicu_collections2.2.0непряма
crates.ioicu_locale_core2.1.1непряма
crates.ioicu_locale_core2.2.0непряма
crates.ioicu_normalizer2.1.1непряма
crates.ioicu_normalizer2.2.0непряма
crates.ioicu_normalizer_data2.1.1непряма
crates.ioicu_normalizer_data2.2.0непряма
crates.ioicu_properties2.1.2непряма
crates.ioicu_properties2.2.0непряма
crates.ioicu_properties_data2.1.2непряма
crates.ioicu_properties_data2.2.0непряма
crates.ioicu_provider2.1.1непряма
crates.ioicu_provider2.2.0непряма
crates.ioid-arena2.3.0непряма
crates.ioident_case1.0.1непряма
crates.ioidna1.1.0непряма
crates.ioidna_adapter1.2.1непряма
crates.ioignore0.4.25непряма
crates.ioindexmap1.9.3непряма
crates.ioindexmap2.13.0непряма
crates.ioindexmap2.14.0непряма
crates.ioinflections1.1.1непряма
crates.ioinout0.1.4непряма
crates.ioinventory0.3.24непряма
crates.ioio-enum1.2.1непряма
crates.ioipnet2.12.0непряма
crates.ioiri-string0.7.12непряма
crates.iois-terminal0.4.17непряма
crates.iois_terminal_polyfill1.70.2непряма
crates.ioitertools0.10.5непряма
crates.ioitertools0.14.0непряма
crates.iojava-locator0.1.9непряма
crates.iojiff0.2.23непряма
crates.iojiff-static0.2.23непряма
crates.iojni-macros0.22.4непряма
crates.iojni-sys0.4.1непряма
crates.iojni-sys-macros0.4.1непряма
crates.iojobserver0.1.34непряма
crates.iojs-sys0.3.91непряма
crates.iojs-sys0.3.95непряма
crates.ioleb128fmt0.1.0непряма
crates.iolibfuzzer-sys0.4.12непряма
crates.iolibloadingнепряма
crates.iolibloading0.8.9непряма
crates.iolibloading0.9.0непряма
crates.iolibredox0.1.14непряма
crates.iolibredox0.1.16непряма
crates.iolibsqlite3-sys0.36.0непряма
crates.iolibz-sys1.1.25непряма
crates.iolibz-sys1.1.28непряма
crates.iolinked-hash-map0.5.6непряма
crates.iolinux-raw-sys0.12.1непряма
crates.iolitemap0.8.1непряма
crates.iolitemap0.8.2непряма
crates.iolock_api0.4.14непряма
crates.iolru-slab0.1.2непряма
crates.iomatchit0.8.4непряма
crates.iomd-50.10.6непряма
crates.iomd-50.11.0непряма
crates.iomemchr2.8.0непряма
crates.iomime0.3.17непряма
crates.iominiz_oxide0.8.9непряма
crates.iomio1.1.1непряма
crates.iomio1.2.0непряма
crates.iomultimap0.10.1непряма
crates.iomysql-common-derive0.32.1непряма
crates.iomysql_common0.36.2непряма
crates.ionamed_pipe0.4.1непряма
crates.ionapi-buildнепряма
crates.ionapi-build2.3.2непряма
crates.ionapi-derive-backend5.0.4непряма
crates.ionapi-sys3.2.1непряма
crates.ionohash-hasher0.2.0непряма
crates.ionom8.0.0непряма
crates.ionom_locate5.0.0непряма
crates.ionum0.4.3непряма
crates.ionum-bigint0.4.6непряма
crates.ionum-complex0.4.6непряма
crates.ionum-conv0.2.0непряма
crates.ionum-conv0.2.1непряма
crates.ionum-integer0.1.46непряма
crates.ionum-iter0.1.45непряма
crates.ionum-rational0.4.2непряма
crates.ionum-traits0.2.19непряма
crates.ioobjc2-core-foundation0.3.2непряма
crates.ioobjc2-system-configuration0.3.2непряма
crates.ioonce_cell_polyfill1.70.2непряма
crates.iooorandom11.1.5непряма
crates.ioopaque-debug0.3.1непряма
crates.ioopenssl-macros0.1.1непряма
crates.ioopenssl-probe0.2.1непряма
crates.ioopenssl-src300.5.5+3.5.5непряма
crates.ioopenssl-src300.6.0+3.6.2непряма
crates.ioopenssl-sys0.9.115непряма
crates.ioopenssl-sys0.9.116непряма
crates.iooutref0.5.2непряма
crates.ioparking_lot_core0.9.12непряма
crates.ioparse-display0.9.1непряма
crates.ioparse-display-derive0.9.1непряма
crates.iopeg0.6.3непряма
crates.iopeg-macros0.6.3непряма
crates.iopeg-runtime0.6.3непряма
crates.iopem3.0.6непряма
crates.iopetgraph0.8.3непряма
crates.iophf0.13.1непряма
crates.iophf_shared0.13.1непряма
crates.iopin-project1.1.11непряма
crates.iopin-project-internal1.1.11непряма
crates.iopin-project-lite0.2.17непряма
crates.iopin-utils0.1.0непряма
crates.iopkg-config0.3.32непряма
crates.iopkg-config0.3.33непряма
crates.ioplain0.2.3непряма
crates.ioplotters0.3.7непряма
crates.ioplotters-backend0.3.7непряма
crates.ioplotters-svg0.3.7непряма
crates.iopolyval0.6.2непряма
crates.ioportable-atomic1.13.1непряма
crates.ioportable-atomic-util0.2.6непряма
crates.iopostgres-protocol0.6.10непряма
crates.iopostgres-protocol0.6.11непряма
crates.iopostgres-types0.2.12непряма
crates.iopostgres-types0.2.13непряма
crates.iopotential_utf0.1.4непряма
crates.iopotential_utf0.1.5непряма
crates.iopowerfmt0.2.0непряма
crates.ioppv-lite860.2.21непряма
crates.ioprettyplease0.2.37непряма
crates.ioproc-macro-crate3.5.0непряма
crates.ioproc-macro-error-attr22.0.0непряма
crates.ioproc-macro-error22.0.1непряма
crates.ioproc-macro21.0.106непряма
crates.ioproptestнепряма
crates.ioproptest1.11.0непряма
crates.ioprost-build0.14.3непряма
crates.ioprost-derive0.14.4непряма
crates.ioprost-types0.14.3непряма
crates.iopulldown-cmark0.13.3непряма
crates.iopulldown-cmark-to-cmark22.0.0непряма
crates.iopyo3-build-config0.29.0непряма
crates.iopyo3-ffi0.29.0непряма
crates.iopyo3-macros0.29.0непряма
crates.iopyo3-macros-backend0.29.0непряма
crates.ioquick-error1.2.3непряма
crates.ioquinn0.11.9непряма
crates.ioquinn-proto0.11.14непряма
crates.ioquinn-udp0.5.14непряма
crates.ioquote1.0.45непряма
crates.ior-efi5.3.0непряма
crates.ior-efi6.0.0непряма
crates.iorand_core0.10.0непряма
crates.iorand_core0.6.4непряма
crates.iorand_core0.9.5непряма
crates.iorand_xorshift0.4.0непряма
crates.iorayon1.11.0непряма
crates.iorayon-core1.13.0непряма
crates.ioredox_syscall0.5.18непряма
crates.ioredox_syscall0.7.4непряма
crates.ioref-cast1.0.25непряма
crates.ioref-cast-impl1.0.25непряма
crates.ioregex1.12.3непряма
crates.ioregex-automata0.4.14непряма
crates.ioregex-lite0.1.9непряма
crates.ioregex-syntax0.8.10непряма
crates.iorsqlite-vfs0.1.0непряма
crates.iorustc-hash2.1.2непряма
crates.iorustc_version0.4.1непряма
crates.iorustls0.23.37непряма
crates.iorustls0.23.38непряма
crates.iorustls-native-certs0.8.3непряма
crates.iorustls-pki-types1.14.0непряма
crates.iorustls-webpki0.103.13непряма
crates.iorustversion1.0.22непряма
crates.iorusty-fork0.3.1непряма
crates.ioryu1.0.23непряма
crates.iosaa5.6.0непряма
crates.iosame-file1.0.6непряма
crates.iosaturating0.1.0непряма
crates.ioschannel0.1.29непряма
crates.ioschemars0.9.0непряма
crates.ioschemars1.2.1непряма
crates.ioscopeguard1.2.0непряма
crates.iosdd3.0.10непряма
crates.iosdd4.8.6непряма
crates.iosealed0.6.0непряма
crates.iosecurity-framework3.7.0непряма
crates.iosecurity-framework-sys2.17.0непряма
crates.iosemver1.0.27непряма
crates.iosemver1.0.28непряма
crates.ioserde_core1.0.228непряма
crates.ioserde_derive1.0.228непряма
crates.ioserde_repr0.1.20непряма
crates.ioserde_urlencoded0.7.1непряма
crates.ioserde_with3.18.0непряма
crates.ioserde_with_macros3.18.0непряма
crates.ioserial_testнепряма
crates.ioserial_test3.5.0непряма
crates.ioserial_test_derive3.5.0непряма
crates.iosha10.10.6непряма
crates.iosha20.10.9непряма
crates.iosha20.11.0непряма
crates.ioshlex1.3.0непряма
crates.iosignal-hook-registry1.4.8непряма
crates.iosimd-adler320.3.8непряма
crates.iosimd-adler320.3.9непряма
crates.iosimd_cesu81.1.1непряма
crates.iosimdutf80.1.5непряма
crates.iosiphasher1.0.2непряма
crates.ioslab0.4.12непряма
crates.iosmallvec1.15.1непряма
crates.iosmart-default0.7.1непряма
crates.iosmawk0.3.2непряма
crates.iosocket20.6.3непряма
crates.iosqlite-wasm-rs0.5.2непряма
crates.iostable_deref_trait1.2.1непряма
crates.iostringprep0.1.5непряма
crates.iostrsim0.11.1непряма
crates.iostructmeta0.3.0непряма
crates.iostructmeta-derive0.3.0непряма
crates.iosyn2.0.117непряма
crates.iosync_wrapper1.0.2непряма
crates.iosynstructure0.13.2непряма
crates.iosynthez0.4.0непряма
crates.iosynthez-codegen0.4.0непряма
crates.iosynthez-core0.4.0непряма
crates.iotarget-lexicon0.13.5непряма
crates.iotempfileнепряма
crates.iotempfile3.27.0непряма
crates.iotermcolor1.4.1непряма
crates.ioterminal_size0.4.4непряма
crates.iotestcontainersнепряма
crates.iotestcontainers0.27.3непряма
crates.iotestcontainers-modulesнепряма
crates.iotestcontainers-modules0.15.0непряма
crates.iotextwrap0.16.2непряма
crates.iothiserror2.0.18непряма
crates.iothiserror-impl2.0.18непряма
crates.iotime0.3.47непряма
crates.iotime-core0.1.8непряма
crates.iotime-macros0.2.27непряма
crates.iotinystr0.8.2непряма
crates.iotinystr0.8.3непряма
crates.iotinytemplate1.2.1непряма
crates.iotinyvec1.10.0непряма
crates.iotinyvec1.11.0непряма
crates.iotinyvec_macros0.1.1непряма
crates.iotokio-macros2.6.1непряма
crates.iotokio-macros2.7.0непряма
crates.iotokio-native-tls0.3.1непряма
crates.iotokio-postgres0.7.16непряма
crates.iotokio-postgres0.7.17непряма
crates.iotokio-rustls0.26.4непряма
crates.iotokio-util0.7.18непряма
crates.iotoml_datetime1.0.0+spec-1.1.0непряма
crates.iotoml_datetime1.1.1+spec-1.1.0непряма
crates.iotoml_edit0.25.11+spec-1.1.0непряма
crates.iotoml_edit0.25.4+spec-1.1.0непряма
crates.iotoml_parser1.0.9+spec-1.1.0непряма
crates.iotoml_parser1.1.2+spec-1.1.0непряма
crates.iotonic-build0.14.6непряма
crates.iotonic-prost-buildнепряма
crates.iotonic-prost-build0.14.6непряма
crates.iotowerнепряма
crates.iotower0.5.3непряма
crates.iotower-http0.6.8непряма
crates.iotower-layer0.3.3непряма
crates.iotower-service0.3.3непряма
crates.iotracing0.1.44непряма
crates.iotracing-attributes0.1.31непряма
crates.iotracing-core0.1.36непряма
crates.iotry-lock0.2.5непряма
crates.iotwox-hash2.1.2непряма
crates.iotyped-builder0.23.2непряма
crates.iotyped-builder-macro0.23.2непряма
crates.iotypenum1.19.0непряма
crates.iounarray0.1.4непряма
crates.iounicase2.9.0непряма
crates.iounicode-bidi0.3.18непряма
crates.iounicode-ident1.0.24непряма
crates.iounicode-linebreak0.1.5непряма
crates.iounicode-normalization0.1.25непряма
crates.iounicode-properties0.1.4непряма
crates.iounicode-segmentation1.13.2непряма
crates.iounicode-width0.2.2непряма
crates.iounicode-xid0.2.6непряма
crates.iouniversal-hash0.5.1непряма
crates.iountrusted0.9.0непряма
crates.ioureq3.3.0непряма
crates.ioureq-proto0.6.0непряма
crates.iourl2.5.8непряма
crates.iourlencoding2.1.3непряма
crates.ioutf8-zero0.8.1непряма
crates.ioutf8_iter1.0.4непряма
crates.ioutf8parse0.2.2непряма
crates.iouuid1.22.0непряма
crates.iouuid1.23.0непряма
crates.iovcpkg0.2.15непряма
crates.ioversion_check0.9.5непряма
crates.iovsimd0.8.0непряма
crates.iowait-timeout0.2.1непряма
crates.iowalkdir2.5.0непряма
crates.iowant0.3.1непряма
crates.iowasi0.11.1+wasi-snapshot-preview1непряма
crates.iowasi0.14.7+wasi-0.2.4непряма
crates.iowasip21.0.2+wasi-0.2.9непряма
crates.iowasip30.4.0+wasi-0.3.0-rc-2026-01-06непряма
crates.iowasite1.0.2непряма
crates.iowasm-bindgen0.2.114непряма
crates.iowasm-bindgen0.2.118непряма
crates.iowasm-bindgen-futures0.4.68непряма
crates.iowasm-bindgen-macro0.2.114непряма
crates.iowasm-bindgen-macro0.2.118непряма
crates.iowasm-bindgen-macro-support0.2.114непряма
crates.iowasm-bindgen-macro-support0.2.118непряма
crates.iowasm-bindgen-shared0.2.114непряма
crates.iowasm-bindgen-shared0.2.118непряма
crates.iowasm-encoder0.244.0непряма
crates.iowasm-metadata0.244.0непряма
crates.iowasmparser0.244.0непряма
crates.ioweb-sys0.3.91непряма
crates.ioweb-sys0.3.95непряма
crates.ioweb-time1.1.0непряма
crates.iowebpki-roots1.0.6непряма
crates.iowhichнепряма
crates.iowhich8.0.3непряма
crates.iowhoami2.1.1непряма
crates.iowinapi0.3.9непряма
crates.iowinapi-i686-pc-windows-gnu0.4.0непряма
crates.iowinapi-util0.1.11непряма
crates.iowinapi-x86_64-pc-windows-gnu0.4.0непряма
crates.iowindows0.58.0непряма
crates.iowindows-core0.58.0непряма
crates.iowindows-core0.62.2непряма
crates.iowindows-implement0.58.0непряма
crates.iowindows-implement0.60.2непряма
crates.iowindows-interface0.58.0непряма
crates.iowindows-interface0.59.3непряма
crates.iowindows-link0.2.1непряма
crates.iowindows-result0.2.0непряма
crates.iowindows-result0.4.1непряма
crates.iowindows-strings0.1.0непряма
crates.iowindows-strings0.5.1непряма
crates.iowindows-targets0.52.6непряма
crates.iowindows_aarch64_gnullvm0.52.6непряма
crates.iowindows_aarch64_msvc0.52.6непряма
crates.iowindows_i686_gnu0.52.6непряма
crates.iowindows_i686_gnullvm0.52.6непряма
crates.iowindows_i686_msvc0.52.6непряма
crates.iowindows_x86_64_gnu0.52.6непряма
crates.iowindows_x86_64_gnullvm0.52.6непряма
crates.iowindows_x86_64_msvc0.52.6непряма
crates.iowinnow0.7.15непряма
crates.iowinnow1.0.1непряма
crates.iowit-bindgen0.51.0непряма
crates.iowit-bindgen-core0.51.0непряма
crates.iowit-bindgen-rust0.51.0непряма
crates.iowit-bindgen-rust-macro0.51.0непряма
crates.iowit-component0.244.0непряма
crates.iowit-parser0.244.0непряма
crates.iowriteable0.6.2непряма
crates.iowriteable0.6.3непряма
crates.ioxattr1.6.1непряма
crates.ioxmlparser0.13.6непряма
crates.ioyoke0.8.1непряма
crates.ioyoke0.8.2непряма
crates.ioyoke-derive0.8.1непряма
crates.ioyoke-derive0.8.2непряма
crates.iozerocopy0.8.42непряма
crates.iozerocopy0.8.48непряма
crates.iozerocopy-derive0.8.42непряма
crates.iozerocopy-derive0.8.48непряма
crates.iozerofrom0.1.6непряма
crates.iozerofrom0.1.7непряма
crates.iozerofrom-derive0.1.6непряма
crates.iozerofrom-derive0.1.7непряма
crates.iozeroize_derive1.4.3непряма
crates.iozerotrie0.2.3непряма
crates.iozerotrie0.2.4непряма
crates.iozerovec0.11.5непряма
crates.iozerovec0.11.6непряма
crates.iozerovec-derive0.11.2непряма
crates.iozerovec-derive0.11.3непряма
crates.iozmij1.0.21непряма
Gogithub.com/awnumar/memcallv0.1.2непряма
Gogithub.com/awnumar/memcallv0.4.0непряма
Gogithub.com/awnumar/memguardv0.22.3непряма
Gogithub.com/awnumar/memguardv0.22.5непряма
Gogithub.com/aws/aws-sdk-gov1.44.265непряма
Gogithub.com/aws/aws-sdk-gov1.55.8непряма
Gogithub.com/goburrow/cachev0.1.4непряма
Gogithub.com/godaddy/asherah/go/appencryptionv0.3.0непряма
Gogithub.com/godaddy/asherah/go/appencryptionv0.9.0непряма
Gogithub.com/godaddy/asherah/go/securememoryv0.1.4непряма
Gogithub.com/godaddy/asherah/go/securememoryv0.1.7непряма
Gogithub.com/jmespath/go-jmespathv0.4.0непряма
Gogithub.com/pkg/errorsv0.9.1непряма
Gogithub.com/rcrowley/go-metricsv0.0.0-20201227073835-cf1acfcdf475непряма
Gogolang.org/x/cryptov0.45.0непряма
Gogolang.org/x/cryptov0.48.0непряма
Gogolang.org/x/netv0.48.0непряма
Gogolang.org/x/sysv0.38.0непряма
Gogolang.org/x/sysv0.39.0непряма
Gogolang.org/x/sysv0.42.0непряма
Gogolang.org/x/textv0.32.0непряма
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20251202230838-ff82c1b0f217непряма
Gogoogle.golang.org/grpcv1.79.3непряма
Gogoogle.golang.org/protobufv1.36.11непряма
Mavencom.godaddy.asherah:appencryptionнепряма
Mavencom.godaddy.asherah:appencryption0.3.3непряма
Mavencom.godaddy.asherah:appencryption0.4.0непряма
Mavenio.micrometer:micrometer-core1.17.0непряма
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.15.0непряма
Mavenorg.apache.maven.plugins:maven-gpg-plugin3.2.8непряма
Mavenorg.apache.maven.plugins:maven-javadoc-plugin3.12.0непряма
Mavenorg.apache.maven.plugins:maven-shade-plugin3.6.0непряма
Mavenorg.apache.maven.plugins:maven-source-plugin3.4.0непряма
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.5.6непряма
Mavenorg.codehaus.mojo:exec-maven-plugin3.6.3непряма
Mavenorg.json:json20240303непряма
Mavenorg.junit.jupiter:junit-jupiter5.14.4непряма
Mavenorg.openjdk.jmh:jmh-core1.37непряма
Mavenorg.openjdk.jmh:jmh-generator-annprocess1.37непряма
Mavenorg.slf4j:slf4j-api2.0.18непряма
Mavenorg.slf4j:slf4j-simple2.0.18непряма
Mavenorg.slf4j:slf4j-simple2.0.7непряма
Mavenorg.sonatype.central:central-publishing-maven-plugin0.10.0непряма
npm../asherah-node0.1.0непряма
npm@napi-rs/cli2.18.4непряма
npmnode-addon-api8.5.0непряма
npmnode-addon-api8.6.0непряма
npmtinybench6.0.0непряма
NuGetBenchmarkDotNet0.15.8непряма
NuGetGoDaddy.Asherah.AppEncryption0.11.0непряма
NuGetGoDaddy.Asherah.AppEncryption0.2.10непряма
NuGetGoDaddy.Asherah.SecureMemory0.5.0непряма
NuGetMicrosoft.Extensions.Logging10.0.7непряма
NuGetMicrosoft.Extensions.Logging.Abstractionsнепряма
NuGetNewtonsoft.Jsonнепряма
Packagistext-ffiнепряма
Packagistext-jsonнепряма
Packagistfriendsofphp/php-cs-fixerнепряма
Packagistphpнепряма
Packagistphpstan/phpstanнепряма
Packagistphpunit/phpunitнепряма
RubyGemsffiнепряма
RubyGemsloggerнепряма
RubyGemsminitest5.27.0непряма
RubyGemsrake13.4.2непряма
Сповіщення про залежності 23

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 708 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 23 мають відомі сповіщення, з них 4 прямі. 76 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза наведеним переліком пакетів.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
golang.org/x/cryptov0.45.0непрямакритична270.52.0
golang.org/x/cryptov0.48.0непрямакритична270.52.0
google.golang.org/grpcv1.79.3непрямакритична11.82.1
openssl0.10.78прямависока30.10.80
postgres-protocol0.6.10непрямависока20.6.12
postgres-protocol0.6.11непрямависока20.6.12
quinn-proto0.11.14непрямависока20.11.15
cmov0.5.3непрямапомірна10.5.4
golang.org/x/netv0.48.0непрямапомірна91.26.3
serde_with3.18.0непрямапомірна13.21.0
tokio-postgres0.7.16непрямапомірна10.7.18
tokio-postgres0.7.17непрямапомірна10.7.18
anyhow1.0.102пряманевідома11.0.103
scc2.4.0пряманевідома13.8.4
scc3.7.2пряманевідома13.8.4
crossbeam-epoch0.9.18непряманевідома10.9.20
github.com/aws/aws-sdk-gov1.44.265непряманевідома2
github.com/aws/aws-sdk-gov1.55.8непряманевідома2
golang.org/x/sysv0.38.0непряманевідома10.44.0
golang.org/x/sysv0.39.0непряманевідома10.44.0
golang.org/x/sysv0.42.0непряманевідома10.44.0
golang.org/x/textv0.32.0непряманевідома10.39.0
proc-macro-error22.0.1непряманевідома1

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "cryptography",
        "dotnet",
        "encryption",
        "envelope-encryption",
        "ffi",
        "go",
        "java",
        "key-rotation",
        "nodejs",
        "python",
        "ruby",
        "rust",
        "security"
      ],
      "is_fork": false,
      "size_kb": 49344,
      "has_wiki": false,
      "homepage": "https://github.com/godaddy/asherah-ffi",
      "languages": {
        "C": 103,
        "C#": 291295,
        "Go": 141534,
        "PHP": 133757,
        "Java": 190515,
        "Ruby": 97020,
        "Rust": 1775560,
        "Shell": 133459,
        "Python": 104338,
        "Gherkin": 2033,
        "Dockerfile": 4380,
        "JavaScript": 128261
      },
      "pushed_at": "2026-07-21T02:51:43Z",
      "created_at": "2025-09-30T18:32:43Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-16T09:32:26Z",
      "description": "Application-layer envelope encryption with automatic key rotation. Rust core with bindings for Node.js, Python, .NET, Java, Ruby, and Go.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": "https://godaddy.com/engineering/",
      "name": "GoDaddy",
      "type": "Organization",
      "login": "godaddy",
      "company": null,
      "location": "United States of America",
      "followers": 228,
      "avatar_url": "https://avatars.githubusercontent.com/u/1406546?v=4",
      "created_at": "2012-02-03T20:15:04Z",
      "is_verified": null,
      "public_repos": 215,
      "account_age_days": 5287
    },
    "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": "v1.0.0",
          "kind": "major",
          "published_at": "2026-06-19T20:17:42Z"
        },
        {
          "tag": "v0.6.115",
          "kind": "patch",
          "published_at": "2026-06-10T10:57:46Z"
        },
        {
          "tag": "v0.6.114",
          "kind": "patch",
          "published_at": "2026-06-10T10:55:04Z"
        },
        {
          "tag": "v0.6.113",
          "kind": "patch",
          "published_at": "2026-06-10T04:58:46Z"
        },
        {
          "tag": "v0.6.112",
          "kind": "patch",
          "published_at": "2026-06-09T14:56:21Z"
        },
        {
          "tag": "v0.6.111",
          "kind": "patch",
          "published_at": "2026-06-09T03:40:48Z"
        },
        {
          "tag": "v0.6.110",
          "kind": "patch",
          "published_at": "2026-06-05T17:41:12Z"
        },
        {
          "tag": "v0.6.109",
          "kind": "patch",
          "published_at": "2026-06-05T14:18:05Z"
        },
        {
          "tag": "v0.6.108",
          "kind": "patch",
          "published_at": "2026-06-03T08:59:01Z"
        },
        {
          "tag": "v0.6.107",
          "kind": "patch",
          "published_at": "2026-05-21T21:43:07Z"
        },
        {
          "tag": "v0.6.106",
          "kind": "patch",
          "published_at": "2026-05-21T05:48:47Z"
        },
        {
          "tag": "v0.6.105",
          "kind": "patch",
          "published_at": "2026-05-14T15:53:42Z"
        },
        {
          "tag": "v0.6.104",
          "kind": "patch",
          "published_at": "2026-05-14T14:43:35Z"
        },
        {
          "tag": "v0.6.103",
          "kind": "patch",
          "published_at": "2026-05-14T01:28:14Z"
        },
        {
          "tag": "v0.6.102",
          "kind": "patch",
          "published_at": "2026-05-13T22:37:51Z"
        },
        {
          "tag": "v0.6.101",
          "kind": "patch",
          "published_at": "2026-05-13T00:39:32Z"
        },
        {
          "tag": "v0.6.100",
          "kind": "patch",
          "published_at": "2026-05-12T23:23:35Z"
        },
        {
          "tag": "v0.6.99",
          "kind": "patch",
          "published_at": "2026-05-12T19:35:48Z"
        },
        {
          "tag": "v0.6.98",
          "kind": "patch",
          "published_at": "2026-05-09T22:58:44Z"
        },
        {
          "tag": "v0.6.97",
          "kind": "patch",
          "published_at": "2026-05-06T20:28:06Z"
        },
        {
          "tag": "v0.6.96",
          "kind": "patch",
          "published_at": "2026-05-01T16:02:15Z"
        },
        {
          "tag": "v0.6.95",
          "kind": "patch",
          "published_at": "2026-05-01T14:55:19Z"
        },
        {
          "tag": "v0.6.94",
          "kind": "patch",
          "published_at": "2026-05-01T13:25:43Z"
        },
        {
          "tag": "v0.6.93",
          "kind": "patch",
          "published_at": "2026-04-29T21:51:16Z"
        },
        {
          "tag": "v0.6.92",
          "kind": "patch",
          "published_at": "2026-04-29T01:47:21Z"
        },
        {
          "tag": "v0.6.91",
          "kind": "patch",
          "published_at": "2026-04-28T00:42:56Z"
        },
        {
          "tag": "v0.6.90",
          "kind": "patch",
          "published_at": "2026-04-10T16:34:24Z"
        },
        {
          "tag": "v0.6.89",
          "kind": "patch",
          "published_at": "2026-04-08T19:40:03Z"
        },
        {
          "tag": "v0.6.88",
          "kind": "patch",
          "published_at": "2026-04-08T01:04:23Z"
        },
        {
          "tag": "v0.6.87",
          "kind": "patch",
          "published_at": "2026-03-30T15:55:31Z"
        },
        {
          "tag": "v0.6.86",
          "kind": "patch",
          "published_at": "2026-03-30T12:24:11Z"
        },
        {
          "tag": "v0.6.85",
          "kind": "patch",
          "published_at": "2026-03-29T04:01:33Z"
        },
        {
          "tag": "v0.6.84",
          "kind": "patch",
          "published_at": "2026-03-29T02:30:18Z"
        },
        {
          "tag": "v0.6.83",
          "kind": "patch",
          "published_at": "2026-03-28T20:17:14Z"
        },
        {
          "tag": "v0.6.82",
          "kind": "patch",
          "published_at": "2026-03-28T19:29:53Z"
        },
        {
          "tag": "v0.6.81",
          "kind": "patch",
          "published_at": "2026-03-28T19:28:31Z"
        },
        {
          "tag": "v0.6.80",
          "kind": "patch",
          "published_at": "2026-03-28T18:12:09Z"
        },
        {
          "tag": "v0.6.79",
          "kind": "patch",
          "published_at": "2026-03-28T17:08:21Z"
        },
        {
          "tag": "v0.6.78",
          "kind": "patch",
          "published_at": "2026-03-28T15:02:11Z"
        },
        {
          "tag": "v0.6.77",
          "kind": "patch",
          "published_at": "2026-03-28T14:19:45Z"
        },
        {
          "tag": "v0.6.76",
          "kind": "patch",
          "published_at": "2026-03-28T12:11:47Z"
        },
        {
          "tag": "v0.6.75",
          "kind": "patch",
          "published_at": "2026-03-27T17:20:42Z"
        },
        {
          "tag": "v0.6.74",
          "kind": "patch",
          "published_at": "2026-03-27T15:39:07Z"
        },
        {
          "tag": "v0.6.73",
          "kind": "patch",
          "published_at": "2026-03-27T12:46:06Z"
        },
        {
          "tag": "v0.6.72",
          "kind": "patch",
          "published_at": "2026-03-27T10:45:03Z"
        },
        {
          "tag": "v0.6.71",
          "kind": "patch",
          "published_at": "2026-03-27T02:27:52Z"
        },
        {
          "tag": "v0.6.70",
          "kind": "patch",
          "published_at": "2026-03-26T21:29:53Z"
        },
        {
          "tag": "v0.6.69",
          "kind": "patch",
          "published_at": "2026-03-26T18:19:17Z"
        },
        {
          "tag": "v0.6.68",
          "kind": "patch",
          "published_at": "2026-03-26T15:56:41Z"
        },
        {
          "tag": "v0.6.67",
          "kind": "patch",
          "published_at": "2026-03-26T13:14:32Z"
        },
        {
          "tag": "v0.6.66",
          "kind": "patch",
          "published_at": "2026-03-25T17:02:56Z"
        },
        {
          "tag": "v0.6.65",
          "kind": "patch",
          "published_at": "2026-03-25T15:59:27Z"
        },
        {
          "tag": "v0.6.64",
          "kind": "patch",
          "published_at": "2026-03-25T10:46:46Z"
        },
        {
          "tag": "v0.6.63",
          "kind": "patch",
          "published_at": "2026-03-25T02:39:38Z"
        },
        {
          "tag": "v0.6.62",
          "kind": "patch",
          "published_at": "2026-03-24T23:41:03Z"
        },
        {
          "tag": "v0.6.61",
          "kind": "patch",
          "published_at": "2026-03-24T21:20:45Z"
        },
        {
          "tag": "v0.6.60",
          "kind": "patch",
          "published_at": "2026-03-24T19:58:19Z"
        },
        {
          "tag": "v0.6.59",
          "kind": "patch",
          "published_at": "2026-03-24T18:29:42Z"
        },
        {
          "tag": "v0.6.58",
          "kind": "patch",
          "published_at": "2026-03-24T16:18:03Z"
        },
        {
          "tag": "v0.6.57",
          "kind": "patch",
          "published_at": "2026-03-24T14:35:00Z"
        },
        {
          "tag": "v0.6.56",
          "kind": "patch",
          "published_at": "2026-03-24T13:11:07Z"
        },
        {
          "tag": "v0.6.55",
          "kind": "patch",
          "published_at": "2026-03-24T12:55:24Z"
        },
        {
          "tag": "v0.6.54",
          "kind": "patch",
          "published_at": "2026-03-24T12:53:34Z"
        },
        {
          "tag": "v0.6.53",
          "kind": "patch",
          "published_at": "2026-03-24T11:51:24Z"
        },
        {
          "tag": "v0.6.52",
          "kind": "patch",
          "published_at": "2026-03-24T11:39:30Z"
        },
        {
          "tag": "v0.6.51",
          "kind": "patch",
          "published_at": "2026-03-24T05:33:01Z"
        },
        {
          "tag": "v0.6.50",
          "kind": "patch",
          "published_at": "2026-03-24T05:02:12Z"
        },
        {
          "tag": "v0.6.49",
          "kind": "patch",
          "published_at": "2026-03-24T02:43:27Z"
        },
        {
          "tag": "v0.6.48",
          "kind": "patch",
          "published_at": "2026-03-24T01:30:22Z"
        },
        {
          "tag": "v0.6.47",
          "kind": "patch",
          "published_at": "2026-03-24T00:43:45Z"
        },
        {
          "tag": "v0.6.46",
          "kind": "patch",
          "published_at": "2026-03-23T19:38:08Z"
        },
        {
          "tag": "v0.6.45",
          "kind": "patch",
          "published_at": "2026-03-23T05:39:00Z"
        },
        {
          "tag": "v0.6.44",
          "kind": "patch",
          "published_at": "2026-03-19T16:24:56Z"
        },
        {
          "tag": "v0.6.43",
          "kind": "patch",
          "published_at": "2026-03-19T15:36:04Z"
        },
        {
          "tag": "v0.6.42",
          "kind": "patch",
          "published_at": "2026-03-19T13:20:13Z"
        },
        {
          "tag": "v0.6.41",
          "kind": "patch",
          "published_at": "2026-03-19T12:40:45Z"
        },
        {
          "tag": "v0.6.40",
          "kind": "patch",
          "published_at": "2026-03-18T16:02:58Z"
        },
        {
          "tag": "v0.6.39",
          "kind": "patch",
          "published_at": "2026-03-17T21:15:31Z"
        },
        {
          "tag": "v0.6.38",
          "kind": "patch",
          "published_at": "2026-03-17T20:24:47Z"
        },
        {
          "tag": "v0.6.37",
          "kind": "patch",
          "published_at": "2026-03-17T19:23:23Z"
        },
        {
          "tag": "v0.6.36",
          "kind": "patch",
          "published_at": "2026-03-17T19:16:15Z"
        },
        {
          "tag": "v0.6.35",
          "kind": "patch",
          "published_at": "2026-03-17T19:02:28Z"
        },
        {
          "tag": "v0.6.34",
          "kind": "patch",
          "published_at": "2026-03-17T18:57:32Z"
        },
        {
          "tag": "v0.6.33",
          "kind": "patch",
          "published_at": "2026-03-17T17:54:54Z"
        },
        {
          "tag": "v0.6.32",
          "kind": "patch",
          "published_at": "2026-03-15T17:35:51Z"
        },
        {
          "tag": "v0.6.31",
          "kind": "patch",
          "published_at": "2026-03-15T16:42:59Z"
        },
        {
          "tag": "v0.6.30",
          "kind": "patch",
          "published_at": "2026-03-15T14:39:58Z"
        },
        {
          "tag": "v0.6.29",
          "kind": "patch",
          "published_at": "2026-03-14T13:49:06Z"
        },
        {
          "tag": "v0.6.28",
          "kind": "patch",
          "published_at": "2026-03-14T01:41:30Z"
        },
        {
          "tag": "v0.6.27",
          "kind": "patch",
          "published_at": "2026-03-13T20:15:50Z"
        },
        {
          "tag": "v0.6.26",
          "kind": "patch",
          "published_at": "2026-03-13T18:20:43Z"
        },
        {
          "tag": "v0.6.25",
          "kind": "patch",
          "published_at": "2026-03-13T17:02:46Z"
        },
        {
          "tag": "v0.6.24",
          "kind": "patch",
          "published_at": "2026-03-13T12:01:57Z"
        },
        {
          "tag": "v0.6.23",
          "kind": "patch",
          "published_at": "2026-03-13T04:18:13Z"
        },
        {
          "tag": "v0.6.22",
          "kind": "patch",
          "published_at": "2026-03-13T04:12:47Z"
        },
        {
          "tag": "v0.6.21",
          "kind": "patch",
          "published_at": "2026-03-13T03:04:21Z"
        },
        {
          "tag": "v0.6.20",
          "kind": "patch",
          "published_at": "2026-03-13T01:32:56Z"
        },
        {
          "tag": "v0.6.19",
          "kind": "patch",
          "published_at": "2026-03-13T00:31:55Z"
        },
        {
          "tag": "v0.6.18",
          "kind": "patch",
          "published_at": "2026-03-13T00:25:44Z"
        },
        {
          "tag": "v0.6.17",
          "kind": "patch",
          "published_at": "2026-03-12T22:42:33Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "07a27b18afa522b7436d2cc35a85055e7333dc27",
          "body": "fix(dotnet): match AsherahBuffer C# struct to Rust ABI (3 fields, not 2)",
          "is_bot": false,
          "headline": "Merge pull request #352 from chief-micco/issue-349-nre-under-load",
          "author_name": "Micco",
          "author_login": "chief-micco",
          "committed_at": "2026-07-16T09:32:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "787fe34549f2a5bd078bb77ff4bbd61efcc104b7",
          "body": "Convert blocking Task.WaitAll to async Task.WhenAll and pass\nCancellationToken to Task.Run, Barrier.SignalAndWait, and Task.Delay.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(dotnet): resolve xUnit1031 and xUnit1051 analyzer warnings in tests",
          "author_name": "chief-micco",
          "author_login": "chief-micco",
          "committed_at": "2026-07-10T14:34:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "856c9a18280a5a5fed3b6b1d237b541d73b4eaa4",
          "body": "The C# `AsherahBuffer` struct declared only `data` and `len` (16 bytes on\n64-bit) while the Rust `#[repr(C)] struct AsherahBuffer` writes three\npointer-sized fields — `data`, `len`, `capacity` (24 bytes). Every\n`asherah_encrypt_to_json` / `asherah_decrypt_from_json` call therefore\noverflowed the cal\n[…]\nMultiThreadedSessionCacheTests` adds supplementary load coverage\n(concurrent GetSession + DecryptBytes) with short session/IK TTLs.\n\nFixes #349\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(dotnet): match AsherahBuffer C# struct to Rust ABI (3 fields, not 2)",
          "author_name": "chief-micco",
          "author_login": "chief-micco",
          "committed_at": "2026-07-03T07:26:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f8b8a3c31cfbc6d4f962968e8fd3f3c9b2dcd4e",
          "body": "GitHub Actions (bumped to latest, SHA-pinned):\n- actions/cache v5.0.5 → v6.0.0\n- actions/checkout v6.0.3 → v7.0.0\n- actions/setup-go v6.4.0 → v6.5.0\n- actions/setup-java v5.2.0 → v5.3.0\n- actions/setup-python v6.2.0 → v6.3.0\n- softprops/action-gh-release v3.0.0 → v3.0.1\n- ruby/setup-ruby v1.312.0 → \n[…]\n=1.9.4 (was unversioned pip install, now matches CI)\n\nRuby:\n- Pin minitest to 5.27.0 and rake to 13.4.2 in Gemfile (were ~> ranges)\n- Pin bundler:2.6.9 in scripts/test.sh (was unversioned gem install)",
          "is_bot": false,
          "headline": "ci: pin all unpinned dependency references (#348)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-24T13:22:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f1fef020ac6f6ede8b060d7f7d603113301ef739",
          "body": "…in (#344)\n\n* feat(asherah): default AES-256-GCM to hardware-rust-crypto, ring opt-in\n\nMake hardware-rust-crypto the default AEAD backend and gate ring behind an\nopt-in `ring-crypto` feature.\n\n- New mutually-exclusive features: `hardware-crypto` (default) and\n  `ring-crypto`; both backend deps are o\n[…]\n asherah's sanitizer job\nlikewise runs on x86_64.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(asherah): default AES-256-GCM to hardware-rust-crypto, ring opt-…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy",
          "committed_at": "2026-06-20T18:05:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d4d5390d827255135f6f4259d33c72f5d78aee2d",
          "body": "Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.28.3 to 0.29.0.\n- [Release notes](https://github.com/pyo3/pyo3/releases)\n- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/pyo3/pyo3/compare/v0.28.3...v0.29.0)\n\n---\nupdated-dependencies:\n- dependency-na\n[…]\nndency-version: 0.29.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump pyo3 from 0.28.3 to 0.29.0 (#338)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-20T03:20:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af07fd16cdb790ca294928a748157d5e23c4b6e8",
          "body": "* Release 1.0.0: bump asherah crates + Python/Java bindings to 1.0.0\n\nBumps to 1.0.0:\n- the crates.io publish set: asherah, asherah-config, asherah-cobhan, asherah-ffi\n- the Python and Java binding crates: asherah-py, asherah-java\n\nLeft on their own independent version tracks (published from this mo\n[…]\nlready set, so it is never a crates.io artifact).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Release 1.0.0 (#341)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy",
          "committed_at": "2026-06-19T20:17:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c1a545b727c556c66154949a2ce90f1eac353669",
          "body": "* fix(core): make key schedule caching optional\n\n* fix(memory): use guarded hardware-enclave slab\n\n* fix(init): harden process before factory setup\n\n* fix(security): warn on CPU side-channel exposure\n\n* Harden FFI and binding security boundaries (#336)\n\n* fix(security): harden FFI and binding bounda\n[…]\ne hardening branch\n\n* Fix review and binding CI regressions\n\n* Move drift guard override logs out of sensitive paths\n\n* Fix sanitizer Miri hardening tests\n\n* Clamp key timestamp precision in factories",
          "is_bot": false,
          "headline": "Harden cache secret residency and CPU side-channel posture (#335)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-12T04:06:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9ae650ca0bc0264b174afc9a386ab4a800aba13",
          "body": "…tes (#328)\n\nBumps the rust-minor group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [log](https://github.com/rust-lang/log) | `0.4.30` | `0.4.32` |\n| scc | `3.7.1` | `3.7.2` |\n| [hardware-enclave](https://github.com/godaddy/hardware-enclave) | `0.2.0` | `0.2.8` \n[…]\n version-update:semver-patch\n  dependency-group: rust-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the rust-minor group across 1 directory with 6 upda…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T10:56:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "21d32386d07541b03fd525392cd492738b9a8d25",
          "body": "… (#326)\n\nBumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.16.5 to 1.17.0.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.5...v1.17.0)\n\n---\nupdated-d\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump io.micrometer:micrometer-core in /asherah-java/java…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T10:56:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "21474da4d683f5b53edb30294d11ef51cb28ef1c",
          "body": "Bumps [github.com/ebitengine/purego](https://github.com/ebitengine/purego) from 0.10.0 to 0.10.1.\n- [Release notes](https://github.com/ebitengine/purego/releases)\n- [Commits](https://github.com/ebitengine/purego/compare/v0.10.0...v0.10.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/ebit\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump github.com/ebitengine/purego in /asherah-go (#317)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T10:56:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a70e0fd79e9d07acdf4b80bdbe62186506b0e716",
          "body": "…(#316)\n\nBumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.5 to 3.5.6.\n- [Release notes](https://github.com/apache/maven-surefire/releases)\n- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.5...surefire-3.5.6)\n\n---\nupdat\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T10:56:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "280d81777f1e975adbd98dbd03a8e6d20b132504",
          "body": null,
          "is_bot": false,
          "headline": "Fix ruby version when bundling from git (#334)",
          "author_name": "Dalibor Nasevic",
          "author_login": "dnasevic-godaddy",
          "committed_at": "2026-06-10T10:52:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56fdc507ff32f88f058ba0e4764af02409128b21",
          "body": null,
          "is_bot": false,
          "headline": "Promote .NET packages out of beta (and other chores) (#333)",
          "author_name": "Micco",
          "author_login": "chief-micco",
          "committed_at": "2026-06-10T04:56:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e260118acc3177f5196c4553dd726fb73b473de3",
          "body": "The v0.6.112 release had 5 jobs fail on transient GitHub Actions\ninfrastructure (runner reclamation / 'received a shutdown signal',\ncache-export 'not_found') — not on code. PyPI/Server/PHP failed while\nnpm/crates/cobhan/rubygems/nuget/maven succeeded; manual re-runs then fixed\nall 5 with no code cha\n[…]\nsh-dry-run-* jobs only build (never push), so the\npush-step wrappers need no ci.yml change; the only shared surface\n(download-musl-openssl.sh) is edited in place so publish + dry-run stay in\nlockstep.",
          "is_bot": false,
          "headline": "ci: add retry + auto-rerun resilience to the release pipeline (#332)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-09T18:02:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c713ebe1e6cfde90a7f4c052bc6060f014560fd6",
          "body": "T5 (#257) wrapped every sync encrypt/decrypt in py.detach to release the\nGIL across the native call, reasoning that a cache miss can block on the\nmetastore/KMS. But the warm path is a sub-microsecond in-memory AEAD op,\nand releasing+reacquiring the GIL around it collapses multi-threaded\nthroughput: \n[…]\ncrypt_bytes_async/\ndecrypt_bytes_async), which runs on the tokio runtime off the GIL.\n\nMirrors the Ruby fix (#330). Node needs no change — its T5 fix was\ndocs-only (sync path never released anything).",
          "is_bot": false,
          "headline": "fix(py): hold the GIL on sync encrypt/decrypt hot path (#331)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-09T14:55:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1032119f8c38b1f51f3da999a5196535005adf3a",
          "body": "…ression (#330)\n\n* Remove blocking: true from encrypt/decrypt FFI to fix performance regression\n\nThe GVL release/reacquire overhead of blocking: true dominates when\nencrypt/decrypt are sub-microsecond (warm key cache). Under multi-threaded\nruntime, this caused few times slower throughput vs the old \n[…]\nL, which is correct.\n\nComplements the sync encrypt/decrypt change on this branch.\n\n---------\n\nCo-authored-by: Dalibor Nasevic <dalibor.nasevic@gmail.com>\nCo-authored-by: Jay Gowdy <jgowdy@godaddy.com>",
          "is_bot": false,
          "headline": "Remove blocking: true from encrypt/decrypt FFI to fix performance reg…",
          "author_name": "Dalibor Nasevic",
          "author_login": "dnasevic-godaddy",
          "committed_at": "2026-06-09T14:45:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "807838e6cf4a1c67265bd3afbf7388f40a2b0ffa",
          "body": "Mark the four async KMS tests #[cfg_attr(miri, ignore)] — they exercise the tokio reactor / AWS config (FS), which Miri can't run under isolation, and contain no unsafe code. Restores the sanitizers job (red on main since #323). Also gate sanitizers on pull_request to main so regressions are caught pre-merge. Verified locally (all four Miri sub-commands exit 0) and on this PR (sanitizers green).",
          "is_bot": false,
          "headline": "Fix Miri sanitizers failure and gate sanitizers on PRs (#329)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-09T04:58:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b95ec35c481b1ae6a0cf8f22ac188169f4f102e",
          "body": "Recover decrypts that would fail because a row's intermediate-key id doesn't match the decrypting session's region suffix, instead of erroring. AES-GCM authenticates every attempt, so a wrong key can never yield wrong plaintext.\n\n- Gate accepts the bare-core IK id for suffixed sessions (rescues rows\n[…]\nvice/product isolation boundary.\n- Config: recovery_region_suffixes / RecoveryRegionSuffixes, self_heal_recovered_keys / SelfHealRecoveredKeys, RECOVERY_REGION_SUFFIXES / SELF_HEAL_RECOVERED_KEYS env.",
          "is_bot": false,
          "headline": "Best-effort cross-region decrypt recovery with self-heal (#325)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-09T02:54:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "159cb9d57df69c90067e0e199c708fad1268cf69",
          "body": "Bump the asherah crate to publish the AwsKms Drop fix (#323) to crates.io.\nThe Rust crate is published at its Cargo.toml version and skipped if that\nversion is already on crates.io, so 0.1.2 -> 0.1.3 is required for the fix\nto reach downstream Rust consumers. Dependent workspace crates use caret\nrequirements (^0.1.x) that already accept 0.1.3.",
          "is_bot": false,
          "headline": "release: asherah 0.1.3 (#324)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-05T17:40:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b876c4ae27de705ba7559531a90f617b6d90ee8",
          "body": "AwsKms::new_async always stores an owned Arc<Runtime>, and AwsKms had no\nDrop impl. Dropping a tokio Runtime performs a blocking shutdown of its\nworker/blocking pools, which panics with \"Cannot drop a runtime in a\ncontext where blocking is not allowed\" when it happens inside another\nruntime — exactl\n[…]\n a background thread via shutdown_background();\noutside a runtime the normal blocking drop is safe. Add a regression test\nthat builds AwsKms via new_async and drops it inside a #[tokio::test]\nruntime.",
          "is_bot": false,
          "headline": "fix(kms): shut down owned tokio runtime in background on drop (#323)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-05T16:48:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6a8f3c29ba55709131025950f18cc394f9ef025e",
          "body": "…#322)\n\ncreate_intermediate_key (sync + async) tried store-then-load_latest exactly\nonce. When expire_key_after_s is close to create_date_precision_s, a\nconcurrent first-encrypt burst can straddle the expiry boundary: a thread\nthat loses the store race then load_latest's an IK that has just expired,\n[…]\n2 in\npractice). Cold path only; the valid-IK hot path is unchanged.\n\nVerified: fmt, clippy -D warnings, scripts/test.sh --unit, and 40x stress of\nconcurrent_rotation_multiple_cycles all green locally.",
          "is_bot": false,
          "headline": "Fix flaky IK creation race under tight expiry (concurrent_rotation) (…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-05T15:38:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f570805ba1f5faab1f054f6c3656e7ccc2e920a2",
          "body": "* Fix CI to run all Ruby tests\n\n* Set Ruby version to 0.0.0.dev for git-sourced usage to clearly show it's a dev build\n\n* Publish to RubyGems\n\n* Remove unnecessary permissions\n\n* Install bundler in test.sh when missing\n\n* Enable bundler-cache in ruby/setup-ruby CI step for faster runs\n\n* Update inst\n[…]\nfore\nthe version bump on any real failure so a version is never silently skipped.\n\n---------\n\nCo-authored-by: Dalibor Nasevic <dalibor.nasevic@gmail.com>\nCo-authored-by: Jay Gowdy <jgowdy@godaddy.com>",
          "is_bot": false,
          "headline": "Run all Ruby tests in CI and publish to RubyGems (#321)",
          "author_name": "Dalibor Nasevic",
          "author_login": "dnasevic-godaddy",
          "committed_at": "2026-06-05T14:09:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "516fef33734618a4930486e2cd18ea44418931e5",
          "body": "Add blocking: true to asherah_set_log_hook, asherah_clear_log_hook,\nasherah_set_metrics_hook, and asherah_clear_metrics_hook FFI declarations.\n\nThese functions may drop the old AsyncLogSink/AsyncMetricsSink, whose Drop\nimpl joins the async dispatcher worker thread. That worker thread needs the\nGVL t\n[…]\ness.\n\nObserved as hooks_test.rb hanging after 5 tests (when teardown's\nclear_*_hook races with an in-flight callback on the worker thread).\n\nCo-authored-by: Dalibor Nasevic <dalibor.nasevic@gmail.com>",
          "is_bot": false,
          "headline": "Fix GVL deadlock in Ruby hook set/clear FFI calls (#320)",
          "author_name": "Dalibor Nasevic",
          "author_login": "dnasevic-godaddy",
          "committed_at": "2026-06-04T15:55:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "30a0e91d1eaedb8170de7a8ffed3a1ef4680e7cf",
          "body": "* Bump hardware-enclave to 0.2.0\n\n* ci: re-trigger after fmt fix",
          "is_bot": false,
          "headline": "Bump hardware-enclave to 0.2.0",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-03T19:05:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6c4f3805b20a793d754a2261f9eda31517f7aa3",
          "body": "* Replace asherah memguard/memcall with hardware-enclave memory primitives\n\nDeletes ~1900 lines of bespoke memory protection code that was ported\nto hardware-enclave v0.1.3, replacing it with a direct dependency on\nthe canonical implementation.\n\nDeleted (implementations now in hardware-enclave):\n- a\n[…]\nirtualLock/VirtualProtect are available in memory-only builds on Windows.\nTemporary [patch.crates-io] until 0.1.5 is published.\n\n* Remove [patch.crates-io]: hardware-enclave 0.1.5 is live on crates.io",
          "is_bot": false,
          "headline": "Replace asherah memguard/memcall with hardware-enclave memory primitives",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-03T08:26:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b096a8cac8da53f6afb76db4558092685b03a2d8",
          "body": "Previously publish-crates.yml only ran on a GitHub release or a manual\nworkflow_dispatch, so a merged version bump did not reach crates.io without a\nhuman trigger. Add a push:main trigger (paths-filtered to Cargo.toml / this\nworkflow) and make publishing idempotent: each crate is published only when\n[…]\ne or more crates publishes exactly those. release and\nworkflow_dispatch (with the dry-run input) remain as alternative triggers.\ncargo publish stays the ultimate guard against an accidental overwrite.",
          "is_bot": false,
          "headline": "ci: auto-publish crates on merge to main (idempotent) (#314)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-03T08:04:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "57de727d03ca246b904c461445b885a8af990d01",
          "body": "Bumps [astral-tokio-tar](https://github.com/astral-sh/tokio-tar) from 0.6.1 to 0.6.2.\n- [Release notes](https://github.com/astral-sh/tokio-tar/releases)\n- [Changelog](https://github.com/astral-sh/tokio-tar/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/tokio-tar/compare/v0.6.1...v0\n[…]\ntar\n  dependency-version: 0.6.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump astral-tokio-tar from 0.6.1 to 0.6.2 (#309)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-03T07:15:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "513ef9a1b174a24af568b9f22fc6c9e586ec1788",
          "body": "….1.1 (#312)\n\nVersion bump so the new async surface from #311 (MultiKms async overrides,\nPublicSession async store/load + the StorerAsync/LoaderAsync user traits) can\nbe published to crates.io. The three dependent crates are bumped in lockstep\nand their internal version requirements updated to 0.1.2/0.5.2 so the\npublish-crates workflow publishes all four cleanly (crates.io rejects\nre-publishing an unchanged version).\n\nNo code changes — versions and inter-crate requirements only.",
          "is_bot": false,
          "headline": "Release: asherah 0.1.2 (async API), config 0.1.2, cobhan 0.5.2, ffi 0…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-03T07:01:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e4e503c570a09a0385385fcfae615bb67103b34",
          "body": "…ync store/load) (#311)\n\n* Complete the async API surface for direct async-Rust consumption\n\nAsync (tokio) consumers — e.g. an axum server — must avoid the sync API,\nwhich bridges to the async AWS SDK via block_in_place(rt.block_on(..)): that\npanics on a current-thread runtime and blocks a worker th\n[…]\nc/load_async futures:\n  the surface exists for multi-threaded async servers, so the futures must\n  stay Send; this catches a non-Send-capture regression here instead of at\n  a downstream tokio::spawn.",
          "is_bot": false,
          "headline": "Complete the async API surface (MultiKms async overrides + session as…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-03T06:20:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3daff5d7c48f86859faca9bc64ebbb2a29ba8d3e",
          "body": "The Rust crates (asherah, asherah-config, asherah-ffi, asherah-cobhan)\nwere hand-published to crates.io on 2026-05-12. The repo had publish\nworkflows for npm/PyPI/NuGet/Maven/RubyGems but none for crates.io.\n\nThis adds .github/workflows/publish-crates.yml to automate future\nreleases, publishing the crates in dependency order:\nasherah -> asherah-config -> asherah-cobhan -> asherah-ffi.\n\nCo-authored-by: Jay Gowdy <jay@godaddy.com>",
          "is_bot": false,
          "headline": "Add crates.io publish workflow (#310)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-06-02T20:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7750684983c1fe2d5409f96f9bdebd109d9fb23a",
          "body": "…297)\n\nBumps org.slf4j:slf4j-simple from 2.0.17 to 2.0.18.\n\n---\nupdated-dependencies:\n- dependency-name: org.slf4j:slf4j-simple\n  dependency-version: 2.0.18\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump org.slf4j:slf4j-simple in /asherah-java/java (#…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-27T01:46:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "261bc05bf45ba5ea4b76b052a3f5260c2bd50f52",
          "body": "…tes (#308)\n\nBumps the rust-minor group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.149` | `1.0.150` |\n| [log](https://github.com/rust-lang/log) | `0.4.29` | `0.4.30` |\n| scc | `3.7.0` | `3.7.1` |\n| [openssl]\n[…]\n version-update:semver-patch\n  dependency-group: rust-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the rust-minor group across 1 directory with 7 upda…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-27T01:27:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "460b2cca21a89fc0c5ff09b05e6db82ed6b8d114",
          "body": "… (#307)\n\nBumps the actions group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruby/setup-ruby](https://github.com/ruby/setup-ruby) | `1.307.0` | `1.310.0` |\n| [taiki-e/install-action](https://github.com/taiki-e/install-action) | `2.77.6` | `2.79.8` |\n| [docker/\n[…]\npe: version-update:semver-minor\n  dependency-group: actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the actions group across 1 directory with 6 updates…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-27T01:27:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e79ba784b38712040837952c22113ed83f85d1d7",
          "body": "Bumps org.slf4j:slf4j-api from 2.0.17 to 2.0.18.\n\n---\nupdated-dependencies:\n- dependency-name: org.slf4j:slf4j-api\n  dependency-version: 2.0.18\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump org.slf4j:slf4j-api in /asherah-java/java (#298)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-27T01:27:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af77ca8930460deed11774c440286cc11dee1f7f",
          "body": "* Add Ruby PHP and FFI foreign DRR tests\n\n* Clarify binding migration compatibility",
          "is_bot": false,
          "headline": "Clarify binding migration compatibility (#306)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-21T21:41:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47d188c963e0206c2acba5ec65863a7bf8de8cad",
          "body": null,
          "is_bot": false,
          "headline": "Add Ruby PHP and FFI foreign DRR tests (#305)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-21T05:45:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc99dc347a19482e49cb870c0102f173b266d86b",
          "body": null,
          "is_bot": false,
          "headline": "Add Node and Go foreign DRR session tests (#303)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-21T05:40:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90ccca1306fb2dd16b00f07d7b66af307d15b92e",
          "body": null,
          "is_bot": false,
          "headline": "Add Java and .NET foreign DRR session tests (#304)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-21T05:34:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30a8b1b88ed83628be0a8eea78cdafbff5736acb",
          "body": null,
          "is_bot": false,
          "headline": "Fix Python SessionFactory explicit config (#302)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-21T05:27:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc91be99f8fcd0ef1e6fc1b3cdf7c54af931e9f8",
          "body": null,
          "is_bot": false,
          "headline": "java: fallback native extraction dirs for SELinux/noexec (#296)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-14T15:53:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dba0068a7693a4787d04f04af701ce6ae299c49a",
          "body": null,
          "is_bot": false,
          "headline": "ci(maven): keep java publishes on 0.50.x track (#295)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-14T14:16:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b3a463296cd971167f1732e971110a9efdff362",
          "body": null,
          "is_bot": false,
          "headline": "docs(java): clarify compat vs jni API migration (#294)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-14T02:39:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce209a3d79659be08fe57350e5e85e538936c123",
          "body": null,
          "is_bot": false,
          "headline": "java: map compat JDBC pool settings to native config (#293)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-14T01:27:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "345023379caca4b3fd33b4c78bfea20e40b4c3be",
          "body": null,
          "is_bot": false,
          "headline": "ci: auto-create asherah-go release tag (#292)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T23:55:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ea56bbba8140e5dadcea9550afc7b643e57c26e",
          "body": null,
          "is_bot": false,
          "headline": "Align Java coordinates/docs and auto-publish Central on release (#291)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T22:35:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b5c9eadf5f8ec978dc82a2a6723751feda86e85",
          "body": "* Fix Maven Central credentials settings generation\n\n* Publish GPG key to keyservers before Central deploy\n\n* Add timeouts to keyserver publication step",
          "is_bot": false,
          "headline": "Fix Maven Central credential + keyserver handling (#290)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T21:56:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26019a55d3fa846bd51b5ce9334565962691d7c0",
          "body": null,
          "is_bot": false,
          "headline": "Configure Java publish for Maven Central namespace (#289)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T21:08:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d20d8272516b97da44df7bd4806408d632afce4a",
          "body": "chore: document crates.io publishing metadata",
          "is_bot": false,
          "headline": "Merge pull request #288 from godaddy/recover/published-crates-work",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T00:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56d6eb7a0ac32808d98ded1ff354137806ce6b24",
          "body": null,
          "is_bot": false,
          "headline": "chore: mark language binding crates private",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-13T00:01:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6eae904cc311fce3cd13700d142119be79e9d203",
          "body": null,
          "is_bot": false,
          "headline": "docs: trim published crates whitespace",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:57:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2852831eb9829b68ae946d83da484043da1ad9f8",
          "body": null,
          "is_bot": false,
          "headline": "Clarify: language binding crates NOT published to crates.io",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:57:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "436b1a414231b2cc73520cf13c533b9e77349b28",
          "body": null,
          "is_bot": false,
          "headline": "Clarify crate hierarchy: asherah for Rust, asherah-ffi for bindings",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:57:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c21cb4c53705e122da8e3cfd08d3049ba3fd374a",
          "body": "- Add version specs to all internal dependencies\n- Fix invalid \"ffi\" category (use \"api-bindings\")\n- Prepare for publishing language bindings\n\nPublished: asherah, asherah-config, asherah-cobhan, asherah-ffi\nPending: asherah-node, asherah-py, asherah-java (rate limited)\n\nCo-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add version requirements for crates.io publishing",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:57:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f8dd3096b5da53b203d47da3ac1fc4dda67306b1",
          "body": "…s-98bed8d410\n\nchore(deps): bump the actions group with 2 updates",
          "is_bot": false,
          "headline": "Merge pull request #286 from godaddy/dependabot/github_actions/action…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:54:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f94a693dc02b68e5c4548d08932585ed59bf1102",
          "body": "…5f277f\n\nchore(deps): bump tokio from 1.52.2 to 1.52.3 in the rust-minor group",
          "is_bot": false,
          "headline": "Merge pull request #285 from godaddy/dependabot/cargo/rust-minor-d7fe…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T23:54:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c67a1e5681e1e819c6e45c5b748b07d72996f561",
          "body": null,
          "is_bot": false,
          "headline": "fix(php): publish after native release assets",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T22:51:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cabedd004ede3e91f9746ca20c5275780b83c42e",
          "body": "Bumps the actions group with 2 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [taiki-e/install-action](https://github.com/taiki-e/install-action).\n\n\nUpdates `ruby/setup-ruby` from 1.306.0 to 1.307.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](http\n[…]\naction\n  dependency-version: 2.77.6\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the actions group with 2 updates",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-12T07:44:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f9a39974a1cf1584c468b47ba4a8c28d0f93394a",
          "body": "Bumps the rust-minor group with 1 update: [tokio](https://github.com/tokio-rs/tokio).\n\n\nUpdates `tokio` from 1.52.2 to 1.52.3\n- [Release notes](https://github.com/tokio-rs/tokio/releases)\n- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.52.2...tokio-1.52.3)\n\n---\nupdated-dependencies:\n- \n[…]\nkio\n  dependency-version: 1.52.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: rust-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump tokio from 1.52.2 to 1.52.3 in the rust-minor group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-12T07:44:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0a37bb80fe4ce9c98637729ddd58deffc6fa839e",
          "body": "* feat(php): add DataRowRecord typed API alongside string methods\n\nAdd strongly-typed DataRowRecord class for encrypted data while keeping\nthe simple string-based API methods. Both APIs are fully supported:\n\nString API (simple):\n- encryptString()/decryptString() - returns/accepts JSON strings\n- encr\n[…]\ne typed API\n\nBoth APIs match patterns from other language bindings. Use string API\nfor simplicity or typed API when metadata inspection is needed.\n\n* fix(php): apply code style fixes for DataRowRecord",
          "is_bot": false,
          "headline": "feat(php): add DataRowRecord typed API alongside string methods (#284)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-12T00:15:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "79057782fe3711c7b188778b7a4e290dd9c8e25d",
          "body": null,
          "is_bot": false,
          "headline": "docs(php): update README for Packagist availability (#283)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-11T20:25:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d065c2baf60c4655dad550339ba9e7e78c89c637",
          "body": "…es (#282)\n\n* fix(metastore): insert into by_key before updating latest to prevent data race\n\nMiri detected a data race in concurrent_store_load_latest_invariant where\nload_latest could observe a `created` timestamp in the `latest` map before\nthe corresponding key was inserted into `by_key`.\n\nRace s\n[…]\nsitor with iter_sync() (closure returns bool to continue).\nMigrate all call sites in cache.rs, metastore.rs, and session_cache.rs.\n\n---------\n\nCo-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(deps): upgrade scc 2→3 to resolve Miri and ThreadSanitizer failur…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-09T22:15:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cc4557fe1b284418f997bebbd9b3f2d0b23cfba7",
          "body": "… (#255)\n\nBumps the actions group with 2 updates in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action) and [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `taiki-e/install-action` from 2.75.23 to 2.77.1\n- [Release notes](https://github.com\n[…]\npe: version-update:semver-minor\n  dependency-group: actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the actions group across 1 directory with 2 updates…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-09T01:49:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ead5cb0a1380bcc54f658bd345028a9dd73d3a94",
          "body": "Bumps [astral-tokio-tar](https://github.com/astral-sh/tokio-tar) from 0.6.0 to 0.6.1.\n- [Release notes](https://github.com/astral-sh/tokio-tar/releases)\n- [Changelog](https://github.com/astral-sh/tokio-tar/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/tokio-tar/compare/v0.6.0...v0\n[…]\ntar\n  dependency-version: 0.6.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump astral-tokio-tar from 0.6.0 to 0.6.1 (#259)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-09T01:49:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bc45e565015ca15bb1179acc4a04e7714d0afb59",
          "body": "Bumps [openssl](https://github.com/rust-openssl/rust-openssl) from 0.10.78 to 0.10.79.\n- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)\n- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79)\n\n---\nupdated-dependencies:\n- dependenc\n[…]\ndency-version: 0.10.79\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump openssl from 0.10.78 to 0.10.79 (#260)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-09T01:49:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c35e0810000e0c4a1dd7c00ca43259000c63fe1",
          "body": "…tes (#270)\n\nBumps the rust-minor group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.52.1` | `1.52.2` |\n| [openssl](https://github.com/rust-openssl/rust-openssl) | `0.10.78` | `0.10.79` |\n| [napi](https://github.com\n[…]\n version-update:semver-patch\n  dependency-group: rust-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the rust-minor group across 1 directory with 8 upda…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-09T01:49:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3afef7342ae389874ba5fa1037a3a77d8ccb2438",
          "body": "…data race (#281)\n\nMiri detected a data race in concurrent_store_load_latest_invariant where\nload_latest could observe a `created` timestamp in the `latest` map before\nthe corresponding key was inserted into `by_key`.\n\nRace scenario with wrong order:\n  T1: store(k, 100): update latest[k] = 100\n  T2:\n[…]\nreads the timestamp.\n\nThis was caught by the sanitizers job added in #279 which now runs Miri on\nconcurrent tests including cache_concurrent.\n\nCo-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(metastore): insert into by_key before updating latest to prevent …",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-09T01:24:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "47a043b317636d8651196a1cb103d43d5d019c9f",
          "body": "Adds asherah/features/rotation_parity.feature with two scenarios:\n- Rust decrypts both pre- and post-rotation DRRs encrypted by Node\n- Node decrypts both pre- and post-rotation DRRs encrypted by Rust\n\ngen.js takes an optional ExpireAfter argument (CLI position 7) so\nboth languages can configure shor\n[…]\nep impls for\nencrypt-with-expire (both languages), wait-for-rotation, and the\npre/post decrypt asserts. The IK-strictly-newer assertion compares\ndrr.key.parent_key_meta.created across the two bundles.",
          "is_bot": false,
          "headline": "test(cucumber): cross-language rotation parity scenarios (#280)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T21:15:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1b61ecaf6a8272dc08447bfc55bc71d8cf23ad85",
          "body": "…tize] (#279)\n\nThe existing sanitizers job runs ASAN + Miri + Valgrind on\n`asherah --lib` and `asherah-cobhan --lib` only. The rotation\nintegration tests — which use atomics, single-flight CAS in\nSimpleKeyCache::try_claim_reload_*, and barrier-synchronized\nmulti-thread bursts — never ran under any s\n[…]\nable) or fall back to\nthe existing sanitizer Docker image. --test-threads=1 keeps wall-clock\nrotation expectations from racing each other.\n\n[sanitize] tag triggers the gated sanitizers job on this PR.",
          "is_bot": false,
          "headline": "ci(sanitizers): run rotation tests under ASAN + ThreadSanitizer [sani…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T20:34:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d9ff343ae49da0e36c7d5bc8512fb6a383953b9",
          "body": "asherah-ruby had zero rotation tests. rotation_test.rb mirrors the\nasherah-node, asherah-py, asherah-java, asherah-dotnet, and\nasherah-go rotation suites:\n\n- test_sync_rotation_across_expiry: Asherah.encrypt rotates IK\n  across expiry; both DRRs round-trip.\n- test_async_rotation_across_expiry: encry\n[…]\ncrypts.\n\nHermetic config: Metastore=memory + KMS=test-debug-static, ExpireAfter\n+ CheckInterval = 1. Verifies the precision clamp from #272\npropagates through ruby-ffi.\n\nAll 4 tests pass via minitest.",
          "is_bot": false,
          "headline": "test(ruby): rotation, revocation, sync↔async interop tests (#277)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:53:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b4904c3e6cf8b66e30015125e12c8c044b750bb5",
          "body": "asherah-php had zero rotation tests. RotationTest mirrors the other\nbinding suites (PHP has no async API — sync only):\n\n- testSyncRotationAcrossExpiry: encryptString rotates IK across expiry.\n- testMultipleRotationCycles: 3 sequential rotation cycles.\n- testHistoricalDrrsDecryptAfterRotation: 5 pre-\n[…]\nion.\n\nHermetic: Metastore=memory + KMS=test-debug-static, ExpireAfter +\nCheckInterval = 1. Verifies the precision clamp from #272 propagates\nthrough PHP FFI marshalling.\n\nAll 3 tests pass via PHPUnit.",
          "is_bot": false,
          "headline": "test(php): rotation tests for asherah-php (#278)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:48:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8dae7414d66d0346da8437ad952d6cec061c16fc",
          "body": "asherah-go had zero rotation tests. rotation_test.go mirrors the\nother binding suites (Go has no separate async API — goroutines +\nsync calls cover concurrent use):\n\n- TestSyncRotationAcrossExpiry: EncryptString rotates IK across expiry.\n- TestMultipleRotationCycles: 3 sequential rotation cycles; ev\n[…]\ntore=memory, KMS=test-debug-static, ExpireAfter\n+ CheckInterval = 1s. Verifies the precision clamp from #272\npropagates correctly through purego's loadlibrary/dlsym FFI.\n\nAll 3 tests pass via go test.",
          "is_bot": false,
          "headline": "test(go): rotation, concurrent rotation tests for asherah-go (#276)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:47:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2bd0624ab61769f3b81f042c419830f2291b74b7",
          "body": "asherah-dotnet had zero rotation tests. RotationTests mirrors\nasherah-node, asherah-py, and asherah-java coverage:\n\n- SyncRotationAcrossExpiry: AsherahApi.EncryptString rotates IK across\n  expiry; both DRRs round-trip.\n- AsyncRotationAcrossExpiry: EncryptAsync/DecryptAsync (Task) rotate\n  the same w\n[…]\nKind.Memory + KmsKind.TestDebugStatic.\nVerifies the precision clamp from #272 propagates correctly through\nthe .NET P/Invoke (cobhan FFI) marshalling.\n\nAll 4 tests pass on both net8 and net10 targets.",
          "is_bot": false,
          "headline": "test(dotnet): rotation, revocation, sync↔async interop tests (#275)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:47:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "07aca05a1047f4ecd85f1f77a2132f549fa3e8d9",
          "body": "asherah-java had zero rotation tests. AsherahRotationTest mirrors\nthe Node and Python coverage:\n\n- syncRotationAcrossExpiry: Asherah.encryptString rotates IK across expiry.\n- asyncRotationAcrossExpiry: encryptAsync/decryptAsync (CompletableFuture)\n  rotate the same way.\n- syncAsyncInteropAfterRotati\n[…]\n DRR still decrypts.\n\nHermetic config: metastore='memory', kms='test-debug-static'.\nVerifies the precision clamp from #272 propagates through JNI.\n\nAll 4 tests pass via mvn -Dtest=AsherahRotationTest.",
          "is_bot": false,
          "headline": "test(java): rotation, revocation, sync↔async interop tests (#274)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:47:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cb93def85c894fd27d96e9e9a944b622f21e55d7",
          "body": "…py (#273)\n\nasherah-py had zero rotation/revocation tests — test_roundtrip.py\nonly checked happy-path encrypt/decrypt. Mirrors the asherah-node\ntest/rotation.js coverage:\n\n- test_sync_rotation_across_expiry: sync encrypt rotates IK across\n  expiry, both DRRs round-trip.\n- test_async_rotation_across_\n[…]\nest-debug-static'.\nVerifies the precision clamp landed in #272 propagates correctly\nthrough PyO3 / pyproject FFI.\n\nAll 4 tests pass locally with the fresh asherah-py build (maturin\ndevelop --release).",
          "is_bot": false,
          "headline": "test(py): rotation, revocation, sync↔async interop tests for asherah-…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T19:15:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e348bfcacf73612abe7be39f9d7f6079174e817a",
          "body": "…ode rotation tests (#272)\n\n* fix(config): auto-clamp create_date_precision_s to short expiries\n\nFootgun discovered by tests/rotation_timing_edges.rs: when an operator\nsets `expire_after` < the default precision (60s), the engine cannot\nrotate the IK within a precision window and `encrypt` fails the\n[…]\ntputs and falling back to the\nartifact-staged `npm/asherah.node` (or platform subdir). This\nensures the test always exercises the binary built from the current\nsource, not whatever's published on npm.",
          "is_bot": false,
          "headline": "fix(config): auto-clamp create_date_precision_s to short expiries + N…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T17:33:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "01b263f9a80c8f27bf435c2a6a7597bad27734b8",
          "body": "…on (#271)\n\nTwo clusters of edge cases that previously had no coverage.\n\n## Time-precision boundary\n\n`Session::new_key_timestamp` rounds new-key timestamps to\n`create_date_precision_s`-aligned buckets. The interaction with\n`expire_key_after_s` and the metastore's `(id, created)` primary\nkey produced\n[…]\ntion.\n- old_drr_decrypts_via_exact_sk_meta_after_rotation: forces a cold\n  SK cache to confirm decrypt walks IK→exact-SK-meta rather than\n  load_latest.\n\n7 tests, all pass. cargo clippy --tests clean.",
          "is_bot": false,
          "headline": "test(rotation): time-precision boundary + simultaneous SK+IK expirati…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T05:35:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "97a444b677c91020a950b3711eeaa58e8fbd72fe",
          "body": "…ath (#269)\n\n`PublicSession::encrypt_async` / `decrypt_async` go through a parallel\nimplementation at session.rs:1054-1340 with its own\nget_or_load_system_key_async, load_intermediate_key_async,\nload_latest_or_create_intermediate_key_async, and\ncreate_intermediate_key_async — distinct code from the \n[…]\n covering all\n  combinations of sync/async encrypt × sync/async decrypt across a\n  rotation boundary)\n- async_ik_cache_ttl_reload\n- async_cascading_revocations\n\nAll 8 pass; cargo clippy --tests clean.",
          "is_bot": false,
          "headline": "test(async): rotation, revocation, race-loss coverage for the async p…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T04:29:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1029d2b887391a522aae6a5b55bea82037b4fccf",
          "body": "…ant (#268)\n\nThe single property that distinguishes a working envelope-encryption\nlibrary from a broken one is: any DRR ever returned by encrypt() must\ndecrypt to its original plaintext at any later point, regardless of\nintervening rotations / revocations / cache TTL events.\n\nHand-written tests exer\n[…]\netic execution; same shape as\n  the existing rotation/revocation tests.\n- Adds proptest 1.5 as a dev-dependency.\n\nAll 48 random traces + the explicit-trace smoke test pass.\ncargo clippy --tests clean.",
          "is_bot": false,
          "headline": "test(rotation): property-based test for the every-DRR-decrypts invari…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T03:35:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "76d636e164937a4671e1b6a0a6b8b99e3afd21e5",
          "body": "…B (#267)\n\n`tests/revocation.rs` exercises revocation against `InMemoryMetastore`.\n`tests/integration_containers.rs` had rotation parity for Postgres,\nMySQL, and DynamoDB but no revocation parity. This closes that gap by\nadding three tests that mark an IK row revoked in the real backend\n(production \n[…]\native-roots\nissue that blocks DDB tests on this macOS dev box also blocks the\npre-existing dynamodb_static_key_rotation locally — DDB tests run in\nthe CI Linux integration-tests job on ubuntu-latest).",
          "is_bot": false,
          "headline": "test(integration): DB-backed revocation parity for PG, MySQL, DynamoD…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T02:41:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b704b2aaf387faf869822d59ae115aef80d9f896",
          "body": "Add four integration test files filling gaps surfaced during a review of\ntest coverage around the highest-risk moments in the engine — the\nexpiration / rotation / revocation boundaries.\n\n- concurrent_rotation.rs (3 tests): N-thread barrier-synchronized\n  rotation bursts on a single hot partition. As\n[…]\nhe current master key\n  (asserted via a fresh factory + v2-only KMS to bypass the SK\n  cache's plaintext snapshot), and bulk pre/post round-trip.\n\nAll 18 new tests pass; cargo clippy --tests is clean.",
          "is_bot": false,
          "headline": "test: cover key expiration, rotation, and revocation gaps (#266)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-08T01:44:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a0f98998f138a4ef8e50ad72337d710e134db2d2",
          "body": null,
          "is_bot": false,
          "headline": "Add root Composer package metadata (#265)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-07T19:25:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16650dc185887172a7b95718b01e432cec76a4f2",
          "body": "* Explore PHP FFI Composer binding\n\n* docs: add PHP production binding ExecPlan\n\n* Implement PHP binding production hardening slice\n\n* docs: clarify PHP native staging model\n\n* Continue PHP binding production hardening\n\n* Harden PHP session cache parity\n\n* Add PHP AWS opt-in integration coverage\n\n* \n[…]\nheader generation\n\n* Fix PHP CI artifact loading\n\n* Resolve PHP native artifact path in CI\n\n* Prefer PHP FFI artifact in CI\n\n* Fix PHP source dry-run artifact path\n\n* Fix PHP source dry-run chmod path",
          "is_bot": false,
          "headline": "Explore PHP FFI Composer binding (#261)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-07T18:23:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6eaeff4bbc7eb6f375398b73f753721cf85ca877",
          "body": "* fix(kms): make static and test-debug-static exact synonyms\n\nThe hotfix at 9049fa4 made KMS=static reject empty StaticMasterKeyHex\nand added KMS=test-debug-static as a separate kind that auto-supplies\nthe publicly known test key. That diverged the two identifiers and\nbroke interop with the canonica\n[…]\nfter\nthe variant is confirmed. The new shape keeps the same coverage\n(KmsConfig::Static expected; key_hex equals TEST_DEBUG_STATIC_MASTER_KEY_HEX)\nwithout materialising the secret in any failure path.",
          "is_bot": false,
          "headline": "fix(kms): make static and test-debug-static exact synonyms (#262)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-07T16:57:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5c544646540a99161bb1e75339223ba50ba81ef0",
          "body": "…s (#264)\n\nThree drop-in compatibility regressions vs the canonical\ngithub.com/godaddy/asherah Go reference server, surfaced by a PHP\nconsumer migrating from the Go binary to asherah-server, plus\ndocumentation work to make the gRPC use case discoverable on par with\nthe in-process language bindings.\n\n[…]\nverage:\n- asherah-server: 14 lib + 9 bin + 12 e2e + 22 integration + 11 unit_tests\n  = 68 tests, all green\n- asherah crate (mysql features): 68 tests, all green\n- workspace clippy --all-targets: clean",
          "is_bot": false,
          "headline": "docs(server): comprehensive gRPC-sidecar README + drop-in compat fixe…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-07T15:13:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b47bd39187e37a26affceae254fc96b8b136031b",
          "body": "fix(server): honor ASHERAH_VERBOSE over RUST_LOG; accept ASHERAH_SOCKET alias",
          "is_bot": false,
          "headline": "Merge pull request #263 from godaddy/fix/grpc-server-logging-compat",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy",
          "committed_at": "2026-05-07T02:40:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "645772ee1dabefc6b245e994218896af39bd4053",
          "body": "…ET alias\n\nThree issues surfaced by a consumer reporting \"no logs from the gRPC\nserver\" running with RUST_LOG=asherah_server=debug ASHERAH_VERBOSE=true\nand ASHERAH_SOCKET=unix:///sock/asherah.sock:\n\n1. ASHERAH_VERBOSE was a no-op when RUST_LOG was set, because\n   env_logger's default_filter_or only \n[…]\npath; 6 new e2e tests\nspawning the binary (3 socket-alias, 3 log-emission, including a\nregression test for the exact consumer config). Total 68 asherah-server\ntests, all green; workspace clippy clean.",
          "is_bot": false,
          "headline": "fix(server): honor ASHERAH_VERBOSE over RUST_LOG; accept ASHERAH_SOCK…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-07T01:26:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "487045e1eb5fff734875251c4b7cd23e87638ae4",
          "body": "* fix(builders): reject empty STATIC_MASTER_KEY_HEX for KMS=static\n\nKmsConfig::Static { key_hex: \"\" } previously fell through to the public\ntest key (the ASCII bytes of \"thisIsAStaticMasterKeyForTesting\"). With\nKMS=static being the default when no env var is set, an unconfigured\ndeployment silently \n[…]\nnaming the parity with .NET's ZeroizePlaintext, Go's Zeroize.\ndecrypt() Javadoc spells out the JVM heap residency contract.\n\nasherah-node/npm/index.js + index.d.ts: new public clearPlaintext\n(Buffer …",
          "is_bot": false,
          "headline": "fix: address 2026-05-05 review findings (B+S tier) (#257)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-06T22:15:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6ab862ccee043287fa834a066ce86d91122b29f8",
          "body": "* fix(builders): reject empty STATIC_MASTER_KEY_HEX for KMS=static\n\nKmsConfig::Static { key_hex: \"\" } previously fell through to the public\ntest key (the ASCII bytes of \"thisIsAStaticMasterKeyForTesting\"). With\nKMS=static being the default when no env var is set, an unconfigured\ndeployment silently \n[…]\n Connection reset by peer` even after retries. Add two community\n   mirror fallbacks (zigmirror.hryx.net, pkg.machengine.org) so\n   the script tries 3 independent infrastructures × 2 attempts\n   each.",
          "is_bot": false,
          "headline": "Hotfix: critical correctness and security fixes (#258)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-06T19:13:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "613ee7f49b05712cd5d2effcbefcbd39ceaf743c",
          "body": "* chore: address actionable CodeQL standard findings\n\nReal fixes for CodeQL maintainability/reliability findings; false\npositives are left alone (interface-method \"unused parameter\" findings,\nintentional FFI-boundary catches that already document why).\n\n* asherah-node/test/e2e-aws.js — drop unused `\n[…]\nofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore: address actionable CodeQL standard findings (#254)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T22:22:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3fffb25edbcb0d7aac8fec2c70045df6ff173d9d",
          "body": "Cherry-pick of the substantive change from AI auto-fix #250. \\`:latest\\`\nsilently shifts whenever HashiCorp publishes a new release, which can\nbreak our integration test in ways unrelated to the code under test.\nPin to 1.15.0 — the same version we've been transitively running.\n\nThe other two changes\n[…]\nadding 'do not\nuse in production' comments to test-only key generation) are dropped:\nthey trade clear, obviously-deterministic test code for a noisier\npseudo-random-looking literal with the same role.",
          "is_bot": false,
          "headline": "test(kms): pin hashicorp/vault test image to 1.15.0 (#253)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T20:26:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a8c5df21be68370c7dec5cdea878c1a464d5629a",
          "body": "…#252)\n\nThree small robustness fixes to asherah-server, cherry-picked from a\nGitHub AI code-review suggestion:\n\n1. parse_region_map: trim each key and value before insertion, and warn\n   (instead of silently dropping) when the key is empty. Without\n   trimming, an entry like \"REGION1 = ARN1\" would i\n[…]\n\nThe two #[cfg(not(unix))] arms touched by the original suggestion are\nleft alone — they're dead branches because the server unconditionally\nuses tokio::net::UnixListener, which only compiles on Unix.",
          "is_bot": false,
          "headline": "fix(server): trim region-map entries; surface socket-removal errors (…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T20:26:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "70a1da283a310828ae90fab743076bc455629484",
          "body": "…e (#246)\n\nTwo small test-quality fixes prompted by a GitHub AI code review:\n\n1. AsherahConfigTest used \"prod\" for both productId and the\n   awsProfileName under test, which would make a failure log ambiguous.\n   Use \"test-profile\" for the profile-name fixture.\n\n2. The reviewer asked for ~30 new Ash\n[…]\nontract once\n   (omits null entries, emits string/int/bool/map values, escapes\n   control and quote chars). Existing AsherahConfigTest already proves\n   AsherahConfig wires fields through to JsonUtil.",
          "is_bot": false,
          "headline": "test(java): cover JsonUtil null-omission directly; rename test fixtur…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T20:26:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "255dd7d7e5fece478c6828cf55ec2fe6ec9e00a3",
          "body": "… (#245)\n\nCodeQL flagged 12 call sites where Path.Combine could silently drop\nearlier arguments if a later argument were absolute. In every case here,\nthe trailing arguments are either string literals (\\\"Cargo.toml\\\",\n\\\"target\\\", \\\"debug\\\"), or values already gated by Path.IsPathRooted\n(benchmarks/d\n[…]\n-path footgun, so the\nanalyzer goes quiet and future callers can't accidentally trip it.\n\nTests: scripts/test.sh --bindings --binding=dotnet\n       (122 + 30 tests, both net8.0 and net10.0, all green)",
          "is_bot": false,
          "headline": "fix(dotnet): use Path.Join over Path.Combine to avoid silent arg drop…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T18:18:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ba696af46b566d19800655b2202d8a72773ee638",
          "body": "Two small hygiene fixes for CI annotations:\n\n1. Set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true on every mlugg/setup-zig\n   step (ci.yml x4, publish-npm.yml, release-cobhan.yml). The action's\n   v2.2.1 release and main branch still declare 'using: node20', so\n   pinning a newer SHA is not an option. The\n[…]\n.yml (binding-tests), benchmark-setup.yml, and codeql.yml. The\n   asherah Go module lives in asherah-go/, so the default repo-root\n   lookup fails and emits a \"Dependencies file is not found\" warning.",
          "is_bot": false,
          "headline": "chore(ci): silence Node 20 deprecation and Go cache warnings (#244)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T17:03:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f4e6423ec59a8ed99a12f8876c07d8358d9a9181",
          "body": "Disable default features on aws-sdk-kms, aws-sdk-dynamodb, and\naws-sdk-secretsmanager and re-enable only \"default-https-client\" and\n\"rt-tokio\". The dropped default feature is \"rustls\", which transitively\nenabled aws-smithy-runtime's tls-rustls -> aws-smithy-http-client's\nlegacy-rustls-ring path: rus\n[…]\nstls 0.21.12, rustls-webpki 0.101.7,\nhyper 0.14.32, hyper-rustls 0.24.2, h2 0.3.27, tokio-rustls 0.24.1, sct.\n\nCloses Dependabot alerts #49, #50, #51, #52, #64, #65 (rustls-webpki\n0.101.7 transitive).",
          "is_bot": false,
          "headline": "chore(deps): drop legacy-rustls feature from AWS SDK crates (#243)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T16:42:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3a4b37935eaaa81af93e5a549256c3c18123c50f",
          "body": "…s (#242)\n\nLockfile-only updates to address Dependabot alerts:\n\nCargo.lock:\n- rustls-webpki 0.103.11 -> 0.103.13 (GHSA-82j2-j2ch-gfr8 high,\n  GHSA-xgp8-3hg3-c2mh + GHSA-965h-392x-2mh5 low)\n\nfuzz/Cargo.lock:\n- openssl 0.10.75 -> 0.10.78 (GHSA-pqf5-4pqq-29f5, GHSA-8c75-8mhr-p7r9,\n  GHSA-hppc-g8h3-xhp3\n[…]\nsitive rustls-webpki 0.101.7 (via rustls 0.21 from\naws-smithy-http-client legacy-rustls feature) cannot be upgraded - rustls\n0.21 is end-of-line and 0.101.x has no further patches. Tracked separately.",
          "is_bot": false,
          "headline": "chore(deps): bump rustls-webpki, openssl, rand for security advisorie…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-04T15:26:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fe1e8b2b2e8d2e521b6ae3f0ccb3067751447ff8",
          "body": "…n split (#241)\n\nWhen both DynamoDBRegion and DynamoDBSigningRegion were set with\ndifferent values, asherah-config previously collapsed them with\n.or() and used a single value as the SDK Region. The SDK then drove\n*both* endpoint URL resolution and SigV4 signing from that one value,\nsilently routing\n[…]\n's a separate design concern and changing it\nwould alter behavior for existing AWS-KMS deployments.\n\nUpdates the asherah-go production-setup doc to describe the precise\nendpoint resolution precedence.",
          "is_bot": false,
          "headline": "fix(metastore-dynamodb): honor DynamoDBSigningRegion vs DynamoDBRegio…",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-05-01T14:54:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5ac6e7792fb9c6fd78e76582587f64d05bcd21f6",
          "body": null,
          "is_bot": false,
          "headline": "Dotnet beta polish (#240)",
          "author_name": "Micco",
          "author_login": "chief-micco",
          "committed_at": "2026-05-01T13:21:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b0b4482d8e54059c21ea4f15c1bd38633792709",
          "body": "Exposes the existing asherah-config aws_profile_name field through the\ngRPC sidecar so operators can select an AWS shared-credentials profile\nfor KMS, DynamoDB, and Secrets Manager clients. Brings the sidecar to\nparity with the .NET, Node, Python, Java, Ruby, and Go bindings.\n\nWhen unset, the standard AWS credential chain (including AWS_PROFILE)\napplies, matching prior behavior.",
          "is_bot": false,
          "headline": "feat(server): add --aws-profile-name to asherah-server CLI (#239)",
          "author_name": "Jay Gowdy",
          "author_login": "jgowdy-godaddy",
          "committed_at": "2026-04-30T20:25:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 667,
      "latest_release_at": "2026-06-19T20:17:42Z",
      "latest_release_tag": "v1.0.0",
      "releases_from_tags": false,
      "days_since_last_push": 6,
      "active_weeks_last_year": 25,
      "days_since_latest_release": 37,
      "mean_days_between_releases": 3.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "godaddy/asherah",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "encryption",
            "kms",
            "ffi",
            "envelope-encryption",
            "asherah"
          ],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/godaddy/asherah",
          "is_deprecated": false,
          "latest_version": "v1.0.0",
          "repository_url": "https://github.com/godaddy/asherah-ffi",
          "versions_count": 19,
          "total_downloads": 66,
          "dependents_count": 0,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 10,
          "first_published_at": null,
          "latest_published_at": "2026-06-19T20:17:34Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 37
        },
        {
          "name": "github.com/godaddy/asherah-ffi/asherah-go",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/godaddy/asherah-ffi/asherah-go",
          "is_deprecated": false,
          "latest_version": "v1.0.0",
          "repository_url": "https://github.com/godaddy/asherah-ffi",
          "versions_count": 14,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-19T20:17:34Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 37
        },
        {
          "name": "asherah",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "asherah",
            "encryption",
            "kms",
            "secrets",
            "security",
            "cryptography",
            "config",
            "memory-management"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/asherah",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/godaddy/asherah-ffi",
          "versions_count": 4,
          "total_downloads": 2247,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 749,
          "first_published_at": "2026-05-12T19:14:28.913545Z",
          "latest_published_at": "2026-06-19T20:19:00.460536Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 37
        },
        {
          "name": "asherah-ffi",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "asherah",
            "encryption",
            "ffi",
            "kms",
            "api-bindings",
            "cryptography",
            "memory-management"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/asherah-ffi",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/godaddy/asherah-ffi",
          "versions_count": 3,
          "total_downloads": 48,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 16,
          "first_published_at": "2026-05-12T19:15:18.371529Z",
          "latest_published_at": "2026-06-19T20:22:43.828047Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 37
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-16",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 11
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples",
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [
        "asherah-server/proto/appencryption.proto",
        "interop-grpc/client/proto/appencryption.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "asherah-py/asherah/py.typed"
      ],
      "toolchain_manifests": [
        "Cargo.toml",
        "asherah-cobhan/Cargo.toml",
        "asherah-cobhan/interop/go.mod",
        "asherah-config/Cargo.toml",
        "asherah-dotnet/src/GoDaddy.Asherah.Encryption.Compat/GoDaddy.Asherah.Encryption.Compat.csproj",
        "asherah-dotnet/src/GoDaddy.Asherah.Encryption/GoDaddy.Asherah.Encryption.csproj",
        "asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Compat.Tests/GoDaddy.Asherah.Encryption.Compat.Tests.csproj",
        "asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Tests/GoDaddy.Asherah.Encryption.Tests.csproj",
        "asherah-ffi/Cargo.toml",
        "asherah-go/go.mod",
        "asherah-java/Cargo.toml",
        "asherah-java/java/pom.xml",
        "asherah-node/Cargo.toml",
        "asherah-py/Cargo.toml",
        "asherah-server/Cargo.toml",
        "asherah/Cargo.toml",
        "benchmarks/asherah-bench/Cargo.toml",
        "benchmarks/dotnet-bench-canonical/dotnet-bench-canonical.csproj",
        "benchmarks/dotnet-bench-newmetastore/dotnet-bench-newmetastore.csproj",
        "benchmarks/dotnet-bench/dotnet-bench.csproj",
        "benchmarks/go-bench/go.mod",
        "benchmarks/go-wrapper/go.mod",
        "benchmarks/grpc-bench/go.mod",
        "benchmarks/java-bench-canonical/pom.xml",
        "benchmarks/java-bench/pom.xml",
        "benchmarks/native-bench/go-bench/go.mod",
        "benchmarks/native-bench/rust-bench/Cargo.toml",
        "fuzz/Cargo.toml",
        "interop-grpc/client/Cargo.toml",
        "interop/canonical-csharp/CanonicalCsharpProbe.csproj",
        "interop/canonical-go/go.mod",
        "interop/canonical-java/pom.xml",
        "samples/dotnet/Sample.csproj",
        "samples/go/go.mod",
        "samples/rust/Cargo.toml"
      ],
      "largest_source_bytes": 198446,
      "source_files_sampled": 352,
      "oversized_source_files": 4,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 10921
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "asherah-cobhan/Cargo.toml",
        "asherah-config/Cargo.toml",
        "asherah-ffi/Cargo.toml",
        "asherah-go/go.mod",
        "asherah-java/Cargo.toml",
        "asherah-node/Cargo.toml",
        "asherah-node/package.json",
        "asherah-php/composer.json",
        "asherah-py/Cargo.toml",
        "asherah-py/pyproject.toml",
        "asherah-ruby/Gemfile",
        "asherah-server/Cargo.toml",
        "asherah/Cargo.toml",
        "composer.json",
        "fuzz/Cargo.toml",
        "interop/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.45.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2",
              "GHSA-qpw4-5x99-6vjp",
              "GHSA-rm3j-f69w-wqmq"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 27,
            "oldest_advisory_days": 66
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.48.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2",
              "GHSA-qpw4-5x99-6vjp",
              "GHSA-rm3j-f69w-wqmq"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 27,
            "oldest_advisory_days": 66
          },
          {
            "name": "google.golang.org/grpc",
            "direct": false,
            "version": "v1.79.3",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-hrxh-6v49-42gf"
            ],
            "fixed_version": "1.82.1",
            "advisory_count": 1,
            "oldest_advisory_days": 5
          },
          {
            "name": "openssl",
            "direct": true,
            "version": "0.10.78",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-phqj-4mhp-q6mq",
              "GHSA-xp3w-r5p5-63rr",
              "GHSA-xv59-967r-8726"
            ],
            "fixed_version": "0.10.80",
            "advisory_count": 3,
            "oldest_advisory_days": 82
          },
          {
            "name": "postgres-protocol",
            "direct": false,
            "version": "0.6.10",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "RUSTSEC-2026-0179",
              "RUSTSEC-2026-0180"
            ],
            "fixed_version": "0.6.12",
            "advisory_count": 2,
            "oldest_advisory_days": 44
          },
          {
            "name": "postgres-protocol",
            "direct": false,
            "version": "0.6.11",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "RUSTSEC-2026-0179",
              "RUSTSEC-2026-0180"
            ],
            "fixed_version": "0.6.12",
            "advisory_count": 2,
            "oldest_advisory_days": 44
          },
          {
            "name": "quinn-proto",
            "direct": false,
            "version": "0.11.14",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-4w2j-m93h-cj5j",
              "RUSTSEC-2026-0185"
            ],
            "fixed_version": "0.11.15",
            "advisory_count": 2,
            "oldest_advisory_days": 34
          },
          {
            "name": "cmov",
            "direct": false,
            "version": "0.5.3",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-3rjw-m598-pq24"
            ],
            "fixed_version": "0.5.4",
            "advisory_count": 1,
            "oldest_advisory_days": 24
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.48.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5cv4-jp36-h3mw",
              "GO-2026-4918",
              "GO-2026-5025",
              "GO-2026-5026",
              "GO-2026-5027",
              "GO-2026-5028",
              "GO-2026-5029",
              "GO-2026-5030",
              "GO-2026-5942"
            ],
            "fixed_version": "1.26.3",
            "advisory_count": 9,
            "oldest_advisory_days": 80
          },
          {
            "name": "serde_with",
            "direct": false,
            "version": "3.18.0",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 4,
            "advisory_ids": [
              "GHSA-7gcf-g7xr-8hxj"
            ],
            "fixed_version": "3.21.0",
            "advisory_count": 1,
            "oldest_advisory_days": 11
          },
          {
            "name": "tokio-postgres",
            "direct": false,
            "version": "0.7.16",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "RUSTSEC-2026-0178"
            ],
            "fixed_version": "0.7.18",
            "advisory_count": 1,
            "oldest_advisory_days": 44
          },
          {
            "name": "tokio-postgres",
            "direct": false,
            "version": "0.7.17",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "RUSTSEC-2026-0178"
            ],
            "fixed_version": "0.7.18",
            "advisory_count": 1,
            "oldest_advisory_days": 44
          },
          {
            "name": "anyhow",
            "direct": true,
            "version": "1.0.102",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0190"
            ],
            "fixed_version": "1.0.103",
            "advisory_count": 1,
            "oldest_advisory_days": 31
          },
          {
            "name": "scc",
            "direct": true,
            "version": "2.4.0",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0205"
            ],
            "fixed_version": "3.8.4",
            "advisory_count": 1,
            "oldest_advisory_days": 20
          },
          {
            "name": "scc",
            "direct": true,
            "version": "3.7.2",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0205"
            ],
            "fixed_version": "3.8.4",
            "advisory_count": 1,
            "oldest_advisory_days": 20
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0204"
            ],
            "fixed_version": "0.9.20",
            "advisory_count": 1,
            "oldest_advisory_days": 20
          },
          {
            "name": "github.com/aws/aws-sdk-go",
            "direct": false,
            "version": "v1.44.265",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2022-0635",
              "GO-2022-0646"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 1626
          },
          {
            "name": "github.com/aws/aws-sdk-go",
            "direct": false,
            "version": "v1.55.8",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2022-0635",
              "GO-2022-0646"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 1626
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.38.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 65
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.39.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 65
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.42.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 65
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "v0.32.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5970"
            ],
            "fixed_version": "0.39.0",
            "advisory_count": 1,
            "oldest_advisory_days": 12
          },
          {
            "name": "proc-macro-error2",
            "direct": false,
            "version": "2.0.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0173"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 49
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 4,
          "unknown": 11,
          "critical": 3,
          "moderate": 5
        },
        "advisory_count": 90,
        "affected_count": 23,
        "assessed_count": 708,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 76,
        "direct_affected_count": 4
      },
      "ecosystems": [
        "crates",
        "go",
        "npm",
        "packagist",
        "pypi",
        "rubygems"
      ],
      "dependencies": [
        {
          "name": "asherah",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "log",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "zeroize",
          "manifest": "asherah-cobhan/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.8"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-config/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde",
          "manifest": "asherah-config/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-config/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "asherah",
          "manifest": "asherah-config/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah-cobhan",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "tokio",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "once_cell",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "parking_lot",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "log",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "zeroize",
          "manifest": "asherah-ffi/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.8"
        },
        {
          "name": "github.com/ebitengine/purego",
          "manifest": "asherah-go/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.10.1"
        },
        {
          "name": "jni",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.22"
        },
        {
          "name": "asherah",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "tokio",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "once_cell",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "log",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "parking_lot",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "zeroize",
          "manifest": "asherah-java/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.8"
        },
        {
          "name": "napi",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3"
        },
        {
          "name": "napi-derive",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3"
        },
        {
          "name": "serde",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "asherah",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "tokio",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "once_cell",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "parking_lot",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "lru",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.16"
        },
        {
          "name": "log",
          "manifest": "asherah-node/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "pyo3",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29"
        },
        {
          "name": "asherah",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "tokio",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "once_cell",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.21"
        },
        {
          "name": "parking_lot",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "lru",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.16"
        },
        {
          "name": "log",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "zeroize",
          "manifest": "asherah-py/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "asherah",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "asherah-config",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tonic",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.14"
        },
        {
          "name": "tonic-prost",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.14"
        },
        {
          "name": "prost",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.14"
        },
        {
          "name": "tokio",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "tokio-stream",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.1"
        },
        {
          "name": "clap",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "4"
        },
        {
          "name": "serde_json",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "anyhow",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "log",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "env_logger",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.11"
        },
        {
          "name": "rustix",
          "manifest": "asherah-server/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.1"
        },
        {
          "name": "serde",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "serde_json",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "once_cell",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.21"
        },
        {
          "name": "parking_lot",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "rand",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9"
        },
        {
          "name": "rand_chacha",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9"
        },
        {
          "name": "itoa",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "anyhow",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "async-trait",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.1"
        },
        {
          "name": "log",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "serde_bytes",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.11"
        },
        {
          "name": "blake2",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "base64",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.22"
        },
        {
          "name": "subtle",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2.5"
        },
        {
          "name": "signal-hook",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "libc",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2"
        },
        {
          "name": "windows-sys",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.59"
        },
        {
          "name": "hardware-rust-crypto",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "ring",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.17"
        },
        {
          "name": "scc",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3"
        },
        {
          "name": "percent-encoding",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2"
        },
        {
          "name": "zeroize",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.8"
        },
        {
          "name": "hardware-enclave",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2.9"
        },
        {
          "name": "rusqlite",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.38"
        },
        {
          "name": "aws-config",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "aws-types",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "aws-sdk-kms",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "aws-sdk-dynamodb",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "aws-sdk-secretsmanager",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "tokio",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "mysql",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "27"
        },
        {
          "name": "postgres",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.19"
        },
        {
          "name": "postgres-native-tls",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.5"
        },
        {
          "name": "native-tls",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2"
        },
        {
          "name": "openssl",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "reqwest",
          "manifest": "asherah/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.12"
        },
        {
          "name": "asherah",
          "manifest": "interop/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.12"
        },
        {
          "name": "asherah-node",
          "manifest": "interop/package.json",
          "ecosystem": "npm",
          "version_constraint": "file:../asherah-node"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "anyhow",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "anyhow",
            "direct": true,
            "version": "1.0.102",
            "ecosystem": "crates"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "asherah-cobhan",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "asherah-config",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-trait",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-trait",
            "direct": true,
            "version": "0.1.89",
            "ecosystem": "crates"
          },
          {
            "name": "aws-config",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "aws-config",
            "direct": true,
            "version": "1.8.13",
            "ecosystem": "crates"
          },
          {
            "name": "aws-config",
            "direct": true,
            "version": "1.8.15",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-dynamodb",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-dynamodb",
            "direct": true,
            "version": "1.104.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-dynamodb",
            "direct": true,
            "version": "1.108.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-kms",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-kms",
            "direct": true,
            "version": "1.103.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-kms",
            "direct": true,
            "version": "1.99.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-secretsmanager",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-secretsmanager",
            "direct": true,
            "version": "1.99.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-types",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "aws-types",
            "direct": true,
            "version": "1.3.11",
            "ecosystem": "crates"
          },
          {
            "name": "aws-types",
            "direct": true,
            "version": "1.3.14",
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": true,
            "version": "0.21.7",
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": true,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "blake2",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "blake2",
            "direct": true,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": true,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": true,
            "version": "0.11.10",
            "ecosystem": "crates"
          },
          {
            "name": "hardware-enclave",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hardware-enclave",
            "direct": true,
            "version": "0.2.9",
            "ecosystem": "crates"
          },
          {
            "name": "hardware-rust-crypto",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hardware-rust-crypto",
            "direct": true,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": true,
            "version": "1.0.17",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": true,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "jni",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "jni",
            "direct": true,
            "version": "0.22.4",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": true,
            "version": "0.2.183",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": true,
            "version": "0.2.186",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": true,
            "version": "0.4.29",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": true,
            "version": "0.4.32",
            "ecosystem": "crates"
          },
          {
            "name": "lru",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "lru",
            "direct": true,
            "version": "0.16.3",
            "ecosystem": "crates"
          },
          {
            "name": "lru",
            "direct": true,
            "version": "0.16.4",
            "ecosystem": "crates"
          },
          {
            "name": "mysql",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "mysql",
            "direct": true,
            "version": "27.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "napi",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "napi",
            "direct": true,
            "version": "3.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "napi-derive",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "napi-derive",
            "direct": true,
            "version": "3.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "native-tls",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "native-tls",
            "direct": true,
            "version": "0.2.18",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": true,
            "version": "1.21.3",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": true,
            "version": "1.21.4",
            "ecosystem": "crates"
          },
          {
            "name": "openssl",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "openssl",
            "direct": true,
            "version": "0.10.78",
            "ecosystem": "crates"
          },
          {
            "name": "openssl",
            "direct": true,
            "version": "0.10.80",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot",
            "direct": true,
            "version": "0.12.5",
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": true,
            "version": "2.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "postgres",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "postgres",
            "direct": true,
            "version": "0.19.12",
            "ecosystem": "crates"
          },
          {
            "name": "postgres",
            "direct": true,
            "version": "0.19.13",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-native-tls",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "postgres-native-tls",
            "direct": true,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-native-tls",
            "direct": true,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "prost",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "prost",
            "direct": true,
            "version": "0.14.4",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pyo3",
            "direct": true,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.9.4",
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "reqwest",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "reqwest",
            "direct": true,
            "version": "0.12.28",
            "ecosystem": "crates"
          },
          {
            "name": "ring",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ring",
            "direct": true,
            "version": "0.17.14",
            "ecosystem": "crates"
          },
          {
            "name": "rusqlite",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rusqlite",
            "direct": true,
            "version": "0.38.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": true,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "scc",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "scc",
            "direct": true,
            "version": "2.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "scc",
            "direct": true,
            "version": "3.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": true,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_bytes",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_bytes",
            "direct": true,
            "version": "0.11.19",
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": true,
            "version": "1.0.149",
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": true,
            "version": "1.0.150",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook",
            "direct": true,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook",
            "direct": true,
            "version": "0.4.4",
            "ecosystem": "crates"
          },
          {
            "name": "subtle",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "subtle",
            "direct": true,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": "1.50.0",
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": "1.52.3",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-stream",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tokio-stream",
            "direct": true,
            "version": "0.1.18",
            "ecosystem": "crates"
          },
          {
            "name": "tonic",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tonic",
            "direct": true,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "tonic-prost",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tonic-prost",
            "direct": true,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": true,
            "version": "0.52.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": true,
            "version": "0.59.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": true,
            "version": "0.61.2",
            "ecosystem": "crates"
          },
          {
            "name": "zeroize",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "zeroize",
            "direct": true,
            "version": "1.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "github.com/ebitengine/purego",
            "direct": true,
            "version": "v0.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ebitengine/purego",
            "direct": true,
            "version": "v0.10.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ebitengine/purego",
            "direct": true,
            "version": "v0.9.0",
            "ecosystem": "go"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": "3.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": "3.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": "4.0.0-beta.1",
            "ecosystem": "npm"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": "latest",
            "ecosystem": "npm"
          },
          {
            "name": "asherah",
            "direct": true,
            "version": "next",
            "ecosystem": "npm"
          },
          {
            "name": "adler2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "aead",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "aes",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "crates"
          },
          {
            "name": "aes-gcm",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "crates"
          },
          {
            "name": "aho-corasick",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "allocator-api2",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "android_system_properties",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anes",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "crates"
          },
          {
            "name": "anstream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle",
            "direct": false,
            "version": "1.0.14",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-parse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-query",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-wincon",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "crates"
          },
          {
            "name": "arbitrary",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "astral-tokio-tar",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-stream",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "crates"
          },
          {
            "name": "async-stream-impl",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "crates"
          },
          {
            "name": "atomic-waker",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "autocfg",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-credential-types",
            "direct": false,
            "version": "1.2.11",
            "ecosystem": "crates"
          },
          {
            "name": "aws-credential-types",
            "direct": false,
            "version": "1.2.14",
            "ecosystem": "crates"
          },
          {
            "name": "aws-lc-rs",
            "direct": false,
            "version": "1.16.2",
            "ecosystem": "crates"
          },
          {
            "name": "aws-lc-sys",
            "direct": false,
            "version": "0.39.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-lc-sys",
            "direct": false,
            "version": "0.39.1",
            "ecosystem": "crates"
          },
          {
            "name": "aws-runtime",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-runtime",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-sso",
            "direct": false,
            "version": "1.93.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-sso",
            "direct": false,
            "version": "1.96.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-ssooidc",
            "direct": false,
            "version": "1.95.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-ssooidc",
            "direct": false,
            "version": "1.98.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-sts",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sdk-sts",
            "direct": false,
            "version": "1.97.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sigv4",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "crates"
          },
          {
            "name": "aws-sigv4",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-async",
            "direct": false,
            "version": "1.2.11",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-async",
            "direct": false,
            "version": "1.2.14",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-http",
            "direct": false,
            "version": "0.63.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-http",
            "direct": false,
            "version": "0.63.6",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-http-client",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-http-client",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-json",
            "direct": false,
            "version": "0.62.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-json",
            "direct": false,
            "version": "0.62.5",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-observability",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-observability",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-query",
            "direct": false,
            "version": "0.60.13",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-query",
            "direct": false,
            "version": "0.60.15",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-runtime",
            "direct": false,
            "version": "1.10.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-runtime-api",
            "direct": false,
            "version": "1.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-runtime-api",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-types",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-types",
            "direct": false,
            "version": "1.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-xml",
            "direct": false,
            "version": "0.60.13",
            "ecosystem": "crates"
          },
          {
            "name": "aws-smithy-xml",
            "direct": false,
            "version": "0.60.15",
            "ecosystem": "crates"
          },
          {
            "name": "axum",
            "direct": false,
            "version": "0.8.8",
            "ecosystem": "crates"
          },
          {
            "name": "axum-core",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "base64-simd",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "block-buffer",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "crates"
          },
          {
            "name": "block-buffer",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "bollard",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "bollard-buildkit-proto",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "bollard-stubs",
            "direct": false,
            "version": "1.52.1-rc.29.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "bstr",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "btoi",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "bufstream",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "bumpalo",
            "direct": false,
            "version": "3.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "bytecount",
            "direct": false,
            "version": "0.6.9",
            "ecosystem": "crates"
          },
          {
            "name": "byteorder",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "bytes-utils",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "cast",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "cc",
            "direct": false,
            "version": "1.2.56",
            "ecosystem": "crates"
          },
          {
            "name": "cc",
            "direct": false,
            "version": "1.2.60",
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "cfg_aliases",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "chacha20",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "chrono",
            "direct": false,
            "version": "0.4.44",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium-io",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium-ll",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "cipher",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "crates"
          },
          {
            "name": "clap_builder",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap_derive",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "clap_lex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "cmake",
            "direct": false,
            "version": "0.1.57",
            "ecosystem": "crates"
          },
          {
            "name": "cmake",
            "direct": false,
            "version": "0.1.58",
            "ecosystem": "crates"
          },
          {
            "name": "cmov",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "colorchoice",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "combine",
            "direct": false,
            "version": "4.6.7",
            "ecosystem": "crates"
          },
          {
            "name": "console",
            "direct": false,
            "version": "0.16.3",
            "ecosystem": "crates"
          },
          {
            "name": "const-oid",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "convert_case",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "convert_case",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation-sys",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "crates"
          },
          {
            "name": "cpufeatures",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "cpufeatures",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "crc32fast",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "criterion",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "criterion",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "criterion-plot",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-deque",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.18",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-queue",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-utils",
            "direct": false,
            "version": "0.8.21",
            "ecosystem": "crates"
          },
          {
            "name": "crunchy",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "crypto-common",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "crypto-common",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "ctor",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "ctr",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "crates"
          },
          {
            "name": "ctutils",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "cucumber",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "cucumber",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "cucumber-codegen",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "cucumber-expressions",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "darling",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "darling_core",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling_core",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "darling_macro",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling_macro",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "deranged",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "derive_arbitrary",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "derive_more",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "derive_more-impl",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "derive_utils",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "crates"
          },
          {
            "name": "digest",
            "direct": false,
            "version": "0.10.7",
            "ecosystem": "crates"
          },
          {
            "name": "digest",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "crates"
          },
          {
            "name": "displaydoc",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "docker_credential",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "dunce",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "dyn-clone",
            "direct": false,
            "version": "1.0.20",
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "encode_unicode",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "env_filter",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "equivalent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "errno",
            "direct": false,
            "version": "0.3.14",
            "ecosystem": "crates"
          },
          {
            "name": "etcetera",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "fallible-iterator",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "fallible-iterator",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "fallible-streaming-iterator",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fastrand",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "fastrand",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "ferroid",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "filetime",
            "direct": false,
            "version": "0.2.27",
            "ecosystem": "crates"
          },
          {
            "name": "find-msvc-tools",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fixedbitset",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "crates"
          },
          {
            "name": "flate2",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fnv",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "foreign-types",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "foreign-types-shared",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "form_urlencoded",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "fs_extra",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "futures",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-channel",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-core",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-executor",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-io",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-macro",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-sink",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-task",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-util",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "generic-array",
            "direct": false,
            "version": "0.14.7",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "ghash",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "gherkin",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "globset",
            "direct": false,
            "version": "0.4.18",
            "ecosystem": "crates"
          },
          {
            "name": "globwalk",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "h2",
            "direct": false,
            "version": "0.4.13",
            "ecosystem": "crates"
          },
          {
            "name": "half",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.15.5",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "hashlink",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "hermit-abi",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "hex",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "hmac",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "hmac",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "home",
            "direct": false,
            "version": "0.5.12",
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "http-body",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "http-body",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "http-body-util",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "httparse",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "httpdate",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "humantime",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "hybrid-array",
            "direct": false,
            "version": "0.4.10",
            "ecosystem": "crates"
          },
          {
            "name": "hyper",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "hyper",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-named-pipe",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-rustls",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-rustls",
            "direct": false,
            "version": "0.27.8",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-timeout",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-util",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hyper-util",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "hyperlocal",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "iana-time-zone",
            "direct": false,
            "version": "0.1.65",
            "ecosystem": "crates"
          },
          {
            "name": "iana-time-zone-haiku",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "icu_collections",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_collections",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_locale_core",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_locale_core",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer_data",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties_data",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_provider",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_provider",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "id-arena",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ident_case",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna_adapter",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "0.4.25",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "inflections",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "inout",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "inventory",
            "direct": false,
            "version": "0.3.24",
            "ecosystem": "crates"
          },
          {
            "name": "io-enum",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "ipnet",
            "direct": false,
            "version": "2.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "iri-string",
            "direct": false,
            "version": "0.7.12",
            "ecosystem": "crates"
          },
          {
            "name": "is-terminal",
            "direct": false,
            "version": "0.4.17",
            "ecosystem": "crates"
          },
          {
            "name": "is_terminal_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": "0.10.5",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "java-locator",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "jiff",
            "direct": false,
            "version": "0.2.23",
            "ecosystem": "crates"
          },
          {
            "name": "jiff-static",
            "direct": false,
            "version": "0.2.23",
            "ecosystem": "crates"
          },
          {
            "name": "jni-macros",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys-macros",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jobserver",
            "direct": false,
            "version": "0.1.34",
            "ecosystem": "crates"
          },
          {
            "name": "js-sys",
            "direct": false,
            "version": "0.3.91",
            "ecosystem": "crates"
          },
          {
            "name": "js-sys",
            "direct": false,
            "version": "0.3.95",
            "ecosystem": "crates"
          },
          {
            "name": "leb128fmt",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "libfuzzer-sys",
            "direct": false,
            "version": "0.4.12",
            "ecosystem": "crates"
          },
          {
            "name": "libloading",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "libloading",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "libloading",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "libredox",
            "direct": false,
            "version": "0.1.14",
            "ecosystem": "crates"
          },
          {
            "name": "libredox",
            "direct": false,
            "version": "0.1.16",
            "ecosystem": "crates"
          },
          {
            "name": "libsqlite3-sys",
            "direct": false,
            "version": "0.36.0",
            "ecosystem": "crates"
          },
          {
            "name": "libz-sys",
            "direct": false,
            "version": "1.1.25",
            "ecosystem": "crates"
          },
          {
            "name": "libz-sys",
            "direct": false,
            "version": "1.1.28",
            "ecosystem": "crates"
          },
          {
            "name": "linked-hash-map",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "litemap",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "litemap",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "lock_api",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "lru-slab",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "matchit",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "crates"
          },
          {
            "name": "md-5",
            "direct": false,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "md-5",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "memchr",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "0.3.17",
            "ecosystem": "crates"
          },
          {
            "name": "miniz_oxide",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "mio",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "mio",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "multimap",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "mysql-common-derive",
            "direct": false,
            "version": "0.32.1",
            "ecosystem": "crates"
          },
          {
            "name": "mysql_common",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "crates"
          },
          {
            "name": "named_pipe",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "napi-build",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "napi-build",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "napi-derive-backend",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "napi-sys",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "nohash-hasher",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "nom",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "nom_locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "num",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "num-bigint",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-complex",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-conv",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "num-conv",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "num-integer",
            "direct": false,
            "version": "0.1.46",
            "ecosystem": "crates"
          },
          {
            "name": "num-iter",
            "direct": false,
            "version": "0.1.45",
            "ecosystem": "crates"
          },
          {
            "name": "num-rational",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "num-traits",
            "direct": false,
            "version": "0.2.19",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-foundation",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-system-configuration",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "oorandom",
            "direct": false,
            "version": "11.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "opaque-debug",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-macros",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-probe",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-src",
            "direct": false,
            "version": "300.5.5+3.5.5",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-src",
            "direct": false,
            "version": "300.6.0+3.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-sys",
            "direct": false,
            "version": "0.9.115",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-sys",
            "direct": false,
            "version": "0.9.116",
            "ecosystem": "crates"
          },
          {
            "name": "outref",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot_core",
            "direct": false,
            "version": "0.9.12",
            "ecosystem": "crates"
          },
          {
            "name": "parse-display",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "parse-display-derive",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "peg",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "peg-macros",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "peg-runtime",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "pem",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "petgraph",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "phf_shared",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-internal",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-lite",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "pin-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "pkg-config",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "pkg-config",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "plain",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "plotters",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "crates"
          },
          {
            "name": "plotters-backend",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "crates"
          },
          {
            "name": "plotters-svg",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "crates"
          },
          {
            "name": "polyval",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic-util",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-protocol",
            "direct": false,
            "version": "0.6.10",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-protocol",
            "direct": false,
            "version": "0.6.11",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-types",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "postgres-types",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "crates"
          },
          {
            "name": "potential_utf",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "potential_utf",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "powerfmt",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "ppv-lite86",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "prettyplease",
            "direct": false,
            "version": "0.2.37",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-crate",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-error-attr2",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-error2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.106",
            "ecosystem": "crates"
          },
          {
            "name": "proptest",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proptest",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "prost-build",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "crates"
          },
          {
            "name": "prost-derive",
            "direct": false,
            "version": "0.14.4",
            "ecosystem": "crates"
          },
          {
            "name": "prost-types",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "crates"
          },
          {
            "name": "pulldown-cmark",
            "direct": false,
            "version": "0.13.3",
            "ecosystem": "crates"
          },
          {
            "name": "pulldown-cmark-to-cmark",
            "direct": false,
            "version": "22.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-build-config",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-ffi",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-macros-backend",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "quick-error",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "quinn",
            "direct": false,
            "version": "0.11.9",
            "ecosystem": "crates"
          },
          {
            "name": "quinn-proto",
            "direct": false,
            "version": "0.11.14",
            "ecosystem": "crates"
          },
          {
            "name": "quinn-udp",
            "direct": false,
            "version": "0.5.14",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.45",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "rand_xorshift",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon-core",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.5.18",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "crates"
          },
          {
            "name": "ref-cast",
            "direct": false,
            "version": "1.0.25",
            "ecosystem": "crates"
          },
          {
            "name": "ref-cast-impl",
            "direct": false,
            "version": "1.0.25",
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "1.12.3",
            "ecosystem": "crates"
          },
          {
            "name": "regex-automata",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "regex-lite",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "regex-syntax",
            "direct": false,
            "version": "0.8.10",
            "ecosystem": "crates"
          },
          {
            "name": "rsqlite-vfs",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-hash",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "rustc_version",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": "0.23.37",
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": "0.23.38",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-native-certs",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-pki-types",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-webpki",
            "direct": false,
            "version": "0.103.13",
            "ecosystem": "crates"
          },
          {
            "name": "rustversion",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "crates"
          },
          {
            "name": "rusty-fork",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "ryu",
            "direct": false,
            "version": "1.0.23",
            "ecosystem": "crates"
          },
          {
            "name": "saa",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "same-file",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "saturating",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "schannel",
            "direct": false,
            "version": "0.1.29",
            "ecosystem": "crates"
          },
          {
            "name": "schemars",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "schemars",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "scopeguard",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "sdd",
            "direct": false,
            "version": "3.0.10",
            "ecosystem": "crates"
          },
          {
            "name": "sdd",
            "direct": false,
            "version": "4.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sealed",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "security-framework",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "security-framework-sys",
            "direct": false,
            "version": "2.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "1.0.27",
            "ecosystem": "crates"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "1.0.28",
            "ecosystem": "crates"
          },
          {
            "name": "serde_core",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_derive",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_repr",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "serde_urlencoded",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "serde_with",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde_with_macros",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "crates"
          },
          {
            "name": "serial_test",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serial_test",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "serial_test_derive",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "sha1",
            "direct": false,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "sha2",
            "direct": false,
            "version": "0.10.9",
            "ecosystem": "crates"
          },
          {
            "name": "sha2",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "shlex",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook-registry",
            "direct": false,
            "version": "1.4.8",
            "ecosystem": "crates"
          },
          {
            "name": "simd-adler32",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "crates"
          },
          {
            "name": "simd-adler32",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "simd_cesu8",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "simdutf8",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "siphasher",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "slab",
            "direct": false,
            "version": "0.4.12",
            "ecosystem": "crates"
          },
          {
            "name": "smallvec",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "crates"
          },
          {
            "name": "smart-default",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "smawk",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "socket2",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "sqlite-wasm-rs",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "stable_deref_trait",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "stringprep",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "strsim",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "structmeta",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "structmeta-derive",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.117",
            "ecosystem": "crates"
          },
          {
            "name": "sync_wrapper",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "synstructure",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "synthez",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "synthez-codegen",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "synthez-core",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "target-lexicon",
            "direct": false,
            "version": "0.13.5",
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": false,
            "version": "3.27.0",
            "ecosystem": "crates"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "terminal_size",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers-modules",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers-modules",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "textwrap",
            "direct": false,
            "version": "0.16.2",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "time",
            "direct": false,
            "version": "0.3.47",
            "ecosystem": "crates"
          },
          {
            "name": "time-core",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "time-macros",
            "direct": false,
            "version": "0.2.27",
            "ecosystem": "crates"
          },
          {
            "name": "tinystr",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "tinystr",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "tinytemplate",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec_macros",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-macros",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-macros",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-native-tls",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-postgres",
            "direct": false,
            "version": "0.7.16",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-postgres",
            "direct": false,
            "version": "0.7.17",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-rustls",
            "direct": false,
            "version": "0.26.4",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-util",
            "direct": false,
            "version": "0.7.18",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "1.0.0+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "1.1.1+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": "0.25.11+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": "0.25.4+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_parser",
            "direct": false,
            "version": "1.0.9+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_parser",
            "direct": false,
            "version": "1.1.2+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "tonic-build",
            "direct": false,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "tonic-prost-build",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tonic-prost-build",
            "direct": false,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "tower",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tower",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "tower-http",
            "direct": false,
            "version": "0.6.8",
            "ecosystem": "crates"
          },
          {
            "name": "tower-layer",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "tower-service",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "tracing",
            "direct": false,
            "version": "0.1.44",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-attributes",
            "direct": false,
            "version": "0.1.31",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-core",
            "direct": false,
            "version": "0.1.36",
            "ecosystem": "crates"
          },
          {
            "name": "try-lock",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "twox-hash",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "typed-builder",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "crates"
          },
          {
            "name": "typed-builder-macro",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "crates"
          },
          {
            "name": "typenum",
            "direct": false,
            "version": "1.19.0",
            "ecosystem": "crates"
          },
          {
            "name": "unarray",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "unicase",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-bidi",
            "direct": false,
            "version": "0.3.18",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ident",
            "direct": false,
            "version": "1.0.24",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-linebreak",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-normalization",
            "direct": false,
            "version": "0.1.25",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-properties",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-segmentation",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-width",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-xid",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "universal-hash",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "untrusted",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq-proto",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "url",
            "direct": false,
            "version": "2.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "urlencoding",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "utf8-zero",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "utf8_iter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "utf8parse",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "1.22.0",
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "1.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "vcpkg",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "crates"
          },
          {
            "name": "version_check",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "vsimd",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "wait-timeout",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "walkdir",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "want",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "wasi",
            "direct": false,
            "version": "0.11.1+wasi-snapshot-preview1",
            "ecosystem": "crates"
          },
          {
            "name": "wasi",
            "direct": false,
            "version": "0.14.7+wasi-0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "wasip2",
            "direct": false,
            "version": "1.0.2+wasi-0.2.9",
            "ecosystem": "crates"
          },
          {
            "name": "wasip3",
            "direct": false,
            "version": "0.4.0+wasi-0.3.0-rc-2026-01-06",
            "ecosystem": "crates"
          },
          {
            "name": "wasite",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": "0.2.114",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-futures",
            "direct": false,
            "version": "0.4.68",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro",
            "direct": false,
            "version": "0.2.114",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro-support",
            "direct": false,
            "version": "0.2.114",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro-support",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-shared",
            "direct": false,
            "version": "0.2.114",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-shared",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-encoder",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-metadata",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasmparser",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": "0.3.91",
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": "0.3.95",
            "ecosystem": "crates"
          },
          {
            "name": "web-time",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "webpki-roots",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "which",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "which",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "whoami",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "winapi",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-i686-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-util",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-x86_64-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows",
            "direct": false,
            "version": "0.58.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-core",
            "direct": false,
            "version": "0.58.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-core",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-implement",
            "direct": false,
            "version": "0.58.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-implement",
            "direct": false,
            "version": "0.60.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-interface",
            "direct": false,
            "version": "0.58.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-interface",
            "direct": false,
            "version": "0.59.3",
            "ecosystem": "crates"
          },
          {
            "name": "windows-link",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-result",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-result",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-strings",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-strings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "winnow",
            "direct": false,
            "version": "0.7.15",
            "ecosystem": "crates"
          },
          {
            "name": "winnow",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-core",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-rust",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-rust-macro",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-component",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-parser",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "writeable",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "writeable",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "xattr",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "xmlparser",
            "direct": false,
            "version": "0.13.6",
            "ecosystem": "crates"
          },
          {
            "name": "yoke",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "yoke",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "yoke-derive",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "yoke-derive",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.42",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.48",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.42",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.48",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom-derive",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom-derive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zeroize_derive",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "zerotrie",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "zerotrie",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec",
            "direct": false,
            "version": "0.11.5",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec-derive",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec-derive",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "zmij",
            "direct": false,
            "version": "1.0.21",
            "ecosystem": "crates"
          },
          {
            "name": "github.com/awnumar/memcall",
            "direct": false,
            "version": "v0.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/awnumar/memcall",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/awnumar/memguard",
            "direct": false,
            "version": "v0.22.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/awnumar/memguard",
            "direct": false,
            "version": "v0.22.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aws/aws-sdk-go",
            "direct": false,
            "version": "v1.44.265",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aws/aws-sdk-go",
            "direct": false,
            "version": "v1.55.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/goburrow/cache",
            "direct": false,
            "version": "v0.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/godaddy/asherah/go/appencryption",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/godaddy/asherah/go/appencryption",
            "direct": false,
            "version": "v0.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/godaddy/asherah/go/securememory",
            "direct": false,
            "version": "v0.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/godaddy/asherah/go/securememory",
            "direct": false,
            "version": "v0.1.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jmespath/go-jmespath",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pkg/errors",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rcrowley/go-metrics",
            "direct": false,
            "version": "v0.0.0-20201227073835-cf1acfcdf475",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.45.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.48.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.48.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.38.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.39.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.42.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "v0.32.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/rpc",
            "direct": false,
            "version": "v0.0.0-20251202230838-ff82c1b0f217",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/grpc",
            "direct": false,
            "version": "v1.79.3",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "v1.36.11",
            "ecosystem": "go"
          },
          {
            "name": "com.godaddy.asherah:appencryption",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.godaddy.asherah:appencryption",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "maven"
          },
          {
            "name": "com.godaddy.asherah:appencryption",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.micrometer:micrometer-core",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-gpg-plugin",
            "direct": false,
            "version": "3.2.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": "3.5.6",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:exec-maven-plugin",
            "direct": false,
            "version": "3.6.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.json:json",
            "direct": false,
            "version": "20240303",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter",
            "direct": false,
            "version": "5.14.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-core",
            "direct": false,
            "version": "1.37",
            "ecosystem": "maven"
          },
          {
            "name": "org.openjdk.jmh:jmh-generator-annprocess",
            "direct": false,
            "version": "1.37",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-simple",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-simple",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "maven"
          },
          {
            "name": "org.sonatype.central:central-publishing-maven-plugin",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "maven"
          },
          {
            "name": "../asherah-node",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/cli",
            "direct": false,
            "version": "2.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "8.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "8.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "BenchmarkDotNet",
            "direct": false,
            "version": "0.15.8",
            "ecosystem": "nuget"
          },
          {
            "name": "GoDaddy.Asherah.AppEncryption",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "nuget"
          },
          {
            "name": "GoDaddy.Asherah.AppEncryption",
            "direct": false,
            "version": "0.2.10",
            "ecosystem": "nuget"
          },
          {
            "name": "GoDaddy.Asherah.SecureMemory",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging",
            "direct": false,
            "version": "10.0.7",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Abstractions",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Newtonsoft.Json",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "ext-ffi",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-json",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friendsofphp/php-cs-fixer",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpstan/phpstan",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpunit/phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ffi",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "logger",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": "5.27.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": "13.4.2",
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 784,
        "direct_count": 127,
        "indirect_count": 657
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 10,
        "merged_prs": 310,
        "open_issues": 1,
        "closed_ratio": 0.8,
        "closed_issues": 4,
        "closed_unmerged_prs": 39
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "jgowdy-godaddy",
          "commits": 508,
          "avatar_url": "https://avatars.githubusercontent.com/u/130084966?v=4"
        },
        {
          "type": "User",
          "login": "jgowdy",
          "commits": 98,
          "avatar_url": "https://avatars.githubusercontent.com/u/1331960?v=4"
        },
        {
          "type": "User",
          "login": "chief-micco",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/194434024?v=4"
        },
        {
          "type": "User",
          "login": "scourtney-godaddy",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/109175789?v=4"
        },
        {
          "type": "User",
          "login": "dnasevic-godaddy",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/84343272?v=4"
        }
      ],
      "contributors_sampled": 5,
      "top_contributor_share": 0.808
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "auto-rerun-failed-publish.yml",
        "benchmark-cold.yml",
        "benchmark-hot.yml",
        "benchmark-memory.yml",
        "benchmark-setup.yml",
        "benchmark-warm.yml",
        "ci.yml",
        "codeql.yml",
        "php-aws-integration.yml",
        "publish-crates.yml",
        "publish-maven.yml",
        "publish-npm.yml",
        "publish-nuget.yml",
        "publish-php.yml",
        "publish-pypi.yml",
        "publish-rubygems.yml",
        "publish-server.yml",
        "release-cobhan.yml",
        "test-runner.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".php-cs-fixer.php",
        ".rubocop.yml",
        "phpstan.neon"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock",
        "go.sum",
        "package-lock.json",
        "packages.lock.json"
      ],
      "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": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 2,
            "reason": "Found 6/22 approved changesets -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "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": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 4,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "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": "07a27b18afa522b7436d2cc35a85055e7333dc27",
        "ran_at": "2026-07-27T11:25:02Z",
        "aggregate_score": 6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-25T06:33:25Z",
      "oldest_open_prs": [
        {
          "number": 343,
          "created_at": "2026-06-20T03:17:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 345,
          "created_at": "2026-06-23T02:43:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 353,
          "created_at": "2026-07-04T05:49:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 355,
          "created_at": "2026-07-10T19:04:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 356,
          "created_at": "2026-07-10T19:08:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 357,
          "created_at": "2026-07-10T19:59:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 360,
          "created_at": "2026-07-15T23:24:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 362,
          "created_at": "2026-07-21T02:43:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 363,
          "created_at": "2026-07-21T02:48:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 364,
          "created_at": "2026-07-21T02:51:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-16T09:32:07Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 361,
          "created_at": "2026-07-16T15:32:48Z",
          "last_comment_at": "2026-07-17T14:28:51Z",
          "last_comment_author": "chief-micco"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/godaddy/asherah-ffi",
    "host": "github.com",
    "name": "asherah-ffi",
    "owner": "godaddy"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 70,
      "inputs": {
        "security": 62,
        "vitality": 85,
        "community": 40,
        "governance": 63,
        "engineering": 96
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 85,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "commits_last_year": 667,
              "human_commit_share": 0.84,
              "days_since_last_push": 6,
              "active_weeks_last_year": 25
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "25/52 weeks with commits",
                "points": 17.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 25
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "667 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 667
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v1.0.0",
              "releases_from_tags": false,
              "days_since_latest_release": 37,
              "mean_days_between_releases": 3.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 37 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 37
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~3.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 3.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 11,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 11 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 40,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 1,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "at_risk",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "packages": [
                "godaddy/asherah",
                "github.com/godaddy/asherah-ffi/asherah-go",
                "asherah",
                "asherah-ffi"
              ],
              "dependents": 0,
              "ecosystems": "crates, go, packagist",
              "total_downloads": 2361,
              "monthly_downloads": 775
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "775 downloads/month across crates, go, packagist",
                "points": 38.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 775,
                      "ecosystems": "crates, go, packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "0 packages depend on it",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 63,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 23,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 5,
              "top_contributor_share": 0.808
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 81% of commits",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 81
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "5 contributors",
                "points": 6.8,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 310,
              "open_issues": 1,
              "closed_issues": 4,
              "issue_closed_ratio": 0.8,
              "closed_unmerged_prs": 39
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "80% of issues closed",
                "points": 37.4,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 80
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "310/349 decided PRs merged",
                "points": 34,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 310,
                      "decided": 349
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 6/22 approved changesets -- score normalized to 2",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "followers": 228,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "godaddy",
              "public_repos": 215,
              "account_age_days": 5287
            },
            "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": "228 followers of godaddy",
                "points": 17,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 228,
                      "login": "godaddy"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "215 public repos, account ~14 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 215
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "godaddy/asherah",
                "github.com/godaddy/asherah-ffi/asherah-go",
                "asherah",
                "asherah-ffi"
              ],
              "ecosystems": "crates, go, packagist",
              "any_deprecated": false,
              "min_days_since_publish": 37
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "4 package(s) on crates, go, packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 4,
                      "ecosystems": "crates, go, packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 37 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 37
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "19 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 96,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "19 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".php-cs-fixer.php, .rubocop.yml, phpstan.neon",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.php, .rubocop.yml, phpstan.neon"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "cryptography",
                "dotnet",
                "encryption",
                "envelope-encryption",
                "ffi",
                "go",
                "java",
                "key-rotation",
                "nodejs",
                "python",
                "ruby",
                "rust",
                "security"
              ],
              "has_wiki": false,
              "homepage": "https://github.com/godaddy/asherah-ffi",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://github.com/godaddy/asherah-ffi",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "13 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 62,
        "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, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 14,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 4,
              "scorecard_aggregate": 6
            },
            "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": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 6/22 approved changesets -- score normalized to 2",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "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": "update tool detected",
                "points": 7.5,
                "status": "met",
                "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": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 708 resolved dependencies against OSV; 76 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 708
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 76
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "source": "osv",
              "advisories": 90,
              "affected_packages": 23,
              "assessed_packages": 708,
              "unassessed_packages": 76,
              "affected_by_severity": "critical 3, high 4, moderate 5, unknown 11",
              "direct_affected_packages": 4
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "4 affected: openssl 0.10.78 (high 7.5), anyhow 1.0.102 (unknown), scc 2.4.0 (unknown), +1 more",
                "points": 11.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 4,
                      "packages": "openssl 0.10.78 (high 7.5), anyhow 1.0.102 (unknown), scc 2.4.0 (unknown)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 708,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 6
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "excellent",
        "name": "AI Readiness",
        "value": 90,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.964,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 10921
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "81 of 84 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 81,
                      "sampled": 84
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "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": 94,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock",
                "go.sum",
                "package-lock.json",
                "packages.lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "asherah-py/asherah/py.typed"
              ],
              "agent_commit_share": 0.08,
              "toolchain_manifests": [
                "Cargo.toml",
                "asherah-cobhan/Cargo.toml",
                "asherah-cobhan/interop/go.mod",
                "asherah-config/Cargo.toml",
                "asherah-dotnet/src/GoDaddy.Asherah.Encryption.Compat/GoDaddy.Asherah.Encryption.Compat.csproj",
                "asherah-dotnet/src/GoDaddy.Asherah.Encryption/GoDaddy.Asherah.Encryption.csproj",
                "asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Compat.Tests/GoDaddy.Asherah.Encryption.Compat.Tests.csproj",
                "asherah-dotnet/tests/GoDaddy.Asherah.Encryption.Tests/GoDaddy.Asherah.Encryption.Tests.csproj",
                "asherah-ffi/Cargo.toml",
                "asherah-go/go.mod",
                "asherah-java/Cargo.toml",
                "asherah-java/java/pom.xml",
                "asherah-node/Cargo.toml",
                "asherah-py/Cargo.toml",
                "asherah-server/Cargo.toml",
                "asherah/Cargo.toml",
                "benchmarks/asherah-bench/Cargo.toml",
                "benchmarks/dotnet-bench-canonical/dotnet-bench-canonical.csproj",
                "benchmarks/dotnet-bench-newmetastore/dotnet-bench-newmetastore.csproj",
                "benchmarks/dotnet-bench/dotnet-bench.csproj",
                "benchmarks/go-bench/go.mod",
                "benchmarks/go-wrapper/go.mod",
                "benchmarks/grpc-bench/go.mod",
                "benchmarks/java-bench-canonical/pom.xml",
                "benchmarks/java-bench/pom.xml",
                "benchmarks/native-bench/go-bench/go.mod",
                "benchmarks/native-bench/rust-bench/Cargo.toml",
                "fuzz/Cargo.toml",
                "interop-grpc/client/Cargo.toml",
                "interop/canonical-csharp/CanonicalCsharpProbe.csproj",
                "interop/canonical-go/go.mod",
                "interop/canonical-java/pom.xml",
                "samples/dotnet/Sample.csproj",
                "samples/go/go.mod",
                "samples/rust/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0.16
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Cargo.toml, asherah-cobhan/Cargo.toml, asherah-cobhan/interop/go.mod (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Cargo.toml, asherah-cobhan/Cargo.toml, asherah-cobhan/interop/go.mod"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".php-cs-fixer.php, .rubocop.yml, phpstan.neon",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.php, .rubocop.yml, phpstan.neon"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "asherah-py/asherah/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "asherah-py/asherah/py.typed"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "8 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "16 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 16,
                      "sampled": 100
                    }
                  }
                ],
                "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
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 198446,
              "source_files_sampled": 352,
              "oversized_source_files": 4
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "4/352 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 352,
                      "oversized": 4
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "examples",
                "samples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "asherah-server/proto/appencryption.proto",
                "interop-grpc/client/proto/appencryption.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "asherah-server/proto/appencryption.proto, interop-grpc/client/proto/appencryption.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "asherah-server/proto/appencryption.proto, interop-grpc/client/proto/appencryption.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples, samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples, samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Could not fetch crates package 'asherah-workspace' from its registry",
    "Could not fetch crates package 'asherah-py' from its registry",
    "Could not fetch crates package 'asherah-java' from its registry",
    "Could not fetch crates package 'asherah-node' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T11:25:20.892180Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/godaddy/asherah-ffi.svg",
  "full_name": "godaddy/asherah-ffi",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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