Add exception code 1693671570 in \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\BuildDefinitionForFlowComponentRegistryCompilerPass::getServiceReferencesGroupedBySource when a flow component service is missing a source attribute on its tag
Add exception code 1693698154 in \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\BuildDefinitionForFlowComponentRegistryCompilerPass::getSourcePackage when a referenced flow component package is not found in known packages
Changed
Sort flow components by priority, if the service definition tag has a priority attribute
Deprecated
Deprecate parameter $source in method \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry::getExplorers
Deprecate parameter $source in method \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry::getEmitters
Deprecate parameter $source in method \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry::getReceivers
Deprecate parameter $source in method \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry::getStatusReporters
Deprecate parameter $source in method \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry::getWebHttpHandlers
Add log message code 1686752874 when handling of job failed in \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler
Add log message code 1686752879 when handling of job failed in \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler
Add log message code 1686752889 when handling of job failed in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler
Fixed
Fix a bug in \Heptacom\HeptaConnect\Core\Storage\Filesystem\AbstractFilesystem that occurred when adapters don't populate the path key in metadata.
Fix a bug in \Heptacom\HeptaConnect\Core\Web\Http\HttpKernel that broke sub-requests when the request contains no Cookie header.
Fix order of packages when building a portal-container in \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder. Packages can now access services of other packages in their service definition, if they list that package in \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract::getAdditionalPackages.
Fix emission check in \Heptacom\HeptaConnect\Core\Support\EntityStatus::isMappedByEmitter by validating external id instead of foreign key
[0.9.5.0] - 2023-05-27
Added
Add service Heptacom\HeptaConnect\Portal\Base\Portal\PackageCollection to portal-container, containing the portal, all portal-extensions and all packages involved in building the container
Add service Psr\Http\Message\ServerRequestFactoryInterface to portal-container
Add service Psr\Http\Message\UploadedFileFactoryInterface to portal-container
Add service Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpKernelInterface to portal-container to execute a \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerStackInterface from inside a portal
Add implementation \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleContext::forward for \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandleContextInterface::forward
Add composer dependency riverline/multipart-parser:^2.1 to support parsing body-data of \Psr\Http\Message\ServerRequestInterface in \Heptacom\HeptaConnect\Core\Web\Http\HttpKernel
Add implementation \Heptacom\HeptaConnect\Core\Web\Http\Psr7MessageMultiPartFormDataBuilder for Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\Psr7MessageMultiPartFormDataBuilderInterface to build HTTP payloads for multipart messages
Add exception code 1682806294 in \Heptacom\HeptaConnect\Core\Web\Http\Psr7MessageMultiPartFormDataBuilder::build when an input parameter is of an illegal type
Changed
Use \Psr\Http\Message\StreamInterface::__toString instead of \Psr\Http\Message\StreamInterface::getContents to retrieve stream contents in \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedContentsFileReference, \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedPublicUrlFileReference and \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedRequestFileReference. This way, all stream contents are retrieved, regardless of the position of the stream pointer.
Add dependency on \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobFailActionInterface into \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler, \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler and \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler to set job-states to failed in case of an error
Allow handling of HTTP requests, even when no HTTP handler exists for the requested path. This means, middlewares for HTTP handlers will run for every request.
Add argument bool $isStackEmpty to \Heptacom\HeptaConnect\Core\Web\Http\Handler\HttpMiddlewareChainHandler to indicate whether the related instance of \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerStackInterface is empty.
Change log level of code 1636845086 from critical to notice
Fixed
Remove a step in building a portal-container that would remove all services that extend \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract
Catch exceptions when running jobs and setting the affected jobs to failed state. Also change behavior in \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler, \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler and \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler to continue with the remaining jobs.
[0.9.4.0] - 2023-03-04
Added
Add \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Support\HeaderUtility described by \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Support\Contract\HeaderUtilityInterface to work with PSR-7 message headers
Add implementation \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageRawHttpFormatter extending \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\Psr7MessageRawHttpFormatter to provide raw HTTP message formatting
Add implementation \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageCurlShellFormatter extending \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\Psr7MessageCurlShellFormatterContract to provide cURL shell command formatting
Add exception code 1674950000 in \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageRawHttpFormatter::formatMessage when the given message is neither a request nor a response
Add exception code 1674950001 in \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageRawHttpFormatter::getFileExtension when the given message is neither a request nor a response
Add exception code 1674950002 in \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageCurlShellFormatter::formatMessage when the given message is neither a request nor a response
Add exception code 1674950003 in \Heptacom\HeptaConnect\Core\Web\Http\Formatter\Psr7MessageCurlShellFormatter::getFileExtension when the given message is neither a request nor a response
Add interface \Heptacom\HeptaConnect\Core\Bridge\File\HttpHandlerDumpPathProviderInterface, that needs to be implemented by bridges and integrations, to return the path for placing HTTP handler dumps
Add constant \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleServiceInterface::REQUEST_ATTRIBUTE_PREFIX to identify all request attributes, that can be used as value holders for additional parameters attached to requests to the core layer
Add constant \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleServiceInterface::REQUEST_ATTRIBUTE_ORIGINAL_REQUEST as request attribute key holding an instance of \Psr\Http\Message\ServerRequestInterface of the original inbound HTTP request used for debugging purposes
Add \Heptacom\HeptaConnect\Core\Web\Http\Dump\ServerRequestCycleDumper described by \Heptacom\HeptaConnect\Core\Web\Http\Dump\Contract\ServerRequestCycleDumperInterface to dump a request cycle in a way, that they can be associated, when accessing the dumps
Add sample rate strategy implementation \Heptacom\HeptaConnect\Core\Web\Http\Dump\SampleRateServerRequestCycleDumpChecker for new interface \Heptacom\HeptaConnect\Core\Web\Http\Dump\Contract\ServerRequestCycleDumpCheckerInterface using configuration dump-sample-rate for HTTP handlers, which can be an integer between 0 and 100, that will be used to determine whether a request-cycle will be dumped. Use value 100 for a request-response dump on every request
Changed
Add dependency on \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\Psr7MessageCurlShellFormatterContract into \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder to provide service for raw HTTP message formatting
Add dependency on \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\Psr7MessageRawHttpFormatterContract into \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder to provide service for cURL shell command formatting
Add dependency on \Heptacom\HeptaConnect\Core\Web\Http\Dump\Contract\ServerRequestCycleDumpCheckerInterface and \Heptacom\HeptaConnect\Core\Web\Http\Dump\Contract\ServerRequestCycleDumperInterface into \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleService to dump requests and responses from HTTP handling
Deprecated
Deprecate class \Heptacom\HeptaConnect\Core\Portal\Exception\DelegatingLoaderLoadException. Use \Heptacom\HeptaConnect\Portal\Base\Portal\Exception\DelegatingLoaderLoadException instead.
Fixed
Fix issue in \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder when a composer package with a portal has multiple PSR-4 entries in its composer.json
Fix container compile error when an excluded service has an automatic alias from its interface.
[0.9.3.0] - 2022-11-26
Added
Add \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter described by \Heptacom\HeptaConnect\Core\File\Filesystem\Contract\StreamUriSchemePathConverterInterface to convert between URIs and paths when using paths as contextualized URIs
Add exception code 1666942800 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToUri when the path is not a compatible URI
Add exception code 1666942801 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToUri when the path already has a protocol
Add exception code 1666942802 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToUri when the path has a port
Add exception code 1666942803 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToUri when the path has query parameters
Add exception code 1666942804 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToUri when the path has a URI fragment
Add exception code 1666942810 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToPath when the URI is not a URI
Add exception code 1666942811 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToPath when the URI has no host
Add exception code 1666942812 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToPath when the URI has a port
Add exception code 1666942813 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToPath when the URI has query parameters
Add exception code 1666942814 in \Heptacom\HeptaConnect\Core\File\Filesystem\StreamUriSchemePathConverter::convertToPath when the URI has a URI fragment
Add \Heptacom\HeptaConnect\Core\Portal\File\Filesystem\Filesystem as implementation of \Heptacom\HeptaConnect\Portal\Base\File\Filesystem\Contract\FilesystemInterface to provide a path conversion for portals
Add interface \Heptacom\HeptaConnect\Core\File\Filesystem\Contract\StreamWrapperInterface to describe, what the PHP documentation describes as signatures for a class to use as a stream wrapper
Add interface \Heptacom\HeptaConnect\Core\Bridge\File\PortalNodeFilesystemStreamProtocolProviderInterface, that needs to be implemented by bridges and integrations, to create portal node specific stream protocols
Add \Heptacom\HeptaConnect\Core\Portal\File\Filesystem\FilesystemFactory described by \Heptacom\HeptaConnect\Core\Portal\File\Filesystem\Contract\FilesystemFactoryInterface to create portal node specific instances of \Heptacom\HeptaConnect\Portal\Base\File\Filesystem\Contract\FilesystemInterface
Add stream wrapper implementation \Heptacom\HeptaConnect\Core\File\Filesystem\RewritePathStreamWrapper to rewrite requested paths to a new protocol while changing the protocol and the path itself
Changed
Add \Heptacom\HeptaConnect\Core\Storage\Filesystem\AbstractFilesystem::getConfig to forward the decorated filesystem config
Wrap result of \Heptacom\HeptaConnect\Core\Storage\Filesystem\PrefixFilesystem::getAdapter into an adaptor decorator of \Heptacom\HeptaConnect\Core\Storage\Filesystem\PrefixAdapter to ensure that adapter usage will apply same path rewrites like the filesystem itself
Add dependency on \Heptacom\HeptaConnect\Core\Portal\File\Filesystem\Contract\FilesystemFactoryInterface into \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder to provide a Heptacom\HeptaConnect\Portal\Base\File\Filesystem\Contract\FilesystemInterface service for portal nodes
Fixed
Changed return type of \Heptacom\HeptaConnect\Core\Storage\Filesystem\AbstractFilesystem::getAdapter from \League\Flysystem\FilesystemInterface to \League\Flysystem\AdapterInterface by returning the decorated filesystem adapter instead of the filesystem itself
[0.9.2.0] - 2022-10-16
Added
Add \Heptacom\HeptaConnect\Core\Web\Http\HttpMiddlewareClient to execute a chain of \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpClientMiddlewareInterface services for outbound HTTP requests via \Psr\Http\Client\ClientInterface from a portal-node context.
Add \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\AddHttpMiddlewareClientCompilerPass to automatically tag services implementing \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpClientMiddlewareInterface with heptaconnect.http.client.middleware.
Execute a chain of \Psr\Http\Server\MiddlewareInterface services for inbound HTTP request via \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerContract
Add \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\AddHttpMiddlewareCollectorCompilerPass to automatically tag services implementing \Psr\Http\Server\MiddlewareInterface with heptaconnect.http.handler.middleware.
Add \Heptacom\HeptaConnect\Core\Support\HttpMiddlewareCollector as a service in the portal-node container. It is used to retrieve tagged middleware services from the container.
Add \Heptacom\HeptaConnect\Core\Web\Http\Handler\HttpMiddlewareChainHandler and \Heptacom\HeptaConnect\Core\Web\Http\HttpMiddlewareHandler to wrap execution of middleware chain
Add composer dependency psr/http-server-handler: ^1.0 and psr/http-server-middleware: ^1.0 to support PSR-15 middlewares for HTTP handlers
Add exception code 1651338559 in \Heptacom\HeptaConnect\Core\Portal\PortalStorage::list when unpacking a single entry fails
Add exception code 1651338621 in \Heptacom\HeptaConnect\Core\Portal\PortalStorage when denormalizing any stored value fails
Fixed
Only load dev-packages from composer.lock file when dev-mode is active in \Heptacom\HeptaConnect\Core\Component\Composer\PackageConfigurationLoader
Only check for dev-mode in \Heptacom\HeptaConnect\Core\Component\Composer\PackageConfigurationLoader, if the installed version of composer supports it.
Skip broken entries in \Heptacom\HeptaConnect\Core\Portal\PortalStorage::list instead of returning an empty list
[0.9.1.1] - 2022-09-28
Added
Load composer packages also from require-dev section of composer.lock file in \Heptacom\HeptaConnect\Core\Component\Composer\PackageConfigurationLoader
[0.9.1.0] - 2022-08-15
Changed
Move decision of exclusion by class for automatically created portal node container services from \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\RemoveAutoPrototypedDefinitionsCompilerPass into \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PackageContract::getContainerExcludedClasses
Fixed
Fix reception of multiple entities with the same identity within a single batch in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler
Add fallback value for the reported topic in \Heptacom\HeptaConnect\Core\StatusReporting\StatusReportingService::reportSingleTopic
Prevent parallelization lock from being released immediately after creating or checking it in \Heptacom\HeptaConnect\Core\Parallelization\ResourceLockStorage
[0.9.0.2] - 2022-04-23
Fixed
Portal instances and portal extension instances are not shared across multiple portal node service containers anymore. If these instances are used stateful, portal node A can affect portal node B. All packages we provide have been checked negative against stateful usage of portal and portal extension instances.
Portal extension stacks are now built for each portal node instead for each portal. This resulted in portal node service containers with active portal extension that have not been set active for the stack's portal node. It only occurs when more than one portal node service containers of the same portal is created in a single PHP process e.g. a message consumption process.
Portal node configuration for preview portal nodes are now loaded statically again
Portal node service container for preview portal nodes are now loaded statically again
[0.9.0.1] - 2022-04-19
Fixed
Fix order of portals and portal extensions in \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry
Fix creating identity error messages in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedPostProcessor::handle
Fix a critical error when writing portal node configuration
[0.9.0.0] - 2022-04-02
Added
Implement \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerCodeOriginFinderInterface in \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerCodeOriginFinder
Add exception code 1637607699 in \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerCodeOriginFinder::findOrigin when HTTP handler is a short-notation HTTP handler and has no configured callback
Add exception code 1637607700 in \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerCodeOriginFinder::findOrigin when HTTP handler class cannot be read via reflection
Add exception code 1637607701 in \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerCodeOriginFinder::findOrigin when HTTP handler class does not belong to a physical file
Implement \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterCodeOriginFinderInterface in \Heptacom\HeptaConnect\Core\Emission\EmitterCodeOriginFinder
Add exception code 1637607653 in \Heptacom\HeptaConnect\Core\Emission\EmitterCodeOriginFinder::findOrigin when emitter is a short-notation emitter and has no configured callback
Add exception code 1637607654 in \Heptacom\HeptaConnect\Core\Emission\EmitterCodeOriginFinder::findOrigin when emitter class cannot be read via reflection
Add exception code 1637607655 in \Heptacom\HeptaConnect\Core\Emission\EmitterCodeOriginFinder::findOrigin when emitter class does not belong to a physical file
Implement \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerCodeOriginFinderInterface in \Heptacom\HeptaConnect\Core\Exploration\ExplorerCodeOriginFinder
Add exception code 1637421327 in \Heptacom\HeptaConnect\Core\Exploration\ExplorerCodeOriginFinder::findOrigin when explorer is a short-notation explorer and has no configured callback
Add exception code 1637421328 in \Heptacom\HeptaConnect\Core\Exploration\ExplorerCodeOriginFinder::findOrigin when explorer class cannot be read via reflection
Add exception code 1637421329 in \Heptacom\HeptaConnect\Core\Exploration\ExplorerCodeOriginFinder::findOrigin when explorer class does not belong to a physical file
Implement \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverCodeOriginFinderInterface in \Heptacom\HeptaConnect\Core\Reception\ReceiverCodeOriginFinder
Add exception code 1641079368 in \Heptacom\HeptaConnect\Core\Reception\ReceiverCodeOriginFinder::findOrigin when receiver is a short-notation receiver and has no configured callback
Add exception code 1641079369 in \Heptacom\HeptaConnect\Core\Reception\ReceiverCodeOriginFinder::findOrigin when receiver class cannot be read via reflection
Add exception code 1641079370 in \Heptacom\HeptaConnect\Core\Reception\ReceiverCodeOriginFinder::findOrigin when receiver class does not belong to a physical file
Implement \Heptacom\HeptaConnect\Portal\Base\StatusReporting\Contract\StatusReporterCodeOriginFinderInterface in \Heptacom\HeptaConnect\Core\StatusReporting\StatusReporterCodeOriginFinder
Add exception code 1641079371 in \Heptacom\HeptaConnect\Core\StatusReporting\StatusReporterCodeOriginFinder::findOrigin when status reporter is a short-notation status reporter and has no configured callback
Add exception code 1641079372 in \Heptacom\HeptaConnect\Core\StatusReporting\StatusReporterCodeOriginFinder::findOrigin when status reporter class cannot be read via reflection
Add exception code 1641079373 in \Heptacom\HeptaConnect\Core\StatusReporting\StatusReporterCodeOriginFinder::findOrigin when status reporter class does not belong to a physical file
Add logger decorator \Heptacom\HeptaConnect\Core\Component\Logger\FlowComponentCodeOriginFinderLogger that replaces instances of \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract, \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract, \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract, \Heptacom\HeptaConnect\Portal\Base\StatusReporting\Contract\StatusReporterContract and \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerContract within the context with their code origin
Add new service Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpClientContract to portal node container as an alternative to Psr\Http\Client\ClientInterface with behaviour by configuration e.g. that can throw \Heptacom\HeptaConnect\Portal\Base\Web\Http\Exception\HttpException on certain status code
Add class \Heptacom\HeptaConnect\Core\Component\Logger\ExceptionCodeLogger intended as a decorator to prepend the exception code to log messages if available
Add log message code 1647396033 in \Heptacom\HeptaConnect\Core\Flow\MessageQueueFlow\MessageHandler::handleJob when jobs from message cannot be loaded
Add log message code 1647396034 in \Heptacom\HeptaConnect\Core\Flow\MessageQueueFlow\MessageHandler::handleJob when jobs from message cannot be processed
Add contract \Heptacom\HeptaConnect\Core\Parallelization\Contract\ResourceLockStorageContract migrated from \Heptacom\HeptaConnect\Storage\Base\Contract\ResourceLockStorageContract
Add implementation \Heptacom\HeptaConnect\Core\Parallelization\ResourceLockStorage for \Heptacom\HeptaConnect\Core\Parallelization\Contract\ResourceLockStorageContract that depends on symfony/lock which is already required
Add log message code 1646383738 in \Heptacom\HeptaConnect\Core\Portal\PortalStorage::list when reading portal node storage entries fails
Add implementation \Heptacom\HeptaConnect\Core\Portal\PreviewPortalNodeStorage for the interface \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalStorageInterface to support interactions on \Heptacom\HeptaConnect\Storage\Base\PreviewPortalNodeKey
Add interface \Heptacom\HeptaConnect\Core\Bridge\File\FileContentsUrlProviderInterface to provide public URLs for normalized streams
Add interface \Heptacom\HeptaConnect\Core\Bridge\File\FileRequestUrlProviderInterface to prode public URLs for serialized requests
Add class \Heptacom\HeptaConnect\Core\File\FileReferenceFactory to create file references from public URLs, request objects or file contents
Add class \Heptacom\HeptaConnect\Core\File\FileReferenceResolver to resolve file references for read operations
Add class \Heptacom\HeptaConnect\Core\File\Reference\ContentsFileReference as implementation of \Heptacom\HeptaConnect\Dataset\Base\File\FileReferenceContract that is created from file contents
Add class \Heptacom\HeptaConnect\Core\File\Reference\PublicUrlFileReference as implementation of \Heptacom\HeptaConnect\Dataset\Base\File\FileReferenceContract that is created from a public URL
Add class \Heptacom\HeptaConnect\Core\File\Reference\RequestFileReference as implementation of \Heptacom\HeptaConnect\Dataset\Base\File\FileReferenceContract that is created from a PSR-7 request object
Add class \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedContentsFileReference as implementation of \Heptacom\HeptaConnect\Portal\Base\File\ResolvedFileReferenceContract for file references that were created from file contents
Add class \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedPublicUrlFileReference as implementation of \Heptacom\HeptaConnect\Portal\Base\File\ResolvedFileReferenceContract for file references that were created from a public URL
Add class \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedRequestFileReference as implementation of \Heptacom\HeptaConnect\Portal\Base\File\ResolvedFileReferenceContract for file references that were created from a PSR-7 request object
Add class \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestDenormalizer to deserialize instances of \Psr\Http\Message\RequestInterface
Add class \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestNormalizer to serialize instances of \Psr\Http\Message\RequestInterface
Add contract \Heptacom\HeptaConnect\Core\Storage\Contract\RequestStorageContract with implementation in \Heptacom\HeptaConnect\Core\Storage\RequestStorage to persist and load instances of \Psr\Http\Message\RequestInterface
Add exception code 1647788744 in \Heptacom\HeptaConnect\Core\File\FileReferenceFactory::fromContents when the NormalizationRegistry is missing a normalizer for streams
Add exception code 1648315863 in \Heptacom\HeptaConnect\Core\File\FileReferenceFactory::fromContents when the normalizer is unable to serialize the given file contents
Add exception code 1647788896 in \Heptacom\HeptaConnect\Core\File\FileReferenceResolver::resolve when the NormalizationRegistry is missing a denormalizer for streams
Add exception code 1647789133 in \Heptacom\HeptaConnect\Core\File\FileReferenceResolver::resolve when the FileReference has an unsupported source
Add exception code 1647789503 in \Heptacom\HeptaConnect\Core\File\ResolvedReference\ResolvedContentsFileReference::getContents when denormalizing a normalized stream fails
Add exception code 1647789809 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\Psr7RequestNormalizer::normalize when trying to normalize anything other than a request object
Add exception code 1647790094 in \Heptacom\HeptaConnect\Core\Storage\RequestStorage::load when denormalizing a serialized request fails
Add exception code 1647791094 in \Heptacom\HeptaConnect\Core\Storage\RequestStorage::load when a serialized request is not found
Add exception code 1647791390 in \Heptacom\HeptaConnect\Core\Storage\RequestStorage::persist when persisting a serialized request fails
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionTokenContract to define a contract for changing portal node configurations
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\ClosureInstructionToken that changes portal node configuration by the given closure
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\PortalNodeConfigurationHelper to generate closures for processing configuration sources like json files and environment variables
Add exception code 1647801828 in return callable from \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\PortalNodeConfigurationHelper::ini when the ini file can not be loaded and parsed
Add exception code 1647801829 in return callable from \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\PortalNodeConfigurationHelper::json when the JSON file can not be loaded and parsed
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Config to collect \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionTokenContract in a short-notation manner
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionLoaderInterface to identify services that provide \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionTokenContract
Add \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\InstructionFileLoader to provide \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionTokenContract using \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Config
Add exception code 1645611612 in \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\InstructionFileLoader::loadInstructions when referenced file can not be loaded
Add \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationInstructionProcessor as \Heptacom\HeptaConnect\Core\Configuration\Contract\PortalNodeConfigurationProcessorInterface to change portal node configuration by instructions from given \Heptacom\HeptaConnect\Core\Bridge\PortalNode\Configuration\Contract\InstructionLoaderInterface instances
Add log message code 1647826121 in \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationInstructionProcessor when an error happens during instruction loading
Changed
Replace dependencies in \Heptacom\HeptaConnect\Core\Flow\MessageQueueFlow\MessageHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract and \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobPayloadRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobGetActionInterface to improve performance by batching job reading
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobStartActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobFinishActionInterface to improve performance by batching job state changes
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobStartActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobFinishActionInterface to improve performance by batching job state changes
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobStartActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobFinishActionInterface to improve performance by batching job state changes
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\JobDispatcher from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract and \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobPayloadRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Job\JobCreateActionInterface to improve performance by batching job insertion
Switch storage access in \Heptacom\HeptaConnect\Core\Portal\PortalRegistry from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\PortalNodeRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNode\PortalNodeGetActionInterface
Use portal node container tags heptaconnect.flow_component.status_reporter_source, heptaconnect.flow_component.emitter_source, heptaconnect.flow_component.explorer_source, heptaconnect.flow_component.receiver_source, heptaconnect.flow_component.web_http_handler_source instead of heptaconnect.flow_component.emitter, heptaconnect.flow_component.emitter_decorator, heptaconnect.flow_component.explorer, heptaconnect.flow_component.explorer_decorator, heptaconnect.flow_component.receiver, heptaconnect.flow_component.receiver_decorator and heptaconnect.flow_component.web_http_handler to collect flow component services
Short-noted flow components by portals load on first flow component usage instead of on container building using \Heptacom\HeptaConnect\Core\Portal\FlowComponentRegistry
Add dependency onto \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalExtension\PortalExtensionFindActionInterface into \Heptacom\HeptaConnect\Core\Portal\PortalRegistry for loading portal extension availability
Use instance of \Heptacom\HeptaConnect\Portal\Base\Emission\Contract\EmitterContract in log context instead of its class in the message in \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder logger usage
Use instance of \Heptacom\HeptaConnect\Portal\Base\Exploration\Contract\ExplorerContract in log context instead of its class in the message in \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder logger usage
Use instance of \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiverContract in log context instead of its class in the message in \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder logger usage
Use instance of \Heptacom\HeptaConnect\Portal\Base\Web\Http\Contract\HttpHandlerContract in log context instead of its class in the message in \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilder logger usage
Replace dependencies in \Heptacom\HeptaConnect\Core\Configuration\ConfigurationService from \Heptacom\HeptaConnect\Storage\Base\Contract\ConfigurationStorageContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeConfiguration\PortalNodeConfigurationGetActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeConfiguration\PortalNodeConfigurationSetActionInterface to improve performance on reading and writing portal node configuration
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\EntityMapperContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityMapActionInterface as previous service is renamed
Replace dependencies in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\EntityReflectorContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityReflectActionInterface as previous service is renamed
Replace dependencies in \Heptacom\HeptaConnect\Core\Exploration\ExplorationActor from \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityMapActionInterface
Replace dependencies in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor from \Heptacom\HeptaConnect\Storage\Base\MappingPersister\Contract\MappingPersisterContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityPersistActionInterface as previous service is renamed
Replace dependencies in \Heptacom\HeptaConnect\Core\Portal\PortalStorageFactory and \Heptacom\HeptaConnect\Core\Portal\PortalStorage from \Heptacom\HeptaConnect\Storage\Base\Contract\PortalStorageContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeStorage\PortalNodeStorageClearActionInterface, \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeStorage\PortalNodeStorageDeleteActionInterface, \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeStorage\PortalNodeStorageGetActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeStorage\PortalNodeStorageListActionInterface, \Heptacom\HeptaConnect\Storage\Base\Contract\Action\PortalNodeStorage\PortalNodeStorageSetActionInterface
Replace dependencies in \Heptacom\HeptaConnect\Core\Emission\EmitContext from \Heptacom\HeptaConnect\Storage\Core\Mapping\Contract\MappingServiceInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\MappingNodeRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\IdentityError\IdentityErrorCreateActionInterface as previous services are removed
Replace dependencies in \Heptacom\HeptaConnect\Core\Emission\EmitContextFactory from \Heptacom\HeptaConnect\Storage\Core\Mapping\Contract\MappingServiceInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\MappingNodeRepositoryContract to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\IdentityError\IdentityErrorCreateActionInterface as previous services are removed
Replace dependencies in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedPostProcessor from \Heptacom\HeptaConnect\Storage\Core\Mapping\Contract\MappingServiceInterface to \Heptacom\HeptaConnect\Storage\Base\Contract\Action\IdentityError\IdentityErrorCreateActionInterface as previous service is removed
Split argument in \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiveServiceInterface::receive of type \Heptacom\HeptaConnect\Portal\Base\Mapping\TypedMappedDatasetEntityCollection into \Heptacom\HeptaConnect\Dataset\Base\TypedDatasetEntityCollection and \Heptacom\HeptaConnect\Portal\Base\StorageKey\Contract\PortalNodeKeyInterface to state target portal clearly
Extract caching of \Heptacom\HeptaConnect\Core\Configuration\ConfigurationService into new class \Heptacom\HeptaConnect\Core\Configuration\PortalNodeConfigurationCacheProcessor using the \Heptacom\HeptaConnect\Core\Configuration\Contract\PortalNodeConfigurationProcessorInterface interface
Remove separation of source flow components and decorator flow components in \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder and \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilder. First flow component in list is always the source
Remove portal node container service ids Heptacom\HeptaConnect\Portal\Base\Emission\EmitterCollection, Heptacom\HeptaConnect\Portal\Base\Emission\EmitterCollection.decorator, Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerCollection, Heptacom\HeptaConnect\Portal\Base\Exploration\ExplorerCollection.decorator, Heptacom\HeptaConnect\Portal\Base\StatusReporting\StatusReporterCollection, Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverCollection, Heptacom\HeptaConnect\Portal\Base\Reception\ReceiverCollection.decorator, Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerCollection and Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerCollection.decorator due to refactoring of flow component stack building
Remove dependency on \Heptacom\HeptaConnect\Portal\Base\Builder\FlowComponent in \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder
Remove classes \Heptacom\HeptaConnect\Core\Cronjob\CronjobContext, \Heptacom\HeptaConnect\Core\Cronjob\CronjobContextFactory and \Heptacom\HeptaConnect\Core\Cronjob\CronjobService as the feature of cronjobs in its current implementation is removed
Remove unused implementation \Heptacom\HeptaConnect\Core\Mapping\MappingService::get of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::get
Remove unused implementation \Heptacom\HeptaConnect\Core\Mapping\MappingService::save of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::save
Remove unused implementation \Heptacom\HeptaConnect\Core\Mapping\MappingService::reflect of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::reflect
Remove unused implementation \Heptacom\HeptaConnect\Core\Mapping\MappingService::addException of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::addException
Remove \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::getListByExternalIds in favour of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityMapActionInterface::map
Remove \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::merge, \Heptacom\HeptaConnect\Core\Mapping\Exception\MappingNodeAreUnmergableException and \Heptacom\HeptaConnect\Core\Mapping\Exception\MappingNodeNotCreatedException in favour of \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityOverviewActionInterface and \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Identity\IdentityPersistActionInterface
Remove log message code 1631563639, 1631563699, 1631565446 and 1631565376 from \Heptacom\HeptaConnect\Core\Portal\PortalStorage
Remove deprecated methods \Heptacom\HeptaConnect\Core\Portal\PortalStorage::canSet and \Heptacom\HeptaConnect\Core\Portal\PortalStorage::canGet
Remove dependency on \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\MappingNodeRepositoryContract in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler
Remove deprecated method Heptacom\HeptaConnect\Core\Mapping\Publisher::publish inherited from Heptacom\HeptaConnect\Portal\Base\Publication\Contract\PublisherInterface::publish
Fixed
Portal node extensions can supply source flow components for data types that have not been introduced by the decorated portal
All aliases in the dependency-injection container for portals are now public. This enables injection of aliased services in short-notation flow-components.
Past changes
[0.8.6] - 2022-03-07
Fixed
Prevent leak of \Heptacom\HeptaConnect\Portal\Base\Reception\Support\PostProcessorDataBag into subsequent iterations of \Heptacom\HeptaConnect\Core\Reception\ReceptionActor::performReception. Every entry of \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedData is now only handled once.
[0.8.5] - 2021-12-28
Fixed
Change composer dependency bentools/iterable-functions: >=1 <2 to bentools/iterable-functions: >=1.4 <2 to ensure availability of \iterable_map in a lowest-dependency-version installation
Change composer dependency composer/composer: >=1 to composer/composer: >=1.9 to ensure correct composer project and library parsing in a lowest-dependency-version installation
Change composer dependency php-http/discovery: ^1.0 to php-http/discovery: ^1.11 to ensure availability of \Http\Discovery\Psr17FactoryDiscovery and \Http\Discovery\Psr17FactoryDiscovery::findUriFactory in a lowest-dependency-version installation
Add composer dependency symfony/event-dispatcher-contracts: >=1.1 to ensure availability of \Symfony\Contracts\EventDispatcher\Event in a lowest-dependency-version installation
Change composer dependency symfony/polyfill-php80: >=1.15 to symfony/polyfill-php80: >=1.16 to ensure availability of \str_starts_with a php 7.4 and lowest-dependency-version installation
Amend signature of \Heptacom\HeptaConnect\Core\Storage\Normalizer\ScalarDenormalizer::denormalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\ScalarDenormalizer::supportsDenormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\ScalarNormalizer::normalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\ScalarNormalizer::supportsNormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableCompressDenormalizer::denormalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableCompressDenormalizer::supportsDenormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableCompressNormalizer::normalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableDenormalizer::denormalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableDenormalizer::supportsDenormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableNormalizer::normalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableNormalizer::supportsNormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer::denormalize, \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer::supportsDenormalization, \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer::normalize and \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer::supportsNormalization to allow installations of symfony/serializer: >=4 and symfony/serializer: >= 5
[0.8.4] - 2021-12-16
Removed
Remove the code for unit tests, configuration for style checks as well as the Makefile
Fixed
Provide portal node container services as definition instead of synthetic service to allow decoration for service ids Heptacom\HeptaConnect\Portal\Base\Support\Contract\DeepCloneContract, Heptacom\HeptaConnect\Portal\Base\Support\Contract\DeepObjectIteratorContract, Psr\Http\Client\ClientInterface, Psr\Http\Message\RequestFactoryInterface, Psr\Http\Message\UriFactoryInterface, Psr\Http\Message\ResponseFactoryInterface and Psr\Http\Message\StreamFactoryInterface
Remove expired keys from the result of \Heptacom\HeptaConnect\Core\Portal\PortalStorage::getMultiple
[0.8.3] - 2021-12-02
Fixed
Fix auto-wiring array values from portal configuration
[0.8.2] - 2021-11-25
Fixed
Fix type error during reception when entity with numeric primary key is received
[0.8.1] - 2021-11-22
Fixed
Fix stack building to allow for decorators. Previously when a portal extension had provided a decorator for a flow component, the stack would only contain the decorator and would miss the source component. (\Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilder::pushSource)
[0.8.0] - 2021-11-22
Added
Add calls to \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract::start and \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract::finish in \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler::triggerEmission, \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler::triggerExplorations and \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception to track job states
Add caching layer to \Heptacom\HeptaConnect\Core\Configuration\ConfigurationService::getPortalNodeConfiguration
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::MARK_AS_FAILED_ENTITY_IS_UNMAPPED with log message code 1637456198 for issues during logging error messages during reception
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::RECEIVE_NO_SAVE_MAPPINGS_NOT_PROCESSED for issues after saving mappings after a reception
Introduce \Heptacom\HeptaConnect\Core\Event\PostReceptionEvent for reception new event dispatcher in reception
Add post-processing type \Heptacom\HeptaConnect\Portal\Base\Reception\PostProcessing\MarkAsFailedData
Implement new method \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiveContextInterface::getEventDispatcher in \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::getEventDispatcher
Implement new method \Heptacom\HeptaConnect\Portal\Base\Reception\Contract\ReceiveContextInterface::getPostProcessingBag in \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::getEventDispatcher
Add post-processor base class \Heptacom\HeptaConnect\Core\Reception\Contract\PostProcessorContract
Add post-processing for failed receptions using \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedData and handled in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\MarkAsFailedPostProcessor
Add post-processing for saving mappings after receptions using \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsData and handled in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor
Extract path building from \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer and \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer into new service \Heptacom\HeptaConnect\Core\Storage\Contract\StreamPathContract
Add log messages codes 1634868818, 1634868819 to \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::STORAGE_STREAM_NORMALIZER_CONVERTS_HINT_TO_FILENAME with the message code 1635462690 to track generated filenames from the stream file storage in \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer
Add log exception code 1636503503 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job has no related route
Add log exception code 1636503504 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job has no entity
Add log exception code 1636503505 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job refers a non-existing route
Add log exception code 1636503506 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job refers to a route that is not configured to allow receptions
Add log exception code 1636503507 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job has an entity, that is of a different type than the route's entity type
Add log exception code 1636503508 to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception when job has an entity, that has a different primary key than the one saved on the job
Add web HTTP handler context factory interface \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleContextFactoryInterface and implementation \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleContextFactory as well as \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleContext
Add web HTTP stack building interfaces \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerStackBuilderFactoryInterface, \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerStackBuilderInterface and implementations \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilderFactory, \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlerStackBuilder for acting with web HTTP handlers
Add web HTTP service interface \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandleServiceInterface and implementation \Heptacom\HeptaConnect\Core\Web\Http\HttpHandleService to validate and handle requests
Add web HTTP actor interface \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlingActorInterface and implementation \Heptacom\HeptaConnect\Core\Web\Http\HttpHandlingActor to process any request through a web HTTP handler stack
Add interface \Heptacom\HeptaConnect\Core\Web\Http\Contract\HttpHandlerUrlProviderFactoryInterface for bridges to provide implementation as bridges implement routing
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::WEB_HTTP_HANDLE_NO_THROW used with log message code 1636845126 when handling the web request triggered an exception in the flow component
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::WEB_HTTP_HANDLE_NO_HANDLER_FOR_PATH used with log message code 1636845086 when handling the web request could not match any flow component
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::WEB_HTTP_HANDLE_DISABLED used with log message code 1636845085 when route is disabled and still called
Add \Heptacom\HeptaConnect\Core\Storage\Exception\GzipCompressException for cases when gzip related methods fail
Add exception code 1637432095 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\SerializableCompressNormalizer::normalize when gzcompress fails to compress
Add exception code 1637101289 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer::denormalize when file to denormalize does not exist
Add exception code 1637432853 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer::normalize when object is no \Heptacom\HeptaConnect\Portal\Base\Serialization\Contract\SerializableStream
Add exception code 1637432854 in \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer::normalize when object does not hold a valid stream
Add exception code 1637433403 in \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\AddPortalConfigurationBindingsCompilerPass::process when an array_combine call fails that logically should not be able to fail
Add log message \Heptacom\HeptaConnect\Core\Component\LogMessage::EMIT_NO_PRIMARY_KEY used with log message code 1637434358 when emitted entity has no primary key
Add parameter $jobKey in \Heptacom\HeptaConnect\Core\Job\JobData::__construct
Add service Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerUrlProviderInterface to portal container
Add service Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerCollection to portal container
Add service Heptacom\HeptaConnect\Portal\Base\Web\Http\HttpHandlerCollection.decorator to portal container
Add log message code 1637527920 in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor::handle when an entity has been received with a primary key but has no mapping data
Add log message code 1637527921 in \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor::handle when an entity has been received with a primary key but has invalid mapping data
Changed
Change parameter name of \Heptacom\HeptaConnect\Core\Emission\EmitContext::markAsFailed from $datasetEntityClassName to $entityType
Change parameter name of \Heptacom\HeptaConnect\Core\Emission\Contract\EmitterStackBuilderFactoryInterface::createEmitterStackBuilder from $entityClassName to $entityType, respective change in its implementing class \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilderFactory::createEmitterStackBuilder
Change parameter name of \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::__construct from $entityClassName to $entityType. Change the field name in corresponding functions that use the field (\Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::push, \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::pushDecorators)
Change parameter name of \Heptacom\HeptaConnect\Core\Emission\EmitService::getEmitterStack from $entityClassName to $entityType
Change parameter name of \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorerStackBuilderFactoryInterface::createExplorerStackBuilder from $entityClassName to $entityType, respective change in its implementing class \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilderFactory::createExplorerStackBuilder
Change parameter name of \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface::performExploration from $entityClassName to $entityType, respective change in its implementing class \Heptacom\HeptaConnect\Core\Exploration\ExplorationActor::performExploration
Change parameter name of \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::__construct from $entityClassName to $entityType. Change the field name in corresponding functions that use the field (\Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::push, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::pushDecorators)
Change parameter name of \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiverStackBuilderFactoryInterface::createReceiverStackBuilder from $entityClassName to $entityType, respective change in its implementing class \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilderFactory::createReceiverStackBuilder
Change parameter name of \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::__construct from $entityClassName to $entityType. Change the field name in corresponding functions that use the field (\Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::push, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::pushSource, \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::pushDecorators)
Change parameter name of \Heptacom\HeptaConnect\Core\Reception\ReceiveService::getReceiverStack from $entityClassName to $entityType
Change parameter name of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::get from $datasetEntityClassName to $entityType, respective change in its implementing class for \Heptacom\HeptaConnect\Core\Mapping\MappingService::get
Change parameter name of \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::getListByExternalIds from $datasetEntityClassName to $entityType, respective change in its implementing class for \Heptacom\HeptaConnect\Core\Mapping\MappingService::getListByExternalIds
Change parameter name of \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::__construct from $datasetEntityClassName to $entityType
Change parameter name of \Heptacom\HeptaConnect\Core\Mapping\Publisher::publish from $datasetEntityClassName to $entityType
Change parameter name of \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::__construct from $datasetEntityClassName to $entityType
Change method name from \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingComponentStructContract::getDatasetEntityClassName to \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingComponentStructContract::getEntityType
Change method name from \Heptacom\HeptaConnect\Core\Mapping\MappingStruct::getDatasetEntityClassName to \Heptacom\HeptaConnect\Core\Mapping\MappingStruct::getEntityType
Change method name from \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::getDatasetEntityClassName to \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::getEntityType
Change method name from \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::setDatasetEntityClassName to \Heptacom\HeptaConnect\Core\Mapping\MappingNodeStruct::setEntityType
Change method name from \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::getForeignDatasetEntityClassName to \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::getForeignEntityType
Change method name from \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::setForeignDatasetEntityClassName to \Heptacom\HeptaConnect\Core\Reception\Support\PrimaryKeyChangesAttachable::setForeignEntityType
Add dependency onto \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\JobRepositoryContract into \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler, \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler and \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler for job tracking
Add dependency onto \Psr\Cache\CacheItemPoolInterface into \Heptacom\HeptaConnect\Core\Configuration\ConfigurationService for configuration caching
Remove parameter $mappingService from \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::__construct and \Heptacom\HeptaConnect\Core\Reception\ReceiveContextFactory::__construct as it is no longer needed
Add parameter $postProcessors to \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::__construct and \Heptacom\HeptaConnect\Core\Reception\ReceiveContextFactory::__construct to contain every post-processing handler for this context
Change \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::markAsFailed to add \Heptacom\HeptaConnect\Portal\Base\Reception\PostProcessing\MarkAsFailedData to the post-processing data bag instead of directly passing to \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::addException
Remove parameter $mappingPersister from \Heptacom\HeptaConnect\Core\Reception\ReceptionActor::__construct as its usage has been moved into \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor
Move of saving mappings from \Heptacom\HeptaConnect\Core\Reception\ReceptionActor::performReception into \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor::handle
Add dependency onto \Psr\Log\LoggerInterface into \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer for logging filename conversions
Change dependency in \Heptacom\HeptaConnect\Core\Emission\EmissionActor from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\RouteRepositoryContract into \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Route\Listing\ReceptionRouteListActionInterface for more performant route lookup
Change dependency in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler from \Heptacom\HeptaConnect\Storage\Base\Contract\Repository\RouteRepositoryContract into \Heptacom\HeptaConnect\Storage\Base\Contract\Action\Route\Get\RouteGetActionInterface for more performant route reading
Allow \Heptacom\HeptaConnect\Core\Job\Contract\ReceptionHandlerInterface::triggerReception to throw \Heptacom\HeptaConnect\Core\Job\Exception\ReceptionJobHandlingException
Add dependency onto \Psr\Log\LoggerInterface into \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler for logging exceptions
Add dependency onto \Psr\Log\LoggerInterface into \Heptacom\HeptaConnect\Core\Reception\PostProcessing\SaveMappingsPostProcessor for logging unclearmapping scenarios
Deprecated
Move \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer::STORAGE_LOCATION into \Heptacom\HeptaConnect\Core\Storage\Contract\StreamPathContract::STORAGE_LOCATION
Remove interface \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::ensurePersistence and implementation \Heptacom\HeptaConnect\Core\Mapping\MappingService::ensurePersistence in favour of \Heptacom\HeptaConnect\Storage\Base\MappingPersister\Contract\MappingPersisterContract
Fixed
Provide callback-function to \array_filter in Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\DirectEmissionFlow::run to only filter out primary keys with null and not 0
\Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamDenormalizer rejects null and empty string as data
Usage of \Ramsey\Uuid\Uuid in \Heptacom\HeptaConnect\Core\Storage\Normalizer\StreamNormalizer only supported ramsey/uuid: 3 but composer configuration allowed installation of ramsey/uuid: 4. Now it is used cross-compatible to work with ramsey/uuid: 3 || 4
\Heptacom\HeptaConnect\Core\Configuration\ConfigurationService::setPortalNodeConfiguration removes nested null values and does not store null anymore
Fix automatic prototyping when a portal provides an interface in \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\RemoveAutoPrototypedDefinitionsCompilerPass::isPrototypable
[0.7.0] - 2021-09-25
Added
Change implementation for \Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalStorageInterface in \Heptacom\HeptaConnect\Core\Portal\PortalStorage to allow PSR simple cache compatibility
Add interface \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiveContextFactoryInterface to \Heptacom\HeptaConnect\Core\Reception\ReceiveContextFactory
Add interface \Heptacom\HeptaConnect\Core\Job\Contract\ReceptionHandlerInterface to \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler
Add interface \Heptacom\HeptaConnect\Core\Job\Contract\ExplorationHandlerInterface to \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler
Add interface \Heptacom\HeptaConnect\Core\Job\Contract\EmissionHandlerInterface to \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler
Add interface \Heptacom\HeptaConnect\Core\Emission\Contract\EmitContextFactoryInterface to \Heptacom\HeptaConnect\Core\Emission\EmitContextFactory
Add method \Heptacom\HeptaConnect\Core\Exploration\DirectEmitter::batch for better performance in direct emissions
Changed
\Heptacom\HeptaConnect\Core\Portal\PortalStorage::get and \Heptacom\HeptaConnect\Core\Portal\PortalStorage::set will now throw exceptions when normalization could not happen
Add parameter for \Psr\Log\LoggerInterface dependency in \Heptacom\HeptaConnect\Core\Portal\PortalStorage::__construct and \Heptacom\HeptaConnect\Core\Portal\PortalStorageFactory::__construct
Change type of parameter \Heptacom\HeptaConnect\Core\Reception\ReceiveContextFactory to its new interface \Heptacom\HeptaConnect\Core\Reception\Contract\ReceiveContextFactoryInterface in \Heptacom\HeptaConnect\Core\Reception\ReceiveService::__construct
Change type of parameter \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler to its new interface \Heptacom\HeptaConnect\Core\Job\Contract\EmissionHandlerInterface in \Heptacom\HeptaConnect\Core\Job\DelegatingJobActor::__construct
Change type of parameter \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler to its new interface \Heptacom\HeptaConnect\Core\Job\Contract\ReceptionHandlerInterface in \Heptacom\HeptaConnect\Core\Job\DelegatingJobActor::__construct
Change type of parameter \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler to its new interface \Heptacom\HeptaConnect\Core\Job\Contract\ExplorationHandlerInterface in \Heptacom\HeptaConnect\Core\Job\DelegatingJobActor::__construct
Change type of parameter \Heptacom\HeptaConnect\Core\Emission\EmitContextFactory to its new interface \Heptacom\HeptaConnect\Core\Emission\Contract\EmitContextFactoryInterface in \Heptacom\HeptaConnect\Core\Emission\EmitService::__construct
Change behavior of service \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\DirectEmissionFlow to not create mappings anymore
Remove parameter \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface from \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\DirectEmissionFlow::__construct
Change method \Heptacom\HeptaConnect\Core\Reception\ReceptionActor::saveMappings to use new service \Heptacom\HeptaConnect\Storage\Base\MappingPersister\Contract\MappingPersisterContract
\Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::pushSource and \Heptacom\HeptaConnect\Core\Exploration\ExplorerStackBuilder::pushDecorators don't push explorers onto the stack when they are already in the stack
\Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::pushSource and \Heptacom\HeptaConnect\Core\Emission\EmitterStackBuilder::pushDecorators don't push emitters onto the stack when they already in the stack
\Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::pushSource and \Heptacom\HeptaConnect\Core\Reception\ReceiverStackBuilder::pushDecorators don't push receivers onto the stack when they already in the stack
Removed
Remove method \Heptacom\HeptaConnect\Core\Exploration\DirectEmitter::run as it became obsolete
[0.6.0] - 2021-07-26
Added
Add \Heptacom\HeptaConnect\Core\Exploration\Contract\ExploreServiceInterface::dispatchExploreJob to start an exploration as a job via \Heptacom\HeptaConnect\Core\Job\Contract\JobDispatcherContract::dispatch
Add \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler to handle exploration jobs \Heptacom\HeptaConnect\Core\Job\Type\Exploration
Add support for handling exploration jobs in \Heptacom\HeptaConnect\Core\Job\DelegatingJobActor with using \Heptacom\HeptaConnect\Core\Job\Handler\ExplorationHandler
Add \Psr\Http\Message\ResponseFactoryInterface service to the portal containers in \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder for better HTTP and messaging PSR support for portal developers
Add \Psr\Http\Message\StreamFactoryInterface service to the portal containers in \Heptacom\HeptaConnect\Core\Portal\PortalStackServiceContainerBuilder for better HTTP and messaging PSR support for portal developers
Changed
Direct emission and explorations create mappings via \Heptacom\HeptaConnect\Core\Mapping\Contract\MappingServiceInterface::getListByExternalIds on \Heptacom\HeptaConnect\Core\Exploration\Contract\ExplorationActorInterface::performExploration when implemented by \Heptacom\HeptaConnect\Core\Exploration\ExplorationActor::performExploration
[0.5.1] - 2021-07-13
Fixed
Remove impact of entity primary keys on lock keys in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception
[0.5.0] - 2021-07-11
Added
Add composer dependency symfony/yaml: ^4.4|^5.0
Add base class \Heptacom\HeptaConnect\Portal\Base\Flow\DirectEmission\DirectEmissionFlowContract to \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow to expose service for portals
Add classes to hold job data for batch processing \Heptacom\HeptaConnect\Core\Job\JobData and \Heptacom\HeptaConnect\Core\Job\JobDataCollection
Add class \Heptacom\HeptaConnect\Core\Portal\PortalLogger that can decorate any \Psr\Log\LoggerInterface to apply any additional message prefix and context to all logs
Add \Heptacom\HeptaConnect\Portal\Base\Publication\Contract\PublisherInterface to portal node service container
Add \Heptacom\HeptaConnect\Portal\Base\Flow\DirectEmission\DirectEmissionFlowContract to portal node service container
Changed
The acting to jobs in \Heptacom\HeptaConnect\Core\Job\Contract\DelegatingJobActorContract::performJob will now happen in batches in \Heptacom\HeptaConnect\Core\Job\Contract\DelegatingJobActorContract::performJobs and expects different parameters
The trigger on emission jobs in \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler::triggerEmission will now happen in batches and expects different parameters
The trigger on reception jobs in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception will now happen in batches and expects different parameters
Change signature of \Heptacom\HeptaConnect\Core\Reception\Contract\ReceptionActorInterface::performReception to not rely on previously entities bound to \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingInterface objects
Change signature of \Heptacom\HeptaConnect\Core\Reception\ReceiveContext::markAsFailed to not rely on previously entities bound to \Heptacom\HeptaConnect\Portal\Base\Mapping\Contract\MappingInterface objects
Do most of the business logic for reception in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler to have job related logic less bound to reception processes in general
Deprecated
Deprecate cronjobs and therefore mark \Heptacom\HeptaConnect\Core\Cronjob\CronjobContext, \Heptacom\HeptaConnect\Core\Cronjob\CronjobContextFactory, \Heptacom\HeptaConnect\Core\Cronjob\CronjobService as internal
Deprecate webhooks and therefore mark \Heptacom\HeptaConnect\Core\Webhook\WebhookContext, \Heptacom\HeptaConnect\Core\Webhook\WebhookContextFactory, \Heptacom\HeptaConnect\Core\Webhook\WebhookService, \Heptacom\HeptaConnect\Core\Webhook\Contact\UrlProviderInterface as internal
Removed
Move \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\DirectEmissionResult into the portal base package as \Heptacom\HeptaConnect\Portal\Base\Flow\DirectEmission\DirectEmissionResult
Move \Heptacom\HeptaConnect\Core\Flow\DirectEmissionFlow\Exception\UnidentifiedEntityException into the portal base package as \Heptacom\HeptaConnect\Portal\Base\Flow\DirectEmission\Exception\UnidentifiedEntityException
The handling of jobs in \Heptacom\HeptaConnect\Core\Flow\MessageQueueFlow\MessageHandler::handleJob does not republish failed jobs anymore. That feature will be added back again in a different form
The trigger on emission jobs in \Heptacom\HeptaConnect\Core\Job\Handler\EmissionHandler::triggerEmission will no longer report back success
The trigger on reception jobs in \Heptacom\HeptaConnect\Core\Job\Handler\ReceptionHandler::triggerReception will no longer report back success
Remove automatically registered services in \Heptacom\HeptaConnect\Core\Portal\ServiceContainerCompilerPass\RemoveAutoPrototypedDefinitionsCompilerPass that is based on \Throwable, \Heptacom\HeptaConnect\Dataset\Base\Contract\AttachableInterface, \Heptacom\HeptaConnect\Dataset\Base\Contract\CollectionInterface and \Heptacom\HeptaConnect\Dataset\Base\Contract\DatasetEntityContract