Історія змін
Версія 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.*