Skip to content

phase4 3.0.0

Latest
Compare
Choose a tag to compare
@phax phax released this 17 Nov 22:18
· 4 commits to master since this release

This is the list of the collective changes for the 3.0.0 releases as already shown in the pre-releases. The changes are grouped by activities.

  • Updates
    • Updated to WSS4J 3.0.4
    • Updated to xmlsec 3.0.5
    • Updated to BouncyCastle 1.79.0
    • Updated to ph-commons 11.1.10
    • Updated to peppol-commons 9.6.0
  • Removals
    • Removed all deprecated methods marked for removal
    • Removed the phase4-spring-boot-demo submodule in favour of https://github.com/phax/phase4-peppol-standalone
    • [BPC] Removed the profile phase4-profile-bpc submodule in favour of phase4-profile-dbnalliance
  • Backward incompatible changes
    • Moved classes to different packages without changing the internal working. See Migrations for all details
    • The configuration files private-crypto.properties and crypto.properties are also deprecated. Please move the properties to application.properties, environment variables or Java system properties instead.
    • Implementations of IAS4CryptoFactory now need to implement ´getKeyPasswordPerAliasCharArrayinstead ofgetKeyPasswordPerAlias`
    • Created new class AS4CryptoFactoryConfiguration to replace AS4CryptoFactoryProperties as the default AS4 crypt factory. See [[Migrations]] for all details
    • Deprecated classes AS4CryptoFactoryProperties and AS4CryptoProperties in favour of AS4CryptoFactoryConfiguration
    • Support for a default AS4 profile inside the AS4 Profile Manager was removed in the favour of the configuration property phase4.default.profile (previously called phase4.profile)
    • The "as4ProfileID" field is now mandatory when using the AS4 sender builder. Defaults are provided.
    • [EuCtp] Renamed class EuCtpPullRequestBuilder to AbstractEuCtpPullRequestBuilder and made abstract. Use Phase4EuCtpSender.builderPullRequest () instead
    • [EuCtp] Renamed method Phase4EuCtpSender.builder to builderUserMessage
    • The AS4 Timestamp manager is now limiting the precision to milliseconds to ensure safe XML serializability.
  • Improvements
    • Included received HTTP headers in IAS4IncomingMessageMetadata JSON representation
    • Added new class AS4KeyStoreDescriptor to describe the parameters of a key store
    • Added new class AS4TrustStoreDescriptor to describe the parameters of a trust store
    • [Peppol] Added new class Phase4PeppolReceiverConfigurationBuilder to build Phase4PeppolReceiverConfiguration objects
    • [Peppol] Made the AP certificate checker in the Peppol sender builder customizable
    • Added new methods IAS4IncomingMessageState.getCryptoFactorySign() and getCryptoFactoryCrypt()
    • Added new method IAS4IncomingMessageState.getEffectiveDecryptedSoapDocument
    • Added verification of AS4 Receipt XMLDSig "Reference" objects against the ones sent out in the User Message. See #220 - thx @problemzebra2
    • Added new interface IAS4SignalMessageValidationResultHandler to customize the result handling of DSig reference verification
    • The internal configuration object now needs to implement IConfigWithFallback instead of just IConfig
    • The internal AS4 configuration is now based on the IConfigWithFallback interface
    • The AS4 sender builder no longer overwrites the PMode Resolver if an AS4 profile is set, but makes sure a PMode resolver is present
    • The AS4DefaultPModeResolver no longer creates a default PMode if no AS4 profile is present
    • Class AbstractAS4PullRequestBuilder can now also handle a specific PMode ID
    • Added class AS4IncomingProfileSelectorConstant
    • Improved default handling of inbound AS4 Profile selection to automatically use the sending Profile
    • Added new EdDSA algorithms to ECryptoAlgorithmSign
    • Added new key encrypt algorithms in ECryptoKeyEncryptionAlgorithm
    • Added possibility to dynamically set responder address. See #233 - thx @koes-soptim
    • Added new classes IAS4IncomingReceiverConfiguration and AS4IncomingReceiverConfiguration for receiver checks
    • [Peppol] Added a "/peppol-status" status endpoint to the demo application. See #215 - thx @RichardVanMaaren
    • Added getters for nearly all sender builder properties
    • If an AS4 Receipt does not contain non-repudiation information, it now contains the original user message wrapped, to stay XSD compliant
    • The class AS4ClientReceipt can now also take an outside RefToMessageId. See #267 - thx @sywong2000
    • Added new class Ebms3UserMessageMarshaller to solely serialize the UserMessage object

It is recommended to run phase4 with Java 21 or later for best performance.

What's Changed

  • Sywong2000 patch fix missing ref to message id non repudiation receipt by @sywong2000 in #267
  • Fixes for EuCtp profile and Receipt testing by @jonrios in #275

Full Changelog: phase4-parent-pom-2.8.6...phase4-parent-pom-3.0.0