Upcoming Changes

Here is an overview of all changes, that are about to be released. Missing content you've previously seen here? Then it has been released. Check out the documentation search or browse the other changelogs.

Bridge Shopware Platform

Added

  • Add composer dependency heptacom/heptaconnect-ui-admin-symfony: ^0.9 to provide CLI commands
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Storage\PrimaryKeyToEntityHydrator
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Emission\EmitterStackProcessor as Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Emission\EmissionFlowEmittersFactory as Heptacom\HeptaConnect\Core\Emission\Contract\EmissionFlowEmittersFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackProcessor as Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackProcessorInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Exploration\DirectEmissionFlowEmittersFactory as Heptacom\HeptaConnect\Core\Exploration\Contract\DirectEmissionFlowEmittersFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Exploration\ExplorationFlowExplorersFactory as Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationFlowExplorersFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Reception\ReceptionFlowReceiversFactory as Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionFlowReceiversFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleFlowHttpHandlersFactory as Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleFlowHttpHandlersFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Job\Transition\EmittedEntitiesToReceiveJobsConverter as Heptacom\HeptaConnect\Core\Job\Transition\Contract\EmittedEntitiesToJobsConverterInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Job\Transition\ExploredPrimaryKeysToEmissionJobsConverter as Heptacom\HeptaConnect\Core\Job\Transition\Contract\ExploredPrimaryKeysToJobsConverterInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Portal\PackageQueryMatcher as Heptacom\HeptaConnect\Core\Portal\Contract\PackageQueryMatcherInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationProcessorService as Heptacom\HeptaConnect\Core\Configuration\Contract\PortalNodeConfigurationProcessorServiceInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditableDataSerializer as Heptacom\HeptaConnect\Core\Ui\Admin\Audit\Contract\AuditTrailDataSerializerInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory as Heptacom\HeptaConnect\Core\Ui\Admin\Audit\Contract\AuditTrailFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeAliasResolver as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Support\PortalNodeAliasResolverInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeExistenceSeparator as Heptacom\HeptaConnect\Core\Ui\Admin\Support\Contract\PortalNodeExistenceSeparatorInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Support\StorageKeyAccessorInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\Context\UiActionContextFactory as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\UiActionContextFactoryInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobRunUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Job\JobRunUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobScheduleUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Job\JobScheduleUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalEntityListUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Portal\PortalEntityListUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationGetUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeConfigurationGetUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationRenderUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeConfigurationRenderUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeEntityListUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeEntityListUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionBrowseUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionBrowseUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStatusReportUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeStatusReportUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionActivateUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionActivateUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionDeactivateUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionDeactivateUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeAddUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeRemoveUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeRemoveUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStorageGetUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeStorageGetUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\RouteAddUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUiDefault as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteAddUiDefaultProviderInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteBrowseUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteBrowseUiActionInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteRemoveUi as Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteRemoveUiActionInterface
  • Add service container parameter heptacom_heptaconnect.emission_flow.job_dispatch_batch_size to influence batch size parameter in \Heptacom\HeptaConnect\Core\Emission\EmissionFlowEmittersFactory
  • Add service container parameter heptacom_heptaconnect.direct_emission_flow.identity_batch_size to influence batch size parameter in \Heptacom\HeptaConnect\Core\Exploration\DirectEmissionFlowEmittersFactory
  • Add service container parameter heptacom_heptaconnect.exploration.job_batch_size to influence batch size parameter in \Heptacom\HeptaConnect\Core\Exploration\ExplorationFlowExplorersFactory
  • Add service container parameter heptacom_heptaconnect.exploration.identity_batch_size to influence batch size parameter in \Heptacom\HeptaConnect\Core\Exploration\ExplorationFlowExplorersFactory
  • Add service container parameter heptacom_heptaconnect.exploration.direct_emission_batch_size to influence batch size parameter in \Heptacom\HeptaConnect\Core\Exploration\ExplorationFlowExplorersFactory
  • Add service definition Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailBeginActionInterface provided by Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface
  • Add service definition Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailEndActionInterface provided by Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface
  • Add service definition Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogErrorActionInterface provided by Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface
  • Add service definition Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogOutputActionInterface provided by Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Web\Http\RequestDeserializer as Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestDeserializerInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Web\Http\RequestSerializer as Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestSerializerInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemPacker as Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemPackerInterface
  • Add service definition based upon class \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemUnpacker as Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemUnpackerInterface
  • The base-url can now be controlled via an environment variable APP_URL. If set, the environment variable will take precedence over the value from the database.

Changed

  • Switch parameter in Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationInstructionProcessor from Heptacom\HeptaConnect\Storage\Base\Contract\StorageKeyGeneratorContract to Heptacom\HeptaConnect\Core\Portal\Contract\PackageQueryMatcherInterface
  • Switch parameter in Heptacom\HeptaConnect\Portal\Base\Flow\DirectEmission\DirectEmissionFlowContract from Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface to Heptacom\HeptaConnect\Core\Exploration\Contract\DirectEmissionFlowEmittersFactoryInterface and Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface
  • Switch parameter in Heptacom\HeptaConnect\Core\Emission\EmitService from Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface to Heptacom\HeptaConnect\Core\Emission\Contract\EmissionFlowEmittersFactoryInterface and Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface
  • Switch parameter in Heptacom\HeptaConnect\Core\Exploration\ExploreService from Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface to Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationFlowExplorersFactoryInterface and Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackProcessorInterface
  • Switch parameter in Heptacom\HeptaConnect\Core\Portal\PortalStorageFactory from Heptacom\HeptaConnect\Portal\Base\Serialization\Contract\NormalizationRegistryContract to Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemPackerInterface and Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemUnpackerInterface
  • Rename service Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionActorInterface to Heptacom\HeptaConnect\Core\Reception\Contract\ReceiverStackProcessorInterface to match class and interface rename
  • Rename service Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlingActorInterface to Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerStackProcessorInterface to match class and interface rename
  • Add parameter of Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionFlowReceiversFactoryInterface to service definition Heptacom\HeptaConnect\Core\Reception\ReceiveService
  • Add parameter of Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleFlowHttpHandlersFactoryInterface to service definition Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleServiceInterface
  • Remove command heptaconnect:job:run from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\Job\Run in favour of job:run shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:portal-node:extensions:list from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\PortalNode\Extension\ListExtensions in favour of portal:node:extension:browse shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:portal-node:status:report from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\PortalNode\ReportPortalNode in favour of portal:node:status:report and portal:node:healthy shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:portal-node:extensions:activate from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\PortalNode\Extension\ActivateExtension in favour of portal:node:extension:activate shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:portal-node:extensions:deactivate from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\PortalNode\Extension\DeactivateExtension in favour of portal:node:extension:deactivate shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:portal-node:add from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\PortalNode\AddPortalNode in favour of portal:node:add shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:router:add-route from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\Router\AddRoute in favour of route:add shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove command heptaconnect:router:remove-route from Heptacom\HeptaConnect\Bridge\ShopwarePlatform\Command\Router\RemoveRoute in favour of route:remove shipped with composer dependency heptacom/heptaconnect-ui-admin-symfony
  • Remove heptacom_heptaconnect.logger dependency from \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedPostProcessor
  • Switch parameter in Heptacom\HeptaConnect\Core\Storage\Contract\RequestStorageContract from Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestNormalizer and Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestDenormalizer to Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestSerializerInterface and Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestDeserializerInterface
  • Extract dependency tagged: heptaconnect_core.portal_node_configuration.processor from Heptacom\HeptaConnect\Core\Configuration\Contract\ConfigurationServiceInterface into own service Heptacom\HeptaConnect\Core\Configuration\Contract\PortalNodeConfigurationProcessorServiceInterface

Deprecated

  • Service definition Heptacom\HeptaConnect\Core\Storage\PrimaryKeyToEntityHydrator is deprecated as the class itself is also deprecated and will be removed in future major version

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API
  • Remove service definition Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface as Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface is preferred
  • Remove service definition Heptacom\HeptaConnect\Core\Exploration\ExplorationActor as Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackProcessorInterface is preferred

Read the already released Bridge Shopware Platform changelog

Core

Added

  • Move \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterStack out of heptaconnect/portal-base into this package as \Heptacom\HeptaConnect\Core\Emission\EmitterStack
  • Move \Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerStack out of heptaconnect/portal-base into this package as \Heptacom\HeptaConnect\Core\Exploration\ExplorerStack
  • Add $entityType parameter to \Heptacom\HeptaConnect\Core\Exploration\ExplorerStack::__construct to implement new \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerStackInterface::supports
  • Move \Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverStack out of heptaconnect/portal-base into this package as \Heptacom\HeptaConnect\Core\Reception\ReceiverStack
  • Add implementation \Heptacom\HeptaConnect\Core\Job\Transition\EmittedEntitiesToReceiveJobsConverter and its interface \Heptacom\HeptaConnect\Core\Job\Transition\Contract\EmittedEntitiesToJobsConverterInterface to convert results of an emission into receive jobs
  • Add log message code 1661091900 to \Heptacom\HeptaConnect\Core\Job\Transition\EmittedEntitiesToReceiveJobsConverter::convert when conversion resulted in no jobs, which can be ok, but is important to know, when looking into failing transfer
  • Add implementation \Heptacom\HeptaConnect\Core\Job\Transition\ExploredPrimaryKeysToEmissionJobsConverter and its interface \Heptacom\HeptaConnect\Core\Job\Transition\Contract\ExploredPrimaryKeysToJobsConverterInterface to convert results of an exploration into emission jobs
  • Add log message code 1661091901 to \Heptacom\HeptaConnect\Core\Job\Transition\ExploredPrimaryKeysToEmissionJobsConverter::convert when conversion resulted in no jobs, which can be ok, but is important to know, when looking into failing transfer
  • Add log message code 1661818271 to \Heptacom\HeptaConnect\Core\Reception\LockingReceiver when unlocking of a lock failed
  • Add log message code 1661818272 to \Heptacom\HeptaConnect\Core\Reception\LockingReceiver when even after retrying the reception could not be locked
  • Add log message code 1662200022 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditableDataSerializer::serialize when the auditable data object fails at exposing auditable data
  • Add log message code 1662200023 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditableDataSerializer::serialize when json_encode can not compose a JSON string
  • Add log message code 1662200024 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditableDataSerializer::serialize when auditable data throws an exception during serialization
  • Add \Heptacom\HeptaConnect\Core\Storage\PrimaryKeyToEntityHydrator to create instances of entities with any primary key. This code is not useful for long and therefore does not receive an interface and is just an extraction refactoring of already existing code
  • Add \Heptacom\HeptaConnect\Core\Emission\ReceiveJobDispatchingEmitter to dispatch receive jobs from any emission stack, where this emitter is pushed onto
  • Add \Heptacom\HeptaConnect\Core\Exploration\AbstractBufferedResultProcessingExplorer as base class for explorer, which capture stack processing and process the captured data in batches
  • Add \Heptacom\HeptaConnect\Core\Emission\AbstractBufferedResultProcessingEmitter as base class for emitter, which capture stack processing and process the captured data in batches
  • Add \Heptacom\HeptaConnect\Core\Emission\EmissionFlowEmittersFactory described in \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionFlowEmittersFactoryInterface to return emitters, that provide core functionality for the emission flow
  • Add \Heptacom\HeptaConnect\Core\Exploration\DirectEmissionFlowEmittersFactory described in \Heptacom\HeptaConnect\Core\Exploration\Contract\DirectEmissionFlowEmittersFactoryInterface to return emitters, that provide core functionality for the direct emission flow
  • Add \Heptacom\HeptaConnect\Core\Exploration\ExplorationFlowExplorersFactory described in \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationFlowExplorersFactoryInterface to return explorers, that provide core functionality for the exploration flow
  • Add \Heptacom\HeptaConnect\Core\Reception\ReceptionFlowReceiversFactory described in \Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionFlowReceiversFactoryInterface to return receivers, that provide core functionality for the reception flow
  • Add \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleFlowHttpHandlersFactory described in \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleFlowHttpHandlersFactoryInterface to return HTTP handlers, that provide core functionality for the HTTP handle flow
  • Add implementation \Heptacom\HeptaConnect\Core\Portal\PortalNodeContainerFacade and its contract \Heptacom\HeptaConnect\Core\Portal\Contract\PortalNodeContainerFacadeContract to have a typed interface onto \Psr\Container\ContainerInterface
  • Add exception code 1666461305 to \Heptacom\HeptaConnect\Core\Portal\PortalNodeContainerFacade::__construct when the given container does not contain all necessary services, that explicitly are exposed by the facade
  • Extract query matching from \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationInstructionProcessor into \Heptacom\HeptaConnect\Core\Portal\PackageQueryMatcher described by \Heptacom\HeptaConnect\Core\Portal\Contract\PackageQueryMatcherInterface
  • Add UI audit trail class to stateful log a UI actions behaviour described in \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\Contract\AuditTrailInterface, implemented in \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrail, \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\NullAuditTrail and factorized by \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory described in \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\Contract\AuditTrailFactoryInterface
  • Add \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditableDataSerializer described in \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\Contract\AuditableDataSerializerInterface to transform auditable data into a string for storing later
  • Add \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeExistenceSeparator described by \Heptacom\HeptaConnect\Core\Ui\Admin\Support\Contract\PortalNodeExistenceSeparatorInterface with \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeExistenceSeparationResult to split portal nodes into the groups: preview portal node keys, portal node keys found in the storage and those, which are missing
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\Context\UiActionContext for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\UiActionContextInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\Context\UiActionContextFactory for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\UiActionContextFactoryInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeAliasResolver for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Support\PortalNodeAliasResolverInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Support\StorageKeyAccessorInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobRunUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Job\JobRunUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobScheduleUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Job\JobScheduleUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalEntityListUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Portal\PortalEntityListUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeEntityListUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeEntityListUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionBrowseUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionBrowseUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStatusReportUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeStatusReportUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionActivateUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionActivateUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionDeactivateUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeExtensionDeactivateUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStorageGetUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeStorageGetUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeAddUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeRemoveUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeRemoveUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationGetUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeConfigurationGetUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationRenderUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\PortalNode\PortalNodeConfigurationRenderUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteAddUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteBrowseUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteBrowseUiActionInterface
  • Add implementation \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteRemoveUi for \Heptacom\HeptaConnect\Ui\Admin\Base\Contract\Action\Route\RouteRemoveUiActionInterface
  • Add exception code 1655051115 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeAliasResolver::resolve when resolving the give portal node alias has no result
  • Add exception code 1650732001 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeExistenceSeparationResult::throwWhenKeysAreMissing when a portal node key does not refer to a known portal node
  • Add exception code 1650732002 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\PortalNodeExistenceSeparationResult::throwWhenPreviewKeysAreGiven when a portal node key does not refer to a known portal node but a preview portal instead
  • Add exception code 1660417907 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::deserialize when the given storage key data is not compatible with the storage implementation
  • Add exception code 1660417908 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::serialize when the given storage key is not compatible with the storage implementation
  • Add exception code 1660417909 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::exists when the given storage key is not compatible with the storage implementation
  • Add exception code 1660417910 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::exists when the given storage key is not supported in existence checks
  • Add exception code 1660417911 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::exists when the given storage key existence check failed in the storage implementation
  • Add exception code 1660417912 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::serialize when serialization failed in the storage implementation
  • Add exception code 1660417913 to \Heptacom\HeptaConnect\Core\Ui\Admin\Support\StorageKeyAccessor::deserialize when deserialization failed in the storage implementation
  • Add exception code 1659721163 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobRunUi::run when one of the given jobs are not found in the job storage
  • Add exception code 1659721164 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobRunUi::run when running the jobs fails at one point
  • Add exception code 1677424700 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\JobScheduleUi::schedule when one of the given jobs are not found in the job storage
  • Add exception code 1663051795 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalEntityListUi::list when reading entity support fails
  • Add exception code 1650142326 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionActivateUi::activate when the given query does not match any supporting portal extension
  • Add exception code 1650142327 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionActivateUi::activate when all matched portal extensions are already active on the portal node
  • Add exception code 1650731999 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionDeactivateUi::deactivate when the given query does not match any supporting portal extension
  • Add exception code 1650732000 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeExtensionDeactivateUi::deactivate when all matched portal extensions are already inactive on the portal node
  • Add exception code 1673129100 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStorageGetUi::get when looking up a portal node key failed in the storage implementation
  • Add exception code 1673129102 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStorageGetUi::get when a requested storage key is not a scalar value
  • Add exception code 1673129103 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeStorageGetUi::get when accessing data from the portal node storage failed
  • Add exception code 1650718860 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi::add when portal node alias validation fails due to a storage exception
  • Add exception code 1650718861 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi::add when the portal node alias is already taken
  • Add exception code 1650718862 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi::add when portal node creation fails due to a storage exception
  • Add exception code 1650718863 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeAddUi::add when portal node creation did not create a portal node
  • Add exception code 1650758000 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeRemoveUi::remove when reading known portal nodes from storage fails
  • Add exception code 1650758002 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeRemoveUi::remove when deleting portal nodes fails in storage
  • Add exception code 1670832600 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationGetUi::get when reading portal nodes to validate their existence fails due to a storage exception
  • Add exception code 1670832602 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\PortalNodeConfigurationGetUi::get when reading portal node configuration fails due to a storage exception
  • Add exception code 1654573095 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUi::add when one of the requested route payloads already exists
  • Add exception code 1654573097 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUi::add when route creation did not create the expected routes
  • Add exception code 1654573098 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteAddUi::add when route creation fails due to a storage exception
  • Add exception code 1670625000 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteBrowseUi::browse when the given sorting direction is not supported
  • Add exception code 1670625001 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteBrowseUi::browse when the given field to sort by is not supported
  • Add exception code 1659293800 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteRemoveUi::remove when reading known routes from storage fails
  • Add exception code 1659293801 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteRemoveUi::remove when route that does not exist is tried to be deleted
  • Add exception code 1659293802 to \Heptacom\HeptaConnect\Core\Ui\Admin\Action\RouteRemoveUi::remove when deleting routes fails in storage
  • Add exception code 1663677420 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory::create when starting an audit trail failed and a no-op trail is used instead
  • Add exception code 1663677421 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory::create when logging any output to an audit trail failed
  • Add exception code 1663677422 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory::create when logging any exception to an audit trail failed
  • Add exception code 1663677423 to \Heptacom\HeptaConnect\Core\Ui\Admin\Audit\AuditTrailFactory::create when marking an audit trail as finished
  • Extract deserialization logic of \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestDenormalizer into \Heptacom\HeptaConnect\Core\Web\Http\RequestDeserializer described by \Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestDeserializerInterface and \Heptacom\HeptaConnect\Core\Web\Http\Exception\RequestDeserializationException to be explicitly used independent from \Heptacom\HeptaConnect\Core\Storage\NormalizationRegistry
  • Add exception code 1666451009 to \Heptacom\HeptaConnect\Core\Web\Http\RequestDeserializer::deserialize when the given request data is not valid JSON
  • Extract serialization logic of \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestNormalizer into \Heptacom\HeptaConnect\Core\Web\Http\RequestSerializer described by \Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestSerializerInterface and \Heptacom\HeptaConnect\Core\Web\Http\Exception\RequestSerializationException to be explicitly used independent from \Heptacom\HeptaConnect\Core\Storage\NormalizationRegistry
  • Add exception code 1666451010 to \Heptacom\HeptaConnect\Core\Web\Http\RequestSerializer::serialize when the given request cannot be serialized into JSON
  • Add constant \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder::PORTAL_CONFIGURATION_PARAMETER_PREFIX, that is preceding a portal node configuration binding aliases

Changed

  • Argument of type \Psr\Container\ContainerInterface in \Heptacom\HeptaConnect\Core\Portal\AbstractPortalNodeContext::__construct, \Heptacom\HeptaConnect\Core\Exploration\ExploreContext::__construct, \Heptacom\HeptaConnect\Core\Emission\EmitContext::__construct, \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::__construct, \Heptacom\HeptaConnect\Core\StatusReporting\StatusReportingContext::__construct and \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleContext::__construct is expected of type \Heptacom\HeptaConnect\Core\Portal\Contract\PortalNodeContainerFacadeContract instead
  • Return type of \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerFactory::create is now \Heptacom\HeptaConnect\Core\Portal\Contract\PortalNodeContainerFacadeContract which inherits the previous return type
  • Change $entityType parameter in \Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackBuilderFactoryInterface::createEmitterStackBuilder, \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::__construct, \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilderFactory::createEmitterStackBuilder, \Heptacom\HeptaConnect\Core\Exploration\DirectEmitter::__construct, \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface::performExploration, \Heptacom\HeptaConnect\Core\Exploration\ExplorationActor::performExploration, \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackBuilderFactoryInterface, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::__construct, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilderFactory::createExplorerStackBuilder, \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::__construct, \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::setEntityType, \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiverStackBuilderFactoryInterface::createReceiverStackBuilder, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::__construct, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilderFactory::createReceiverStackBuilder and \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::__construct to be a \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Change $dataTypes parameter in \Heptacom\HeptaConnect\Core\Exploration\ExploreService::explore, \Heptacom\HeptaConnect\Core\Exploration\ExploreService::dispatchExploreJob, \Heptacom\HeptaConnect\Core\Exploration\Contract\ExploreServiceInterface::explore and \Heptacom\HeptaConnect\Core\Exploration\Contract\ExploreServiceInterface::dispatchExploreJob to be a \Heptacom\HeptaConnect\Dataset\Base\EntityTypeCollection instead of an array of string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::getEntityType, \Heptacom\HeptaConnect\Core\Mapping\MappingStruct::getEntityType and \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::getForeignEntityType to be \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Update implementation \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable to match changes in \Heptacom\HeptaConnect\Dataset\Base\Contract\ForeignKeyAwareInterface
  • Change $class parameter in \Heptacom\HeptaConnect\Core\Portal\Contract\PortalFactoryContract::instantiatePortal to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalType instead of a string for better type safe class strings
  • Change $class parameter in \Heptacom\HeptaConnect\Core\Portal\Contract\PortalFactoryContract::instantiatePortalExtension to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionType instead of a string for better type safe class strings
  • Change $emissionActor parameter in \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\DirectEmissionFlow::__construct to be a \Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface and a \Heptacom\HeptaConnect\Core\Exploration\Contract\DirectEmissionFlowEmittersFactoryInterface instead of a \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface to control the contents of the direct emission stack
  • Change $emissionActor parameter in \Heptacom\HeptaConnect\Core\Emission\EmitService::__construct to be a \Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface and a \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionFlowEmittersFactoryInterface instead of a \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface to control the contents of the emission stack
  • Change $explorationActor parameter in \Heptacom\HeptaConnect\Core\Exploration\ExploreService::__construct to be a \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackProcessorInterface and a \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationFlowExplorersFactoryInterface instead of a \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface to control the contents of the exploration stack
  • Replace \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface partially with stack processing service described in \Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackProcessorInterface, that is implemented by \Heptacom\HeptaConnect\Core\Emission\EmitterStackProcessor
  • Replace \Heptacom\HeptaConnect\Core\Emission\Contract\EmissionActorInterface partially with job dispatching from emitter stacks in \Heptacom\HeptaConnect\Core\Emission\ReceiveJobDispatchingEmitter
  • Replace \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface partially with stack processing service described in \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackProcessorInterface, that is implemented by \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackProcessor
  • Replace \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface partially with job dispatching from explorer stacks in \Heptacom\HeptaConnect\Core\Exploration\EmissionJobDispatchingExplorer
  • Replace \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface partially with triggering emission stack processing for direct emission in \Heptacom\HeptaConnect\Core\Exploration\DirectEmittingExplorer
  • Replace \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface partially with entities' identities existence ensuring explorer in \Heptacom\HeptaConnect\Core\Exploration\IdentityMappingExplorer
  • Replace \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface partially with entities' identities existence ensuring emitter for direct emission in \Heptacom\HeptaConnect\Core\Emission\IdentityMappingEmitter
  • Rename interface \Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionActorInterface to \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiverStackProcessorInterface to match restructure of other flow components into same pattern
  • Rename class \Heptacom\HeptaConnect\Core\Reception\ReceptionActor to \Heptacom\HeptaConnect\Core\Reception\ReceiverStackProcessor to match restructure of other flow components into same pattern
  • Rename interface \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlingActorInterface to \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerStackProcessorInterface to match restructure of other flow components into same pattern
  • Rename class \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlingActor to \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackProcessor to match restructure of other flow components into same pattern
  • Add parameter of \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleFlowHttpHandlersFactoryInterface to \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleService to extend HTTP handle flow by core HTTP handlers
  • Add parameter of \Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionFlowReceiversFactoryInterface to \Heptacom\HeptaConnect\Core\Reception\ReceiveService to extend reception flow by core receivers
  • Extract reception locking and release from \Heptacom\HeptaConnect\Core\Reception\ReceiveService into \Heptacom\HeptaConnect\Core\Reception\LockingReceiver and \Heptacom\HeptaConnect\Core\Reception\Support\LockAttachable
  • Change composer dependency composer/composer:>=1.9 to composer/composer:^2.2.6 to ensure \Composer\Repository\InstalledRepositoryInterface::getDevMode exists and always support loading dev-packages
  • Use \Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestSerializerInterface and \Heptacom\HeptaConnect\Core\Web\Http\Contract\RequestDeserializerInterface in \Heptacom\HeptaConnect\Core\Storage\RequestStorage instead of \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestNormalizer and \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestDenormalizer to allow for implementation change
  • Add exception code 1647801830 in return callable from \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\PortalNodeConfigurationHelper::json when the JSON file can not be read from the filesystem
  • Add exception code 1637432096 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableCompressNormalizer::normalize when original normalized value is not a string
  • Make classes final: \Heptacom\HeptaConnect\Core\Component\Composer\PackageConfiguration and \Heptacom\HeptaConnect\Core\Flow\MessageQueueFlow\MessageHandler
  • Implement \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalNodeContextInterface::getLogger in \Heptacom\HeptaConnect\Core\Portal\AbstractPortalNodeContext::getLogger by looking up the service in the container
  • Implement \Heptacom\HeptaConnect\Dataset\Base\Contract\AttachmentAwareInterface in \Heptacom\HeptaConnect\Core\Component\Composer\PackageConfiguration
  • Removed logger dependency from \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedPostProcessor
  • Replace union type hints to real union types in \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Config::replace, \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Config::merge, \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Config::set and \Heptacom\HeptaConnect\Core\Exploration\AbstractBufferedResultProcessingExplorer::pushBuffer
  • Split \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\AddPortalConfigurationBindingsCompilerPass into \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\AddConfigurationBindingsCompilerPass and \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\SetConfigurationAsParameterCompilerPass to separate parameter assignment and generating name bindings
  • Extract processing of portal node configuration processors from \Heptacom\HeptaConnect\Core\Configuration\ConfigurationService into \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationProcessorService described by \Heptacom\HeptaConnect\Core\Configuration\Contract\PortalNodeConfigurationProcessorServiceInterface
  • Change composer dependency symfony/dependency-injection: ^4.4 || ^5.0 to symfony/dependency-injection: ^4.4.11 || ^5.0 to ensure auto wiring works with PHP 8 union types
  • Extract packing and unpacking storage related structs from \Heptacom\HeptaConnect\Core\Portal\PortalStorage into \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemPacker described by \Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemPackerInterface and \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemUnpacker described by \Heptacom\HeptaConnect\Core\Portal\Storage\Contract\PortalNodeStorageItemUnpackerInterface and with it moving the dependency \Heptacom\HeptaConnect\Portal\Base\Serialization\Contract\NormalizationRegistryContract
  • Move log message codes 1631562097, 1631562285 and 1631562928 from \Heptacom\HeptaConnect\Core\Portal\PortalStorage to \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemPacker without change in meaning
  • Move log message codes 1651338621 and 1631565257 from \Heptacom\HeptaConnect\Core\Portal\PortalStorage to \Heptacom\HeptaConnect\Core\Portal\Storage\PortalNodeStorageItemUnpacker without change in meaning
  • Make \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract::__construct final as packages are stateless
  • Combine portalNodeKey and path parameter in \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerStackBuilderFactoryInterface::createHttpHandlerStackBuilder and \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilderFactory::createHttpHandlerStackBuilder using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API
  • Remove composer dependency symfony/polyfill-php80 as minimum PHP version is raised to PHP 8.0
  • Remove \Heptacom\HeptaConnect\Core\Portal\Exception\UnexpectedClassInheritanceOnInstantionException and \Heptacom\HeptaConnect\Core\Portal\Exception\ClassNotFoundOnInstantionException as their condition origin will occur earlier related to either \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidClassNameException, \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidSubtypeClassNameException or \Heptacom\HeptaConnect\Dataset\Base\Exception\UnexpectedLeadingNamespaceSeparatorInClassNameException will be thrown instead
  • Remove \Heptacom\HeptaConnect\Core\Portal\Exception\DelegatingLoaderLoadException as \Heptacom\HeptaConnect\Portal\Base\Portal\Exception\DelegatingLoaderLoadException will be thrown instead
  • Remove \Heptacom\HeptaConnect\Core\Portal\Exception\UnexpectedRequiredParameterInConstructorOnInstantionException as \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract::__construct is final and therefore has no unexpected parameters

Read the already released Core changelog

Dataset Base

Added

  • Add \Heptacom\HeptaConnect\Dataset\Base\UnsafeClassString based on class \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract with \Heptacom\HeptaConnect\Dataset\Base\ClassStringReferenceCollection and \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractClassStringReferenceCollection to have a string references, that could be a class-string for better type safe class strings
  • Add base class \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringContract to have a type safe way to make class string references for better type safe class strings
  • Add base class \Heptacom\HeptaConnect\Dataset\Base\Contract\SubtypeClassStringContract to have a type safe way to make class string references that are of a subtype for better type safe class strings
  • Add \Heptacom\HeptaConnect\Dataset\Base\EntityType with \Heptacom\HeptaConnect\Dataset\Base\EntityTypeCollection as a type safe subtype class reference to \Heptacom\HeptaConnect\Dataset\Base\Contract\DatasetEntityContract for better type safe class strings
  • Add \Heptacom\HeptaConnect\Dataset\Base\Contract\DatasetEntityContract::class as factory method to create an instance of \Heptacom\HeptaConnect\Dataset\Base\EntityType for better type safe class strings
  • Add \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidClassNameException, \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidSubtypeClassNameException and \Heptacom\HeptaConnect\Dataset\Base\Exception\UnexpectedLeadingNamespaceSeparatorInClassNameException to reference class-string issues for better type safe class strings
  • Add exception code 1655559294 to \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringContract::__construct when the given class string has a leading namespace separator
  • Add exception code 1655559295 to \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringContract::__construct when the given class string does not refer to an existing class or interface
  • Add exception code 1655559296 to \Heptacom\HeptaConnect\Dataset\Base\Contract\SubtypeClassStringContract::__construct when the given class string is not of the expected type
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::withoutItems from implementation into the interface \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::withoutItems
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::chunk from implementation into the interface \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::chunk
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::asArray from implementation into the interface \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::asArray
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::reverse from implementation into the interface \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::reverse
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::isEmpty from implementation into the interface \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::isEmpty
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::contains to check whether the given item is in the collection
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::containsByEqualsCheck for any extending class to build alternative contains implementations based upon comparison
  • Add method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::asUnique to build a collection with items that are not identical to the other items in the collection
  • Add \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::pushIgnoreInvalidItems as alternative to \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::push to push items into collections, without exceptions on invalid items
  • Add \InvalidArgumentException to \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection using the new method \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::validateItems when items are added, that are not compliant with the collection's validation
  • Add \InvalidArgumentException to \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::offsetGet and \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::offsetSet when items are accessed with keys, that are not numeric

Changed

  • Change return type of \Heptacom\HeptaConnect\Dataset\Base\Contract\ForeignKeyAwareInterface::getForeignEntityType from class-string to \Heptacom\HeptaConnect\Dataset\Base\EntityType to improve type safety for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::filter from Generator to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::filterValid from Generator to iterable
  • Replace type hints to real union types in \Heptacom\HeptaConnect\Dataset\Base\Date::add, \Heptacom\HeptaConnect\Dataset\Base\Date::sub, \Heptacom\HeptaConnect\Dataset\Base\Date::setTime and \Heptacom\HeptaConnect\Dataset\Base\Date::setTimestamp
  • Add implementation reference to \Stringable when __toString is already implemented in \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract
  • Change default value from \Heptacom\HeptaConnect\Dataset\Base\Support\AttachmentAwareTrait::$attachments a new instance to null
  • Change default value from \Heptacom\HeptaConnect\Dataset\Base\Support\DependencyAwareTrait::$dependencies a new instance to null
  • Add possible exception \InvalidArgumentException to be thrown from \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface::push and \Heptacom\HeptaConnect\Dataset\Base\Support\AbstractCollection::__construct when validating items, that are added to the collection items

Deprecated

  • Deprecate \Heptacom\HeptaConnect\Dataset\Base\TypedDatasetEntityCollection::getType in favour of \Heptacom\HeptaConnect\Dataset\Base\TypedDatasetEntityCollection::getEntityType to improve type safety for better type safe class strings
  • Deprecate $type parameter in \Heptacom\HeptaConnect\Dataset\Base\TypedDatasetEntityCollection::__construct to be a string. Prefer an instance of \Heptacom\HeptaConnect\Dataset\Base\EntityType for better type safe class strings

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API
  • Remove \Heptacom\HeptaConnect\Dataset\Base\Contract\DeferralAwareInterface and \Heptacom\HeptaConnect\Dataset\Base\Support\DeferralAwareTrait as it has not been a practical solution to defer closure execution in a different process
  • Remove composer dependency opis/closure as it is no longer needed with the removal of closure deferrals introduced in HEPTAconnect 0.5

Read the already released Dataset Base changelog

Dataset Ecommerce

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API

Read the already released Dataset Base changelog

Portal Base

Added

  • Wrap \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract::supports in new method \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract::getSupportedEntityType to provide an instance of \Heptacom\HeptaConnect\Dataset\Base\EntityType for better type safe class strings
  • Wrap \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract::supports in new method \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract::getSupportedEntityType to provide an instance of \Heptacom\HeptaConnect\Dataset\Base\EntityType for better type safe class strings
  • Wrap \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract::supports in new method \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract::getSupportedEntityType to provide an instance of \Heptacom\HeptaConnect\Dataset\Base\EntityType for better type safe class strings
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\PortalType with \Heptacom\HeptaConnect\Portal\Base\Portal\PortalTypeCollection as a type safe subtype class reference to \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract for better type safe class strings
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\SupportedPortalType as a type safe class reference to \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract for better type safe class strings
  • Add exception code 1659729321 to \Heptacom\HeptaConnect\Portal\Base\Portal\SupportedPortalType when a class string is neither referencing a \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract nor \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract itself
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract::class as factory method to create an instance of \Heptacom\HeptaConnect\Portal\Base\Portal\PortalType for better type safe class strings
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionType with \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionTypeCollection as a type safe subtype class reference to \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalExtensionContract for better type safe class strings
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalExtensionContract::class as factory method to create an instance of \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionType for better type safe class strings
  • Wrap \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalExtensionContract::supports in new method \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalExtensionContract::getSupportedPortal to provide an instance of \Heptacom\HeptaConnect\Portal\Base\Portal\SupportedPortalType for better type safe class strings
  • Add \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerStackInterface::supports to get the entity type of the explorer stack
  • Add \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalNodeContextInterface::getLogger so every context can directly access the portal node focused logger

Changed

  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterStackInterface::supports, \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterStack::supports, \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingInterface::getEntityType and \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingComponentStructContract::getEntityType to be \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Change $type parameter in \Heptacom\HeptaConnect\Portal\Base\Mapping\TypedMappingComponentCollection::__construct to be a \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Change $entityType parameter in \Heptacom\HeptaConnect\Portal\Base\Builder\Token\EmitterToken::__construct, \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ExplorerToken::__construct, \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ReceiverToken::__construct, \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterStack::__construct, \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterCollection::bySupport, \Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerCollection::bySupport, \Heptacom\HeptaConnect\Portal\Base\Mapping\MappingComponentStruct::__construct, \Heptacom\HeptaConnect\Portal\Base\Mapping\MappingComponentCollection::filterByEntityType and \Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverCollection::bySupport to be a \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Lowered visibility of \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract::supports, \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract::supports, \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract::supports and \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalExtensionContract::supports to be protected instead of public
  • Rename method \Heptacom\HeptaConnect\Portal\Base\Builder\Token\EmitterToken::getType to \Heptacom\HeptaConnect\Portal\Base\Builder\Token\EmitterToken::getEntityType with new return type for better type safe class strings
  • Rename method \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ExplorerToken::getType to \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ExplorerToken::getEntityType with new return type for better type safe class strings
  • Rename method \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ReceiverToken::getType to \Heptacom\HeptaConnect\Portal\Base\Builder\Token\ReceiverToken::getEntityType with new return type for better type safe class strings
  • Change $portalClass parameter in \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionCollection::bySupport to be a \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract instead of a string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Mapping\MappingComponentCollection::filterByPortalNodeKey from Generator to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Mapping\MappingComponentCollection::filterByEntityType from Generator to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterCollection::bySupport from iterable to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerCollection::bySupport from iterable to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverCollection::bySupport from iterable to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\StatusReporting\StatusReporterCollection::bySupportedTopic from iterable to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Change return type of \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerCollection::bySupport from iterable to static to improve its code usage for fluent syntax and better accessibility of other collection methods
  • Make class final: \Heptacom\HeptaConnect\Portal\Base\Builder\FlowComponent
  • Add implementation reference to \Stringable when __toString is already implemented in \Heptacom\HeptaConnect\Portal\Base\FlowComponent\CodeOrigin and \Heptacom\HeptaConnect\Portal\Base\Serialization\Contract\SerializableStream

Deprecated

  • Deprecate method \Heptacom\HeptaConnect\Portal\Base\Mapping\TypedMappingComponentCollection::getType in favour of new method \Heptacom\HeptaConnect\Portal\Base\Mapping\TypedMappingComponentCollection::getEntityType for better type safe class strings

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API
  • Move \Heptacom\HeptaConnect\Portal\Base\Emission\EmitterStack out of this package into the heptaconnect/core as \Heptacom\HeptaConnect\Core\Emission\EmitterStack
  • Move \Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerStack out of this package into the heptaconnect/core as \Heptacom\HeptaConnect\Core\Exploration\ExplorerStack
  • Move \Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverStack out of this package into the heptaconnect/core as \Heptacom\HeptaConnect\Core\Reception\ReceiverStack
  • Remove \Heptacom\HeptaConnect\Portal\Base\Mapping\MappedDatasetEntityCollection::groupByPortalNode as usage of \spl_object_hash is discouraged and grouping can be solved in storage implementations more efficiently
  • Move deprecated \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PathMethodsTrait contents into \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract
  • Remove composer dependency opis/closure as it is no longer needed with the removal of closure deferrals as it has not been a practical solution to defer closure execution in a different process

Fixed

  • Flow components allowed class string, that not necessarily have to reference an entity class, as supported entity type. Therefore \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitContextInterface::markAsFailed, \Heptacom\HeptaConnect\Core\Emission\EmitContext::markAsFailed, \Heptacom\HeptaConnect\Portal\Base\Builder\FlowComponent::explorer, \Heptacom\HeptaConnect\Portal\Base\Builder\FlowComponent::emitter, \Heptacom\HeptaConnect\Portal\Base\Builder\FlowComponent::receiver and the new \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract::getSupportedEntityType, \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract::getSupportedEntityType, \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract::getSupportedEntityType throw exception \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidSubtypeClassNameException or \Heptacom\HeptaConnect\Dataset\Base\Exception\InvalidClassNameException on invalid input

Read the already released Portal Base changelog

Portal Local Shopware Platform

Read the already released Portal Local Shopware Platform changelog

Package Shopware 6

Added

  • Add composer dependency heptacom/heptaconnect-dataset-base: >=0.9.4 <0.10 and symfony/dependency-injection: ^4.4 || ^5.0 to make use of HEPTAconnect tools
  • Add composer dependency psr/http-client: ^1.0, psr/http-factory: ^1.0 and psr/http-message: ^1.0 as HTTP request and responses needs to be handled
  • Add composer dependency psr/container: >=1 <3 as a containers are used and an implementation is provided
  • Add composer dependency psr/simple-cache: @stable and psr/simple-cache-implementation and as caching is used as temporary storage
  • Add composer dependency symfony/polyfill-php80: * to use PHP 8.0 functions already with PHP 7.4 code
  • Add composer dependency ext-json: * as JSON requests and responses needs to be sent and parsed
  • Add composer dependency ext-mbstring: * as Unicode texts are processed
  • Add aggregation structs \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationContract, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationCollection, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationResult, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationResultCollection, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationBucket, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\AggregationBucketCollection, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\AbstractFieldAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\AverageAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\CountAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\EntityAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\FilterAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\MaximumAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\MinimumAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\StatisticsAggregation, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\SumAggregation and \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\TermsAggregation to represent all aggregation features
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_MINUTE to hold a value for histograms measured per minute suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_HOUR to hold a value for histograms measured per hour suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_DAY to hold a value for histograms measured per day suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_WEEK to hold a value for histograms measured per week suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_MONTH to hold a value for histograms measured per month suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_QUARTER to hold a value for histograms measured per quarter year suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::INTERVAL_YEAR to hold a value for histograms measured per year suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Aggregation\HistogramAggregation::$interval
  • Add sorting structs \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingContract, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\CountSorting, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\FieldSorting and \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingCollection
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingContract::ASCENDING to hold a value for ascending sorting suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingContract::$direction
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingContract::DESCENDING to hold a value for descending sorting suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\SortingContract::$direction
  • Add filter structs \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\FilterContract, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\FilterCollection, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\AbstractFieldFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\AbstractNestedFilters, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\AbstractTextFieldValueFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\AndFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\ContainsFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\EqualsAnyFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\EqualsFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\MultiFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\NotFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\OrFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\PrefixFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\RangeFilter, \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\SuffixFilter and \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Filter\XorFilter
  • Add query filter structs \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\ScoreQuery and \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\ScoreQueryCollection
  • Add criteria struct \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria to group all features of a entity querying criteria like aggregation, associations, filtering, exact id loading and scoring
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::TOTAL_COUNT_MODE_NONE to hold a value for a criteria, where no count is expected in the result, suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::$totalCountMode
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::TOTAL_COUNT_MODE_NEXT_PAGES to hold a value for a criteria, where a rough count for a next-check is expected in the result, suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::$totalCountMode
  • Add constant \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::TOTAL_COUNT_MODE_EXACT to hold a value for a criteria, where an exact count is expected in the result, suitable for \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Criteria::$totalCountMode
  • Add criteria formatter \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\CriteriaFormatter described by \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\CriteriaFormatterInterface to convert a criteria object into a scalar-only array
  • Add exception code 1682167000 to \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\CriteriaFormatter::formatCriteria when an unsupported aggregation is given
  • Add exception code 1682167001 to \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\CriteriaFormatter::formatCriteria when an unsupported sorting is given
  • Add exception code 1682167002 to \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\CriteriaFormatter::formatCriteria when an unsupported filter is given
  • Add entity struct \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\Entity and collection \Heptacom\HeptaConnect\Package\Shopware6\EntitySearch\Contract\EntityCollection to add supporting methods for lists and structs returned from the API
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\ApiConfigurationStorageInterface to provide \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\ApiConfiguration, that is used to identify and authenticate against a Shopware Admin API
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\MemoryApiConfigurationStorage for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\ApiConfigurationStorageInterface to provide static API configuration
  • Add utility \Heptacom\HeptaConnect\Package\Shopware6\Support\JsonStreamUtility to unify JSON handling
  • Add utility \Heptacom\HeptaConnect\Package\Shopware6\Support\LetterCase to convert strings between different letter cases
  • Add exception code 1680371700 to \Heptacom\HeptaConnect\Package\Shopware6\Support\JsonStreamUtility::fromPayloadToStream when non-JSON-specific encoding issues occur
  • Add exception code 1680371701 to \Heptacom\HeptaConnect\Package\Shopware6\Support\JsonStreamUtility::fromStreamToPayload when the decoded JSON is not a PHP array
  • Add base class for exceptions \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\AbstractRequestException that need a reference to a request
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\MalformedResponse to identify issues with expected formats of an HTTP response
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\JsonResponseValidationCollectionException to group exceptions during JSON response validation
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\ErrorHandlerInterface to detect errors in a Shopware request cycle
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\ErrorHandlerInterface to detect any errors in a JSON response using multiple \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\JsonResponseValidatorInterface in \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\JsonResponseValidatorCollection
  • Add exception code 1680482000 to \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler::throwException when multiple exceptions are grouped and the inner exceptions are important to investigate
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\ServerErrorValidator to convert generic 500 response into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\UnknownError
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\CartMissingOrderRelationValidator to convert a cart missing order relation error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\CartMissingOrderRelationException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\FieldIsBlankValidator to convert a field is blank error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\FieldIsBlankException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\InvalidLimitQueryValidator to convert an invalid limit query error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\InvalidLimitQueryException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\InvalidUuidValidator to convert an invalid UUID error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\InvalidUuidException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\MediaDuplicatedFileNameValidator to convert a duplicated media filename error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\MediaDuplicatedFileNameException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\MediaFileTypeNotSupportedValidator to convert a file type for media not supported error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\MediaFileTypeNotSupportedException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\MethodNotAllowedValidator to convert a method not allowed error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\MethodNotAllowedException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\NotFoundValidator to convert a not found error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\NotFoundException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\ResourceNotFoundValidator to convert a resource not found error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\ResourceNotFoundException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\ScopeNotFoundValidator to convert a scope not found error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\ScopeNotFoundException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\UnmappedFieldValidator to convert an unmapped field error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\UnmappedFieldException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseValidator\WriteUnexpectedFieldValidator to convert an unexpected field during write error into \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Exception\WriteUnexpectedFieldException
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Exception\AuthenticationFailed to identify issues on authenticating with the Shopware API
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\AuthenticationInterface to recalculate and retrieve authentication information to communicate with Shopware 6 Admin API
  • Add default implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication for \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\AuthenticationInterface to request new authentication token and store the token in the portal node storage to share it with other PHP instances
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\AuthenticationMemoryCache as decorator for \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\AuthenticationInterface to hold authentication information in-memory to reduce calls to any I/O dependant storage
  • Add exception code 1680350600 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::getAuthorizationHeader when the token data could not be read from the portal node storage
  • Add exception code 1680350601 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::getAuthorizationHeader when the token data is missing the token_type
  • Add exception code 1680350602 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::getAuthorizationHeader when the token data is missing the access_token
  • Add exception code 1680350610 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the API configuration could not be loaded
  • Add exception code 1680350611 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the token request could not be created
  • Add exception code 1680350612 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the token request could not be sent
  • Add exception code 1680350613 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the token request received a non-OK response
  • Add exception code 1680350614 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the token response could not be parsed
  • Add exception code 1680350615 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication::refresh when the token data could not be stored in the portal node storage
  • Add exception code 1680350620 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Authentication when the grant_type in the API configuration is not supported
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\AuthenticatedHttpClient for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\AuthenticatedHttpClientInterface to automatically authorize requests using the \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Authentication\Contract\AuthenticationStorageInterface
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\PackageExpectation\Contract\ExpectedPackagesAwareInterface and base implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\PackageExpectation\Support\ExpectedPackagesAwareTrait to make structs aware of expected packages in Shopware, so it can be applied to requests
  • Add exception code 1680447700 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\PackageExpectation\Support\ExpectedPackagesAwareTrait when a package name is empty
  • Add exception code 1680447701 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\PackageExpectation\Support\ExpectedPackagesAwareTrait when a package name is not in the format vendor/package-name
  • Add exception code 1680447702 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\PackageExpectation\Support\ExpectedPackagesAwareTrait when a version constraint is empty
  • Add base class \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\AbstractActionClient with extracted dependencies in \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Support\ActionClientUtils and \Heptacom\HeptaConnect\Package\Shopware6\Http\Support\AbstractShopwareClientUtils for services to work with Shopware action endpoints
  • Add service Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler.admin_api of type \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler to validate Admin API responses with validators collected in service Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\JsonResponseValidatorCollection.admim_api
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\DocumentNumberAlreadyExistsValidator to convert a number already exists error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\DocumentNumberAlreadyExistsException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\ExpectationFailedValidator to convert generic 417 response into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\ExpectationFailedException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\ExtensionInstallValidator to convert a generic extension install error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\ExtensionInstallException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\ExtensionNotFoundValidator to convert an extension not found error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\ExtensionNotFoundException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\InvalidDocumentFileGeneratorTypeValidator to convert a file type for document generator is invalid error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\InvalidDocumentFileGeneratorTypeException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\InvalidDocumentIdValidator to convert an invalid document id error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\InvalidDocumentIdException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\InvalidTypeValidator to convert an invalid type error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\InvalidTypeException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\PluginNoPluginFoundInZipValidator to convert a no plugin found in zip file error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\PluginNoPluginFoundInZipException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\PluginNotActivatedValidator to convert a plugin not activated error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\PluginNotActivatedException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\PluginNotFoundValidator to convert a plugin not found error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\PluginNotFoundException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\PluginNotInstalledValidator to convert a plugin not installed error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\PluginNotInstalledException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\StateMachineInvalidEntityIdValidator to convert a write type intend error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\StateMachineInvalidEntityIdException
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\JsonResponseValidator\WriteTypeIntendErrorValidator to convert a write type intend error into \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\ErrorHandling\Exception\WriteTypeIntendException
  • Add service to read Shopware version as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\InfoVersionAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoVersion\InfoVersionActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoVersion\InfoVersionParams and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoVersion\InfoVersionResult
  • Add service to read Shopware entity schema as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\InfoEntitySchemaAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoEntitySchema\InfoEntitySchemaActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoEntitySchema\InfoEntitySchemaParams, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoEntitySchema\InfoEntitySchemaResult, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoEntitySchema\EntitySchema and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\InfoEntitySchema\EntitySchemaCollection
  • Add service Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncAction\SyncPayloadInterceptorCollection to hold all payload interceptors described by \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncAction\SyncPayloadInterceptorInterface
  • Add service Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncV1Action\SyncPayloadInterceptorCollection to hold all payload interceptors described by \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncV1Action\SyncPayloadInterceptorInterface
  • Add service to sync entities for Shopware 6.5+ as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SyncAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Sync\SyncActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Sync\SyncPayload, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Sync\SyncOperation, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Sync\SyncOperationCollection and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Sync\SyncResult with support for sync payload interceptors described by \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncAction\SyncPayloadInterceptorInterface
  • Add service to sync entities up to Shopware 6.4 as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SyncV1Action for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SyncV1\SyncActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SyncV1\SyncPayload, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SyncV1\SyncResult, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SyncV1\SyncOperationResult and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SyncV1\SyncOperationResultCollection with support for sync payload interceptors described by \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncV1Action\SyncPayloadInterceptorInterface
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Exception\SyncResultException to combine exceptions with sync results
  • Add exception code 1692604930 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\MediaUpload::uploadMedia when a strategy is given, that is not supported
  • Add exception code 1680479000 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SyncAction::sync when an errors are in the sync result
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Exception\SyncV1ResultException to combine exceptions with sync results of the legacy sync API
  • Add exception code 1680479000 to \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SyncV1Action::sync when an errors are in the sync result
  • Add service to send any Admin API authenticated request as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\GenericAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Generic\GenericActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Generic\GenericPayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\Generic\GenericResult
  • Add service to read Shopware system configuration as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SystemConfigGetAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigGet\SystemConfigGetActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigGet\SystemConfigGetCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigGet\SystemConfigGetResult
  • Add service to write Shopware system configuration for a sales channel as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SystemConfigPostAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigPost\SystemConfigPostActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigPost\SystemConfigPostPayload
  • Add service to write Shopware system configuration for multiple sales channel as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\SystemConfigBatchAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigBatch\SystemConfigBatchActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\SystemConfigBatch\SystemConfigBatchPayload
  • Add service to search Shopware store information as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\StorePluginSearchAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\StorePluginSearch\StorePluginSearchActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\StorePluginSearch\StorePluginSearchParams, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\StorePluginSearch\StorePluginSearchResult, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\StorePluginSearch\StorePlugin and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\StorePluginSearch\StorePluginCollection
  • Add service to search Shopware store information as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\PriceCalculateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\PriceCalculate\PriceCalculateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\PriceCalculate\PriceCalculatePayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\PriceCalculate\PriceCalculateResult
  • Add service to activate an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionActivateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionActivate\ExtensionActivateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionActivate\ExtensionActivatePayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\AbstractExtensionPayload
  • Add service to deactivate an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionDeactivateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionDeactivate\ExtensionDeactivateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionDeactivate\ExtensionDeactivatePayload
  • Add service to install an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionInstallAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionInstall\ExtensionInstallActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionInstall\ExtensionInstallPayload
  • Add service to refresh extension listing as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionRefreshAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionRefresh\ExtensionRefreshActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionRefresh\ExtensionRefreshParams
  • Add service to remove an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionRemoveAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionRemove\ExtensionRemoveActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionRemove\ExtensionRemovePayload
  • Add service to uninstall an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionUninstallAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUninstall\ExtensionUninstallActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUninstall\ExtensionUninstallPayload
  • Add service to updates an extension as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionUpdateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUpdate\ExtensionUpdateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUpdate\ExtensionUpdatePayload
  • Add service to upload extension as ZIP file as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\ExtensionUploadAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUpload\ExtensionUploadActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\ExtensionUpload\ExtensionUploadPayload
  • Add service to transition an entity state as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\EntityStateTransitionAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\EntityStateTransition\EntityStateTransitionActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\EntityStateTransition\EntityStateTransitionPayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\EntityStateTransition\EntityStateTransitionResult
  • Add service to generate order documents as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\OrderDocumentCreateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\OrderDocumentCreateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\OrderDocumentCreatePayload, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\DocumentPayload, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\DocumentPayloadCollection, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\OrderDocumentCreateResult, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\OrderDocument and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentCreate\OrderDocumentCollection
  • Add service to get an order document as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\OrderDocumentGetAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentGet\OrderDocumentGetActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentGet\OrderDocumentGetCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\OrderDocumentGet\OrderDocumentGetResult
  • Add service to upload medias as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\MediaUploadAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\MediaUpload\MediaUploadActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\MediaUpload\AbstractMediaUploadPayload, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\MediaUpload\MediaUploadByStreamPayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Action\Contract\MediaUpload\MediaUploadByUrlPayload
  • Add service to read single entities as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntityGetAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityGet\EntityGetActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityGet\EntityGetCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityGet\EntityGetResult
  • Add service to create single entities as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntityCreateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityCreate\EntityCreateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityCreate\EntityCreatePayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityCreate\EntityCreateResult
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Exception\EntityReferenceLocationFormatInvalidException to identity an unexpected response location header e.g. after creating an entity
  • Add service to update single entities as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntityUpdateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityUpdate\EntityUpdateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityUpdate\EntityUpdatePayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityUpdate\EntityUpdateResult
  • Add service to delete single entities as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntityDeleteAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityDelete\EntityDeleteActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityDelete\EntityDeleteCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntityDelete\EntityDeleteResult
  • Add service to search entities as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntitySearchAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearch\EntitySearchActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearch\EntitySearchCriteria, \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\AbstractEntitySearchCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearch\EntitySearchResult
  • Add service to search entity ids as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\EntitySearchIdAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearchId\EntitySearchIdActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearchId\EntitySearchIdCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Entity\Contract\EntitySearchId\EntitySearchIdResult
  • Add base classes \Heptacom\HeptaConnect\Package\Shopware6\Http\Support\Action\Generic\AbstractGenericClient, \Heptacom\HeptaConnect\Package\Shopware6\Http\Support\Action\Generic\AbstractGenericPayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\Support\Action\Generic\AbstractGenericResult to build generic API clients
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Utility\DependencyInjection\AdminApiSyncPayloadInterceptorRegistrationCompilerPass to automatically tag all \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncAction\SyncPayloadInterceptorInterface with the tag heptaconnect.package.shopware6.admin_api.sync_payload_interceptor and \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Contract\SyncV1Action\SyncPayloadInterceptorInterface with the tag heptaconnect.package.shopware6.admin_api.sync_v1_payload_interceptor respectively
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Utility\DependencyInjection\SyntheticServiceContainer to provide a PSR-11 container, when one is needed with previously instantiated service objects
  • Add exception \Heptacom\HeptaConnect\Package\Shopware6\Utility\DependencyInjection\Exception\ServiceNotFoundException for scenarios, when a requested service is not found
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Utility\DependencyInjection\BaseFactory to provide a central point of factorizing shared dependencies. It can be used together with a container built with a HEPTAconnect portal
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Utility\EntityClient to have a single dependency for common entity actions
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Utility\ExtensionClient to have a single dependency for common extension actions
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Utility\GenericClient to have a generic API client for any request
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\AdminApi\Utility\DependencyInjection\AdminApiFactory to provide a central point of factorizing shared dependencies for Admin API classes
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Authentication for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\AuthenticationInterface to provide authentication information to communicate with Shopware 6 Store API
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\AuthenticationMemoryCache as decorator for \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\AuthenticationInterface to hold authentication information in-memory to reduce calls to any I/O dependant storage
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\ApiConfigurationStorageInterface to provide \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\ApiConfiguration, that is used to identify and authenticate against a Shopware Store API
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\MemoryApiConfigurationStorage for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\ApiConfigurationStorageInterface to provide static API configuration
  • Add implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\AuthenticatedHttpClient for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\AuthenticatedHttpClientInterface to automatically authorize requests using the \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Authentication\Contract\AuthenticationStorageInterface
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextTokenAwareInterface and base implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Support\ContextTokenAwareTrait to make structs aware of optional context tokens, so it can be applied to requests
  • Add contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextTokenRequiredInterface and base implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Support\ContextTokenRequiredTrait to make structs aware of required context tokens, so it can be applied to requests
  • Add service Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler.store_api of type \Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\JsonResponseErrorHandler to validate Store API responses with validators collected in service Heptacom\HeptaConnect\Package\Shopware6\Http\ErrorHandling\Contract\JsonResponseValidatorCollection.store_api
  • Add base class \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\AbstractActionClient with extracted dependencies in \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Support\ActionClientUtils for services to work with Shopware action endpoints
  • Add JSON response validator \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\ErrorHandling\JsonResponseValidator\CustomerNotLoggedInValidator to convert a customer not logged in error into \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\ErrorHandling\Exception\CustomerNotLoggedInValidator
  • Add service to send any Store API authenticated request as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\GenericAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\Generic\GenericActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\Generic\GenericPayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\Generic\GenericResult
  • Add service to get a Store API context as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\ContextGetAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextGet\ContextGetActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextGet\ContextGetCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextGet\ContextGetResult
  • Add service to update a Store API context as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\ContextUpdateAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextUpdate\ContextUpdateActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextUpdate\ContextUpdatePayload and \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\ContextUpdate\ContextUpdateResult
  • Add service to read countries as implementation \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\CountryGetAction for contract \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\CountryGet\CountryGetActionInterface with \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\CountryGet\CountryGetCriteria and \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Action\Contract\CountryGet\CountryGetResult
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Utility\GenericClient to have a generic API client for any request
  • Add utility class \Heptacom\HeptaConnect\Package\Shopware6\Http\StoreApi\Utility\DependencyInjection\StoreApiFactory to provide a central point of factorizing shared dependencies for Store API classes

Read the already released Package Shopware 6 changelog

Storage Base

Added

  • Extract common fields from \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivatePayload and \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Deactivate\PortalExtensionDeactivatePayload into \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Contract\PortalExtensionActiveChangePayloadContract
  • Extract common fields from \Heptacom\HeptaConnect\Storage\Base\Action\Job\Fail\JobFailPayload, \Heptacom\HeptaConnect\Storage\Base\Action\Job\Finish\JobFinishPayload, \Heptacom\HeptaConnect\Storage\Base\Action\Job\Schedule\JobSchedulePayload and \Heptacom\HeptaConnect\Storage\Base\Action\Job\Start\JobStartPayload into \Heptacom\HeptaConnect\Storage\Base\Action\Job\Contract\JobStateChangePayloadContract
  • Add class \Heptacom\HeptaConnect\Storage\Base\Contract\UiAuditTrailKeyInterface with its collection \Heptacom\HeptaConnect\Storage\Base\UiAuditTrailKeyCollection as storage key for UI action audit trails
  • Add storage action \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailBeginActionInterface with \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailBegin\UiAuditTrailBeginPayload and \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailBegin\UiAuditTrailBeginResult to create an audit trail for UI actions
  • Add storage action \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogOutputActionInterface with \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailLogOutput\UiAuditTrailLogOutputPayload to attach output to the audit trail
  • Add storage action \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogErrorActionInterface with \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailLogError\UiAuditTrailLogErrorPayload and its collection \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailLogError\UiAuditTrailLogErrorPayloadCollection to attach an error message to the audit trail
  • Add storage action \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailEndActionInterface with \Heptacom\HeptaConnect\Storage\Base\Action\UiAuditTrail\UiAuditTrailEnd\UiAuditTrailEndPayload to marks the audit trail as finished
  • Add method \Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface::getUiAuditTrailBeginAction and \Heptacom\HeptaConnect\Storage\Base\Bridge\Support\AbstractSingletonStorageFacade::createUiAuditTrailBeginAction to get an instance of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailBeginActionInterface
  • Add method \Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface::getUiAuditTrailLogOutputAction and \Heptacom\HeptaConnect\Storage\Base\Bridge\Support\AbstractSingletonStorageFacade::createUiAuditTrailLogOutputAction to get an instance of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogOutputActionInterface
  • Add method \Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface::getUiAuditTrailLogErrorAction and \Heptacom\HeptaConnect\Storage\Base\Bridge\Support\AbstractSingletonStorageFacade::createUiAuditTrailLogErrorAction to get an instance of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogErrorActionInterface
  • Add method \Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface::getUiAuditTrailEndAction and \Heptacom\HeptaConnect\Storage\Base\Bridge\Support\AbstractSingletonStorageFacade::createUiAuditTrailEndAction to get an instance of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailEndActionInterface
  • Add filter for source portal node, target portal node, entity type and capability to \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewCriteria to limit the overview to certain results

Changed

  • Change $entityType parameter in \Heptacom\HeptaConnect\Storage\Base\Action\Route\Create\RouteCreatePayload::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Create\RouteCreatePayload::setEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Mapping::__construct and \Heptacom\HeptaConnect\Storage\Base\PrimaryKeySharingMappingStruct::__construct to be a \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Change $entityType parameter in \Heptacom\HeptaConnect\Storage\Base\Action\Route\Find\RouteFindCriteria::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Find\RouteFindCriteria::setEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Get\RouteGetResult::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Listing\ReceptionRouteListCriteria::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Listing\ReceptionRouteListCriteria::setEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Create\IdentityRedirectCreatePayload::setEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Create\IdentityRedirectCreatePayload::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Overview\IdentityRedirectOverviewResult::__construct and \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Overview\IdentityOverviewResult::__construct to be a \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract instead of a string for better type safe class strings
  • Update implementation Heptacom\HeptaConnect\Storage\Base\PrimaryKeySharingMappingStruct to match changes in \Heptacom\HeptaConnect\Dataset\Base\Contract\ForeignKeyAwareInterface and \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingInterface
  • Change $entityTypeFilter parameter in \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Overview\IdentityOverviewCriteria::setEntityTypeFilter to be an array of \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of an array of string for better type safe class strings
  • Change $entityTypeFilter parameter in \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Overview\IdentityRedirectOverviewCriteria::setEntityTypeFilter to be \Heptacom\HeptaConnect\Dataset\Base\ClassStringReferenceCollection instead of a \Heptacom\HeptaConnect\Dataset\Base\ScalarCollection\StringCollection for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\Route\Create\RouteCreatePayload::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Contract\MappingNodeStructInterface::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Create\IdentityRedirectCreatePayload::getEntityType and \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Mapping::getEntityType to be \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of a string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\Route\Find\RouteFindCriteria::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Get\RouteGetResult::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Listing\ReceptionRouteListCriteria::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult::getEntityType, \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Overview\IdentityRedirectOverviewResult::getEntityType and \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Overview\IdentityOverviewResult::getEntityType to be \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract instead of a string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\Identity\Overview\IdentityOverviewCriteria::getEntityTypeFilter to be an array of \Heptacom\HeptaConnect\Dataset\Base\EntityType instead of an array of string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\IdentityRedirect\Overview\IdentityRedirectOverviewCriteria::setEntityTypeFilter to be an \Heptacom\HeptaConnect\Dataset\Base\ClassStringReferenceCollection instead of \Heptacom\HeptaConnect\Dataset\Base\ScalarCollection\StringCollection for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Create\PortalNodeCreatePayload::getPortalClass and \Heptacom\HeptaConnect\Storage\Base\PreviewPortalNodeKey::getPortalType to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalType instead of a string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivatePayload::getExtensions, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivateResult::getPassedActivations, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivateResult::getFailedActivations, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Deactivate\PortalExtensionDeactivateResult::getPassedDeactivations and \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Deactivate\PortalExtensionDeactivateResult::getFailedDeactivations to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionTypeCollection instead of an array of string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Get\PortalNodeGetResult::getPortalClass, \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Overview\PortalNodeOverviewResult::getPortalClass, \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult::getSourcePortalClass and \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult::getTargetPortalClass to be a \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract instead of a string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Overview\PortalNodeOverviewCriteria::getClassNameFilter to be a \Heptacom\HeptaConnect\Dataset\Base\Support\ClassStringReferenceCollection instead of an array of string for better type safe class strings
  • Change string parameter in \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivatePayload::addExtension, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivatePayload::removeExtension, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Deactivate\PortalExtensionDeactivatePayload::addExtension and \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Deactivate\PortalExtensionDeactivatePayload::removeExtension to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionType instead of a string for better type safe class strings
  • Change array of string parameter in \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Activate\PortalExtensionActivateResult::__construct to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionTypeCollection instead of a string for better type safe class strings
  • Change string parameter in \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Create\PortalNodeCreatePayload::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Create\PortalNodeCreatePayload::setPortalClass and \Heptacom\HeptaConnect\Storage\Base\PreviewPortalNodeKey::__construct to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalType instead of a string for better type safe class strings
  • Change string parameter in \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Get\PortalNodeGetResult::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Overview\PortalNodeOverviewResult::__construct, \Heptacom\HeptaConnect\Storage\Base\Action\PortalExtension\Find\PortalExtensionFindResult::add and \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult::__construct to be a \Heptacom\HeptaConnect\Dataset\Base\Contract\ClassStringReferenceContract instead of a string for better type safe class strings
  • Change array of string parameter in \Heptacom\HeptaConnect\Storage\Base\Action\PortalNode\Overview\PortalNodeOverviewCriteria::setClassNameFilter to be a \Heptacom\HeptaConnect\Dataset\Base\Support\ClassStringReferenceCollection instead of a string for better type safe class strings
  • Implement \Heptacom\HeptaConnect\Dataset\Base\Contract\AttachmentAwareInterface in \Heptacom\HeptaConnect\Storage\Base\PrimaryKeySharingMappingStruct
  • Change type of capabilities on \Heptacom\HeptaConnect\Storage\Base\Action\Route\Overview\RouteOverviewResult from untyped array to \Heptacom\HeptaConnect\Dataset\Base\ScalarCollection\StringCollection
  • Combine portalNodeKey and path parameter in \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::__construct and \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::__construct using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier
  • Replace \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::getPortalNodeKey and \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::getPath methods with \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::getStackIdentifier using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier
  • Replace \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::setPortalNodeKey and \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::setPath methods with \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Find\WebHttpHandlerConfigurationFindCriteria::setStackIdentifier using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier
  • Replace \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::getPortalNodeKey and \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::getPath methods with \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::getStackIdentifier using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier
  • Replace \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::setPortalNodeKey and \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::setPath methods with \Heptacom\HeptaConnect\Storage\Base\Action\WebHttpHandlerConfiguration\Set\WebHttpHandlerConfigurationSetPayload::setStackIdentifier using \Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerStackIdentifier

Deprecated

  • Deprecate method \Heptacom\HeptaConnect\Storage\Base\TypedMappingCollection::getType in favour of new method \Heptacom\HeptaConnect\Storage\Base\TypedMappingCollection::getEntityType for better type safe class strings

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API
  • Remove deprecated Heptacom\HeptaConnect\Dataset\Base\Support\AttachmentAwareTrait::unattach

Read the already released Storage Base changelog

Storage Shopware DAL

Added

  • Add migration \Heptacom\HeptaConnect\Storage\ShopwareDal\Migration\Migration1663693294CreateUiAuditTrailTable to add UI audit trail table
  • Add migration \Heptacom\HeptaConnect\Storage\ShopwareDal\Migration\Migration1663693295CreateUiAuditTrailDataTable to add UI audit trail data table
  • Add migration \Heptacom\HeptaConnect\Storage\ShopwareDal\Migration\Migration1663693296CreateUiAuditTrailErrorTable to add UI audit trail error table
  • Add implementation for \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailBeginActionInterface in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailBegin to create UI audit trails
  • Add exception code 1663694616 to \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailBegin::begin when storing a UI audit trail to the database fails
  • Add implementation for \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailEndActionInterface in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailEnd to mark UI audit trails as ended
  • Add exception code 1663694617 to \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailEnd::end when setting the UI audit trail as finished fails on database layer
  • Add implementation for \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogErrorActionInterface in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailLogError to add errors to UI audit trails
  • Add exception code 1663694619 to \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailLogError::logError when storing exceptions to UI audit trails on the database fails
  • Add implementation for \Heptacom\HeptaConnect\Storage\Base\Contract\Action\UiAuditTrail\UiAuditTrailLogOutputActionInterface in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailLogOutput to add output to UI audit trails
  • Add exception code 1663694618 to \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\UiAuditTrail\UiAuditTrailLogOutput::logOutput when storing output to UI audit trails on the database fails
  • Add support for new filter for source portal node, target portal node, entity type and capability in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\Route\RouteOverview::overview

Changed

  • Change $payloadExtensions parameter in \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\PortalExtension\PortalExtensionSwitchActive::toggle to be \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionTypeCollection instead of an array of string for better type safe class strings
  • Change return type of \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\PortalExtension\PortalExtensionSwitchActive::toggle to be a \Heptacom\HeptaConnect\Portal\Base\Portal\PortalExtensionTypeCollection instead of an array of string for better type safe class strings

Removed

  • Remove support for php: 7.4 as it will not receive any updates anymore, it is unlikely to be used. By raising the minimum PHP version we also make use of features introduced by PHP 8.0, which mainly have no effect on public API

Fixed

  • Fix error when creating mappings via \Heptacom\HeptaConnect\Storage\ShopwareDal\Action\Identity\IdentityReflect. Insertion payload was not binary as expected.

Read the already released Storage Shopware DAL changelog