Історія змін

Історія змін

Версія 10.0.0

Ключові зміни

  • Додано/уніфіковано підтримку API versioning у RPC-сервісі.
  • Нормалізовано формат API-документації та проведено рефакторинг документаційного шару.
  • Проведено загальний рефакторинг сервера для стабільнішої роботи в Symfony 7.x.

ServiceMap та DI

  • Перенесено побудову ServiceMap у compiler pass.
  • Додано підтримку #[Autowire] сервісів у RPC-методах.
  • Винесено non-service класи з мапи сервісів і спрощено ServiceLocator-ланцюг.

Конвертори параметрів

  • Додано Doctrine parameter converter.
  • Покращено обробку enum-definition у параметрах і схемах.

Зміни оточення

  • PHP: без змін (>=8.3).
  • Symfony: без змін (основні компоненти залишились на ^7.2).
  • ufo-tech:
    • додано ufo-tech/packages:^1
    • ufo-tech/dto-transformer: ^2 -> ^2.1
    • ufo-tech/rpc-objects: без змін (^3.4)
    • ufo-tech/rpc-exceptions: без змін (^1.3)


Версія 9.2.1

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

  • Додано GET-параметр info в doc-controller для виводу базової інформації OpenRPC без повного документа.

Async callback

  • Виправлено формування callback-відповіді в асинхронному потоці.

Зміни оточення

  • PHP: без змін (>=8.3).
  • Symfony: без змін.
  • ufo-tech: без змін.


Версія 9.1.5

Кешування

  • Додано інвалідацію/видалення relation-cache.
  • Додано підтримку ignore cache у запитах.
  • Виправлено RpcCacheService і сценарії warmup кешу.

Асинхронність та конфігурація

  • Додано підтримку кількох async-транспортів у конфігурації.
  • Оновлено залежності та службові конфігураційні частини.

Типи та DTO

  • Додано підтримку значень за замовчуванням для властивостей DTO.
  • Виправлено обробку union-type у return-типах.
  • Покращено сумісність з enum та генерацією assert-обмежень.

Зміни оточення

  • PHP: без змін (>=8.3).
  • Symfony: без змін (залишились на ^7.2 для основних компонентів).
  • ufo-tech:
    • ufo-tech/dto-transformer: ^1.1 -> ^2
    • ufo-tech/rpc-objects: ^3.1 -> ^3.4
    • ufo-tech/rpc-exceptions: без змін (^1.3)


Версія 8.1.14

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

  • Додано/перероблено builder для JSON Schema у документації RPC.
  • Покращено відображення звʼязків (relations) у згенерованій документації.
  • Виправлено генерацію enum-схем та позначок на кшталт x-ufo-enum.

DTO та типізація

  • Виправлено віддзеркалення DTO і обробку DTO-параметрів.
  • Покращено підтримку mixed та складних типів у генерації форматів.
  • Виправлено роботу з BackedEnum і enum helper-логікою.

Runtime та async

  • Виправлено обробник асинхронних запитів.
  • Стабілізовано поведінку RequestCarrier та спеціальних RPC-параметрів.
  • Усунуто проблеми з terminate-подіями у життєвому циклі обробки.

Зміни оточення

  • PHP: без змін (>=8.3).
  • Symfony: додано symfony/yaml:^7.2 та symfony/uid:^7.2 (інші Symfony-залежності без змін відносно 7.6.0).
  • ufo-tech:
    • ufo-tech/dto-transformer: ^1.0 -> ^1.1
    • ufo-tech/rpc-objects: ^3.0 -> ^3.1
    • ufo-tech/rpc-exceptions: >=1.0.3 -> ^1.3


Версія 7.6.0

Загальні зміни

  • Розвинено підтримку специфікації OpenRPC (включно з покращеннями генерації документації).
  • Додано генератор Postman collection для RPC API.
  • Розширено інтеграцію з DTO (підтримка ufo-tech/dto-transformer, виправлення трансформацій).
  • Підтягнуто сумісність із ufo-tech/rpc-objects 3.x.

Події та життєвий цикл

  • Додані/оновлені event listeners у пайплайні обробки RPC.
  • Покращено роботу асинхронного callback-потоку.
  • Виправлено обробку резолвера параметрів і автозвʼязування.

Конфігурація та стабільність

  • Оновлено вимоги залежностей і конфігураційні ключі.
  • Виправлено низку проблем безпеки, стабільності та deprecation-сумісності.
  • Додано логування та покращено надійність документаційного шару.

Зміни оточення

  • PHP: без змін (>=8.3).
  • Symfony: оновлено базові компоненти з ^7.0 до ^7.2 (framework-bundle, serializer, console, http-kernel, validator, security-bundle, http-client, process), додано symfony/lock:^7.2.
  • ufo-tech:
    • додано ufo-tech/dto-transformer:^1.0
    • ufo-tech/rpc-objects: >=2.3.1 -> ^3.0
    • ufo-tech/rpc-exceptions: без змін (>=1.0.3)


Версія 7.0.0

Загальні зміни

  • Оновлено формат документації API до стандарту OpenRPC.
  • Життєвий цикл RPC-сервера переведено на модель подій і підписників.
  • Проведено суттєвий рефакторинг v7-пайплайну обробки запитів.

Конфігурація

  • Конфігурація зазнала значних змін і не має повної зворотної сумісності з гілкою 6.x.
  • У блоці security захист тепер налаштований за діями (окремо API-виклики і документація), а не за HTTP-методами.
  • З блоку docs прибрано вкладений блок response, параметри винесено на рівень docs.
  • Видалено застарілі параметри (docs.response.json_schema).
  • docs.project_name
  • docs.project_description
  • docs.project_version

Зміни оточення

  • PHP: без змін відносно 6.4.0 (>=8.3).
  • Symfony: без змін відносно 6.4.0 (ключові компоненти на ^7.0).
  • ufo-tech/rpc-objects: >=2.3.1 -> >=2.4.0.
  • ufo-tech/rpc-exceptions: без змін (>=1.0.3).


Версія 6.4.0

Загальні зміни

  • Впроваджено формат документації OpenRPC і оновлено генератор документації.
  • Проведено рефакторинг обробки запитів та error-listener.
  • Додано опис return-даних у документації методів.
  • Покращено контекст обробки та стабільність validation/event-потоку.

Кеш та поведінка API

  • Додано кешування для GET-запитів до документаційного API.
  • Виправлено низку багів у валідації та автозвʼязуванні.

Зміни оточення

  • PHP: >=8.1 -> >=8.3.
  • Symfony: перехід з ^6.4 на ^7.0 для основних компонентів (framework-bundle, serializer, console, http-kernel, validator, security-bundle, http-client, process).
  • ufo-tech:
    • ufo-tech/rpc-objects: 1.* -> >=2.3.1
    • ufo-tech/rpc-exceptions: 1.* -> >=1.0.3


Версія 5.2.0

Загальні зміни

  • Підсилено шар валідації: додано JSON Schema, type-hinting і покращену перевірку параметрів.
  • Розширено описи методів і RPC-метадані в API-документації.
  • Проведено cleanup застарілих частин (включно з вилученням залежності на laminas).
  • Виправлено помилки в error-handler та конфігурації.

Документація та стабільність

  • Додано службові файли безпеки/контриб’ютингу (SECURITY, CONTRIBUTING, CODE_OF_CONDUCT).
  • Серія багфіксів для стабільнішої роботи в production-сценаріях.

Зміни оточення

  • PHP: без змін (>=8.1).
  • Symfony: уточнено вимоги з 6.* до ^6.4, додано symfony/expression-language:^6.3.
  • ufo-tech:
    • ufo-tech/rpc-objects: без змін (1.*)
    • ufo-tech/rpc-exceptions: без змін (1.*)


Версія 4.5.2

Загальні зміни

  • Глобальний рефакторинг ядра bundle та RPC-пайплайну.
  • Додано/стабілізовано підтримку batch-запитів і асинхронної обробки.
  • Додано CLI-обробку для RPC (консольний процесинг).
  • Винесено виключення в окремий пакет та знято частину жорстких внутрішніх залежностей.
  • Додано/покращено безпековий режим і валідацію токенів.

Інтеграції та інструменти

  • Додано експорт для SoapUI-інтеграції.
  • Покращено логування RPC-сервера.
  • Оновлено документацію та recipes для інтеграції у Symfony-проєкти.

Зміни оточення

  • PHP: зафіксовано мінімум >=8.1.
  • Symfony: перехід на гілку 6.* (framework-bundle, serializer, console, http-kernel, validator, http-client, process, security-bundle).
  • ufo-tech:
    • ufo-tech/rpc-objects:1.*
    • ufo-tech/rpc-exceptions:1.*