Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.17.0
->^3.0.0
^3.22.1
->^4.0.0
Release Notes
laminas/laminas-serializer (laminas/laminas-serializer)
v3.0.0
Compare Source
Release Notes for 3.0.0
Backwards incompatible release (major)
With v3.0.0, a huge maintenance release is rolled out.
Every property and every method is now fully typed, starting with method arguments up to object properties.
These kind of changes were necessary due to the changes in
laminas-servicemanager
v4.0.0 which is also fully typed starting with v4.0.To reduce further maintenance effort, some niche serializers were dropped in favor or faster CI pipelines and due to the lack of cross-platform checks. Laminas wants to provide fully tested code which was not properly possible for at least the
Wddx
adapter.The migration guide is available on the documentation website:
https://docs.laminas.dev/laminas-serializer/v3/migration/to-version-3/
Breaking Changes
Removed
Laminas\Serializer\Serializer
is removed in favor of proper dependency injectionLaminas\Serializer\Adapter\MsgPack
is removed to reduce the amount of maintenance within this componentLaminas\Serializer\Adapter\PythonPickle
is removed to reduce the amount of maintenance within this componentLaminas\Serializer\Adapter\Wddx
is removed to reduce the amount of maintenance within this componentChanged
Laminas\Serializer\Serializer
, projects now have to either instantiate the default serializer implementation or inject it by consuming theLaminas\Serializer\Adapter\AdapterInterface
serviceAdded
Laminas\Serializer\GenericSerializerFactory
in case projects want to re-configure the default serializer (PhpSerialize
) provided by theLaminas\Serializer\Adapter\AdapterInterface
servicelaminas/laminas-servicemanager
v4.0.0 and thereforepsr/container
v2.0.03.0.0
Documentation
Enhancement
laminas/laminas-servicemanager
to v4.1.0+ thanks to @boesinglaminas-servicemanager
thanks to @boesingDocumentation,Enhancement
BC Break,Enhancement,Feature Removal
BC Break,Enhancement
laminas-servicemanager
v4.0 thanks to @boesingBC Break,Documentation,Enhancement
BC Break,RFC
MsgPack
,PhpCode
,PythonPickle
andWddx
thanks to @boesinglaminas/laminas-servicemanager (laminas/laminas-servicemanager)
v4.1.0
Compare Source
Release Notes for 4.1.0
Feature release (minor)
4.1.0
Documentation
Documentation,Enhancement
ServiceLocatorInterface#get()
generic thanks to @InvisibleSmileyv4.0.2
Compare Source
Release Notes for 4.0.2
4.0.x bugfix release (patch)
4.0.2
Bug,Documentation
v4.0.1
Compare Source
Release Notes for 4.0.1
4.0.x bugfix release (patch)
4.0.1
Bug,Documentation
v4.0.0
Compare Source
Release Notes for 4.0.0
Release Notes for 4.0.0
laminas-servicemanager
4.0.0 is here and finally enables projects to consumepsr/container
v2.0.0 after 2 years along with several type-additions and plugin manager decoupling.The migration guide is not written yet but will be at some point (once we added support for SM v4 to other components) later.
Added
ServiceManager#get
,PluginManagerInterface#get
andServiceLocatorInterface#build
now explicitly implementmixed
as return-type to synchronize types withContainerInterface#get
psr/container
v1.1 and v2.0ReflectionBasedAbstractFactory
vialaminas-cli
Removed
Laminas\ServiceManager\AbstractFactoryInterface
Laminas\ServiceManager\FactoryInterface
Laminas\ServiceManager\InitializerInterface
Laminas\ServiceManager\DelegatorFactoryInterface
vendor/bin
are removed in favor of thelaminas-cli
integration. All CLI commands of v3.x are accessible viavendor/bin/laminas servicemanager:<v3.x command name>
oncelaminas/laminas-cli
is required in the projects dependenciesConfigInterface
andConfig
-class since these files did not provide any validation logic and were just used to proxy the configuration array structureAbstractPluginManager#validate
andAbstractPluginManager::$instanceOf
property as in v3.x, implementing plugin managers were able to implicitlyvalidate
mixed
. In case an implementing plugin manager is providing a single$instanceOf
such aslaminas-cache
, there is a new classAbstractSingleInstancePluginManager
available which requires the$instanceOf
property to be configuredBreaking Changes
AbstractPluginManager
does not extendServiceManager
anymore and instead uses an ownServiceManager
instance under the hood to manage plugin manager related services which can be configured the same way as in v3.xvendor/bin
are now integrated vialaminas-cli
and can be called viavendor/bin/laminas
oncelaminas/laminas-cli
is part of the projects requirements. Read more about how to consume these commands here.AbstractPluginManager
does not provide thevalidate
-Method anymore and requires migration action such as:AbstractSingleInstancePluginManager
in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the$instanceOf
property now requires nativestring
property type)validate
method and verify whatever type has to be returned and/or just allowmixed
as v3.x did when omitting$instanceOf
propertyConfigInterface
andConfig
-class since these files did not provide any validation logic and were just used to proxy the configuration array structureServiceManager
norAbstractPluginManager
do validate the provided configuration at runtime anymore. due to the psalm-types provided toServiceManager#__construct
,ServiceManager#configure
,AbstractPluginManager#__construct
andAbstractPluginManager#configure
, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtimeAbstractPluginManager#get
does not accept options anymore, in case an instance with options needs to be created,AbstractPluginManager#build
has to be used4.0.0
Enhancement
$this
toself
thanks to @boesingReflectionBasedAbstractFactory
mapped factories thanks to @boesingBC Break,Enhancement
psr/container
v2 thanks to @boesing and @danielspkServiceManager#getServiceLocator
method thanks to @boesingServiceManager
inheritance forAbstractPluginManager
thanks to @boesingRFC
AbstractPluginManager#validate
thanks to @boesingServiceManager
asfinal
and changeAbstractPluginManager
to use composition over inheritance thanks to @boesingBC Break
container-interop/container-interop
polyfill thanks to @boesingrenovate
Bug
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
Read more information about the use of Renovate Bot within Laminas.