Changelog

← Changelog

Ashterix

docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api

en/docs/api/json-rpc-bundle/change_log/README.md new file +28 āˆ’0

Changelog

<include>(latest.md)


<include>(10.3.1.md)


<include>(10.2.3.md)


<include>(10.1.0.md)


<include>(10.0.0.md)


<include>(9.2.1.md)


<include>(9.1.5.md)


<include>(8.1.14.md)


<include>(7.6.0.md)


<include>(7.0.0.md)


<include>(6.4.0.md)


<include>(5.2.0.md)


<include>(4.5.2.md)

A full description of each release with examples is in the releases directory of the bundle repository.

en/docs/api/json-rpc-bundle/change_log/latest.md new file +1 āˆ’0

<include>(10.4.2.md)

en/docs/api/json-rpc-bundle/change_log/10.4.2.md new file +17 āˆ’0

Version 10.4

Key changes

  • Translations for API groups: translations/rpc/<group>.<locale>.yaml; the group takes precedence over the language.
  • Translations from extensions (translations.paths), the public RpcLocaleNegotiator service.
  • 10.4.1: IApiRouteImport: adapter routes can be registered separately for each API group.
  • 10.4.2: RpcExecutor is the single entry point for adapters (REST, MCP); rpc.post_response fires for any request source and for each executed batch item.

What to keep in mind

  • Partial base translation: a missing description is taken from the base translation in the kernel.default_locale language, not from the attribute / PHPDoc.
  • REST calls now get rpc.post_response: cache relations and async/notification listeners start working for them.

Environment changes

  • Unchanged from 10.3.

en/docs/api/json-rpc-bundle/change_log/10.3.1.md new file +28 āˆ’0

Version 10.3

Key changes

  • 2.4–4.2 times more requests per second for regular calls and documentation.
  • Batch configuration: enabled, inline mode, the process_count limit of parallel processes.
  • Notifications in a batch per the specification: no response, a batch of only notifications returns 204.
  • Detached execution of notifications (notification.process).
  • Translation of method names and descriptions by Accept-Language, documentation cache with ETag.
  • cache.pool sets a custom cache pool; the response cache key includes the method implementation and the API version.
  • The token and request body are no longer passed on the command line of child processes.

10.3.1

  • XHR requests (X-Requested-With: XMLHttpRequest) are executed again.
  • #[Autowire] in RPC method arguments works again.
  • #[RPC\Info(concat: …)] is applied again; check your clients if concat is set.
  • Deprecated methods are marked in OpenRPC again.

What to keep in mind

  • batch.process_count defaults to 2, so large batches in process mode became slower.
  • The application's terminate listeners now run after RPC requests.
  • The constructors of several services changed (relevant only when creating them manually or extending them); DocSecurityListener was removed.

Environment changes

  • ufo-tech/rpc-objects: ^3.9.1.

en/docs/api/json-rpc-bundle/change_log/10.2.3.md new file +18 āˆ’0

Version 10.2

Key changes

  • API groups: several entry points (public, internal, BFF) with their own methods, versions and documentation; the #[RPC\APIGroups] attribute.
  • Per-group token validation via security.providers (a validator service or a separate token list).
  • ApiYamlFileLoader / RpcYamlFileLoader route loaders for adapters.
  • --api-group for the console, apiGroup for Messenger.
  • A batch sent to a versioned address executes its items in that version.

What to keep in mind

  • Route names got a group prefix (general_ufo_rpc_api_server); the old names remain aliases for general.
  • SimpleTokenValidator constructor: (RpcMainConfig $rpcConfig) -> (array $tokens = []).

Environment changes

  • PHP: >=8.4. ufo-tech/rpc-objects: ^3.9.

en/docs/api/json-rpc-bundle/change_log/10.1.0.md new file +14 āˆ’0

Version 10.1

Key changes

  • Symfony 8 support (^7.2|^8.0).
  • JSON-RPC notifications: a request without id gets 204 and is executed after the response.
  • Strict JSON-RPC 2.0 validation: jsonrpc ≠ "2.0" and an empty batch are rejected with -32600.
  • Unified parameter error format: all problems for each parameter in error.data.

Environment changes

  • PHP: >=8.3 -> >=8.4.
  • Symfony: ^7.2 -> ^7.2|^8.0; symfony/messenger became an explicit dependency.
  • ufo-tech/rpc-exceptions: ^1.3 -> ^2; ufo-tech/rpc-objects: ^3.8; ufo-tech/dto-transformer: ^3.1.

en/docs/api/json-rpc-bundle/change_log/10.0.0.md new file +28 āˆ’0

Version 10.0.0

Key changes

  • Added/unified API versioning support in the RPC service.
  • Normalized the API documentation format and refactored the documentation layer.
  • General server refactoring for more stable operation on Symfony 7.x.

ServiceMap and DI

  • ServiceMap building moved into a compiler pass.
  • Added support for #[Autowire] services in RPC methods.
  • Non-service classes moved out of the service map, and the ServiceLocator chain simplified.

Parameter converters

  • Added a Doctrine parameter converter.
  • Improved handling of enum definitions in parameters and schemas.

Environment changes

  • PHP: unchanged (>=8.3).
  • Symfony: unchanged (core components remain at ^7.2).
  • ufo-tech:
    • added ufo-tech/packages:^1
    • ufo-tech/dto-transformer: ^2 -> ^2.1
    • ufo-tech/rpc-objects: unchanged (^3.4)
    • ufo-tech/rpc-exceptions: unchanged (^1.3)

en/docs/api/json-rpc-bundle/change_log/9.2.1.md new file +15 āˆ’0

Version 9.2.1

API documentation

  • Added the info GET parameter to the doc controller to output basic OpenRPC information without the full document.

Async callback

  • Fixed building of the callback response in the asynchronous flow.

Environment changes

  • PHP: unchanged (>=8.3).
  • Symfony: unchanged.
  • ufo-tech: unchanged.

en/docs/api/json-rpc-bundle/change_log/9.1.5.md new file +27 āˆ’0

Version 9.1.5

Caching

  • Added invalidation/removal of the relation cache.
  • Added support for ignore cache in requests.
  • Fixed RpcCacheService and cache warmup scenarios.

Asynchronous processing and configuration

  • Added support for multiple async transports in the configuration.
  • Updated dependencies and service configuration parts.

Types and DTO

  • Added support for default values of DTO properties.
  • Fixed handling of union types in return types.
  • Improved compatibility with enums and the generation of assert constraints.

Environment changes

  • PHP: unchanged (>=8.3).
  • Symfony: unchanged (core components remain at ^7.2).
  • ufo-tech:
    • ufo-tech/dto-transformer: ^1.1 -> ^2
    • ufo-tech/rpc-objects: ^3.1 -> ^3.4
    • ufo-tech/rpc-exceptions: unchanged (^1.3)

en/docs/api/json-rpc-bundle/change_log/8.1.14.md new file +28 āˆ’0

Version 8.1.14

Documentation and schemas

  • Added/reworked the JSON Schema builder in the RPC documentation.
  • Improved display of relations (relations) in the generated documentation.
  • Fixed generation of enum schemas and markers such as x-ufo-enum.

DTO and typing

  • Fixed DTO reflection and handling of DTO parameters.
  • Improved support for mixed and complex types in format generation.
  • Fixed handling of BackedEnum and the enum helper logic.

Runtime and async

  • Fixed the asynchronous request handler.
  • Stabilized the behavior of RequestCarrier and special RPC parameters.
  • Resolved issues with terminate events in the handling lifecycle.

Environment changes

  • PHP: unchanged (>=8.3).
  • Symfony: added symfony/yaml:^7.2 and symfony/uid:^7.2 (other Symfony dependencies unchanged from 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

en/docs/api/json-rpc-bundle/change_log/7.6.0.md new file +29 āˆ’0

Version 7.6.0

General changes

  • Extended support for the OpenRPC specification (including improvements to documentation generation).
  • Added a Postman collection generator for the RPC API.
  • Extended DTO integration (support for ufo-tech/dto-transformer, transformation fixes).
  • Brought compatibility with ufo-tech/rpc-objects 3.x.

Events and lifecycle

  • Added/updated event listeners in the RPC handling pipeline.
  • Improved the asynchronous callback flow.
  • Fixed handling of the parameter resolver and autowiring.

Configuration and stability

  • Updated dependency requirements and configuration keys.
  • Fixed a number of security, stability and deprecation compatibility issues.
  • Added logging and improved the reliability of the documentation layer.

Environment changes

  • PHP: unchanged (>=8.3).
  • Symfony: core components updated from ^7.0 to ^7.2 (framework-bundle, serializer, console, http-kernel, validator, security-bundle, http-client, process), added symfony/lock:^7.2.
  • ufo-tech:
    • added ufo-tech/dto-transformer:^1.0
    • ufo-tech/rpc-objects: >=2.3.1 -> ^3.0
    • ufo-tech/rpc-exceptions: unchanged (>=1.0.3)

en/docs/api/json-rpc-bundle/change_log/7.0.0.md new file +24 āˆ’0

Version 7.0.0

General changes

  • The API documentation format updated to the OpenRPC standard.
  • The RPC server lifecycle moved to an events-and-subscribers model.
  • Substantial refactoring of the v7 request handling pipeline.

Configuration

  • The configuration changed significantly and is not fully backward compatible with the 6.x branch.
  • In the security block, protection is now configured by action (API calls and documentation separately) rather than by HTTP method.
  • The nested response block was removed from the docs block; its parameters moved to the docs level.
  • Removed outdated parameters (docs.response.json_schema).
  • docs.project_name
  • docs.project_description
  • docs.project_version

Environment changes

  • PHP: unchanged from 6.4.0 (>=8.3).
  • Symfony: unchanged from 6.4.0 (core components at ^7.0).
  • ufo-tech/rpc-objects: >=2.3.1 -> >=2.4.0.
  • ufo-tech/rpc-exceptions: unchanged (>=1.0.3).

en/docs/api/json-rpc-bundle/change_log/6.4.0.md new file +21 āˆ’0

Version 6.4.0

General changes

  • Introduced the OpenRPC documentation format and updated the documentation generator.
  • Refactored request handling and the error listener.
  • Added return data descriptions to method documentation.
  • Improved the handling context and the stability of the validation/event flow.

Cache and API behavior

  • Added caching for GET requests to the documentation API.
  • Fixed a number of bugs in validation and autowiring.

Environment changes

  • PHP: >=8.1 -> >=8.3.
  • Symfony: moved from ^6.4 to ^7.0 for core components (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

en/docs/api/json-rpc-bundle/change_log/5.2.0.md new file +21 āˆ’0

Version 5.2.0

General changes

  • Strengthened the validation layer: added JSON Schema, type hinting and improved parameter validation.
  • Extended method descriptions and RPC metadata in the API documentation.
  • Cleaned up outdated parts (including removing the laminas dependency).
  • Fixed bugs in the error handler and configuration.

Documentation and stability

  • Added security/contributing files (SECURITY, CONTRIBUTING, CODE_OF_CONDUCT).
  • A series of bug fixes for more stable operation in production scenarios.

Environment changes

  • PHP: unchanged (>=8.1).
  • Symfony: requirements narrowed from 6.* to ^6.4, added symfony/expression-language:^6.3.
  • ufo-tech:
    • ufo-tech/rpc-objects: unchanged (1.*)
    • ufo-tech/rpc-exceptions: unchanged (1.*)

en/docs/api/json-rpc-bundle/change_log/4.5.2.md new file +23 āˆ’0

Version 4.5.2

General changes

  • Global refactoring of the bundle core and the RPC pipeline.
  • Added/stabilized support for batch requests and asynchronous processing.
  • Added CLI handling for RPC (console processing).
  • Exceptions moved into a separate package, and some hard internal dependencies removed.
  • Added/improved the security mode and token validation.

Integrations and tools

  • Added export for SoapUI integration.
  • Improved RPC server logging.
  • Updated documentation and recipes for integration into Symfony projects.

Environment changes

  • PHP: minimum fixed at >=8.1.
  • Symfony: moved to the 6.* branch (framework-bundle, serializer, console, http-kernel, validator, http-client, process, security-bundle).
  • ufo-tech:
    • ufo-tech/rpc-objects:1.*
    • ufo-tech/rpc-exceptions:1.*