Releases: temporalio/sdk-php
Releases · temporalio/sdk-php
v2.5.4
v2.5.3
v2.5.2
What's Changed
- Fix
stdClass
unmarshalling by @roxblnfk in #327 - Fix PHP 8.2 types unmarshalling (
null
,false
,true
) by @roxblnfk in #329 - Provide the PHP-SDK version to RoadRunner and Temporal Server by @roxblnfk in #326
- Add Semgrep scanning by @jackdawm in #310
New Contributors
Full Changelog: v2.5.1...v2.5.2
v2.5.1
v2.5.0
What's Changed
- PHP Attributes: replace
implements NamedArgumentConstructorAttribute
with the attributeNamedArgumentConstructor
by @msmakouz in #292
That required for a better compatibility with the doctrine/annotations v2 - Update PHP RoadRunner packages versions by @roxblnfk in #297
New major versions was of the packages are related to the new RoadRunner 2023.1 release - Expand list of retryable gRPC errors by @roxblnfk in #298
Note: in the case when a Temporal server is unavailable and by the reason a Client call can't be completed, it might retry infinitely without a limited retry gRPC call policy. - Add supporting for
UndefinedResponse
command by @roxblnfk in #300
The command will be sent instead of logic exception throwing. The command is available since RoadRunner 2023.1
Full Changelog: v2.4.1...v2.5.0
v2.4.1
What's Changed
- Fix mapping for the
Memo
field in #290
It fixes two problems:- the problem where
WorkflowInfo
doesnt retrieve the correct info when usingWorker::getInfo()
; - the problem where
Workflow::getInfo()->searchableAttributes
isnull
.
- the problem where
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
- Marshaller upgrade by @roxblnfk and @zlodes in #278, #284, #275 (see below)
- The default value of Activity's
taskQueue
was changed from"default"
tonull
by @ruscon in #270 - An error will be passed into activity finalizer if it happens during activity execution by @seregazhuk in #267
- Testing and CI fixes:
Marshaller upgrade
- The
#[Marshal]
attribute now has the$nullable
parameter. You don't need to use theNullableType::class
value
as the$type
argument inside the#[Marshal]
attribute.Note:
#[MarshallArray]
has different default value for the$nullable
parameter.
That was made to prevent incompatible behavior (see #245). - The
#[Marshal]
attribute can be nested. You can put another#[Marshal]
attribute as the$to
argument for
NullableType
andArrayType
. ArrayType
can now processiterable
type automatically.EnumType
added by default in the type list by default for PHP >=8.1.ObjectType
:- now supports DTOs with
readonly
fields; - can process nested objects. Nested objects can have
#[Marshal]
attributes.
- now supports DTOs with
DateTimeType
now supports mutable and immutable DateTime types:- in a
DateTimeImmutable
property aDateTimeImmutable
object will be unmarshalled; - in a
DateTime
property aDateTime
object will be unmarshalled; - in a
Carbon\CarbonImmutable
property aCarbon\CarbonImmutable
object will be unmarshalled; - in a
DateTimeInterface
orCarbon\Carbon
property aCarbon\Carbon
object will be unmarshalled; - to change default behavior you can pass to the
#[Marshal]
attribute the needed class name as the$of
argument.
- in a
Changes and deprecations:
- The method
ObjectType::instance()
has been marked as deprecated. - Marshaller will throw a detailed exception about invalid argument value during unmarshalling.
-
Warning: marshalling rules that was got from the
#[Marshal]
attribute now are stricter than before.
All attributed properties with nullable type will be not nullable by default (excluding#[ArrayType]
).
In the case when thenull
value is passed, an exception will be thrown.
In this case you just need to remove the#[Marshal]
attribute or set the$nullable
parameter totrue
.
Full Changelog: v2.3.2...v2.4.0
v2.3.2
v2.3.1
What's Changed
- Fix aggregation for garbage (cyclic references) in Activity worker by @roxblnfk in #266
- Fix supporting for
?array
type in DTOs without attributes by @roquie in #245 - Fix psalm issues by @roxblnfk in #262
- Extend supported
google/common-protos
versions by @cappuc in #265
Full Changelog: v2.3.0...v2.3.1
v2.3.0
What's Changed
- Workflow Interface Inheritance now works correctly. By @smelesh in #250
Documentation
Full Changelog: v2.2.1...v2.3.0