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

1 + # Changelog
2 + <include>(latest.md)
3 + _________________
4 + <include>(10.3.1.md)
5 + _________________
6 + <include>(10.2.3.md)
7 + _________________
8 + <include>(10.1.0.md)
9 + _________________
10 + <include>(10.0.0.md)
11 + _________________
12 + <include>(9.2.1.md)
13 + _________________
14 + <include>(9.1.5.md)
15 + _________________
16 + <include>(8.1.14.md)
17 + _________________
18 + <include>(7.6.0.md)
19 + _________________
20 + <include>(7.0.0.md)
21 + _________________
22 + <include>(6.4.0.md)
23 + _________________
24 + <include>(5.2.0.md)
25 + _________________
26 + <include>(4.5.2.md)
27 +
28 + A full description of each release with examples is in the [releases](https://github.com/UFO-Tech/json-rpc-bundle/tree/main/releases) directory of the bundle repository.

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

1 + <include>(10.4.2.md)

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

1 + ## Version 10.4
2 +
3 + ### Key changes
4 +
5 + * [Translations for API groups](/docs/api/json-rpc-bundle/documentation): `translations/rpc/<group>.<locale>.yaml`; the group takes precedence over the language.
6 + * Translations from extensions (`translations.paths`), the public `RpcLocaleNegotiator` service.
7 + * 10.4.1: `IApiRouteImport`: adapter routes can be registered separately for each API group.
8 + * 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.
9 +
10 + ### What to keep in mind
11 +
12 + * Partial base translation: a missing `description` is taken from the base translation in the `kernel.default_locale` language, not from the attribute / PHPDoc.
13 + * REST calls now get `rpc.post_response`: cache relations and async/notification listeners start working for them.
14 +
15 + ### Environment changes
16 +
17 + * Unchanged from 10.3.

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

1 + ## Version 10.3
2 +
3 + ### Key changes
4 +
5 + * 2.4–4.2 times more requests per second for regular calls and documentation.
6 + * [Batch](/docs/api/json-rpc-bundle/functionality/batch) configuration: `enabled`, inline mode, the `process_count` limit of parallel processes.
7 + * Notifications in a batch per the specification: no response, a batch of only notifications returns `204`.
8 + * Detached execution of notifications (`notification.process`).
9 + * [Translation of method names and descriptions](/docs/api/json-rpc-bundle/documentation) by `Accept-Language`, documentation cache with `ETag`.
10 + * `cache.pool` sets a custom cache pool; the response cache key includes the method implementation and the API version.
11 + * The token and request body are no longer passed on the command line of child processes.
12 +
13 + ### 10.3.1
14 +
15 + * XHR requests (`X-Requested-With: XMLHttpRequest`) are executed again.
16 + * `#[Autowire]` in RPC method arguments works again.
17 + * `#[RPC\Info(concat: …)]` is applied again; check your clients if `concat` is set.
18 + * Deprecated methods are marked in OpenRPC again.
19 +
20 + ### What to keep in mind
21 +
22 + * `batch.process_count` defaults to 2, so large batches in process mode became slower.
23 + * The application's terminate listeners now run after RPC requests.
24 + * The constructors of several services changed (relevant only when creating them manually or extending them); `DocSecurityListener` was removed.
25 +
26 + ### Environment changes
27 +
28 + * `ufo-tech/rpc-objects`: `^3.9.1`.

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

1 + ## Version 10.2
2 +
3 + ### Key changes
4 +
5 + * [API groups](/docs/api/json-rpc-bundle/functionality/groups): several entry points (public, internal, BFF) with their own methods, versions and documentation; the `#[RPC\APIGroups]` attribute.
6 + * Per-group token validation via `security.providers` (a validator service or a separate token list).
7 + * `ApiYamlFileLoader` / `RpcYamlFileLoader` route loaders for adapters.
8 + * `--api-group` for the console, `apiGroup` for Messenger.
9 + * A batch sent to a versioned address executes its items in that version.
10 +
11 + ### What to keep in mind
12 +
13 + * Route names got a group prefix (`general_ufo_rpc_api_server`); the old names remain aliases for `general`.
14 + * `SimpleTokenValidator` constructor: `(RpcMainConfig $rpcConfig)` -> `(array $tokens = [])`.
15 +
16 + ### Environment changes
17 +
18 + * `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

1 + ## Version 10.1
2 +
3 + ### Key changes
4 +
5 + * Symfony 8 support (`^7.2|^8.0`).
6 + * [JSON-RPC notifications](/docs/api/json-rpc-bundle/functionality/notifications): a request without `id` gets `204` and is executed after the response.
7 + * Strict JSON-RPC 2.0 validation: `jsonrpc` ≠ `"2.0"` and an empty batch are rejected with `-32600`.
8 + * Unified parameter error format: all problems for each parameter in `error.data`.
9 +
10 + ### Environment changes
11 +
12 + * `PHP`: `>=8.3` -> `>=8.4`.
13 + * `Symfony`: `^7.2` -> `^7.2|^8.0`; `symfony/messenger` became an explicit dependency.
14 + * `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

1 + ## Version 10.0.0
2 +
3 + ### Key changes
4 +
5 + * Added/unified API versioning support in the RPC service.
6 + * Normalized the API documentation format and refactored the documentation layer.
7 + * General server refactoring for more stable operation on Symfony 7.x.
8 +
9 + ### ServiceMap and DI
10 +
11 + * `ServiceMap` building moved into a compiler pass.
12 + * Added support for `#[Autowire]` services in RPC methods.
13 + * Non-service classes moved out of the service map, and the ServiceLocator chain simplified.
14 +
15 + ### Parameter converters
16 +
17 + * Added a Doctrine parameter converter.
18 + * Improved handling of enum definitions in parameters and schemas.
19 +
20 + ### Environment changes
21 +
22 + * `PHP`: unchanged (`>=8.3`).
23 + * `Symfony`: unchanged (core components remain at `^7.2`).
24 + * `ufo-tech`:
25 + + added `ufo-tech/packages:^1`
26 + + `ufo-tech/dto-transformer`: `^2` -> `^2.1`
27 + + `ufo-tech/rpc-objects`: unchanged (`^3.4`)
28 + + `ufo-tech/rpc-exceptions`: unchanged (`^1.3`)

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

1 + ## Version 9.2.1
2 +
3 + ### API documentation
4 +
5 + * Added the `info` GET parameter to the doc controller to output basic OpenRPC information without the full document.
6 +
7 + ### Async callback
8 +
9 + * Fixed building of the callback response in the asynchronous flow.
10 +
11 + ### Environment changes
12 +
13 + * `PHP`: unchanged (`>=8.3`).
14 + * `Symfony`: unchanged.
15 + * `ufo-tech`: unchanged.

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

1 + ## Version 9.1.5
2 +
3 + ### Caching
4 +
5 + * Added invalidation/removal of the relation cache.
6 + * Added support for `ignore cache` in requests.
7 + * Fixed `RpcCacheService` and cache warmup scenarios.
8 +
9 + ### Asynchronous processing and configuration
10 +
11 + * Added support for multiple async transports in the configuration.
12 + * Updated dependencies and service configuration parts.
13 +
14 + ### Types and DTO
15 +
16 + * Added support for default values of DTO properties.
17 + * Fixed handling of union types in return types.
18 + * Improved compatibility with enums and the generation of assert constraints.
19 +
20 + ### Environment changes
21 +
22 + * `PHP`: unchanged (`>=8.3`).
23 + * `Symfony`: unchanged (core components remain at `^7.2`).
24 + * `ufo-tech`:
25 + + `ufo-tech/dto-transformer`: `^1.1` -> `^2`
26 + + `ufo-tech/rpc-objects`: `^3.1` -> `^3.4`
27 + + `ufo-tech/rpc-exceptions`: unchanged (`^1.3`)

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

1 + ## Version 8.1.14
2 +
3 + ### Documentation and schemas
4 +
5 + * Added/reworked the JSON Schema builder in the RPC documentation.
6 + * Improved display of relations (`relations`) in the generated documentation.
7 + * Fixed generation of enum schemas and markers such as `x-ufo-enum`.
8 +
9 + ### DTO and typing
10 +
11 + * Fixed DTO reflection and handling of DTO parameters.
12 + * Improved support for `mixed` and complex types in format generation.
13 + * Fixed handling of `BackedEnum` and the enum helper logic.
14 +
15 + ### Runtime and async
16 +
17 + * Fixed the asynchronous request handler.
18 + * Stabilized the behavior of `RequestCarrier` and special RPC parameters.
19 + * Resolved issues with terminate events in the handling lifecycle.
20 +
21 + ### Environment changes
22 +
23 + * `PHP`: unchanged (`>=8.3`).
24 + * `Symfony`: added `symfony/yaml:^7.2` and `symfony/uid:^7.2` (other Symfony dependencies unchanged from 7.6.0).
25 + * `ufo-tech`:
26 + + `ufo-tech/dto-transformer`: `^1.0` -> `^1.1`
27 + + `ufo-tech/rpc-objects`: `^3.0` -> `^3.1`
28 + + `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

1 + ## Version 7.6.0
2 +
3 + ### General changes
4 +
5 + * Extended support for the OpenRPC specification (including improvements to documentation generation).
6 + * Added a Postman collection generator for the RPC API.
7 + * Extended DTO integration (support for `ufo-tech/dto-transformer`, transformation fixes).
8 + * Brought compatibility with `ufo-tech/rpc-objects` 3.x.
9 +
10 + ### Events and lifecycle
11 +
12 + * Added/updated event listeners in the RPC handling pipeline.
13 + * Improved the asynchronous callback flow.
14 + * Fixed handling of the parameter resolver and autowiring.
15 +
16 + ### Configuration and stability
17 +
18 + * Updated dependency requirements and configuration keys.
19 + * Fixed a number of security, stability and deprecation compatibility issues.
20 + * Added logging and improved the reliability of the documentation layer.
21 +
22 + ### Environment changes
23 +
24 + * `PHP`: unchanged (`>=8.3`).
25 + * `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`.
26 + * `ufo-tech`:
27 + + added `ufo-tech/dto-transformer:^1.0`
28 + + `ufo-tech/rpc-objects`: `>=2.3.1` -> `^3.0`
29 + + `ufo-tech/rpc-exceptions`: unchanged (`>=1.0.3`)

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

1 + ## Version 7.0.0
2 +
3 + ### General changes
4 +
5 + * The API documentation format updated to the [OpenRPC](https://spec.open-rpc.org/) standard.
6 + * The RPC server lifecycle moved to an events-and-subscribers model.
7 + * Substantial refactoring of the v7 request handling pipeline.
8 +
9 + ### Configuration
10 +
11 + * The configuration changed significantly and is not fully backward compatible with the 6.x branch.
12 + * In the `security` block, protection is now configured by action (API calls and documentation separately) rather than by HTTP method.
13 + * The nested `response` block was removed from the `docs` block; its parameters moved to the `docs` level.
14 + * Removed outdated parameters (`docs.response.json_schema`).
15 + * `docs.project_name`
16 + * `docs.project_description`
17 + * `docs.project_version`
18 +
19 + ### Environment changes
20 +
21 + * `PHP`: unchanged from 6.4.0 (`>=8.3`).
22 + * `Symfony`: unchanged from 6.4.0 (core components at `^7.0`).
23 + * `ufo-tech/rpc-objects`: `>=2.3.1` -> `>=2.4.0`.
24 + * `ufo-tech/rpc-exceptions`: unchanged (`>=1.0.3`).

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

1 + ## Version 6.4.0
2 +
3 + ### General changes
4 +
5 + * Introduced the OpenRPC documentation format and updated the documentation generator.
6 + * Refactored request handling and the error listener.
7 + * Added return data descriptions to method documentation.
8 + * Improved the handling context and the stability of the validation/event flow.
9 +
10 + ### Cache and API behavior
11 +
12 + * Added caching for GET requests to the documentation API.
13 + * Fixed a number of bugs in validation and autowiring.
14 +
15 + ### Environment changes
16 +
17 + * `PHP`: `>=8.1` -> `>=8.3`.
18 + * `Symfony`: moved from `^6.4` to `^7.0` for core components (`framework-bundle`, `serializer`, `console`, `http-kernel`, `validator`, `security-bundle`, `http-client`, `process`).
19 + * `ufo-tech`:
20 + + `ufo-tech/rpc-objects`: `1.*` -> `>=2.3.1`
21 + + `ufo-tech/rpc-exceptions`: `1.*` -> `>=1.0.3`

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

1 + ## Version 5.2.0
2 +
3 + ### General changes
4 +
5 + * Strengthened the validation layer: added JSON Schema, type hinting and improved parameter validation.
6 + * Extended method descriptions and RPC metadata in the API documentation.
7 + * Cleaned up outdated parts (including removing the laminas dependency).
8 + * Fixed bugs in the error handler and configuration.
9 +
10 + ### Documentation and stability
11 +
12 + * Added security/contributing files (`SECURITY`, `CONTRIBUTING`, `CODE_OF_CONDUCT`).
13 + * A series of bug fixes for more stable operation in production scenarios.
14 +
15 + ### Environment changes
16 +
17 + * `PHP`: unchanged (`>=8.1`).
18 + * `Symfony`: requirements narrowed from `6.*` to `^6.4`, added `symfony/expression-language:^6.3`.
19 + * `ufo-tech`:
20 + + `ufo-tech/rpc-objects`: unchanged (`1.*`)
21 + + `ufo-tech/rpc-exceptions`: unchanged (`1.*`)

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

1 + ## Version 4.5.2
2 +
3 + ### General changes
4 +
5 + * Global refactoring of the bundle core and the RPC pipeline.
6 + * Added/stabilized support for batch requests and asynchronous processing.
7 + * Added CLI handling for RPC (console processing).
8 + * Exceptions moved into a separate package, and some hard internal dependencies removed.
9 + * Added/improved the security mode and token validation.
10 +
11 + ### Integrations and tools
12 +
13 + * Added export for SoapUI integration.
14 + * Improved RPC server logging.
15 + * Updated documentation and recipes for integration into Symfony projects.
16 +
17 + ### Environment changes
18 +
19 + * `PHP`: minimum fixed at `>=8.1`.
20 + * `Symfony`: moved to the `6.*` branch (`framework-bundle`, `serializer`, `console`, `http-kernel`, `validator`, `http-client`, `process`, `security-bundle`).
21 + * `ufo-tech`:
22 + + `ufo-tech/rpc-objects:1.*`
23 + + `ufo-tech/rpc-exceptions:1.*`