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

oroinc / OroCalendarBundle

OroPlatform package, enables system and user calendars management.

PHPMIT★ 9 зірок⑂ 9 форківз лист. 2016 р.Переглянути на GitHub ↗

oroinc/OroCalendarBundle має індекс здоров’я 49 зі 100, що відповідає смузі «У зоні ризику». Найвищий показник — Sustainability & Governance (72/100), найнижчий — Engineering Quality (34/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконують 6 учасників.

49
загалом / 100
У зоні ризику

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

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

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

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

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

Власність

Oro, Inc.Організація
121 підписник104 публічні репозиторіїз квіт. 2013 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
Packagistoro/calendar-bundle7.0.37 94417548 днів томуcalendarorooroplatformorocrm

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

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

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

52Помірний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
9/36Ритм комітів — 13/52 тижнів із комітами
11.5/18Обсяг комітів — 18 комітів за останній рік
2/10OpenSSF Scorecard: Maintained — 3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2
Використані вхідні дані
commits_last_year18
human_commit_share1
days_since_last_push0
active_weeks_last_year13

Дисципліна релізів

44У зоні ризику
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 1 релізів
0/36Свіжість релізів — останній реліз 3 057 дн. тому
12.6/27Ритм релізів — ритм невідомий (єдиний реліз)
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count1
latest_release_tag2.6.2
releases_from_tagsні
days_since_latest_release3 057
mean_days_between_releases
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

44У зоні ризику · 18% загального індексу
Як обчислюється оцінка
14.6/60Зірки — 9 зірок
7.5/25Форки — 9 форків
8.8/15Спостерігачі — 40 спостерігачів
Використані вхідні дані
forks9
stars9
watchers40
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
0/18Настанови CONTRIBUTING
0/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ні
Як обчислюється оцінка
52/80Щомісячні завантаження — 7 944 завантажень/місяць у packagist
6/20Залежні пакети в реєстрі — залежних пакетів: 7
Використані вхідні дані
packagesoro/calendar-bundle
dependents7
ecosystemspackagist
total_downloads365 758
monthly_downloads7 944

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

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

72Добрий · 24% загального індексу
Як обчислюється оцінка
48.6/54Бас-фактор — на 6 контриб’ютор(ів) припадає половина всіх комітів
19.5/22.5Розподіл комітів — головний контриб’ютор — автор 13% комітів
13.5/13.5Широта контриб’юторів — 68 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Використані вхідні дані
bus_factor6
contributors_sampled68
top_contributor_share0,132
Як обчислюється оцінка
17.5/46.8Вирішення issue — закрито 38% issue
0/38.3Прийняття PR — немає вирішених pull request-ів або даних
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs0
open_issues5
closed_issues3
issue_closed_ratio0,375
closed_unmerged_prs0
Виключено з оцінювання (немає даних або не застосовно): Прийняття PR. Залишкові ваги перенормовано.
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
15/25Охоплення власника — 121 підписників у oroinc
25/25Послужний список — 104 публічних репозиторіїв, вік облікового запису ~13 р.
Використані вхідні дані
followers121
owner_typeOrganization
is_verified
owner_loginoroinc
public_repos104
account_age_days4 851

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

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у packagist
35/35Свіжість публікацій — остання публікація 48 дн. тому
20/20Історія версій — 175 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesoro/calendar-bundle
ecosystemspackagist
any_deprecatedні
min_days_since_publish48

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

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

34У зоні ризику · 20% загального індексу

Інженерні практики

30У зоні ризику
Як обчислюється оцінка
0/24Процеси CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciні
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

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

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

Безпека

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

36У зоні ризику · 16% загального індексу

Стан безпеки

36У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
0/2.5CI-Tests — немає даних
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 5 contributing companies or organizations
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
1.5/7.5Maintained — 3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated11
scorecard_versionv5.5.0
checks_inconclusive7
scorecard_aggregate3,6
Виключено з оцінювання (немає даних або не застосовно): branch_protection, ci_tests, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Залишкові ваги перенормовано.

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

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

35У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
39.5/40Читабельна історія комітів — намір зазначено у 74 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,74
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
0/10Відтворюване середовище
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfiles
has_dockerfileні
typed_languageні
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.
Як обчислюється оцінка
0/45Типізований код — PHP без конфігурації перевірки типів
54.5/55Керовані розміри файлів — 3/363 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePHP
largest_source_bytes193 804
source_files_sampled363
oversized_source_files3

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

9зірок GitHub
68контриб'юторів
18комітів за останні 12 місяців
0днів від останнього пушу
1релізів
6бас-фактор
5відкритих issue
Packagistпакетних екосистем

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

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • No resolved dependencies carried a version and a supported ecosystem

Докладніше

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

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

0246810912017-012020-092024-06
Мажорні 0Мінорні 0Патчі 1

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

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

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

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
н/дCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 5 contributing companies or organizations
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
2Maintained3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Прямі залежності 1
РеєстрПакетОбмеження версіїМаніфест
Packagistoro/platform7.1.*composer.json
Усі залежності 1

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

РеєстрПакетВерсіяЗв'язок
Packagistoro/platformпряма
Сповіщення про залежності не оцінено

Звірка сповіщень не відбулася для цього звіту: No resolved dependencies carried a version and a supported ecosystem

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 3572,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "PHP": 2100796,
        "HTML": 20656,
        "SCSS": 49528,
        "Twig": 142726,
        "Gherkin": 35445,
        "JavaScript": 193735
      },
      "pushed_at": "2026-07-28T21:03:21Z",
      "created_at": "2016-11-01T17:33:13Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-28T21:03:53Z",
      "description": "OroPlatform package, enables system and user calendars management.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP"
      ]
    },
    "owner": {
      "blog": "https://www.oroinc.com/",
      "name": "Oro, Inc.",
      "type": "Organization",
      "login": "oroinc",
      "company": null,
      "location": "Los Angeles",
      "followers": 121,
      "avatar_url": "https://avatars.githubusercontent.com/u/4165718?v=4",
      "created_at": "2013-04-15T23:39:58Z",
      "is_verified": null,
      "public_repos": 104,
      "account_age_days": 4851
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "2.6.2",
          "kind": "patch",
          "published_at": "2018-03-15T19:42:13Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "8948e0d8923558fb9fb663f26437265cc27606ad",
          "body": "- Bump version to 7.1\n- Remove orocrm-magento1-connector for crm-demo\n- Change Magento demo data with general\n- Drop dead Magento package exclusions from the static analysis runners\n  (.jenkins/php_code_style_standalone.sh, docker-build/scripts/test_phpcs.sh,\n  test_phpmd.sh, test_php-cs-fixer.sh): \n[…]\ntes.php and preprocess-annotations.php.\n- Align ai-smart-agent branch-alias with the other packages: 7.1.x-dev => 7.1-dev.\n- Remove unused getReportReference() from the B2C demo data EntityReferences.",
          "is_bot": false,
          "headline": "BB-27086: Set application version in master to 7.1 (#46136)",
          "author_name": "Victor Tihonchuk",
          "author_login": "advocat",
          "committed_at": "2026-07-28T16:33:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "68f7582a4ff850f50b755c5b8a0211291e158f41",
          "body": "…ity fields and system configuration data (#45345)\n\n* BB-27357: Disallow access to entity fields not marked as available_in_template=true (#45192)\n\n- Implemented the CustomerUserEmailTemplateVariablesProvider to expose the fullName virtual field in email templates.\n- Simplified logic for security po\n[…]\n- updated migrations with immutable=true for consistency with attributes\n\n---------\n\nCo-authored-by: Yefim Yevtushenko <yyevtushenko@oroinc.com>\nCo-authored-by: Julia Khrysieva <ikhrysieva@oroinc.com>",
          "is_bot": false,
          "headline": "BB-27247: Email template management allows overly broad access to ent…",
          "author_name": "vsheverov",
          "author_login": "vsheverov",
          "committed_at": "2026-06-22T10:22:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ec0080e80a10e0af512099f56ffc14e76b5452f9",
          "body": "…orrectly (#45071)",
          "is_bot": false,
          "headline": "BAP-22814: Title of calendar event edit dialog window is rendered inc…",
          "author_name": "Yevhenii Zhadan",
          "author_login": "yevhenii101991",
          "committed_at": "2026-05-05T19:43:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70de2545c72cbce9d1d3807a1011f83b506a68cd",
          "body": null,
          "is_bot": false,
          "headline": "BAP-23360: Remove redundant comments in entity classes (#44948)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2026-04-20T21:58:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12578d6546773a58b82a3ab4356fcb9dd643c44e",
          "body": null,
          "is_bot": false,
          "headline": "BAP-23310: Refactor service locators for TWIG extensions (#44128)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2026-02-22T02:00:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d82156b8f49a7dd7fba81a3b86c5514f9a0c20b1",
          "body": null,
          "is_bot": false,
          "headline": "BB-25349: Set application version in master to 7.0 (#43720)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2026-01-15T07:48:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0010eeb7cc65e985ad27dbb41f3becd3306c0eca",
          "body": "- Added missing class PHPDoc comments",
          "is_bot": false,
          "headline": "BAP-23252: Upgrade PHP_CodeSniffer and PHP CS Fixer",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2026-01-11T23:50:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4b735777b9d6b3c1e706bd206ea1361e6891772",
          "body": "- Misc PSR-2 and PSR-12 code style fixes:\n  - PSR12.Traits.UseDeclaration\n  - Squiz.Functions.FunctionDeclarationArgumentSpacing\n  - PSR12.Operators.OperatorSpacing\n  - PSR2.Classes.PropertyDeclaration\n  - PSR12.Operators.OperatorSpacing\n  - PSR12.Classes.AnonClassDeclaration\n  - duplicated namespace\n  - multiline control structures\n  - ignore valid deprecation comments",
          "is_bot": false,
          "headline": "BAP-23252: Upgrade PHP_CodeSniffer and PHP CS Fixer",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2026-01-11T23:50:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c0003a2ce2185d631adbfe35f875eafcb93f6fc",
          "body": "- fixed target_type for the poNumber field of Quote entity\n- added package-level ORM indexer tests for all searchable entities and fields\n- renamed \"customer\" to \"customerAssociation\" in search config for Opportunity (probably remnants from older versions that were later changed)\n- removed \"dataChan\n[…]\n Brand\n- ContentWidget has no \"template\" field anymore (it was replaced with \"layout\" a long time ago, but it probably doesn't need to be searchable anyway)\n- Page has no defaultSlug field or accessor",
          "is_bot": false,
          "headline": "BB-26552: Quote PO Number field has wrong search configuration (#43336)",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2026-01-09T23:37:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b8b2ab5240125ef5b1c4524fdf92dc73fb2cded4",
          "body": "…irement to 8.5 (#42767)\n\n- Upgrade Symfony to 7.4\n- Upgrade Doctrine ORM to 2.20.9 and DBAL to 3.10.4\n- Update Monolog to 3.9, Twig to 3.21, MongoDB to 2.1.2\n- Upgrade Gedmo doctrine-extensions to v3.21\n- Update PHP requirement to 8.5, Node.js to 24\n\n---------\nCo-authored-by: OleksandrProtsiuk <oprotsiuk@oroinc.com>\nCo-authored-by: Vitalii Yeromenko <vyeromenko@oroinc.com>\nCo-authored-by: Vadim Malesh <vmalesh@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-23109: Upgrade Symfony to 7.4, Doctrine DBAL to 3.10 and PHP requ…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2026-01-09T17:33:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df12bd7d4f19dd67a92a5a46f8fc42b969131cfc",
          "body": "* BB-25858: Improve Google INP metrics\n- Added Scheduler\n- Split big task to few small tasks\n- Add async init of InputWidgets\n- Add scheduler for Application\n- Optimize Style Recalculation\n- Avoid Force Reflow\n- Swap $.Deffered to vanilla Promise for Component Manager\n- Integrate Scheduler in to Component Manager\n- Fix tests",
          "is_bot": false,
          "headline": "BB-25858: Improve Google INP metrics (#42687)",
          "author_name": "Alex Yegerev",
          "author_login": "lexxcode",
          "committed_at": "2026-01-05T14:36:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fabdb8340ddf7922d3aac6c91adcdd25e9a613b",
          "body": "- removed old workarounds in package/platform/build/.php-cs-fixer.php\n- php bin/php-cs-fixer fix ../../package/ --config=../../package/platform/build/.php-cs-fixer.php",
          "is_bot": false,
          "headline": "BAP-21019: Switch to PSR-12 coding standard (#43608)",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2026-01-04T01:58:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b46b9b99c3c561dce3ac30216cc43a30f9a51e15",
          "body": "- upgraded to \"squizlabs/php_codesniffer\": \"~4.0.1\"\n- updated to the new phpcs annotation syntax\n- updated phpcs project ruleset and Oro standard\n- upgraded to \"friendsofphp/php-cs-fixer\": \"~3.92.3\"\n- updated php_code_style_standalone.sh\n- applied php-cs-fixer to existing code",
          "is_bot": false,
          "headline": "BAP-23252: Upgrade PHP_CodeSniffer and PHP CS Fixer",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2026-01-03T23:37:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "004ad79f6ec67a7d3f5c9f254845eea57ee30156",
          "body": "…nization business unit (#43090)",
          "is_bot": false,
          "headline": "BAP-12161: Confusing messaging for users log in without assigned orga…",
          "author_name": "Eugene Zibrov",
          "author_login": "eugene-zibrov",
          "committed_at": "2025-12-12T13:26:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8676685ed423413e2ddd15208677e86ceb6a2614",
          "body": "* BB-26268: Convert for TranslationBundle, ThemeBundle, TestFrameworkBundle, TagBundle, SyncBundle\n\n* BB-26277: Convert for LocaleBundle\n\n* BB-26283: Convert for UIBundle",
          "is_bot": false,
          "headline": "BB-26283: Convert for UIBundle (#42744)",
          "author_name": "Alex Yegerev",
          "author_login": "lexxcode",
          "committed_at": "2025-11-27T09:16:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9779a2506aa76c45c49cbe6f1f7a50f7d288b35c",
          "body": "* BB-26294: Convert for calendar",
          "is_bot": false,
          "headline": "BB-26294: Convert for calendar (#42757)",
          "author_name": "Alex Yegerev",
          "author_login": "lexxcode",
          "committed_at": "2025-10-28T13:01:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7192c93ec77ec3c6d28b12a9d9b491d022e8ef95",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22920: Remove sensio/framework-extra-bundle dependency (#42187)",
          "author_name": "Oleksandr Protsiuk",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2025-09-16T07:30:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b18a345181ea512398ffbc3b43c1c64cfeaa76ae",
          "body": "* BB-25774: Invoice PDF Attach to Email (#41910)\n\n* BB-25774: Add attachments field to the email template edit page (#41817)\n\n* BB-25831: Add the ability to add attachments to EmailTemplate entity\n- added EmailTemplateAttachmentModel\n- added EmailTemplateAttachment\n- added EmailTemplate::$attachment\n[…]\ner to extend invoice details with commerce-related data\n\n---------\n\nCo-authored-by: Valerii Yustyniuk <ValeriyYustunyk@users.noreply.github.com>\nCo-authored-by: Julia Khrysieva <ikhrysieva@oroinc.com>",
          "is_bot": false,
          "headline": "BB-24102: Invoices - Part 4 (#42345)",
          "author_name": "Yefim Yevtushenko",
          "author_login": "webevt",
          "committed_at": "2025-09-02T19:13:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "54782c75b47a0062c06bf329547cb36de0384d4e",
          "body": null,
          "is_bot": false,
          "headline": "BB-25942: Missing email address validation in guest checkout (#42091)",
          "author_name": "Eugene Zibrov",
          "author_login": "eugene-zibrov",
          "committed_at": "2025-08-06T10:57:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88d9906a3bbba4e05067d33a58d2cd457ddc0930",
          "body": "- Updated namespaces to use routing attributes\n- Updated routing configs to fix annotations services deprication notices\n- Disabled annotations cache\n- Updated app`s configs to use attributes for validations to fix annotations services deprecation notices\n- Updated console commands to fix \"$defaultN\n[…]\n deprecated constraints with recommended\n- Removed deprecated method setDoctrineAnnotationReader calls\n- Upgrade toolkit dependencies updated\n- Updated rector rules/rulesets\n- Added new YmlFixer rules",
          "is_bot": false,
          "headline": "BAP-23106: Get rid of Symfony 7 deprecations. Part 1 (#42062)",
          "author_name": "Oleksandr Protsiuk",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2025-07-25T14:48:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3c9eee422528b0ef1aa6eb1126ab818dd50c3616",
          "body": "…(#42044)",
          "is_bot": false,
          "headline": "BAP-23102: Update code styles for unit tests in CRM related packages …",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2025-07-16T06:05:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbd33519529985ae8bf87d0426b49115835a6793",
          "body": null,
          "is_bot": false,
          "headline": "BAP-23101: Update code styles in \"platform\" package unit tests (#42014)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2025-07-14T10:56:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45d5f7809577272ef5b96fb6affd3cb19cf220d8",
          "body": "* BB-25806: Check and update backoffice style according design",
          "is_bot": false,
          "headline": "BB-25806: Check and update backoffice style according design (#41838)",
          "author_name": "Alex Yegerev",
          "author_login": "lexxcode",
          "committed_at": "2025-07-01T13:55:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ced48ccabf9b7c7e27a20068f9523d5bdd34f683",
          "body": null,
          "is_bot": false,
          "headline": "BB-24518: CSS validation build (#41475)",
          "author_name": "Valerii Yustyniuk",
          "author_login": "ValeriyYustunyk",
          "committed_at": "2025-05-28T12:31:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e85bb92cb5b005fa291ccd8813886905f28a83ef",
          "body": "…GELOG-.md files  (#41267)",
          "is_bot": false,
          "headline": "BB-25341: Release preparation activities - Generate UPGRADE-.md, CHAN…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2025-04-24T14:46:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e72450ffbe40125c05d03bc553d3a8f64daa56a",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22995: Disable DB prepares emulation (#40909)",
          "author_name": "Dmitry Khrysev",
          "author_login": "x86demon",
          "committed_at": "2025-04-18T13:16:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "936b1e2f3732d72a2be9da604857fc28576e4c93",
          "body": "…1078)",
          "is_bot": false,
          "headline": "BB-25242: It impossible to save edited calendar event in DEV mode (#4…",
          "author_name": "Eugene Zibrov",
          "author_login": "eugene-zibrov",
          "committed_at": "2025-04-16T14:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ba287432e802480c39c445f9ee9f07b26c890c2",
          "body": "* BB-25311: Investigate (#40620)\n\n* BB-25311: Investigate\n- Update color palette\n- update colors.scss\n- add main container background color\n- update scrollspy.scss styles\n- update datagrid styles\n- update filters chips styles\n- update and add new buttons\n- add new font family\n- update common styles\n\n[…]\nored-by: Alex Yegerev <1755578+lexxcode@users.noreply.github.com>\nCo-authored-by: Valerii Yustyniuk <vyustyniuk@oroinc.com>\nCo-authored-by: Valerii Yustyniuk <ValeriyYustunyk@users.noreply.github.com>",
          "is_bot": false,
          "headline": "BB-25310: Gold Theme for Back-Office (#40682)",
          "author_name": "Viacheslav Chekanovskiy",
          "author_login": "zgeist",
          "committed_at": "2025-03-18T17:04:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "38a3ffc85d318c7722da1a44f6394e870d303608",
          "body": "…face in \"platform\" package (#40751)",
          "is_bot": false,
          "headline": "BAP-22968: Replace Doctrine\\ORM\\EntityManager with EntityManagerInter…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2025-03-15T11:04:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb310c1698fa11f98227813e9b1fe68f330bcfda",
          "body": "…s (#40551)\n\n* BB-25262 Build to 6.0 failing because of old classes with PSR-4 errors\n- updated dev.json files to proper Tests folder exclusion rule\n- updated composer.json files to proper Tests folder exclusion rule\n- appended composer.json\n\n* Updated dev.locks\n| Production Changes        | From   \n[…]\nser     | 2.0.0    | 2.1.0    | [...](https://github.com/phpstan/phpdoc-parser/compare/2.0.0...2.1.0)                           |\n\n---------\n\nCo-authored-by: orocrmdeployer <orocrmdeployer@oroinc.com>",
          "is_bot": false,
          "headline": "BB-25262 Build to 6.0 failing because of old classes with PSR-4 error…",
          "author_name": "Vitalii Yeromenko",
          "author_login": "vetal-e",
          "committed_at": "2025-02-20T13:00:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7ac2530cb17c4cfbd6fb1a390940fb05ca44e5c0",
          "body": null,
          "is_bot": false,
          "headline": "BAP-20198: Remove WSSE authentication (#40279)",
          "author_name": "Yurii Muratov",
          "author_login": "yurio",
          "committed_at": "2025-02-07T15:26:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b43311caf0806191a8d9ed54f8652c66e201228f",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22921: Fix code styles for method parameters (#40353)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2025-02-01T13:19:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9222076815132108dbab93b74ca83c981b292588",
          "body": "…0343)",
          "is_bot": false,
          "headline": "BAP-22912: Fix PHP 8.4 deprecation messages - fix Static Analysis (#4…",
          "author_name": "ikhrysieva",
          "author_login": "ikhrysieva",
          "committed_at": "2025-01-31T16:40:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78449ca8feece0e42b81e9392fa7cd6e2181f6a1",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22912: Fix PHP 8.4 deprecation messages",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2025-01-31T01:37:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2596fcd64ea2e883a051ff90790617c106a2c0a0",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22912: Fix PHP 8.4 deprecation messages",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2025-01-30T04:48:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eabd72f3d99a64cc5c803e1b7e55f1b918d8b10c",
          "body": "…2 (#40223)\n\n- Updated PHP to 8.4, NodeJS to 22, and some composer dependencies to support the new version of PHP.\n- Suppressed deprecations as there are too many of them in third-party dependencies\n- Fixed some tests after dependency updates\n- Skipped unstable tests related to content purifying\n- T\n[…]\nh the existing WAF rules\n- Used new docker images\n---------\n\nCo-authored-by: Viacheslav Dubrovskyi <vdubrovskyi@oroinc.com>\nCo-authored-by: Valerii Yustyniuk <ValeriyYustunyk@users.noreply.github.com>",
          "is_bot": false,
          "headline": "BAP-22905: Set minimum required version of PHP to 8.4 and NodeJS to 2…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2025-01-27T21:33:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "64f349130cdc374d005e642c0e3a9a2bb9a935fe",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22833: Remove usage of UserUtilityTrait in functional tests (#39769)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2024-11-15T06:50:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a170862ffe55e818c6705c0d5f37cff5fff4ebe3",
          "body": "* BB-24783: Update license files\r\n- updated copyright year, domains, license texts and references in applications and packages\r\n\r\n* Updated dev.locks\r\n\r\n| Production Changes                | From     | To       | Compare                                                                                \n[…]\n(https://github.com/schmittjoh/serializer/compare/3.31.0...3.31.1) |\r\n\r\n---------\r\n\r\nCo-authored-by: orocrmdeployer <orocrmdeployer@oroinc.com>\r\nCo-authored-by: Julia Khrysieva <ikhrysieva@oroinc.com>",
          "is_bot": false,
          "headline": "BB-24783: Update license files (#39644)",
          "author_name": "Michael Bessolov",
          "author_login": "mbessolov",
          "committed_at": "2024-11-05T10:48:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0249850edc1286d8482c1a3b8aecf593a55612f3",
          "body": "…#39344)\n\n- Updated php-cs-fixer config\r\n- Applied new cs rules\r\n- Deleted annotations like \"{@inheritDoc}\"\r\n- Rector AddOverrideAttributeToOverriddenMethodsRector rule applied\r\n- Updated documentation",
          "is_bot": false,
          "headline": "BAP-22772: Use override attribute instead of inheritdoc annotations (…",
          "author_name": "Oleksandr Protsiuk",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-09-24T12:20:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b94419d81348538de224de154f00d50bafb03a5c",
          "body": "…eld type (#36373)\n\nUpdating the ORO Enum implementation is caused by:\r\n- Read-only permissions for web server user on entity extend files in the system cache.\r\n- Updates of enums in entities from the UI do not require cache updates in the entity management.\r\n- Need to avoid code generation.\r\n- Redu\n[…]\nmber of database requests in cases where the object uses join queries with a large number of lists.\r\n\r\nSee more details at: https://github.com/oroinc/platform/blob/master/CHANGELOG.md#oro-enum-changes",
          "is_bot": false,
          "headline": "BAP-22220: Migration Enums from the \"table-column\" to \"serialized\" fi…",
          "author_name": "timofiyprisyazhnyuk",
          "author_login": "timofiyprisyazhnyuk",
          "committed_at": "2024-09-20T12:44:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f24c056f32c367c2e995d387b2cca045da49b7ba",
          "body": "* BAP-22587: Upgrade jQuery to the latest stable version\r\n\r\nCo-authored-by: orocrmdeployer <orocrmdeployer@oroinc.com>\r\nCo-authored-by: Yefim Yevtushenko <yyevtushenko@oroinc.com>\r\nCo-authored-by: Vadym Balan <144042893+vadymbalanoroinc@users.noreply.github.com>\r\nCo-authored-by: Alex Yegerev <1755578+lexxcode@users.noreply.github.com>",
          "is_bot": false,
          "headline": "BAP-22607: Upgrade jQuery to the 3.7.1 version (#38398)",
          "author_name": "Valerii Yustyniuk",
          "author_login": "ValeriyYustunyk",
          "committed_at": "2024-08-02T13:39:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bc7e2327771cd2d5788e88428e5f4dc7c3fbdb6",
          "body": "…ly classes) (#38494)",
          "is_bot": false,
          "headline": "BAP-22645: Update CS tooling to support new PHP features (e.g. readon…",
          "author_name": "Oleksandr Protsiuk",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-06-04T10:28:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2676eaa7c2bd1e47da6e4d8fccbd859ec2a9f78",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22639: Fix misspelling \"to to\" in Behat tests (#38426)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2024-05-18T02:52:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d5d86f1fd346d32d6f9896d4365cde0a3da1c8b",
          "body": "* tagging for Regular and Regression builds",
          "is_bot": false,
          "headline": "BB-19349: Review behat tests from regular build (#38295)",
          "author_name": "Roman Kukla",
          "author_login": "poman",
          "committed_at": "2024-05-03T15:36:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "193858fa2acd6012b4dec01099a1d03b48cc376e",
          "body": null,
          "is_bot": false,
          "headline": "BB-23821: Updated app version to 6.1 (#37996)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-04-08T12:57:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4441d41029a63629f1087cb1b363f1f56f5955a7",
          "body": "- Deleted not needed link from changelog file.",
          "is_bot": false,
          "headline": "BAP-22542: check_changelogs",
          "author_name": "OleksandrProtsuik",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-04-02T13:50:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b34b47250ecad814288b56366accde4c570157",
          "body": null,
          "is_bot": false,
          "headline": "Merged master into ticket/BAP-22542_check_changelogs.",
          "author_name": "OleksandrProtsuik",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-04-02T12:04:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58ad50ede7acdcd319d1f979573dd5a2590d012d",
          "body": "- Deleted not needed empty line.",
          "is_bot": false,
          "headline": "BAP-22542: check_changelogs",
          "author_name": "OleksandrProtsuik",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-04-02T11:43:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c3bbd596bbf9e5930ecc7c118778adea642d42e",
          "body": "- Moved missed points to the changelog files.",
          "is_bot": false,
          "headline": "BAP-22542: check_changelogs",
          "author_name": "OleksandrProtsuik",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-04-02T11:38:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb6bbeebee1167ba4417b75603f2651a481db950",
          "body": "…NGELOG-*.md files (#37961)",
          "is_bot": false,
          "headline": "BB-23826: Release preparation activities - Generate UPGRADE-*.md, CHA…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-04-02T11:31:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0a8a379592202cfff1bfba54d3a5ad7e0b6d963",
          "body": "- Added missed points to the changelog files.",
          "is_bot": false,
          "headline": "BAP-22542: check_changelogs",
          "author_name": "OleksandrProtsuik",
          "author_login": "OleksandrProtsiuk",
          "committed_at": "2024-04-02T11:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eae2bb77c9178587432b285fcfb1af151fd2f321",
          "body": "* BB-21035: Email Template Inheritance (#37661)\r\n\r\n- added oro_email.email_template_wysiwyg_enabled system configuration option\r\n- made use of AbstractHashEmailMigration for email templates in CheckoutBundle, RFPBundle, SaleBundle, CustomerBundle\r\n- removed redundant old data migrations\r\n- removed r\n[…]\nd EmailContext::getLinkUrlFromEmail to make it work with complex links\r\n- made use of EmailContext::getLinkUrlFromEmail in ::downloadFileFromEmail\r\n- fixed behats failing after email templates updates",
          "is_bot": false,
          "headline": "BB-21035: Email Template Inheritance (#37832)",
          "author_name": "Yefim Yevtushenko",
          "author_login": "webevt",
          "committed_at": "2024-03-27T20:45:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3df26bacfe4888650b9ef9061ff959fe7ff42d5d",
          "body": "…838)",
          "is_bot": false,
          "headline": "BAP-22516: Reorganize API functional tests to speed up CI builds (#37…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2024-03-21T00:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06172cb0e3cf919da77adeb6c9da0fa60d7be7af",
          "body": "…NGELOG-*.md files (#37708)",
          "is_bot": false,
          "headline": "BB-23739: Release preparation activities - Generate UPGRADE-*.md, CHA…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-02-29T14:19:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2211c63fd12d8248c9b9294c2508d789253eaca",
          "body": "- Added AttributeReader. All custom attribute implementations should use this reader instead of third-party readers.\r\n- Added rector rules to convert ORO annotations to attributes.\r\n- Created rule-set to migrate from annotations to attributes.\r\n- Processed all the code with new ORO, Symfony and Doct\n[…]\nntities when possible without the business logic change.\r\n- Added tests.\r\n\r\n---------\r\n\r\nCo-authored-by: Oleksandr Protsiuk <oprotsiuk@oroinc.com>\r\nCo-authored-by: Andrii Baranik <abaranik@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-22386: Use PHP Attributes instead of annotations (#37286)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-02-25T10:12:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cecc4a4f05e0a2c9e4d122f65edfc48f55f197e4",
          "body": "…328)\n\nBAP-22400: Remove some of remaining deprecations after upgrading\r\n- changed list of properties in method\r\n- fixed preg_match_all default values\r\n- removed getListeners without argument\r\n- updated listeners method\r\n- in_array: added default value for all in_array method\r\n- update argument to PropertyAccessor methods\r\n- fixed dynamic property in project\r\n- update code style and property area",
          "is_bot": false,
          "headline": "BAP-22400: Remove some of remaining deprecations after upgrading (#37…",
          "author_name": "yevhenii101991",
          "author_login": "yevhenii101991",
          "committed_at": "2024-02-22T08:40:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f9904e03f9058045df0fee8add5f69201708232",
          "body": "…(#37266)\n\n* CRM-8145: Guests users do not receive calendar event email reminders\r\n\r\n* CRM-8145: Guests users do not receive calendar event email reminders\r\n\r\n* CRM-8145: Guests users do not receive calendar event email reminders\r\n\r\n* CRM-8145: Guests users do not receive calendar event email remind\n[…]\n\r\n* CRM-8145: Guests users do not receive calendar event email reminders\r\n\r\n---------\r\n\r\nCo-authored-by: Dmytro Syrvachov <dsyrvachov@oroinc.com>\r\nCo-authored-by: Dmytro Khrysiev <dkhrysev@oroinc.com>",
          "is_bot": false,
          "headline": "CRM-8145: Guests users do not receive calendar event email reminders …",
          "author_name": "Dmytro Syrvachov",
          "author_login": "dsyrvachov",
          "committed_at": "2024-01-16T13:38:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b7523b3ff3c17e9e27153b54feacc33719833a00",
          "body": "- added incompatibilities-6-0-beta.md and updated CHANGELOG.md in all the changed packages",
          "is_bot": false,
          "headline": "BB-22921: 6.0.0 BETA (#37299)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-01-08T13:57:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8ce434863f78fd5e96c09da8b02032c4546c18e",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22396: Refactor data fixtures that use entity names (#37294)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2024-01-07T21:25:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7255ad971b86ef120cc727e6b4cfe85140cb50e",
          "body": "…organization (#37293)",
          "is_bot": false,
          "headline": "BAP-22395: Refactor functional tests fixtures that depend on default …",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2024-01-07T12:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e891ae532e91a5e7da12af72ba267e9387823460",
          "body": "- Migrated to Authenticator-based Security\r\n    - Refactored all the authenticators to use new security architecture\r\n    - Disabled all the custom authenticators\r\n    - Refactoring + UserInterface replaced by AbstractUser\r\n    - Added PULIC_ACCESS to open routes and added oro_security.access_contro\n[…]\nroinc.com>\r\nCo-authored-by: Zsombor Boldizsar-Zeik <zsombor.boldizsar.zeik@oroinc.com>\r\nCo-authored-by: Maksym Maksymenko <mmaksymenko@oroinc.com>\r\nCo-authored-by: Yevhenii Zhadan <yzhadan@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-22237: Upgrade to Symfony 6.4 (#37219)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2024-01-07T10:00:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "399bf0ccfee4c760fb98f4ba739f3e169de96651",
          "body": "…s (#37259)\n\n- add Oro\\Bundle\\EntityExtendBundle\\Migration\\Query\\InsertEnumValuesQuery\r\n- add Oro\\Bundle\\EntityExtendBundle\\Migration\\ExtendOptionsManagerAwareInterface and Oro\\Bundle\\EntityExtendBundle\\Migration\\ExtendOptionsManagerAwareTrait\r\n- remove public static methods from some migrations\r\n- refactor some installers",
          "is_bot": false,
          "headline": "BAP-22380: Create a migration query to simplify loading of enum value…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-12-31T16:11:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b30fb6aa083684982d60716601b87789d5983f5",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22377: Create traits to inject extensions into migrations (#37249)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-12-29T09:35:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64014b27ca503e661592a178ae864048e3386387",
          "body": "… (#36788)",
          "is_bot": false,
          "headline": "BAP-22298: Reduce the number of services initialized during API calls…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-10-31T21:16:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d70262045669c9899bf8d7e18d7783ed35a148b",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22238: Use Symfony 6 return and param types  (#36400)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-09-13T13:43:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ee2fb91eece3283ea5d79413fc0c6576e16da26",
          "body": "- switched oro/ packages to 6.0.* version",
          "is_bot": false,
          "headline": "BB-22921: 6.0.0 BETA (#36401)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-09-12T10:20:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b137b525f6988c3ffa7a7b162639bbc4cd7a4f5",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22238: Use Symfony 6 return types (#36389)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-09-11T18:55:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41d85ece93f1b1d6e9a28a91efbbafdd5847e840",
          "body": "- fixed mismatching types\r\n- removed redundant phpdoc blocks",
          "is_bot": false,
          "headline": "BAP-22158: Remove redundant and fix mismatching docblocks (#36024)",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-07-12T06:58:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30ddca8ff96d30c51cb42bb07b97b5c2fb9f26ad",
          "body": "…atform package (#36015)",
          "is_bot": false,
          "headline": "Replace EntityManager to EntityManagerInterface in some classes in pl…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-07-08T15:06:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74f36a37cbb17b01d07249a925a9d293c0256dc8",
          "body": "Reviewed the skip behat tests. Some of the tests have been fixed and returned to work. Some of the irrelevant tests have been removed.",
          "is_bot": false,
          "headline": "BAP-22049: Review and fix skip behat tests  (#35832)",
          "author_name": "ikhrysieva",
          "author_login": "ikhrysieva",
          "committed_at": "2023-07-07T10:16:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0034997349ae9087019a96f41f04d0c7e2ba5d20",
          "body": "- added trait generation with virtual properties and methods docblocks to use as a @mixin on an entity to enable an autocomplete",
          "is_bot": false,
          "headline": "BAP-21949: Autocomplete for Extend entity fields and methods (#35156)",
          "author_name": "timofiyprisyazhnyuk",
          "author_login": "timofiyprisyazhnyuk",
          "committed_at": "2023-07-07T07:57:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f90107e1584f200bb3607190dda90ed7a6943f65",
          "body": "- Fixed parseBackendErrors function\r\n- updated Form type subscriber to remove `updatedAt` data before submit\r\n- added/updated tests",
          "is_bot": false,
          "headline": "BAP-21847: Cannot use 'in' operator to search for 'errors' (#35015)",
          "author_name": "Alex Yegerev",
          "author_login": "lexxcode",
          "committed_at": "2023-06-30T15:51:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9fd9434497c290b4e8e9fda96aa8e16bdda15ee",
          "body": "- fix entity name providers\r\n- disable \"title\" meta property for some API resources\r\n- functional tests for all entities that need enttity name provider",
          "is_bot": false,
          "headline": "BAP-22120: Investigate and fix entity name providers (#35886)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-06-19T19:12:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ead01a952470690e9d6c10c4c7c315faf3cc49a",
          "body": "… visibility requirement (#35870)\n\n- used PSR-12 except required visibility for constants\r\n- updated php-cs-fixer config\r\n- added doc block comments for changed classes\r\n- updated php-semver-checker",
          "is_bot": false,
          "headline": "BAP-21019: Switch to PSR-12 coding standard except explicit constants…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-06-19T08:14:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b43a0d2efc324ac8201dcd66c5a0eec85ecfc34f",
          "body": "- removed google-hangout package\r\n- added migration to drop field, cleanup translations and configs\r\n- updated composer locks\r\n- updated docs",
          "is_bot": false,
          "headline": "CRM-9407: Remove deprecated `oro/crm-hangouts-call-bundle` (#35441)",
          "author_name": "Hryhorii Hrebiniuk",
          "author_login": "Grygir",
          "committed_at": "2023-06-08T17:00:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eafaa909daf003541fc66b34d5b37105bb887d10",
          "body": "… (#35775)",
          "is_bot": false,
          "headline": "BAP-22090: Move old REST API functional tests to Controller namespace…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-06-05T21:26:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee2d8cf7d7bce2b83db2ed8864a3e0f88a6aa6a5",
          "body": null,
          "is_bot": false,
          "headline": "BAP-22046: Fix system calendar events (#35675)",
          "author_name": "Yurii Muratov",
          "author_login": "yurio",
          "committed_at": "2023-06-01T18:52:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fe1bb89b1c4dfcfe1db166ac28eebae51a112c3",
          "body": "- updated dependencies list with licenses\r\n- updated changelogs and generated incompatibilities files",
          "is_bot": false,
          "headline": "BB-22318: 5.1.0 LTS",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-04-04T11:40:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2dedb0bd3cc9c5705b933d9d835049bc917b8223",
          "body": "- Added dashboard types\r\n- Added Seller dashboard",
          "is_bot": false,
          "headline": "BB-22172: Seller dashboard (#35047)",
          "author_name": "Yurii Muratov",
          "author_login": "yurio",
          "committed_at": "2023-03-29T17:11:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a191f1acab0b2023d033266e6f7c8aeb9cbd5f4a",
          "body": "- add getSettings() method to Oro\\Bundle\\ConfigBundle\\DependencyInjection\\SettingsBuilder that simplifies loading of system settings into DIC in DI extension\r\n- refactor loading of system settings into DIC in DI extensions\r\n- add strict type to DI extensions\r\n- refactor unit tests for DI extensions",
          "is_bot": false,
          "headline": "BAP-21930: Refactor DI extensions for bundles (#35041)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-03-11T15:06:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a2ac7abf778a658ed5f14850e1e81d80d97851a",
          "body": "… (#35023)\n\n- move ORM relates mocks and test cases from TestUtils component to Testing component (old namespace for these classes was Oro\\Component\\TestUtils\\ORM, new namespace is Oro\\Component\\Testing\\Unit\\ORM)",
          "is_bot": false,
          "headline": "BAP-21922: Move ORM relates mocks and test cases to Testing component…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-03-08T16:03:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26502712731987d23decca4f40966fed536f7995",
          "body": "- refactor unit tests that use objects from Oro\\Component\\TestUtils\\ORM\\Mocks namespace\r\n- rename Oro\\Component\\TestUtils\\ORM\\Mocks\\UnitOfWork to UnitOfWorkMock to avoid wrong usage of this class",
          "is_bot": false,
          "headline": "Refactor unit tests that use ORM mocks (#35022)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-03-08T14:18:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "979b4b9ab431a8d0d327eb44eb34d85f9e679126",
          "body": "…NGELOG-*.md files",
          "is_bot": false,
          "headline": "BB-22198: Release preparation activities - Generate UPGRADE-*.md, CHA…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-03-04T11:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81d8e2f0c41a802441361b57ca75afb80bc6ef4a",
          "body": "The approach to expanding entities has been changed, instead of generating additional fields and associations, the new approach uses PHP magic methods to access.\r\nImplementation:\r\n      -  ExtendEntityTrait\r\n      -  ExtendEntityInterface\r\n      -  EntityFieldExtensionInterface\r\n      -  ExtendedEnt\n[…]\nter/CHANGELOG.md#510-unreleased).\r\n\r\nCo-authored-by: Andrii Yatsenko [ayatsenko@oroinc.com](mailto:ayatsenko@oroinc.com)\r\nCo-authored-by: Victor Tihonchuk [victor@oroinc.com](mailto:victor@oroinc.com)",
          "is_bot": false,
          "headline": "BAP-21474: Extended Entities Without Code Generation (#33445)",
          "author_name": "timofiyprisyazhnyuk",
          "author_login": "timofiyprisyazhnyuk",
          "committed_at": "2023-03-03T09:11:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "720c759929cce5cdc90c1a728a37d8b9e44c46ac",
          "body": "…34832)",
          "is_bot": false,
          "headline": "Remove namespace configuration for EntityManagerMock in unit tests (#…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-02-09T22:40:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eee4749e08d1106ce30b989ad4f497ab80d6be9e",
          "body": "…uitable bundles (#34797)\n\n- move Oro\\Component\\Testing\\Unit\\AddressFormExtensionTestCase to Oro\\Bundle\\AddressBundle\\Tests\\Unit\\Form\\Type\\AddressFormExtensionTestCase\r\n- move Oro\\Component\\Testing\\Unit\\Form\\EventListener\\Stub\\AddressCountryAndRegionSubscriberStub to Oro\\Bundle\\AddressBundle\\Tests\\U\n[…]\n\\Form\\Type\\Stub\\EnumSelectTypeStub\r\n- remove getName() method in Oro\\Component\\Testing\\Unit\\Form\\Type\\Stub\\EntityType\r\n- rename Oro\\Component\\Testing\\Unit\\Form\\Type\\Stub\\EntityType into EntityTypeStub",
          "is_bot": false,
          "headline": "BAP-21873: Move some test cases and stubs from Testing component to s…",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2023-02-05T17:47:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "600417742d7bf835e39c7f755901bb5a735005af",
          "body": "…GELOG-.md files (#34770)",
          "is_bot": false,
          "headline": "BB-22198: Release preparation activities - Generate UPGRADE-.md, CHAN…",
          "author_name": "Andrii Yatsenko",
          "author_login": "anyt",
          "committed_at": "2023-02-01T19:43:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02793b5a7f588be2acc66ca8d255eab15a9be04a",
          "body": "… LTS (#34679)\n\n- bumped up the PHP version in composer.json and .php-version\r\n- bumped up the PHP version in Jenkins configs\r\n- updated PHP dependencies\r\n- fixed warnings after the PHP upgrade to 8.2\r\n- updated version check in the requirements provider and version in the documentation\r\n- added pre\n[…]\n generator wrapper to have the same functionality as we had before upgrade nette/php-generator\r\n\r\nCo-authored-by: ayatsenko <ayatsenko@oroinc.com>\r\nCo-authored-by: Dmitry Khrysev <dkhrysev@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-21840: Set the minimum required version of PHP to 8.2 for the 5.1…",
          "author_name": "vsheverov",
          "author_login": "vsheverov",
          "committed_at": "2023-01-29T09:55:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e5f1ec2842d47c4448d93f96ae66bc32b2e07e1a",
          "body": null,
          "is_bot": false,
          "headline": "BAP-21776: Update stylelint to latest version (#34607)",
          "author_name": "Valerii Yustyniuk",
          "author_login": "ValeriyYustunyk",
          "committed_at": "2023-01-24T12:38:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f87187e5f270933b104f5755c95676da3e26a1c6",
          "body": "…t consistent (#34516)",
          "is_bot": false,
          "headline": "DOC-1978: Aggregate data under LTS versions in Changelog.md to make i…",
          "author_name": "Daria Hanzenko",
          "author_login": "DariaHanzenko",
          "committed_at": "2023-01-12T18:02:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2f1f7a9cb157ad06dbe9c6731db4afe96328c13",
          "body": "…#33243)\n\n- For better data consistency and more valid testing scenarios, data fixtures are now validated during ORM demo data load and Behat fixtures load.\r\n- Adjusted built-in data fixtures to pass the validation.\r\n\r\nCo-authored-by: Julia Khrysieva <ikhrysieva@oroinc.com>\r\nCo-authored-by: Andrey Yatsenko <ayatsenko@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-21515: Validate data fixtures before flush them to the database (…",
          "author_name": "timofiyprisyazhnyuk",
          "author_login": "timofiyprisyazhnyuk",
          "committed_at": "2022-12-20T08:04:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a64f88e13ed10dec72792d6484ade44726fe0714",
          "body": "…id data (#34266)\n\n* BB-21807: BB-21807: Inventory management popup allows to submit invalid data",
          "is_bot": false,
          "headline": "BB-21807: BB-21807: Inventory management popup allows to submit inval…",
          "author_name": "Valerii Yustyniuk",
          "author_login": "ValeriyYustunyk",
          "committed_at": "2022-12-02T15:39:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e9895c34ff3c3720600e03d0c98a671b389cace",
          "body": "…NGELOG-*.md files (#34374)",
          "is_bot": false,
          "headline": "BB-21986: Release preparation activities - Generate UPGRADE-*.md, CHA…",
          "author_name": "Andrey Yatsenco",
          "author_login": "anyt",
          "committed_at": "2022-11-30T10:30:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "109c3029f4998262dc5cb33d083d1f3ab0f5eb3d",
          "body": null,
          "is_bot": false,
          "headline": "Refactor unit tests in commerce package (#34358)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2022-11-25T03:59:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ca9bd82725654ef6e2be1d6549e2160781bcbcd",
          "body": "…endar/Tests/Behat/Features/create_calendar_events.feature:227 (#34234)\n\n- change a timezone without dst.\r\n\r\nCo-authored-by: Stevenson Kuo <hkuo@oroinc.com>",
          "is_bot": false,
          "headline": "BAP-21743 Behat test failed on master regression build in package/cal…",
          "author_name": "Stevenson Kuo",
          "author_login": "StevensonKuo",
          "committed_at": "2022-11-08T14:26:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44f5d942fb05af918cd48eec66d5ae0de41b6725",
          "body": null,
          "is_bot": false,
          "headline": "Remove unneeded doctypes in unit tests (#34206)",
          "author_name": "Vova Soroka",
          "author_login": "vsoroka",
          "committed_at": "2022-11-06T23:13:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aac1961c56bb62ccde809f12b6c96eaba4cf149b",
          "body": "… and payment rules (#33461)\n\n- Moved SeoBundle MQ Topic to Async\\Topic;\r\n- added validation rules for sortOrder, imapPort/smtpPort, ReminderInterval number and Segment recordsLimit fields;\r\n- added CalendarEvent Reminders validation;\r\n- updated behat Form context to get the validation error when the input in the \"div.fields-row\";\r\n- added tests.",
          "is_bot": false,
          "headline": "BB-11878: Missing sort order field value range validation in shipping…",
          "author_name": "Eugene Zibrov",
          "author_login": "eugene-zibrov",
          "committed_at": "2022-10-13T09:44:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d43b72707a3614453ea18b5e50840ca67bba9e0e",
          "body": null,
          "is_bot": false,
          "headline": "BB-18655: Email reply dialog is too narrow (#33928)",
          "author_name": "Valerii Yustyniuk",
          "author_login": "ValeriyYustunyk",
          "committed_at": "2022-10-07T18:39:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a09c093c1b09ea27c2cd63bc92a5e2ecb34ef75",
          "body": null,
          "is_bot": false,
          "headline": "BAP-21510: Replace functional tests for controllers with Behat tests",
          "author_name": "ikhrysieva",
          "author_login": "ikhrysieva",
          "committed_at": "2022-09-30T14:58:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cafa019497a77654944fdc5813079565d49e1e30",
          "body": "* CRM-9391: Non-translatable translation text task reminder",
          "is_bot": false,
          "headline": "CRM-9391: Non-translatable translation text task reminder (#33704)",
          "author_name": "Hryhorii Hrebiniuk",
          "author_login": "Grygir",
          "committed_at": "2022-09-09T09:11:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 1,
      "commits_last_year": 18,
      "latest_release_at": "2018-03-15T19:42:13Z",
      "latest_release_tag": "2.6.2",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 13,
      "days_since_latest_release": 3057,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "oro/calendar-bundle",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "calendar",
            "ORO",
            "OroPlatform",
            "OroCrm"
          ],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/oro/calendar-bundle",
          "is_deprecated": false,
          "latest_version": "7.0.3",
          "repository_url": "https://github.com/oroinc/OroCalendarBundle",
          "versions_count": 175,
          "total_downloads": 365758,
          "dependents_count": 7,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 7944,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T17:52:12Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 48
        }
      ]
    },
    "popularity": {
      "forks": 9,
      "stars": 9,
      "watchers": 40,
      "fork_history": {
        "days": [
          {
            "date": "2017-01-04",
            "count": 1
          },
          {
            "date": "2017-03-03",
            "count": 1
          },
          {
            "date": "2017-09-03",
            "count": 1
          },
          {
            "date": "2018-02-03",
            "count": 1
          },
          {
            "date": "2018-11-17",
            "count": 1
          },
          {
            "date": "2018-12-31",
            "count": 1
          },
          {
            "date": "2019-05-28",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2024-06-14",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 9,
        "total_forks": 9
      },
      "star_history": null,
      "open_issues_and_prs": 5
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 193804,
      "source_files_sampled": 363,
      "oversized_source_files": 3,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "composer.json"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 1,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "oro/platform",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "7.1.*"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "oro/platform",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 1,
        "direct_count": 1,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 5,
        "closed_ratio": 0.375,
        "closed_issues": 3,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 6,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "ignat-s",
          "commits": 104,
          "avatar_url": "https://avatars.githubusercontent.com/u/335396?v=4"
        },
        {
          "type": "User",
          "login": "vsoroka",
          "commits": 92,
          "avatar_url": "https://avatars.githubusercontent.com/u/4763952?v=4"
        },
        {
          "type": "User",
          "login": "Grygir",
          "commits": 75,
          "avatar_url": "https://avatars.githubusercontent.com/u/131182?v=4"
        },
        {
          "type": "User",
          "login": "anyt",
          "commits": 63,
          "avatar_url": "https://avatars.githubusercontent.com/u/5183991?v=4"
        },
        {
          "type": "User",
          "login": "emishusta",
          "commits": 54,
          "avatar_url": "https://avatars.githubusercontent.com/u/5627197?v=4"
        },
        {
          "type": "User",
          "login": "ValeriyYustunyk",
          "commits": 31,
          "avatar_url": "https://avatars.githubusercontent.com/u/6986327?v=4"
        },
        {
          "type": "User",
          "login": "mbessolov",
          "commits": 27,
          "avatar_url": "https://avatars.githubusercontent.com/u/2725121?v=4"
        },
        {
          "type": "User",
          "login": "vitaliyberdylo",
          "commits": 24,
          "avatar_url": "https://avatars.githubusercontent.com/u/1668719?v=4"
        },
        {
          "type": "User",
          "login": "x86demon",
          "commits": 24,
          "avatar_url": "https://avatars.githubusercontent.com/u/196506?v=4"
        },
        {
          "type": "User",
          "login": "yurio",
          "commits": 20,
          "avatar_url": "https://avatars.githubusercontent.com/u/1615700?v=4"
        }
      ],
      "contributors_sampled": 68,
      "top_contributor_share": 0.132
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 2,
            "reason": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 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": "8948e0d8923558fb9fb663f26437265cc27606ad",
        "ran_at": "2026-07-28T21:06:53Z",
        "aggregate_score": 3.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-28T21:03:23Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 1,
          "created_at": "2017-02-28T10:51:47Z",
          "last_comment_at": "2017-03-01T16:31:17Z",
          "last_comment_author": "mkudelya"
        },
        {
          "number": 2,
          "created_at": "2018-02-04T16:09:14Z",
          "last_comment_at": "2018-09-21T10:02:35Z",
          "last_comment_author": "dewos"
        },
        {
          "number": 6,
          "created_at": "2020-01-16T19:10:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 7,
          "created_at": "2020-09-08T12:12:46Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 8,
          "created_at": "2020-09-15T19:09:20Z",
          "last_comment_at": "2020-09-15T19:39:04Z",
          "last_comment_author": "echantigny"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/oroinc/OroCalendarBundle",
    "host": "github.com",
    "name": "OroCalendarBundle",
    "owner": "oroinc"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 49,
      "inputs": {
        "security": 36,
        "vitality": 52,
        "community": 44,
        "governance": 72,
        "engineering": 34
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 52,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "commits_last_year": 18,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 13
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "13/52 weeks with commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "18 commits in the last year",
                "points": 11.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 44,
            "inputs": {
              "releases_count": 1,
              "latest_release_tag": "2.6.2",
              "releases_from_tags": false,
              "days_since_latest_release": 3057,
              "mean_days_between_releases": null
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "1 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 3057 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 3057
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "cadence unknown (single release)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence_unknown",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "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": 44,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 31,
            "inputs": {
              "forks": 9,
              "stars": 9,
              "watchers": 40,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "9 stars",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "9 forks",
                "points": 7.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "40 watchers",
                "points": 8.8,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 40
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "packages": [
                "oro/calendar-bundle"
              ],
              "dependents": 7,
              "ecosystems": "packagist",
              "total_downloads": 365758,
              "monthly_downloads": 7944
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "7,944 downloads/month across packagist",
                "points": 52,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 7944,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "7 packages depend on it",
                "points": 6,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 72,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "bus_factor": 6,
              "contributors_sampled": 68,
              "top_contributor_share": 0.132
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "6 contributor(s) cover half of all commits",
                "points": 48.6,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 13% of commits",
                "points": 19.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 13
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "68 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 68
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 28,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 5,
              "closed_issues": 3,
              "issue_closed_ratio": 0.375,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "38% of issues closed",
                "points": 17.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 38
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "followers": 121,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "oroinc",
              "public_repos": 104,
              "account_age_days": 4851
            },
            "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": "121 followers of oroinc",
                "points": 15,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 121,
                      "login": "oroinc"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "104 public repos, account ~13 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 104
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 13
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "oro/calendar-bundle"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 48
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 48 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 48
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "175 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 175
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Engineering Quality",
        "value": 34,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 36,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 11,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 7,
              "scorecard_aggregate": 3.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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
                "points": 1.5,
                "status": "partial",
                "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": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "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": 9
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 35,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.74,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "74 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 39.5,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 74,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 24,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 193804,
              "source_files_sampled": 363,
              "oversized_source_files": 3
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "PHP without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "PHP"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "3/363 source files over 60KB",
                "points": 54.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 363,
                      "oversized": 3
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-28T21:07:10.551181Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/oroinc/OroCalendarBundle.svg",
  "full_name": "oroinc/OroCalendarBundle",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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