Release v3.0.0 #5274
limingxinleo
started this conversation in
General
Release v3.0.0
#5274
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
^8.0
for all components;BC breaks
@Annotation
support, and usesPHP8
native annotationAttribute
. Before updating, be sure to check whether the project has been replaced byAttribute
.The following script can be executed to convert
Doctrine Annotations
toPHP8 Attributes
.Note: This script can only be executed under version 2.2
composer require hyperf/code-generator php vendor/bin/regenerate-models.php $PWD/app/Model
2.2
to3.0
, you need to run a static check to make sure it is works.Http status
returned bygRPC Server
according to thegRPC
specification. It is fixed at 200, andgRPC Server
returns the correspondingstatus code
. Service upgrade to version 3.xDependencies Upgrade
php-amqplib/php-amqplib
to^3.1
;phpstan/phpstan
to^1.0
;mix/redis-subscribe
tomix/redis-subscriber:^3.0
psr/simple-cache
to^1.0|^2.0|^3.0
monolog/monolog
to^2.7|^3.1
league/flysystem
to^1.0|^2.0|^3.0
Added
Hyperf\Amqp\IO\IOFactory
which used to create amqp io by yourself.$suffix
for traitHyperf\Utils\Traits\StaticInstance
.$description
which used to set command description easily forHyperf\Command\Command
.Hyperf\Utils\IPReader
to get local IP.Hyperf\Coordinator\Timer
which can be stopped safely.Conditionable::when()
andConditionable::unless()
.Hyperf\Utils\Stringable
implementsStringable
.socketio-server
.NullDisableEventDispatcher
to disable event dispatcher by default.Scene
which use scene in FormRequest easily.Db::beforeExecuting()
to register a hook which to be run just before a database query is executed.ConsumerMessageInterface::getNums()
to change the number of amqp consumer by dynamically.LoadBalancerInterface::afterRefreshed()
to register a hook which to be run after refresh nodes.amqp.enable
which used to control amqp consumer whether to start automatically and producer whether to declare automatically.hyperf/database-pgsql
which you can be used to connect pgsql server.Hyperf\Database\Model\Concerns\HasAttributes::getRawOriginal()
.symfony.event.enable
to control whether to useSymfonyEventDispatcher
.Pipeline::thenReturn()
method to run pipes and return the result$dictionary
forStr::slug
, your can rewrite some tags easily.config
for commandserver:watch
.CacheAhead
which used to cache data ahead.Hyperf\WebSocketServer\Sender::getResponses()
.defer_release
config inhyperf/db
ext-posix
forwatcher
.Optimized
http://xxx.com/yyy/
instead ofhttp://xxx.com:8848/
to connectnacos
.DataFormatterInterface
which uses object instead of array as inputs.Str::contains
Str::startsWith
andStr::endsWith
based onPHP8
.Hyperf\Context\Context
which supportcoroutineId
forset()
override()
andgetOrSet()
.Hyperf\Utils\Str
whose methodspadBoth
padLeft
andpadRight
supportmultibyte
.SafeCaller
to avoid server shutdown which caused by exceptions.Redis::isConnected()
, because it could be connected defer or reconnected after disconnected.wait
instead ofparallel
for coroutine style tcp server.ignoreAnnotations
forAnnotation Reader
.Hyperf\Di\ClassLoader::$proxies
, because merge it intoComposer\Autoload\ClassLoader::$classMap
.Hyperf\Database\Model\Concerns\HasEvents::fireModelEvent()
.call()
fromCoroutine::create()
.Hyperf\Di\ClassLoader
and OptimizedComposer::getLoader()
.ConfirmableTrait
, such asmigrate
command.socketio-server
.call()
fromcallable function
.defer
by default.Changed
public
property$message
toprotected
forHyperf\AsyncQueue\Event\Event
.$circularDependences
to$checkCircularDependencies
forDag
.hyperf/coordinator
fromhyperf/utils
.0
from1
.Hyperf\Kafka\Exception\ConnectionCLosedException
toHyperf\Kafka\Exception\ConnectionClosedException
.Hyperf\Database\Model\Builder::insertOrIgnore
will be return affected count.null
forHyperf\DbConnection\Db::__connection()
.??
instead of?:
for$callback
when usingStringable::when()
.Hyperf\Engine\Channel
instead ofHyperf\Coroutine\Channel
inhyperf/reactive-x
.void
forHyperf\Event\Contract\ListenerInterface::process()
.PHP
>=8.0
.ProcessManager
when server shutdown.$value.timeout
to$options.timeout
forCircuitBreaker
.AnnotationManager::getFormatedKey()
toAnnotationManager::getFormattedKey()
.NoNodesAvailableException
when cannot select any node from load balancer.settings.pid_file
is null when using swow server.hyperf/devtool
or set them inautoload/commands
.Trace Annotation
, because don't support array.Hyperf\Framework\SymfonyEventDispatcher
by default, if you listen symfony events, you must opensymfony.event.enable
.(string) $throwable
instead ofsprintf
forHyperf\ExceptionHandler\Formatter\FormatterInterface::format()
.Jsonable
andXmlable
tocontract
fromutils
.MessageBag
andMessageProvider
tocontract
fromutils
.$server
inHyperf\WebSocketServer\Server::deferOnOpen()
tomixed
.chunkById
but the column is not existed.Swow Supported
hyperf/amqp
.Hyperf\Utils\Coroutine\Locker
.Hyperf\Utils\WaitGroup
.Swoole\Coroutine\Channel
byHyperf\Engine\Channel
for all components.hyperf/websocket-server
.hyperf/load-balancer
.hyperf/server
.hyperf/retry
.hyperf/pool
.hyperf/crontab
.hyperf/nsq
.hyperf/signal
.Removed
Hyperf\AsyncQueue\Signal\DriverStopHandler
.Hyperf\Utils\Resource
.Hyperf\Utils\Context
, please useHyperf\Context\Context
instead.hyperf/filesystem
.doctrine/annotations
, please usePHP8 Attributes
.WARNING
log message when amqp connection restart.Deprecated
Hyperf\Utils\Contracts\Arrayable
will be deprecated, please useHyperf\Contract\Arrayable
instead.Hyperf\AsyncQueue\Message
will be deprecated, please useHyperf\AsyncQueue\JobMessage
instead.Hyperf\Di\Container::getDefinitionSource()
will be deprecated.Fixed
PhpParser::getExprFromValue()
does not support assoc array.$description
and$signature
forhyperf/command
.socket-io
client always reconnect when using coroutine style server.ProxyTrait::__getParamsMap
can not work when using trait alias.RedisAdapter::mixSubscribe
cannot work cased by redis prefix when usingsocketio-server
.ComponentTagCompiler::escapeSingleQuotesOutsideOfPhpBlocks()
cannot work.Swow
.rpc-multiplex
.//foo
) when the routing prefix is end of '/'.Parallel
.continue
cannot work when usingview-engine
.pgsql
.Request::parseHost
does not work when host is invalid.RedisSentinel
can't support empty password.PGSqlSwooleConnection::affectingStatement()
can't work when thesql
is wrong.KeepaliveConnection::isTimeout()
can't work when using swow.di
.This discussion was created from the release Release v3.0.0.
Beta Was this translation helpful? Give feedback.
All reactions