hyperf/CHANGELOG.md

234 lines
16 KiB
Markdown
Raw Normal View History

2019-08-21 14:39:54 +08:00
# v1.0.13 - TBD
# v1.0.12 - 2019-08-21
2019-08-15 09:30:35 +08:00
2019-08-16 09:48:13 +08:00
## Added
- [#405](https://github.com/hyperf-cloud/hyperf/pull/405) Added Context::override() method.
2019-08-17 23:05:49 +08:00
- [#415](https://github.com/hyperf-cloud/hyperf/pull/415) Added handlers configuration for logger, now you could config multiple handlers to logger.
2019-08-16 09:48:13 +08:00
2019-08-21 16:42:22 +08:00
## Changed
- [#431](https://github.com/hyperf-cloud/hyperf/pull/431) The third parameter of Hyperf\GrpcClient\GrpcClient::openStream() have been removed.
2019-08-16 17:32:45 +08:00
## Fixed
2019-08-20 19:10:36 +08:00
2019-08-16 17:32:45 +08:00
- [#414](https://github.com/hyperf-cloud/hyperf/pull/414) Fixed WebSocketExceptionHandler typo
2019-08-21 11:21:43 +08:00
- [#424](https://github.com/hyperf-cloud/hyperf/pull/424) Fixed proxy configuration of `Hyperf\Guzzle\CoroutineHandler` does not support array parameter.
2019-08-21 11:16:45 +08:00
- [#430](https://github.com/hyperf-cloud/hyperf/pull/430) Fixed file() method of Request will threw an exception, when upload files with same name of form.
2019-08-21 11:21:43 +08:00
- [#431](https://github.com/hyperf-cloud/hyperf/pull/431) Fixed missing parameters of the grpc request.
2019-08-16 17:32:45 +08:00
2019-08-20 19:15:45 +08:00
## Deprecated
2019-08-21 16:42:22 +08:00
- [#425](https://github.com/hyperf-cloud/hyperf/pull/425) Marked `Hyperf\HttpServer\HttpServerFactory`, `Hyperf\JsonRpc\HttpServerFactory`, `Hyperf\JsonRpc\TcpServerFactory` as deprecated, will be removed in `v1.1`.
2019-08-20 19:15:45 +08:00
2019-08-15 09:30:35 +08:00
# v1.0.11 - 2019-08-15
2019-08-03 09:14:01 +08:00
2019-08-04 09:16:21 +08:00
## Added
2019-08-13 21:52:37 +08:00
- [#366](https://github.com/hyperf-cloud/hyperf/pull/366) Added `Hyperf\Server\Listener\InitProcessTitleListener` to init th process name, also added `Hyperf\Framework\Event\OnStart` and `Hyperf\Framework\Event\OnManagerStart` events.
2019-08-15 09:30:35 +08:00
- [#389](https://github.com/hyperf-cloud/hyperf/pull/389) Added Snowflake component.
2019-08-09 11:17:18 +08:00
2019-08-09 01:54:34 +08:00
## Fixed
2019-08-15 00:06:17 +08:00
- [#361](https://github.com/hyperf-cloud/hyperf/pull/361) Fixed command `db:model` does not works in `MySQL 8`.
- [#369](https://github.com/hyperf-cloud/hyperf/pull/369) Fixed the exception which implemented `\Serializable`, call `serialize()` and `unserialize()` functions failed.
2019-08-13 13:58:22 +08:00
- [#384](https://github.com/hyperf-cloud/hyperf/pull/384) Fixed the `ExceptionHandler` that user defined does not works, because the framework has handled the exception automatically.
2019-08-13 16:57:00 +08:00
- [#370](https://github.com/hyperf-cloud/hyperf/pull/370) Fixed set the error type client to `Hyperf\GrpcClient\BaseClient`, and added default content-type `application/grpc+proto` to the Request object, also allows the grpc client that user-defined to override the `buildRequest()` method to create a new Request object.
2019-08-09 12:48:38 +08:00
2019-08-09 13:02:21 +08:00
## Changed
2019-08-15 00:06:17 +08:00
- [#356](https://github.com/hyperf-cloud/hyperf/pull/356) [#390](https://github.com/hyperf-cloud/hyperf/pull/390) Optimized aysnc-queue when push a job that implemented `Hyperf\Contract\CompressInterface`, will compress the job to a small object automatically.
2019-08-13 21:52:37 +08:00
- [#358](https://github.com/hyperf-cloud/hyperf/pull/358) Only write the annotation cache file when `$enableCache` is `true`.
2019-08-15 00:06:17 +08:00
- [#359](https://github.com/hyperf-cloud/hyperf/pull/359) [#390](https://github.com/hyperf-cloud/hyperf/pull/390) Added compression ability for `Collection` and `Model`, if the object implemented `Hyperf\Contract\CompressInterface`, then the object could compress to a small one by call `compress` method.
2019-08-09 13:02:21 +08:00
2019-08-09 01:54:34 +08:00
# v1.0.10 - 2019-08-09
2019-08-03 09:14:01 +08:00
2019-08-04 09:16:21 +08:00
## Added
2019-08-09 01:54:34 +08:00
- [#321](https://github.com/hyperf-cloud/hyperf/pull/321) Adding custom object types of array support for the Controller/RequestHandler parameter of HTTP Server, especially for JSON RPC HTTP Server, now you can get support for auto-deserialization of objects by defining `@var Object[]` on the method.
2019-08-04 09:16:21 +08:00
- [#324](https://github.com/hyperf-cloud/hyperf/pull/324) Added NodeRequestIdGenerator, an implementation of `Hyperf\Contract\IdGeneratorInterface`
2019-08-09 01:54:34 +08:00
- [#336](https://github.com/hyperf-cloud/hyperf/pull/336) Added Dynamic Proxy RPC Client.
2019-08-07 14:57:43 +08:00
- [#346](https://github.com/hyperf-cloud/hyperf/pull/346) [#348](https://github.com/hyperf-cloud/hyperf/pull/348) Added filesystem driver for `hyperf/cache`.
2019-08-04 09:16:21 +08:00
2019-08-04 21:48:51 +08:00
## Changed
2019-08-09 01:54:34 +08:00
- [#330](https://github.com/hyperf-cloud/hyperf/pull/330) Hidden the scan message of DI when $paths is empty.
- [#328](https://github.com/hyperf-cloud/hyperf/pull/328) Added support for user defined project path according to the rules defined by composer.json's psr-4 autoload.
- [#329](https://github.com/hyperf-cloud/hyperf/pull/329) Optimized exception handler of rpc-server and json-rpc component.
- [#340](https://github.com/hyperf-cloud/hyperf/pull/340) Added support for `make` function accept index-based array as parameters.
2019-08-07 17:38:15 +08:00
- [#349](https://github.com/hyperf-cloud/hyperf/pull/349) Renamed the class name below, fixed the typo.
2019-08-07 17:33:41 +08:00
2019-08-09 01:54:34 +08:00
| Before | After |
2019-08-07 17:33:41 +08:00
|:----------------------------------------------:|:-----------------------------------------------:|
| Hyperf\Database\Commands\Ast\ModelUpdateVistor | Hyperf\Database\Commands\Ast\ModelUpdateVisitor |
| Hyperf\Di\Aop\ProxyClassNameVistor | Hyperf\Di\Aop\ProxyClassNameVisitor |
2019-08-07 17:35:55 +08:00
| Hyperf\Di\Aop\ProxyCallVistor | Hyperf\Di\Aop\ProxyCallVisitor |
2019-08-04 21:48:51 +08:00
2019-08-03 13:23:50 +08:00
## Fixed
2019-08-09 01:54:34 +08:00
- [#325](https://github.com/hyperf-cloud/hyperf/pull/325) Fixed check the service registration status via consul services more than one times.
- [#332](https://github.com/hyperf-cloud/hyperf/pull/332) Fixed type error in `Hyperf\Tracer\Middleware\TraceMiddeware`, only appears in openzipkin/zipkin v1.3.3+.
- [#333](https://github.com/hyperf-cloud/hyperf/pull/333) Fixed Redis::delete() method has been removed in redis 5.0+.
- [#334](https://github.com/hyperf-cloud/hyperf/pull/334) Fixed the configuration fetch from aliyun acm is not work expected in some case.
- [#337](https://github.com/hyperf-cloud/hyperf/pull/337) Fixed the server will return 500 Response when the key of header is not a string.
- [#338](https://github.com/hyperf-cloud/hyperf/pull/338) Fixed the problem of `ProviderConfig::load` will convert a string to a array when the dependencies has the same key in deep merging.
2019-08-03 13:23:50 +08:00
2019-08-03 09:14:01 +08:00
# v1.0.9 - 2019-08-03
2019-07-31 11:00:25 +08:00
2019-08-02 10:37:25 +08:00
## Added
- [#317](https://github.com/hyperf-cloud/hyperf/pull/317) Added composer-json-fixer and Optimized composer.json. @[wenbinye](https://github.com/wenbinye)
2019-08-02 11:32:48 +08:00
- [#320](https://github.com/hyperf-cloud/hyperf/pull/320) DI added support for closure definition.
2019-08-02 10:37:25 +08:00
2019-08-01 09:38:41 +08:00
## Fixed
2019-08-01 09:43:00 +08:00
- [#300](https://github.com/hyperf-cloud/hyperf/pull/300) Let message queues run in sub-coroutines. Fixed async queue attempts twice to handle message, but only once actually.
2019-08-01 09:38:41 +08:00
- [#305](https://github.com/hyperf-cloud/hyperf/pull/305) Fixed `$key` of method `Arr::set` not support `int` and `null`.
2019-08-01 17:42:19 +08:00
- [#312](https://github.com/hyperf-cloud/hyperf/pull/312) Fixed amqp process collect listener will be handled later than the process boot listener.
2019-08-01 18:24:39 +08:00
- [#315](https://github.com/hyperf-cloud/hyperf/pull/315) Fixed config etcd center not work after worker restart or in user process.
2019-08-02 10:09:01 +08:00
- [#318](https://github.com/hyperf-cloud/hyperf/pull/318) Fixed service will register to service center ceaselessly.
2019-08-01 09:38:41 +08:00
2019-08-02 13:38:34 +08:00
## Changed
- [#323](https://github.com/hyperf-cloud/hyperf/pull/323) Force convert type of `$ttl` in annotation `Cacheable` and `CachePut` into int.
2019-07-31 11:00:25 +08:00
# v1.0.8 - 2019-07-31
2019-07-26 12:39:52 +08:00
2019-07-31 00:24:42 +08:00
## Added
2019-07-27 10:24:11 +08:00
2019-07-29 10:19:32 +08:00
- [#276](https://github.com/hyperf-cloud/hyperf/pull/276) Amqp consumer support multi routing_key.
2019-07-27 10:24:11 +08:00
- [#277](https://github.com/hyperf-cloud/hyperf/pull/277) Added etcd client and etcd config center.
2019-07-31 00:24:42 +08:00
## Changed
- [#297](https://github.com/hyperf-cloud/hyperf/pull/297) If register service failed, then sleep 10s and re-register, also hided the useless exception message when register service failed.
2019-07-31 13:42:53 +08:00
- [#298](https://github.com/hyperf-cloud/hyperf/pull/298) [#301](https://github.com/hyperf-cloud/hyperf/pull/301) Adapted openzipkin/zipkin v1.3.3+
2019-07-31 00:24:42 +08:00
## Fixed
2019-07-27 09:01:59 +08:00
- [#271](https://github.com/hyperf-cloud/hyperf/pull/271) Fixed aop only rewrite the first method in classes and method patten is not work.
2019-07-29 16:06:35 +08:00
- [#285](https://github.com/hyperf-cloud/hyperf/pull/285) Fixed anonymous class should not rewrite in proxy class.
2019-07-29 16:01:53 +08:00
- [#286](https://github.com/hyperf-cloud/hyperf/pull/286) Fixed not auto rollback when forgotten to commit or rollback in multi transactions.
2019-07-30 10:12:46 +08:00
- [#292](https://github.com/hyperf-cloud/hyperf/pull/292) Fixed `$default` is not work in method `Request::header`.
2019-07-30 14:46:05 +08:00
- [#293](https://github.com/hyperf-cloud/hyperf/pull/293) Fixed `$key` of method `Arr::get` not support `int` and `null`.
2019-07-26 12:39:52 +08:00
# v1.0.7 - 2019-07-26
2019-07-24 10:48:35 +08:00
2019-07-24 17:17:32 +08:00
## Fixed
- [#266](https://github.com/hyperf-cloud/hyperf/pull/266) Fixed timeout when produce a amqp message.
2019-07-26 14:07:04 +08:00
- [#273](https://github.com/hyperf-cloud/hyperf/pull/273) Fixed all services have been registered to Consul will be deleted by the last register action.
2019-07-26 15:16:40 +08:00
- [#274](https://github.com/hyperf-cloud/hyperf/pull/274) Fixed the content type of view response.
2019-07-24 17:17:32 +08:00
2019-07-24 02:31:36 +08:00
# v1.0.6 - 2019-07-24
2019-07-17 11:11:13 +08:00
2019-07-22 01:17:16 +08:00
## Added
2019-07-24 02:28:13 +08:00
- [#203](https://github.com/hyperf-cloud/hyperf/pull/203) [#236](https://github.com/hyperf-cloud/hyperf/pull/236) [#247](https://github.com/hyperf-cloud/hyperf/pull/247) [#252](https://github.com/hyperf-cloud/hyperf/pull/252) Added View component, support for Blade engine and Smarty engine.
- [#203](https://github.com/hyperf-cloud/hyperf/pull/203) Added support for Swoole Task mechanism.
2019-07-22 02:11:35 +08:00
- [#245](https://github.com/hyperf-cloud/hyperf/pull/245) Added TaskWorkerStrategy and WorkerStrategy crontab strategies.
2019-07-24 10:07:56 +08:00
- [#251](https://github.com/hyperf-cloud/hyperf/pull/251) Added coroutine memory driver for cache.
2019-07-23 19:13:59 +08:00
- [#254](https://github.com/hyperf-cloud/hyperf/pull/254) Added support for array value of `RequestMapping::$methods`, `@RequestMapping(methods={"GET"})` and `@RequestMapping(methods={RequestMapping::GET})` are available now.
2019-07-23 20:13:21 +08:00
- [#255](https://github.com/hyperf-cloud/hyperf/pull/255) Transfer `Hyperf\Utils\Contracts\Arrayable` result of Request to Response automatically, and added `text/plain` content-type header for string Response.
2019-07-24 02:01:48 +08:00
- [#256](https://github.com/hyperf-cloud/hyperf/pull/256) If `Hyperf\Contract\IdGeneratorInterface` exist, the `json-rpc` client will generate a Request ID via IdGenerator automatically, and stored in Request attibute. Also added support for service register and health checks of `jsonrpc` TCP protocol.
2019-07-22 02:11:35 +08:00
## Changed
2019-07-24 02:28:13 +08:00
- [#247](https://github.com/hyperf-cloud/hyperf/pull/247) Use `WorkerStrategy` as the default crontab strategy.
- [#256](https://github.com/hyperf-cloud/hyperf/pull/256) Optimized error handling of json-rpc, server will response a standard json-rpc error object when the rpc method does not exist.
2019-07-22 01:17:16 +08:00
2019-07-19 11:22:55 +08:00
## Fixed
2019-07-20 10:57:23 +08:00
- [#235](https://github.com/hyperf-cloud/hyperf/pull/235) Added default exception handler for `grpc-server` and optimized code.
2019-07-19 11:22:55 +08:00
- [#240](https://github.com/hyperf-cloud/hyperf/pull/240) Fixed OnPipeMessage event will be dispatch by another listener.
2019-07-24 02:28:13 +08:00
- [#257](https://github.com/hyperf-cloud/hyperf/pull/257) Fixed cannot get the Internal IP in some special environment.
2019-07-17 11:11:13 +08:00
2019-07-24 02:31:36 +08:00
# v1.0.5 - 2019-07-17
2019-07-09 18:02:51 +08:00
2019-07-10 22:18:08 +08:00
## Added
2019-07-17 12:00:15 +08:00
- [#185](https://github.com/hyperf-cloud/hyperf/pull/185) [#224](https://github.com/hyperf-cloud/hyperf/pull/224) Added support for xml format of response.
2019-07-14 09:38:44 +08:00
- [#202](https://github.com/hyperf-cloud/hyperf/pull/202) Added trace message when throw a uncaptured exception in function `go`.
2019-07-17 01:19:21 +08:00
- [#138](https://github.com/hyperf-cloud/hyperf/pull/138) [#197](https://github.com/hyperf-cloud/hyperf/pull/197) Added crontab component.
2019-07-10 22:18:08 +08:00
2019-07-17 01:21:33 +08:00
## Changed
2019-07-12 17:08:46 +08:00
2019-07-12 17:20:42 +08:00
- [#195](https://github.com/hyperf-cloud/hyperf/pull/195) Changed the behavior of parameter `$times` of `retry()` function, means the retry times of the callable function.
2019-07-13 03:25:50 +08:00
- [#198](https://github.com/hyperf-cloud/hyperf/pull/198) Optimized `has()` method of `Hyperf\Di\Container`, if pass a un-instantiable object (like an interface) to `$container->has($interface)`, the method result is `false` now.
2019-07-13 13:07:43 +08:00
- [#199](https://github.com/hyperf-cloud/hyperf/pull/199) Re-produce one times when the amqp message produce failure.
2019-07-13 13:05:49 +08:00
- [#200](https://github.com/hyperf-cloud/hyperf/pull/200) Make tests directory out of production package.
2019-07-12 17:08:46 +08:00
2019-07-09 18:02:51 +08:00
## Fixed
- [#176](https://github.com/hyperf-cloud/hyperf/pull/176) Fixed TypeError: Return value of LengthAwarePaginator::nextPageUrl() must be of the type string or null, none returned.
2019-07-11 16:47:34 +08:00
- [#188](https://github.com/hyperf-cloud/hyperf/pull/188) Fixed proxy of guzzle client does not work expected.
2019-07-16 14:51:02 +08:00
- [#211](https://github.com/hyperf-cloud/hyperf/pull/211) Fixed rpc client will be replaced by the latest one.
2019-07-16 13:49:05 +08:00
- [#212](https://github.com/hyperf-cloud/hyperf/pull/212) Fixed config `ssl_key` and `cert` of guzzle client does not work expected.
2019-07-09 18:02:51 +08:00
2019-07-08 23:52:51 +08:00
# v1.0.4 - 2019-07-08
2019-07-02 10:59:16 +08:00
2019-07-04 19:59:09 +08:00
## Added
2019-07-02 17:21:15 +08:00
2019-07-08 00:23:38 +08:00
- [#140](https://github.com/hyperf-cloud/hyperf/pull/140) Support Swoole v4.4.0.
2019-07-08 10:27:50 +08:00
- [#163](https://github.com/hyperf-cloud/hyperf/pull/163) Added custom arguments support to AbstractConstants::__callStatic in `hyperf/constants`.
2019-07-02 10:59:16 +08:00
2019-07-17 01:21:33 +08:00
## Changed
2019-07-04 18:51:16 +08:00
2019-07-04 19:59:09 +08:00
- [#124](https://github.com/hyperf-cloud/hyperf/pull/124) Added `$delay` parameter for `DriverInterface::push`, and marked `DriverInterface::delay` method to deprecated.
2019-07-08 00:21:42 +08:00
- [#125](https://github.com/hyperf-cloud/hyperf/pull/125) Changed the default value of parameter $default of config() function to null.
2019-07-04 19:59:09 +08:00
2019-07-17 01:21:33 +08:00
## Fixed
2019-07-04 19:59:09 +08:00
- [#110](https://github.com/hyperf-cloud/hyperf/pull/110) [#111](https://github.com/hyperf-cloud/hyperf/pull/111) Fixed Redis::select is not work expected.
2019-07-05 10:44:13 +08:00
- [#131](https://github.com/hyperf-cloud/hyperf/pull/131) Fixed property middlewares not work in `Router::addGroup`.
2019-07-05 18:05:17 +08:00
- [#132](https://github.com/hyperf-cloud/hyperf/pull/132) Fixed request->hasFile does not work expected.
- [#135](https://github.com/hyperf-cloud/hyperf/pull/135) Fixed response->redirect does not work expected.
2019-07-06 13:33:04 +08:00
- [#139](https://github.com/hyperf-cloud/hyperf/pull/139) Fixed the BaseUri of ConsulAgent will be replaced by default BaseUri.
2019-07-08 00:21:42 +08:00
- [#148](https://github.com/hyperf-cloud/hyperf/pull/148) Fixed cannot generate the migration when migrates directory does not exist.
2019-07-07 18:50:13 +08:00
- [#152](https://github.com/hyperf-cloud/hyperf/pull/152) Fixed db connection will not be closed when a low use frequency.
2019-07-08 17:10:30 +08:00
- [#169](https://github.com/hyperf-cloud/hyperf/pull/169) Fixed array parse failed when handle http request.
2019-07-08 18:15:39 +08:00
- [#170](https://github.com/hyperf-cloud/hyperf/pull/170) Fixed websocket server interrupt when request a not exist route.
2019-07-04 18:51:16 +08:00
2019-07-17 01:21:33 +08:00
## Removed
- [#131](https://github.com/hyperf-cloud/hyperf/pull/131) Removed `server` property from Router options.
2019-07-02 10:59:16 +08:00
# v1.0.3 - 2019-07-02
2019-06-25 16:27:31 +08:00
2019-06-25 18:43:34 +08:00
## Added
2019-06-26 20:50:44 +08:00
- [#48](https://github.com/hyperf-cloud/hyperf/pull/48) Added WebSocket Client.
2019-06-26 20:51:24 +08:00
- [#51](https://github.com/hyperf-cloud/hyperf/pull/51) Added property `enableCache` to `DefinitionSource` to enable annotation cache.
2019-06-27 16:42:59 +08:00
- [#61](https://github.com/hyperf-cloud/hyperf/pull/61) Added property type of `Model` created by command `db:model`.
2019-06-28 11:48:57 +08:00
- [#65](https://github.com/hyperf-cloud/hyperf/pull/65) Added JSON support for model-cache.
2019-07-02 14:19:57 +08:00
- Added WebSocket Server.
2019-06-25 18:43:34 +08:00
## Changed
2019-06-26 20:50:44 +08:00
- [#46](https://github.com/hyperf-cloud/hyperf/pull/46) Removed hyperf/framework requirement of `hyperf/di`, `hyperf/command` and `hyperf/dispatcher`.
2019-06-25 18:43:34 +08:00
## Fixed
2019-06-26 20:50:44 +08:00
- [#45](https://github.com/hyperf-cloud/hyperf/pull/55) Fixed http server start failed, when the skeleton included `hyperf/websocket-server`.
- [#55](https://github.com/hyperf-cloud/hyperf/pull/55) Fixed the method level middleware annotation.
2019-07-02 14:11:38 +08:00
- [#73](https://github.com/hyperf-cloud/hyperf/pull/73) Fixed short name is not work for `db:model`.
- [#88](https://github.com/hyperf-cloud/hyperf/pull/88) Fixed prefix is not right in deep directory.
2019-07-02 10:26:23 +08:00
- [#101](https://github.com/hyperf-cloud/hyperf/pull/101) Fixed constants resolution failed when no message annotation exists.
2019-06-25 18:43:34 +08:00
# v1.0.2 - 2019-06-25
2019-06-25 16:27:31 +08:00
## Added
2019-06-26 20:50:44 +08:00
- [#25](https://github.com/hyperf-cloud/hyperf/pull/25) Added Travis CI.
- [#29](https://github.com/hyperf-cloud/hyperf/pull/29) Added some paramater of `Redis::connect`.
2019-06-25 16:27:31 +08:00
## Fixed
- Fixed http server will be affected of websocket server.
- Fixed proxy class
- Fixed database pool will be fulled in testing.
- Fixed co-phpunit work not expected.
- Fixed model event `creating`, `updating` ... not work expected.
- Fixed `flushContext` not work expected for testing.