-
Notifications
You must be signed in to change notification settings - Fork 50
News and Noteworthy
Philip Helger edited this page Mar 4, 2020
·
95 revisions
- v4.5.4 - work in progress
- Fixed a resource leak that caused a lot of "bcMail" temporary files (see #103)
- v4.5.3 - 2020-02-17
- Updated to ph-web 9.1.9
- v4.5.2 - 2020-02-07
- Fixed passing the keystore password in the AS2 client if the keystore was provided as a byte array
- Sending less stack traces in the MDN if an
AS2ProcessorExceptionwas thrown
- v4.5.1 - 2020-02-07
- Extended
CertificateFactoryAPI - Fixed a small RFC 4130 compliance bug. In the formatting of the "Disposition" response header, a blank was missing in case of an error
- Extended other APIs of modules and processors
- Extended
- v4.5.0 - 2019-12-19
- Renamed
OpenAS2ExceptiontoAS2Exception - Renamed
WrappedOpenAS2ExceptiontoWrappedAS2Exception - Renamed
OpenAS2KeyStoretoAS2KeyStore - Renamed
DispositionExceptiontoAS2DispositionException - Renamed
HttpResponseExceptiontoAS2HttpResponseException - Got rid of the name
OpenAS2internally - Renamed other exception to start with
AS2 - Moved package
com.helger.as2lib.util.certto test-only - The MDN payload parsing now honors the Content-Transfer-Encoding (see #100)
- Renamed
- v4.4.8 - 2019-10-23
- Allowed absolute path with Windows drives for the attributes
pendingmdninfoandpendingmdn(see #97) - Removed intermediate class
AbstractCertificateFactory - Made
CertificateFactorythread-safe (and got rid of some synchronized) - Changed application name from
ph-OpenAS2toas2-lib - Renamed
AS2ServletSessiontoAS2ServletXMLSession(incompatible but should not effect outside code)
- Allowed absolute path with Windows drives for the attributes
- v4.4.7 - 2019-10-22
- Simplified
ICertificateFactoryto work onIBaseMessage - Fixed a missing HTTP header unification when using the async MDN (see #97)
- The async MDN is no longer send in a separate thread but in the main thread of the processor, so that retry etc. works
- Fixed too much quoting when having path values inside of the attributes
pendingmdninfoandpendingmdn(see #97)
- Simplified
- v4.4.6 - 2019-10-18
- Added a possibility to customize the "ReceiverModule" to send back the full exception or only the class name and and the message
- The "UserAgent" HTTP header now contains the version number of the as2-lib used
- v4.4.5 - 2019-10-11
- Updated to ph-web 9.1.4
- Added custom MIC matching handler to class
AS2ClientSettings - Added the possibility to provide a custom callback to receive the certificate used in class
AS2ClientSettings - Moved
IHTTPOutgoingDumperFactoryfrom package ".http" to ".dump" (incompatible change) - Made the
IHTTPIncomingDumpercustomizable per handler - Made
AS2ReceiveServletnon final and moved initialization code toinit() - The
as2-serverproject was reintegrated into this repository for ease of maintenance - Added new submodule
as2-demo-spring-bootfor a stub how to useas2-libwith Spring Boot (see #96) - Fixed an issue with the
Content-Transfer-Encodingand it is now more consistent
- v4.4.4 - 2019-09-26
- v4.4.3 - 2019-09-05
- Fixed an unintended quoting of HTTP header values when reading an MDN
- v4.4.2 - 2019-08-30
- Updated to ph-commons 9.3.6
- Changed Automatic-Module-Name of "as2-lib" to
com.helger.as2lib - Changed Automatic-Module-Name of "as2-servlet" to
com.helger.as2servlet - The HTTP headers can now be automatically quoted correctly according to RFC 2616 chapter 2.2 (see #92) - must be explicitly enabled.
- Internal API of
OpenAS2Exceptionwas changed in an incompatible way - Trying to ensure correct line endings in MDNs (see #90)
- By default exception stack traces are not send back in the MDN anymore
- v4.4.1 - 2019-06-28
- Extended
ICryptoHelper.verifyAPI to have a chance to retrieve the effective certificate - Added a new message attribute that contains the certificate used for verification
-
AS2ClientResponsenow has an accessor to retrieve the certificate used to verify the MDN
- Extended
- v4.4.0 - 2019-06-13
-
AS2Clientcorrectly passes the keystore type toCertificateFactory -
AS2Clientcan now handle read-only keystore that is provided as byte array - Remove support for the old HttpUrlConnection, therefore making "large file support" the default (see #87)
- Removed all the "large file support" flags (incompatible)
- Improved MIC algorithm name matching (see #75)
- Added support for deprecated signing algorithms
rsa-md5andrsa-sha1 - Updated to new Mendelson test certificates (key3 and key4 - see http://mendelson-e-c.com/node/3211)
- The
Content-Transfer-Encodingvaluebase64now works correctly (see #71) - Added a custom
IMICMatchingHandlerinterface toAS2SenderModuleandAS2MDNReceiverHandler(see #59) - Removed deprecated class
com.helger.as2lib.cert.PKCS12CertificateFactory. Usecom.helger.as2lib.cert.CertificateFactoryinstead - no functionality changes. - Removed some other deprecated methods as well.
- Updated to ph-commons 9.3.4
- Reworked the outgoing dumping API, so that it can be set per "AbstractHttpSenderModule" and must not be globally set. This is a backwards incompatible change. The existing system property is still accepted.
- The AS2 client can now dump specific outgoing requests more easily using the new API
- The outgoing HTTP dumper does now have options to configure whether the comment, header and or payload should be dumped or not
-
- v4.3.0 - 2019-05-17
- Moved interface
IRefreshablePartnershipFactoryfrom project as2-server to this project - Improved support for large file transmission - thanks to @zharpaz for the PR (see #78)
- Removed class
AS2GlobalSettings - Removed support for the system property
AS2.useSecureRandom
- Moved interface
- v4.2.2 - 2019-03-21
- Fixed code quality
- Fixes the as2-server issue #22
- v4.2.1 - 2018-11-26
- Updated to ph-commons 9.2.0
- v4.2.0 - 2018-11-21
- Added support for large file transmission (using Apache HttpClient) - thanks to @zharpaz for the PRs :D
- AS2 client now has the possibility to not request an MDN at all
- It's now possible to use a different Security Provider besides BouncyCastle (see #52)
- Added workaround for bug in
HttpHeaderMap.addAllHeaders(see #48) - Using the correct signing algorithm for the MIC, according to the partnership definitions (see #50)
- Added new subproject
as2-demo-webappto provide a simple to use stub for a web application receiving AS2 messages (see #36) - Loading of keystores now also works from classpath by default. Based on https://github.com/phax/as2-peppol-server/issues/2
- Deprecated
AS2ClientRequest.setData (File)in favour ofAS2ClientRequest.setData (File, Charset)(see #45) -
Content-Typehandling was improved all over the place to avoid exception in case of error (see #33) - Added new class
HTTPIncomingDumperStreamBased - Calculating the MIC only if an MDN is requested (see #58)
- Saved MDN uses OS specific newlines (see #61)
- Changed
IDynamicComponentto haveattrs()and not to be aStringMap - Added new encryption algorithms (AES with GCM padding)
- Requires ph-web 9.0.5 or newer
- Required ph-commons 9.1.8. to ensure case sensitive HTTP header names (see ph-commons ä11)
- Storing the outgoing MIC as an attribute in the message (see #74)
- v4.1.1 - 2018-07-27 - please use only with ph-commons 9.1.4 or newer
- The existence of just the header
Disposition-Notification-OptionswithoutDisposition-Notification-Todoes not trigger MDN sending anymore (see #42) - Fixed overwriting of existing
Content-Transfer-Encodingwhen receiving messages. - Partnership attribute
blockerrormdnis now only evaluated for MDNs that are created based on errors - MDNs now also use the partner attribute
content_transfer_encodingandcontent_transfer_encoding_receive(see #43)
- The existence of just the header
- v4.1.0 - 2018-06-20
- The random parameters class now supports creating random values that are longer than 10 characters
- Fixed OSGI ServiceProvider configuration
- Added support for new encryption algorithms (see #38)
- Added new system property
AS2.httpDumpDirectoryOutgoingto easily dump outgoing transmissions - Renamed system property for dumping incoming HTTP transmissions from
AS2.httpDumpDirectorytoAS2.httpDumpDirectoryIncomingto avoid confusion. The old name can still be used but emits a warning. - Modules
MDNFileModuleandMessageFileModulenow got a new attributecharsetto define the charset to be used to dump the information. - Requires ph-commons 9.1.2
- v4.0.2 - 2018-04-05
- improved client configurability and customizability
- Switching back to preferring BC PKCS12 key store, because JDK PKCS 12 key store is partially case insensitive
- v4.0.1 - 2018-03-27
- Updated to BouncyCastle 1.59
- When using the non-servlet version, the values for the
source_ipanddestination_ipfields were fixed (see https://github.com/phax/as2-server/issues/20)
- v4.0.0 - 2018-01-06
- Updated to ph-commons 9.0.0
- Updated to BouncyCastle 1.58
- Fixed crypto algorithm case sensitivity issue on sending (issue #32)
- Changed internally from
java.util.Datetojava.time.LocalDateTime- so all the Date parameters must be changed fromyyyytouuuu!!! - The certificate factory
com.helger.as2lib.cert.PKCS12CertificateFactorywas deprecated in favor of the more genericcom.helger.as2lib.cert.CertificateFactorythat handles arbitrary keystore types (like JKS).
- v3.1.0 - 2017-07-27
- AS2 client can now handle custom HTTP headers
- Reworked dumping API to create new dumpers per request
- Dumping API was moved into a separate package.
- v3.0.4 - 2017-06-19
- AS2 client allows different content type even if text source is used
- AS2 client allows to specify Content-Transfer-Encoding
- Updated to BouncyCastle 1.57
- The receiving modules got a new attribute
errorstorebodyto indicate whether the body of a failed message should also be stored or not (default isfalse) - The receiving modules
errordirdirectory can now handle parameters (date and msg) - AS2 client can now request and asynchronous MDN (issue #31)
- v3.0.3 - 2017-01-24
- Binds to ph-commons 8.6.x
- Binds to ph-web 8.7.0
- Updated to BouncyCastle 1.56
- v3.0.2 - 2016-11-28
- Improved signature validation certificate selection (#28) - thanks @rklyne
- Made connect and read timeout configurable in
AS2ClientSettings(issue #23)
- v3.0.1 - 2016-09-27
- Made incoming HTTP request dumping customizable (issue #26)
- v3.0.0 - 2016-08-21
- JDK 8 is now required
- Using ph-commons 8.4.x
- v2.2.8 - 2016-05-09
- Improved AS2 client https customization and API
- v2.2.7 - 2016-04-27
- Added per partnership attribute
rfc3851_micalgsto determine to use RFC 3851 MIC algorithm names instead of the default RFC 5751 MIC algorithm names (issue #18) - Fixed problem with special character escaping in MDN context (issue #19)
- Added per partnership attribute
- v2.2.6 - 2016-03-02
- Added support for dumping HTTP requests when using
as2-servlet
- Added support for dumping HTTP requests when using
- v2.2.5 - 2015-12-01
- Added a validity check so that expired certificates can no longer be used to sign, verify and encrypt messages. Decrypt is still possible.
- Added the possibility to disable the autosave of the
PKCS12CertificateFactoryusing the new boolean attributeautosave. This can now also easily be set in the client settings. (issue #17) - Fixed potential endless loop when a retry count was specified at a partnership (issue #16)
- v2.2.4 - 2015-11-11
- Fixed a minor issue where details of a ProcessingException were not passed into the MDN text
- v2.2.3 - 2015-10-22
- Improved API for handling MDN errors (as2-lib issue #11)
- The signature verification of messages sent without
Content-Transfer-Encodingwas fixed (as2-lib issue #12) - Receiving a message for an unknown partnership now results in a correct error MDN (as2-server issue #16)
- The new sub-project
as2-servletis now contained
- v2.2.2 - 2015-10-19
- Updated to Bouncy Castle 1.53 (as2-lib issue #10)
- v2.2.1 - 2015-10-08
- Extended API and some debug logging added
- v2.2.0 - 2015-09-27
- added system properties (see below) for configuration and debugging purposes
- added new resender modules:
ImmediateResenderModuleandInMemoryResenderModule - added the following new partnership attributes:
-
content_transfer_encoding_receive[receiver side] to define a fixedContent-Transfer-Encodingfor receiving, even if none is specified. -
force_decrypt[receiver side] to force decryption of incoming messages even if theContent-Typeheader claims the message is not encrypted (as a work-around for non spec-compliant senders) -
disable_decrypt[receiver side] to disable decryption of incoming messages even if theContent-Typeheader claims the message is encrypted (as a work-around for non spec-compliant senders) -
force_verify[receiver side] to force signature validation of incoming messages even if theContent-Typeheader claims the message is not signed (as a work-around for non spec-compliant senders) -
disable_verify[receiver side] to disable signature verification of incoming messages even if theContent-Typeheader claims the message is signed (as a work-around for non spec-compliant senders) -
verify_use_cert_in_body_part[receiver side] to define whether a certificate passed in the signed MIME body part shall be used to verify the signature (whentrue) or whether to always use the certificate provided in the partnership (whenfalse). If not set the value of the AS2 session is used. -
disable_decompress[receiver side] to disable decompression of incoming messages even if theContent-Typeheader claims the message is compressed (as a work-around for non spec-compliant senders) -
sign_include_cert_in_body_part[sender side] to determine whether the certificate used for signing should be included in the signed content part (whentrue) or not (whenfalse). The default value istrue. - Added the sub-project
as2-partnership-mongodb- thanks to @jochenberger for contributing it
-
- Version 2.1.0 - 2015-08-20
- fixes a problem that implicitly SHA-1 was always used for signing, no matter what you specify
- compression according to RFC 5402 is now supported so that this is no fully AS2 1.1 compatible