mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-11-30 02:37:58 +08:00
20 KiB
20 KiB
v1.0.16 - TBD
Added
- #565 Added options config for redis.
Fixed
- #567 Fixed rpc-client
getReturnType
failed, when the name is not equal of service.
v1.0.15 - 2019-09-11
Fixed
- #534 Fixed Guzzle HTTP Client does not handle the response status is equal to
-3
; - #541 Fixed bug grpc client cannot be set correctly.
- #542 Fixed
Hyperf\Grpc\Parser::parseResponse
returns a non-standard error code for grpc. - #551 Fixed infinite loop in grpc client when the server closed the connection.
- #558 Fixed UDP Server does not works.
Deleted
- #545 Deleted useless static methods
restoring
andrestored
of trait SoftDeletes.
Optimized
- #549 Optimized
read
andwrite
ofHyperf\Amqp\Connection\SwooleIO
. - #559 Optimized
redirect
ofHyperf\HttpServer\Response
. - #560 Optimized class
Hyperf\WebSocketServer\CoreMiddleware
.
Deprecated
- #558 Marked
Hyperf\Server\ServerInterface::SERVER_TCP
as deprecated, will be removed inv1.1
.
v1.0.14 - 2019-09-05
Added
- #389 #419 #432 #524 #531 Added snowflake component, snowflake is a distributed global unique ID generation algorithm put forward by Twitter, this component implemented this algorithm for easy to use.
- #525 Added
download()
method ofHyperf\HttpServer\Contract\ResponseInterface
.
Changed
- #482 Re-generate the
fillable
argument of Model when userefresh-fillable
option, at the same time, the command will keep thefillable
argument as default behaviours. - #501 When the path argument of Mapping annotation is an empty string, then the path is equal to prefix of Controller annotation.
- #513 Rewrite process name with
app_name
. - #508 #526 When execute
Hyperf\Utils\Coroutine::parentId()
static method in non-coroutine context will return null.
Fixed
- #479 Fixed typehint error when host of Elasticsearch client does not reached.
- #514 Fixed redis auth failed when the password is an empty string.
- #527 Fixed translator cannot translate repeatedly.
v1.0.13 - 2019-08-28
Added
- #428 Added an independent component hyperf/translation, forked by illuminate/translation.
- #449 Added standard error code for grpc-server.
- #450 Added comments of static methods for
Hyperf\Database\Schema\Schema
.
Changed
- #451 Removed routes of magic methods from
AuthController
. - #468 Default exception handlers catch all exceptions.
Fixed
- #466 Fixed error when the number of data is not enough to paginate.
- #466 Optimized
vendor:publish
command, if the destination folder exists, then will not repeatedly create the folder.
v1.0.12 - 2019-08-21
Added
- #405 Added Context::override() method.
- #415 Added handlers configuration for logger, now you could config multiple handlers to logger.
Changed
- #431 The third parameter of Hyperf\GrpcClient\GrpcClient::openStream() have been removed.
Fixed
- #414 Fixed WebSocketExceptionHandler typo
- #424 Fixed proxy configuration of
Hyperf\Guzzle\CoroutineHandler
does not support array parameter. - #430 Fixed file() method of Request will threw an exception, when upload files with same name of form.
- #431 Fixed missing parameters of the grpc request.
Deprecated
- #425 Marked
Hyperf\HttpServer\HttpServerFactory
,Hyperf\JsonRpc\HttpServerFactory
,Hyperf\JsonRpc\TcpServerFactory
as deprecated, will be removed inv1.1
.
v1.0.11 - 2019-08-15
Added
- #366 Added
Hyperf\Server\Listener\InitProcessTitleListener
to init th process name, also addedHyperf\Framework\Event\OnStart
andHyperf\Framework\Event\OnManagerStart
events. - #389 Added Snowflake component.
Fixed
- #361 Fixed command
db:model
does not works inMySQL 8
. - #369 Fixed the exception which implemented
\Serializable
, callserialize()
andunserialize()
functions failed. - #384 Fixed the
ExceptionHandler
that user defined does not works, because the framework has handled the exception automatically. - #370 Fixed set the error type client to
Hyperf\GrpcClient\BaseClient
, and added default content-typeapplication/grpc+proto
to the Request object, also allows the grpc client that user-defined to override thebuildRequest()
method to create a new Request object.
Changed
- #356 #390 Optimized aysnc-queue when push a job that implemented
Hyperf\Contract\CompressInterface
, will compress the job to a small object automatically. - #358 Only write the annotation cache file when
$enableCache
istrue
. - #359 #390 Added compression ability for
Collection
andModel
, if the object implementedHyperf\Contract\CompressInterface
, then the object could compress to a small one by callcompress
method.
v1.0.10 - 2019-08-09
Added
- #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. - #324 Added NodeRequestIdGenerator, an implementation of
Hyperf\Contract\IdGeneratorInterface
- #336 Added Dynamic Proxy RPC Client.
- #346 #348 Added filesystem driver for
hyperf/cache
.
Changed
- #330 Hidden the scan message of DI when $paths is empty.
- #328 Added support for user defined project path according to the rules defined by composer.json's psr-4 autoload.
- #329 Optimized exception handler of rpc-server and json-rpc component.
- #340 Added support for
make
function accept index-based array as parameters. - #349 Renamed the class name below, fixed the typo.
Before | After |
---|---|
Hyperf\Database\Commands\Ast\ModelUpdateVistor | Hyperf\Database\Commands\Ast\ModelUpdateVisitor |
Hyperf\Di\Aop\ProxyClassNameVistor | Hyperf\Di\Aop\ProxyClassNameVisitor |
Hyperf\Di\Aop\ProxyCallVistor | Hyperf\Di\Aop\ProxyCallVisitor |
Fixed
- #325 Fixed check the service registration status via consul services more than one times.
- #332 Fixed type error in
Hyperf\Tracer\Middleware\TraceMiddeware
, only appears in openzipkin/zipkin v1.3.3+. - #333 Fixed Redis::delete() method has been removed in redis 5.0+.
- #334 Fixed the configuration fetch from aliyun acm is not work expected in some case.
- #337 Fixed the server will return 500 Response when the key of header is not a string.
- #338 Fixed the problem of
ProviderConfig::load
will convert a string to a array when the dependencies has the same key in deep merging.
v1.0.9 - 2019-08-03
Added
- #317 Added composer-json-fixer and Optimized composer.json. @wenbinye
- #320 DI added support for closure definition.
Fixed
- #300 Let message queues run in sub-coroutines. Fixed async queue attempts twice to handle message, but only once actually.
- #305 Fixed
$key
of methodArr::set
not supportint
andnull
. - #312 Fixed amqp process collect listener will be handled later than the process boot listener.
- #315 Fixed config etcd center not work after worker restart or in user process.
- #318 Fixed service will register to service center ceaselessly.
Changed
- #323 Force convert type of
$ttl
in annotationCacheable
andCachePut
into int.
v1.0.8 - 2019-07-31
Added
Changed
- #297 If register service failed, then sleep 10s and re-register, also hided the useless exception message when register service failed.
- #298 #301 Adapted openzipkin/zipkin v1.3.3+
Fixed
- #271 Fixed aop only rewrite the first method in classes and method patten is not work.
- #285 Fixed anonymous class should not rewrite in proxy class.
- #286 Fixed not auto rollback when forgotten to commit or rollback in multi transactions.
- #292 Fixed
$default
is not work in methodRequest::header
. - #293 Fixed
$key
of methodArr::get
not supportint
andnull
.
v1.0.7 - 2019-07-26
Fixed
- #266 Fixed timeout when produce a amqp message.
- #273 Fixed all services have been registered to Consul will be deleted by the last register action.
- #274 Fixed the content type of view response.
v1.0.6 - 2019-07-24
Added
- #203 #236 #247 #252 Added View component, support for Blade engine and Smarty engine.
- #203 Added support for Swoole Task mechanism.
- #245 Added TaskWorkerStrategy and WorkerStrategy crontab strategies.
- #251 Added coroutine memory driver for cache.
- #254 Added support for array value of
RequestMapping::$methods
,@RequestMapping(methods={"GET"})
and@RequestMapping(methods={RequestMapping::GET})
are available now. - #255 Transfer
Hyperf\Utils\Contracts\Arrayable
result of Request to Response automatically, and addedtext/plain
content-type header for string Response. - #256 If
Hyperf\Contract\IdGeneratorInterface
exist, thejson-rpc
client will generate a Request ID via IdGenerator automatically, and stored in Request attibute. Also added support for service register and health checks ofjsonrpc
TCP protocol.
Changed
- #247 Use
WorkerStrategy
as the default crontab strategy. - #256 Optimized error handling of json-rpc, server will response a standard json-rpc error object when the rpc method does not exist.
Fixed
- #235 Added default exception handler for
grpc-server
and optimized code. - #240 Fixed OnPipeMessage event will be dispatch by another listener.
- #257 Fixed cannot get the Internal IP in some special environment.
v1.0.5 - 2019-07-17
Added
- #185 #224 Added support for xml format of response.
- #202 Added trace message when throw a uncaptured exception in function
go
. - #138 #197 Added crontab component.
Changed
- #195 Changed the behavior of parameter
$times
ofretry()
function, means the retry times of the callable function. - #198 Optimized
has()
method ofHyperf\Di\Container
, if pass a un-instantiable object (like an interface) to$container->has($interface)
, the method result isfalse
now. - #199 Re-produce one times when the amqp message produce failure.
- #200 Make tests directory out of production package.
Fixed
- #176 Fixed TypeError: Return value of LengthAwarePaginator::nextPageUrl() must be of the type string or null, none returned.
- #188 Fixed proxy of guzzle client does not work expected.
- #211 Fixed rpc client will be replaced by the latest one.
- #212 Fixed config
ssl_key
andcert
of guzzle client does not work expected.
v1.0.4 - 2019-07-08
Added
- #140 Support Swoole v4.4.0.
- #163 Added custom arguments support to AbstractConstants::__callStatic in
hyperf/constants
.
Changed
- #124 Added
$delay
parameter forDriverInterface::push
, and markedDriverInterface::delay
method to deprecated. - #125 Changed the default value of parameter $default of config() function to null.
Fixed
- #110 #111 Fixed Redis::select is not work expected.
- #131 Fixed property middlewares not work in
Router::addGroup
. - #132 Fixed request->hasFile does not work expected.
- #135 Fixed response->redirect does not work expected.
- #139 Fixed the BaseUri of ConsulAgent will be replaced by default BaseUri.
- #148 Fixed cannot generate the migration when migrates directory does not exist.
- #152 Fixed db connection will not be closed when a low use frequency.
- #169 Fixed array parse failed when handle http request.
- #170 Fixed websocket server interrupt when request a not exist route.
Removed
- #131 Removed
server
property from Router options.
v1.0.3 - 2019-07-02
Added
- #48 Added WebSocket Client.
- #51 Added property
enableCache
toDefinitionSource
to enable annotation cache. - #61 Added property type of
Model
created by commanddb:model
. - #65 Added JSON support for model-cache.
- Added WebSocket Server.
Changed
- #46 Removed hyperf/framework requirement of
hyperf/di
,hyperf/command
andhyperf/dispatcher
.
Fixed
- #45 Fixed http server start failed, when the skeleton included
hyperf/websocket-server
. - #55 Fixed the method level middleware annotation.
- #73 Fixed short name is not work for
db:model
. - #88 Fixed prefix is not right in deep directory.
- #101 Fixed constants resolution failed when no message annotation exists.
v1.0.2 - 2019-06-25
Added
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.