************************************************************
* eHealth Technical Connector  RELEASE NOTES               *
************************************************************
4.7.3 release (april 2025)
   . bug-fix         fix determination of cms signature algorithm
   . bug-fix         fix order of JCA security providers to be able to work with Commons eID
   . bug-fix         fix default schematron endpoint

4.7.2 release (april 2025)
   . internal release

4.7.1 release (april 2025)
   . internal release

4.7.0 release (april 2025)
   . internal release

4.6.0 release (september 2024)
  . change       Update the schematron endpoint for incapacitynotification to https://raw.githubusercontent.com/ehealthplatformstandards/schematrons/prod/overview.xml


4.5.4 release (april 2024)
  . improvement       update default connector configuration file to bootstrap the ConfigurationModuleRegisterTransformers,
                      in order to make XAdES optional-deflate transform available.


4.5.3 release (april 2024)
   . internal release

4.5.2 release (april 2024)
   . internal release

4.5.1 release (april 2024)
   . internal release

4.5.0 release (april 2024)
   . internal release


4.4.0 release (september 2023)
    . improvement                                   update commons-eid to version 1.1.1, in order to add missing eid document types.
    . improvement b.e.t.beid.domain.DocumentType    add missing document types to be mapped from version 1.1.1 of commons-eid.
    
4.3.0 release (april 2023)
    . bug-fix     b.e.t.service.etee.CryptoFactory                      remove caching of signing options in order to prevent memory leaks
    . bug-fix     b.f.e.t.service.signature.TimestampGeneratorFactory   remove caching of signing options in order to prevent memory leaks
    . bug-fix     b.e.t.config.impl.ConfigurationWithSessionCache       fix inability to start new eID session by correctly unloading the certificate config of the previous session
    . bug-fix                                                           replace bcprov-jdk15on-1.56.jar with bcprov-jdk15on-1.68.jar in distributed libs (version 1.56 would not work with the other Bouncy Castle jar files).
    . improvement b.e.t.handler.wss4j.*                                 default connector service calls to signature algorithm RSA-SHA-256
                  b.e.t.service.sts.*
                  b.e.t.ws.feature.*
    . improvement b.e.t.service.sts.STSServiceFactory                   default STS to WS-Trust interface, in order to use by default the new version of SecurityTokenService,
                                                                        which includes the latest hashing (SHA-256) and signing algorithms (RSA-SHA-256 / ECDSA-SHA-256).    
                                                                        This change should be reflected in terms of sts endpoint config:
                                                                        endpoint.sts=$uddi{uddi:ehealth-fgov-be:business:iamsecuritytokenservice:v1}  
         
    . improvement b.e.t.service.etee.impl.ConnectorCertificateChecker   deactivate certificate check if certificate is self signed (this will prevent from logging "Cert chain NOT trusted" warnings) 
                  b.e.t.ws.ServiceFactory
    . improvement b.e.t.service.idsupport.impl.IdSupportServiceImpl     refactor specification of Id Support soap action and soap handlers out of ServiceFactory into IdSupportServiceImpl
    . improvement                                                       Upgrade to latest version of schematron (1.12.0)
    . improvement        Straight runtime compatibility up to JDK 15:
                                . Here are the Maven dependencies that have been added to the connector
                                  for this purpose (in case of Java 8 they replace those provided by the JDK): 
                                                 
                                        <dependency>
                                          <groupId>jakarta.xml.ws</groupId>
                                          <artifactId>jakarta.xml.ws-api</artifactId>
                                          <version>2.3.3</version>
                                        </dependency>
                                        <dependency>
                                          <groupId>com.sun.xml.ws</groupId>
                                          <artifactId>jaxws-rt</artifactId>
                                          <version>2.3.6</version>
                                          <scope>runtime</scope>
                                        </dependency>
                                        <dependency>
                                          <groupId>com.sun.xml.messaging.saaj</groupId>
                                          <artifactId>saaj-impl</artifactId>
                                          <version>1.3.28</version>
                                        </dependency>
                                        <dependency>
                                          <groupId>jakarta.xml.bind</groupId>
                                          <artifactId>jakarta.xml.bind-api</artifactId>
                                          <version>2.3.3</version>
                                        </dependency>
                                        <dependency>
                                          <groupId>com.sun.xml.bind</groupId>
                                          <artifactId>jaxb-impl</artifactId>
                                          <version>2.3.8</version>
                                        </dependency>
                                        
                                . For JDK 16 and up, the following VM options must be added, in order to access internal JDK classes:
       
                                   --add-exports java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
                                   --add-exports java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED
                                   --add-exports java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED 
                                   
    
4.2.0 release (october 2022)
    . improvement  see release.notes.technical-services.txt

4.0.2 release (october 2021)
    . improvement 
            - use technical connector V4 (see release.notes.technical-core.txt, release.notes.technical-bootsrap.txt, release.notes.technical-jca.txt, release.notes.technical-ra.txt and release.notes.technical-signature.txt)

4.0.1 release (october 2021)
  . internal partner release (not published on ehealth portal only distributed to Recipe, Reseau Santé Wallon and Vitalink)

3.21.2 release (may 2021)
   . added       b.e.t.utils.IdentifierType   Adding LEGAL_PSY identifier
   . added       new tracing specs:                 
                    b.e.t.handler.AbstractMimeHeaderManipulator    
                    b.e.t.handler.UserAgentHandler                                 
                                              Improvement of User-Agent specs (adding software package):
                                              User-Agent should match one or more instances of this regex: [a-zA-Z0-9]*\/[0-9a-zA-Z-_.]*
                                              If the properties file doesn't contain this new information, the request should not be blocked, only a warning should be logged
   . added       new tracing specs:                 
                    b.e.t.handler.FromLoader 
                    b.e.t.ws.domain.HandlersLoader   
                                              Adding From specs:
                                              The content of the from header should be a valid email address (emailregex.com)
                                              If the properties file doesn't contain this new information, the request should not be blocked, only a warning should be logged
   . improvement b.e.t.config.ConfigFactory   Clear config cache when setConfiguration is called

3.20.2 release (october 2020)
   . added       b.e.t.config.impl.ConfigUtils                      Adding class to detect if .NET is used
   . improvement b.e.t.config.impl.ConfigurationModuleClassloader   Using ConfigUtils for .NET detection
   . improvement b.e.t.config.impl.ConfigurationModuleEhealthTime   Adding system property to desactivate time verification
   . improvement b.e.t.config.impl.ConfigurationModuleProperties    Properties are dumped alphabetically
   . improvement b.e.t.config.impl.ConfigurationModuleVersion       Dumping jars which impacting the ServiceLoader mechanism (jars with a META-INF/services folder inside)
   . added       b.e.t.config.impl.ConfigurationModuleWindows10     Configuration module to set a correct os.version in .NET
   . improvement b.e.t.config.impl.RecursiveProperties              Keys are returned alphabetically
   . improvement b.e.t.config.util.ConfigUtil                       Using b.e.t.config.impl.ConfigUtils as implementation
   . improvement b.e.t.handler.MessageLevelRetryHandler             Adding debug logs for better troubleshooting
   . improvement b.e.t.s.e.i.ConnectorOCSPRevocationStatusChecker   Minor refactoring for better readability
   . improvement b.e.t.s.e.i.CryptoImpl                             Using non deprecated API of etee-cryptolib
   . improvement b.e.t.s.e.CryptoFactory                            Certificates are dumped alphabetically
   . improvement b.e.t.s.sts.STSService                            Using Duration for more precise token validity specification, old methods are deprecated
   . improvement b.e.t.s.sts.impl.AbstractSTSService                Using Duration for more precise token validity specification
   . improvement b.e.t.s.sts.impl.STSServiceImpl                    Using Duration for more precise token validity specification
   . improvement b.e.t.s.sts.impl.STSServiceWsTrustImpl             Using Duration for more precise token validity specification
   . improvement b.e.t.session.impl.SessionManagerImpl              Using Duration for token duration determination
   . improvement b.e.t.session.renew.AbstractRenewStrategy          Using Duration for token duration determination
   . improvement b.e.t.session.renew.RenewStrategy                  Using Duration for token duration determination
   . improvement b.e.t.utils.ConnectorIOUtils                       Intermediate directories are made when creating a temp file
   . improvement b.e.t.utils.ConnectorXmlUtils                      Adding debug logs for better troubleshooting
   . bug-fix     b.e.t.ws.impl.strategy.RetryStrategy               Remove unwanted stacktrace dump
   . bug-fix      b.e.f.t.bootstrap.bcp.EndpointUpdater             SHA-256 values is only set if load is correct
   . improvement  b.e.f.t.bootstrap.BootStrapUtils                  Duplicates entries are not injected in keystore

3.20.1 release (september 2020)
   . internal release
   
3.20.0 release (september 2020)
   . internal release
   
3.19.1 release (mars 2020)
   . improvement b.e.t.config.impl.ConfigurationImpl                Basic propertyfile analyser to detect if the default property is the same as the returned one
   . bug-fix     b.e.t.config.impl.ConfigurationModuleEhealthTime   Using HTTP-OPTIONS method to obtain the time of the server
   . improvement b.e.t.config.impl.ConfigurationModuleProperties    Dumping content of the properties file directly (avoiding log file spamming)
   . improvement b.e.t.config.impl.ConfigurationModuleSSL           Refactoring of SSL keystore loading (java system properties are not longer used)
   . improvement b.e.t.config.impl.ConfigurationModuleSSLVerifier   Refactoring now using ConfigurationModuleSSL
   . added       b.e.t.config.impl.TrustManagerFactory              Adding factory to instantiate javax.net.ssl.TrustManager
   . improvement b.e.t.config.impl.ConfigValidatorImpl              Separating init and load of properties
   . improvement b.e.t.config.impl.RecursiveProperties              Default properties files are now loaded optionally.
                                                                    Adding uddi entries for (rnconsult, dics v5, certra, etkra)     
   . improvement b.e.t.config.ConfigFactory                         Configuration can be set externally (needed for unit tests)
   . removed     b.e.t.exception.RetryNextEndpointException         Ensure the correct execution of SOAPHandlers when RetryNextEndpoint is called. (Using ThreadLocal context instead of an exception)
   . improvement b.e.t.handler.MessageLevelRetryHandler             Ensure the correct execution of SOAPHandlers when RetryNextEndpoint is called. (Using ThreadLocal context instead of an exception)
   . improvement b.e.t.service.etee.CryptoFactory                   Adding methods to dump content of keystore (in DEBUG)
   . improvement b.e.t.service.sso.imp.SingleSignOnServiceImpl      Changing look and file of the generated pages (matching eHealth I.AM layout)
   . improvement b.e.t.session.impl.SessionManagerImpl              Separating initiating of object and properties/config loading
   . improvement b.e.t.utils.IdentifierType                         Adding NIHII_AMBU_SERVICE
   . improvement b.e.t.validator.impl.TimeStampValidatorImpl        Reversing alias list (most recently used certifcates are added in the list)
   . improvement b.e.t.ws.impl.AbstractWsSender                     Ensure the correct execution of SOAPHandlers when RetryNextEndpoint is called. (Using ThreadLocal context instead of an exception)
   . improvement b.e.t.ws.impl.strategy.*                           Ensure the correct execution of SOAPHandlers when RetryNextEndpoint is called. (Using ThreadLocal context instead of an exception)

3.19.0 release (mars 2020)
   . internal release

3.18.0 release (september 2019)
   . bug-fix     b.e.t.beid.impl.CommonsEidAdaptor                  Closing beIDCard threads when not longer used
   . improvement b.e.t.beid.BeIDInfo                                Minor refactoring (closing threads correctly).
   . improvement b.e.t.exception.RetryNextEndpointException         Exception is not longer a TechnicalConnectorExcepion but a RuntimeException (see MessageLevelRetryHandler)
   . improvement b.e.t.handler.wss4j.WSSecHeaderGeneratorWss4jImpl  Adding support for SHA-256 digest calculation and signing
   . improvement b.e.t.handler.AbstractWsSecurityHandler            Adding new method for supporting SHA-256 digest calculation and signing
   . added       b.e.t.handler.MessageLevelRetryHandler             Exception handler that can activate BCP based on the Message (SOA-02001,...)
   . improvement b.e.t.handler.SoapActionHandler                    SOAPAction handler is now WSI-Complaint (rule 1109)
   . added       b.e.t.shutdown.DeleteFileOnExitShutdownHook        Adding ShutdownHook to delete file on exit
   . bug-fix     b.e.t.utils.impl.AttachmentUnmarshallerImpl        Supporting SWAREF references without prefix cid:
   . improvement b.e.t.utils.ConnectorXmlUtils                      Adding toDocument(Source source) , xslt(Source doc, Source xslt) method
   . improvement b.e.t.ws.*                                         Major refactoring for better maintenances, SHA2 signing support, ...

3.17.1 release (april 2019)
 . Add Zetes truststores for acc and prod environments
 . Update to cryptolib version 2.1.3
 . Updated acc trusted timestamp certificate
 . Using the correct endpoints for the Single Sign On (STS to IDP). See release.notes.technical-core.txt
 . Adding interface BrowserHandler. See release.notes.technical-core.txt


3.17.0 release (april 2019)
 . internal release 
 
3.16.1 release (october 2018)
 . see file release.notes.technical-core.txt
 
3.16.0 release (september 2018)
 . internal release 
 
3.15.1 release (april 2018)
   . change:  migration to services certra/etkra v2

3.15.0 release (april 2018)
 . internal release            