Verisign EPP SDK Change Log
===================

Changes in version 1.12.0.12 (01.13.2020)
-----------------------------------
* Removed the package-info.java files from the small number of packages that included it, to be consistent and to remove confusion. (James F. Gould)
* Fixed a large set of javadoc errors and warnings. (James F. Gould)


Changes in version 1.12.0.11 (12.26.2019)
-----------------------------------
* Updated com.verisign.epp.interfaces.EPPSessionTst to address a "missing type arguments for generic class Class<T>" warning. (James F. Gould)
* Created the com.verisign.epp.interfaces.EPPSession.initLoginAdapter() method and ensured that it is called in all of the com.verisign.epp.interfaces.EPPSession.init methods. (James F. Gould)

Changes in version 1.12.0.10 (12.13.2019)
-----------------------------------
* Updated draft draft-ietf-regext-epp-fees and fee-1.0.xsd for draft-ietf-regext-epp-fees-19. (James F. Gould)
* Updated the EPPPollQueueMgr.delete method to use the <poll> element instead of the "epp" prefixed <epp:poll> element in the value of the error response, since the "epp" namespace prefix is undefined. (James F. Gould)
* Added support for draft-ietf-regext-login-security-04. (James F. Gould)
* Fixed an issue with the logging of the received packets on the client-side by updating the com.verisign.epp.interfaces.EPPSession class. (James F. Gould)
* Fixed the list of javadoc warnings. (James F. Gould)
* Removed old versions of the Login Security Extension. which include v01, v02, and v03.  Versions v04 and v1_0 are kept. (James F. Gould) 
* Replaced the use of Ant for builds to Gradle. (James Tao and James F. Gould)

Changes in version 1.12.0.9 (09.30.2019)
-----------------------------------
* Updated the order that the factories and handlers are loaded in com.verisign.epp.serverstub.Server.initializeDispatcher(), where the extension factories, then the map factories, and finally the handlers are loaded.  This addresses a corner case where the com.verisign.epp.serverstub.ContactHandler is loading the strict contact parser pool prior to the XML schemas linked to the factories are loaded. (James F. Gould)
* Fixed the logic of replacing "contact-1.0-relaxed.xsd" with "contact-1.0.xsd" in com.verisign.epp.util.EPPStrictContactParser, where previously "contact-1.0-relaxed.xsd" was removed and "contact-1.0.xsd" was not added. (James F. Gould) 


Changes in version 1.12.0.8 (09.13.2019)
-----------------------------------
* Updated draft draft-ietf-regext-epp-fees to draft-ietf-regext-epp-fees-18. (James F. Gould)
* Updated EPPSession.getnewPassword() to EPPSession.getNewPassword(). (James F. Gould)
* Removed unused com.verisign.epp.transport.EPPEventHandler and com.verisign.epp.transport.EPPEventTstHandler. (James F. Gould)

Changes in version 1.12.0.7 (09.10.2019)
-----------------------------------
* Added masking of password and new password in com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger for com.verisign.epp.codec.loginsec.v02.EPPLoginSec, com.verisign.epp.codec.loginsec.v03.EPPLoginSec, com.verisign.epp.codec.loginsec.v03.EPPLoginSec, or com.verisign.epp.codec.loginsec.v1_0.EPPLoginSec extensions to login command. (James F. Gould)


Changes in version 1.12.0.6 (09.03.2019)
-----------------------------------
* Fixed com.verisign.epp.codec.loginsec.v1_0.EPPLoginSecUserAgent and com.verisign.epp.codec.loginsec.v04.EPPLoginSecUserAgent getTech(String) : void method to setTech(String) : void. (James F. Gould)
* Creates sources.jar file named epp-verisign-${build.version}-sources.jar in the epp lib directory and added the DotName extensions (defreg, emailfwd, namewatch, and persreg) to it. (Dan Keathley)


Changes in version 1.12.0.5 (08.26.2019)
-----------------------------------
* Added generation of the EPP SDK POM file when creating the epp-verisign-<version>.jar file. (Dan Keathley)


Changes in version 1.12.0.4 (08.22.2019)
-----------------------------------
* Created the com.verisign.epp.util.EPPDisabledEntityResolver class and use it when the EPP.UseEntityResolver property is set to false to ensure no XML schemas are dynamically resolved. (James F. Gould)
* Added support for draft-ietf-regext-login-security-03. (James F. Gould)
* Added support for draft-gould-regext-login-security-policy-03. (James F. Gould)

Changes in version 1.12.0.3 (07.31.2019)
-----------------------------------
* Set the default value in epp.config for the property EPP.UseEntityResolver=false to disable the entity resolver. (James F. Gould)
* Set the XML parser features that mitigate the XML eXternal Entity Injection (XXE) vulnerability in com.verisign.epp.util.EPPSchemaCachingParser. (James F. Gould) 

Changes in version 1.12.0.2 (06.26.2019)
-----------------------------------
* Corrected items in the Verisign Bundle EPP SDK Programmer's Guide based on what was done for version 1.11.0.7. (James F. Gould) 
* Added the initialize(Properties), initialize(String, ClassLoader), and initialize() methods to com.verisign.epp.interfaces.EPPApplication to support different methods of initializing the EPP SDK. (James F. Gould) 

Changes in version 1.12.0.1 (06.19.2019)
-----------------------------------
* Removed decode support for the preWhois and postWhois elements in the restore report command of draft-hollenbeck-epp-rgp-03. (James F. Gould)    

Changes in version 1.12.0.0 (06.14.2019)
-----------------------------------
* Removed all use of the "xsi:schemaLocation" XML attribute, the use of the "http://www.w3.org/2001/XMLSchema-instance" XML namespace, and the passing of the schemaLocation to the com.verisign.epp.codec.gen.EPPService class. (James F. Gould)   
* Added com.verisign.epp.util.EPPUtil.findDuplicateExtNamespaces(List<EPPCodecComponent>), com.verisign.epp.codec.gen.EPPCommand.findDuplicateExtNamespaces(), and com.verisign.epp.codec.gen.EPPResponse.findDuplicateExtNamespaces() to identify duplicate EPP extensions, and the associated unit tests in com.verisign.epp.util.EPPCodecTst.testFindDuplicateExtensions(). (James F. Gould)
* Cleaned up the com.verisign.epp.codec.domain code, by not hard coding the XML namespace prefix on decode, cleaning up the imports, cleaning up the comments, and generally making it more consistent with the newer code. (James F. Gould)
* Added support for removing the auth info via the <domain:null> element by adding a new ELM_NULL authorization type and the removePassword() method to com.verisign.epp.codec.gen.EPPAuthInfo. (James F. Gould)  

Changes in version 1.11.0.7 (06.26.2019)
-----------------------------------
* Corrected items in the Verisign Bundle EPP SDK Programmer's Guide. (James F. Gould) 

Changes in version 1.11.0.6 (05.13.2019)
-----------------------------------
* Updated draft draft-ietf-regext-epp-fees to draft-ietf-regext-epp-fees-16. (James F. Gould)
* Updated change poll extension to RFC 8590. (James F. Gould)
* Updated the EPP extension RFCs to include both the TXT and HTML documents and to follow the naming convention epp-<extension>-rfc<rfc-number>.<ext>. (James F. Gould)  
* Updated organization mapping and organization extension to RFC 8543 and RFC 8544, respectively. (James F. Gould)
* Updated from XercesJ 2.11.0 to 2.12.0. (James F. Gould)
* Added support for draft-ietf-regext-login-security-01. (James F. Gould)

Changes in version 1.11.0.5 (02.01.2019)
-----------------------------------
* Updated com.verisign.epp.codec.fee.v1_0.EPPFeeValue to not default the applied attribute to "immediate" and added support for the "lang" attribute.  Added support for the "lang" attribute to com.verisign.epp.codec.fee.v1_0.EPPFeeCredit. (James F. Gould) 
* Updated compilation to target Java 8 instead of Java 7. (James F. Gould) 
* Updated to compile and run with Java 11.  Added jaxb-api-2.3.1.jar and fixed many warnings due to deprecated classes and methods. (James F. Gould)
* Replaced draft-gould-regext-login-security-03 with draft-ietf-regext-login-security-00. (James F. Gould)
* Added support for draft-gould-casanova-regext-unhandled-namespaces-00. (James F. Gould)
* Updated draft-ietf-regext-org to draft-ietf-regext-org-12. (James F. Gould)
* Updated draft-ietf-regext-org-ext draft to draft-ietf-regext-org-ext-11. (James F. Gould) 
* Added support for draft-gould-regext-login-security-policy-03. (James F. Gould)
* Added support for draft-gould-regext-login-security-03. (James F. Gould)
* Added support for draft-gould-regext-launch-policy-01. (James F. Gould) 
* Updated draft-ietf-regext-change-poll to draft-ietf-regext-change-poll-11. (James F. Gould)
* Updated draft-ietf-regext-verificationcode to draft-ietf-regext-verificationcode-06. (James F. Gould)
* Added support for draft-gould-carney-regext-registry-04. (James F. Gould)
* Updated draft-ietf-regext-change-poll to draft-ietf-regext-change-poll-10. (James F. Gould)
* Added support for draft-ietf-regext-validate-04. (James F. Gould)
* Updated draft-gould-idn-table to draft-gould-idn-table-07. (James F. Gould)
* Updated draft-ietf-regext-org to draft-ietf-regext-org-11. (James F. Gould)
* Updated draft draft-ietf-regext-epp-fees to draft-ietf-regext-epp-fees-15. (James F. Gould)
* Updated draft draft-ietf-regext-change-poll to draft-ietf-regext-change-poll-09. (James F. Gould)
* Added support for draft-gould-regext-login-security-policy-00. (James F. Gould)

Changes in version 1.11.0.4 (09.12.2018)
-----------------------------------
* Added the getXmlSchemas method to com.verisign.epp.util.EPPSchemaCachingParser class and created the com.verisign.epp.util.EPPStrictContactParser class to have a parser that overrides the relaxed contact validation with the EPP.Contact.RelaxedValidation epp.config property to test variable validation based on the contact identifier.  Added initialization of a strict XML parser pool and use of the strict XML parser pool for the create or update of the "strict" contact in the com.verisign.epp.serverstub.ContactHandler class. (James F. Gould) 
* Added EPPSessionTst.doPollConsume() test method to consume all of the poll queue messages in the server.  This is a useful test for unhandled namespaces. (James F. Gould)
* Removed whowas and suggestion from the SDK. (James F. Gould)
* Added the com.verisign.epp.framework.EPPRegistryPolicyAdapter interface, the first class implementation with com.verisign.epp.codec.launchpolicy.v01.EPPLaunchPolicyAdapter, and revised the com.verisign.epp.serverstub.registry.v01.RegistryHandler to adapt inbound and outbound policy extensions using com.verisign.epp.serverstub.RegistryPolicyCompositeAdapter.  This enables the use of any registry policy extension with a single set of registry handlers. (James F. Gould)      
* Added support for draft-gould-regext-launch-policy-01. (James F. Gould)
* Fixed documentation typos in com.verisign.epp.codec.contact.EPPContactPostalDefinition that referred to EPPContactPostalDefination instead of EPPContactPostalDefinition. (James F. Gould)
* Updated draft draft-ietf-regext-epp-fees to draft-ietf-regext-epp-fees-13. (James F. Gould)
* Updated draft draft-ietf-regext-allocation-token to draft-ietf-regext-allocation-token-11, with the addition of the com.verisign.epp.codec.allocationtoken.EPPAllocationTokenInfo class to support including the empty <allocationToken:info> element with a domain info command. (James F. Gould)
* Updated draft draft-ietf-regext-change-poll to draft-ietf-regext-change-poll-08. (James F. Gould)
* Created the com.verisign.epp.codec.EPPPollMessageFilter interface that is implemented by the com.verisign.epp.codec.EPPXmlMsgPollMessageFilter, com.verisign.epp.codec.EPPExtValuePollMessageFilter, and com.verisign.epp.codec.EPPFullExtValuePollMessageFilter classes.  The optional EPP.PollMessageFilter property is defined to set the desired filter for use within com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object) when processing the poll messages. (James F. Gould) 
* Updated draft-ietf-regext-org to draft-ietf-regext-org-10. (James F. Gould)
* Updated draft-ietf-regext-org-ext draft to draft-ietf-regext-org-ext-09. (James F. Gould) 
* Added support for draft-ietf-regext-org-07 by adding com.verisign.epp.codec.org.EPPOrgPendActionMsg, com.verisign.epp.serverstub.OrgPollHandler, and revising com.verisign.epp.serverstub.OrgHandler to handle a pending create and insert a pending action poll message based on a revised com.verisign.epp.interfaces.EPPOrgTst. (James F. Gould)
* Added support for draft-gould-carney-regext-registry-03. (James F. Gould)
* Replaced the expired test SMDs, SMD CRL, and revoked SMD list based on a posting by ICANN. (James F. Gould)
* Added support for draft-gould-regext-login-security-02. (James F. Gould)
* Fixed some of the XML namespace prefix and URI handling from within com.verisign.epp.codec.gen.EPPValue to support the different poll message filters. (James F. Gould)  
* Renamed com.verisign.epp.codec.gen.EPPPollMessageFilter to com.verisign.epp.codec.gen.EPPXmlMsgPollMessageFilter, added com.verisign.epp.codec.gen.EPPExtValuePollMessageFilter, and added com.verisign.epp.codec.gen.EPPFullExtValuePollMessageFilter to support three different approaches to filtering poll message data that is unsupported by the client based on the client's login services.  The com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object) is predfined to filter via EPPFullExtValuePollMessageFilter, but the filtering can be replaced to use one of the other filters.  (James F. Gould)
* Removed com.verisign.epp.util.TestErrorHandler and replaced it's used with com.verisign.epp.util.EPPXMLErrorHandler in the test classes. (James F. Gould)  
* Added the maskString(String) : String method to the EPPSendReceiverLogger class and it's derived classes for use in the EPPXMLErrorHandler class for masking sensitive XML parser errors like the 'pwType'. (James F. Gould) 

Changes in version 1.11.0.3 (05.02.2018)
-----------------------------------
* Deprecated com.verisign.epp.namestore.interfaces.NSSubProduct.  Removed BZ and revised COM, NET, ORG, and NAME to use the a-label TLD in com.verisign.epp.namestore.interfaces.NSSubProduct. (James F. Gould)
* Changed the target JDK to be 1.7 instead of 1.6 due to changing to use TLSv1.2 as the default EPP.SSLProtocol setting. (James F. Gould)
* Changed to use TLSv1.2 as the default EPP.SSLProtocol setting across each of the epp.config files. (James F. Gould)
* Added support for draft-ietf-regext-epp-fees-10 that adds the urn:ietf:params:xml:ns:fee-1.0 XML namespace with it's associated fee-1.0.xsd XML schema, the com.verisign.epp.codec.fee.v1_0 package, and related classes. (James F. Gould)
* Added support for draft-ietf-regext-epp-fees-08 that adds the urn:ietf:params:xml:ns:fee-0.23 XML namespace with it's associated fee-0.23.xsd XML schema, the com.verisign.epp.codec.fee.v23 package, and related classes. (James F. Gould)
* Added the com.verisign.epp.interfaces.EPPLoginAdapter class, the optional "EPP.LoginAdapter" epp.config property, and added invoking the set LoginAdapter within com.verisign.epp.interfaces.EPPSession to support adding an EPP login extension. (James F. Gould)
* Added hasService(String) : boolean and hasExtensionService(String) : boolean to com.verisign.epp.codec.gen.EPPServiceMenu and com.verisign.epp.codec.gen.EPPGreeting to be able to easily identify whether the server supports a specific object or extension service. (James F. Gould)  
* Added EPP.UseUserAgent (EPPEnv.isUseUserAgent() : boolean) and EPP.SDKVersion (EPPEnv.getSDKVersion() : boolean) epp.config properties to support providing the user agent information in the login security extension. (James F. Gould)
* Added support for the Login Security Extension. (James F. Gould)  
* Added the getNamespace() : String method to the com.verisign.epp.codec.gen.EPPCodecComponent interface and all of the implemented classes to make all components self describing for the XML namespace. (James F. Gould)
* Added the com.verisign.epp.codec.gen.EPPPollMessageFilter utility class to filter EPP poll message responses based on the login services (object and command / response) supported by the client. (James F. Gould)
* Modified the com.verisign.epp.serverstub.GenHandler.doPoll(EPPEvent, Object) method to call com.verisign.epp.codec.gen.EPPPollMessageFilter in no-op and standard mode to demonstrate filtering the poll messages based on the client login services. (James F. Gould)
* Modified the com.verisign.epp.serverstub.Server.initializeDispatcher() method to register all map factories defined by the EPP.MapFactories property, since the poll message only map factories (EPPLowBalancePollMapFactory and EPPRgpPollMapFactory) were not getting loaded by the handlers defined by the EPP.ServerEventHandlers property. (James F. Gould)
* Added the getNamespace() : String method to some of the responses (EPPRgpPollResponse, EPPRelatedDomainExtDeleteResp, EPPBalanceInfoResp, EPPLowBalancePollResponse, EPPNameVerificationPendActionMsg) to ensure that they return the correct XML namespace. (James F. Gould) 
* Removed old fee extension versions including v06, v07, and v08. (James F. Gould)    
* Replaced references of reseller and resellerext to org and orgext. (James F. Gould)   
* Removed the packet debug logging directly within EPPXMLByteArray and EPPXMLStream to ensure that all data is masked with the EPPSecureSendReceiveLogger configured. (James F. Gould)
* Added maskMessage(EPPCodecComponent) : EPPCodecComponent method to EPPSendReceiveLogger as a utility method to use to optionally mask attributes across all EPPCodecComponent toString() : String methods by revising EPPUtil.toString(EPPCodecComponent) : String to use the configured EPPSendReceiveLogger.maskMessage(EPPCodecComponent) method. (James F. Gould)  


Changes in version 1.11.0.2 (09.08.2017)
-----------------------------------
* Added an additional check in com.verisign.epp.util.EPPSchemaCachingEntityResolver to ensure that XML schemas in the classpath are the only XML schemas that can be dynamically loaded. (James F. Gould)

Changes in version 1.11.0.1 (08.25.2017)
-----------------------------------
* Commented out inclusion of the passphrase attributes (identityPassPhrase, identityKeyPassPhrase, and trustStorePassPhrase) in the EPPSSLConfig.toString() : String method to meet logging security best practice. (James F. Gould)  
* Added support for secure packet logging by creating the com.verisign.epp.util.EPPSendReceiveLogger interface along with the default com.verisign.epp.util.EPPRawSendReceiveLogger class and the com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger class.  The default is to use the EPPRawSendReceiveLogger with the option of overriding the default using the EPP.SendReceiveLogger epp.config property.  Set the property to com.verisign.epp.namestore.util.EPPSecureSendReceiveLogger to get the password and auth info attributes logged with the "MASKED" value. (James F. Gould)  

Changes in version 1.11.0.0 (04.27.2017)
-----------------------------------
* Fixed a bug in com.verisign.epp.codec.emailFwd.EPPEmailFwdCheckResult that set the check reason to the email forwarding name on decode.  Updated the EPPEmailFwdCheckResult.equals methods to ensure that all attributes are checked.  Made related cleanup changes to com.verisign.epp.codec.defReg.EPPDefRegCheckResult.  (James F. Gould)  

Changes in version 1.10.0.3 (03.24.2017)
-----------------------------------
* Made setting of the XML entity resolver, based on the com.verisign.epp.util.EPPSchemaCachingEntityResolver, a configurable setting using the optional EPP.UseEntityResolver config property, with a default value of true. (James F. Gould)

Changes in version 1.10.0.2 (01.06.2017)
-----------------------------------
* Revised the contact disclose API in the com.verisign.epp.codec.contact.EPPContactDisclose class.  All of the disclose attributes were changed from String's to boolean's and the use of Vector's was removed.  The existing String attribute methods were deprecated and the EPPContactDiscloseName, EPPContactDiscloseOrg, and EPPContactDiscloseAddress classes were deprecated. (James F. Gould) 

Changes in version 1.10.0.1 (12.15.2016)
-----------------------------------
* Added relaxed contact validation support used to transition a thin registry to thick.  Relaxed validation leverages a new contact XSD (contact-1.0-relaxed.xsd) that makes the <contact:name>, <contact:addr>, <contact:city>, <contact:street>, <contact:cc>, and <contact:email> elements optional.  The new optional EPP.Contact.RelaxedValidation epp.config property must be set to true for the client and server stub to use and validate to the relaxed schema. (Suvelee Sarpotdar)     

Changes in version 1.10.0.0 (11.17.2016)
-----------------------------------
* Removed the setting for the EntityResolver in com.verisign.epp.util.EPPSchemaCachingParser and deprecated com.verisign.epp.util.EPPSchemaCachingEntityResolver, since the XML schemas are pre-cached in com.verisign.epp.util.EPPSchemaCachingParser, so there is no need to dynamically load them anymore. (James F. Gould)
* Replaced reference of com.sun.org.apache.xerces.internal.dom.DocumentImpl to org.apache.xerces.dom.DocumentImpl in EPPUtil. (James F. Gould)  
* Added logging to EPPGenHandler.handleEvent(EPPEvent, Object). (James F. Gould)
* Added getFirstPostalInfo() : EPPContactPostalDefinition to EPPContactInfoResp and EPPContact. (James F. Gould)
* Added EPPDomainInfoResp.getContactByType(String) : EPPDomainContact, EPPDomainInfoResp.getAdminContact() : EPPDomainContact, EPPDomainInfoResp.getTechContact() : EPPDomainContact, and EPPDomainInfoResp.getBillingContact() : EPPDomainContact. (James F. Gould)
* Added com.verisign.epp.pool.EPPClientTransIdGenerator interface, concrete com.verisign.epp.pool.ClientTransIdGenerator class, and the optional clientTransIdGenerator pool property to define the concrete EPPClientTransIdGenerator to use for generating client transaction identifiers for the login and logout commands for the pool.  (James F. Gould)
* Added EPPSession.sendMessage(EPPMessage) to help in testing a negative test case, but also as a potentially useful method for sending any EPPMessage to the session. (James F. Gould)
* Added more debug logging to EPPSSLImpl. (James F. Gould)
* Added validation of the EPPMessage type in the EPPDispatcher and the EPPByteArrayDispatcher to ensure that receiving an EPPResponse or EPPGreeting in the server will return an appropriate error message. (James F. Gould)

Changes in version 1.9.0.1 (04.20.2016)
-----------------------------------
* Added support for running the com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst test without the VSP pool and by loading the DNVC from the dnvc.b64 file and the RNVC from the rnvc.b64 file. (James F. Gould)
* Added support for draft-brown-epp-fees-07. (James F. Gould)
* Added additional SSL Protocol options in the comments of the EPP.SSLProtocol property and set the default protocol to TLSv1 in the epp.config. (James F. Gould)
* Changed the com.verisign.epp.codec.verificationcode.EPPSignedCode.decode(byte[] aSignedCodeArray) : void from protected to public. (James F. Gould)

Changes in version 1.9.0.0 (03.10.2016)
-----------------------------------
* Updated the EPPUtil.decodeBooleanAttr(Element, String) method to properly identify a non-existent attribute and to enhance the format of the EPPDecodeException value to easier support. (James F. Gould)
* Made the refundable and grace-period attributes of com.verisign.epp.codec.fee.v09.EPPFeeValue truly optional with no default value, while the applied attribute remained with the "immediate" default value based on the default value in the XSD.  Added "has" methods for these attributes, changed the refundable to a Boolean to support a null value, and changed the encode and decode methods to handle non-existent attributes. (James F. Gould)
* Added convenient constructor that takes both a EPPFeeValue and a currency (String) parameter for the com.verisign.epp.codec.fee.v09 classes of EPPFeeTransform, EPPFeeCreate, EPPFeeRenew, EPPFeeTransfer, and EPPFeeUpdate. (James F. Gould)
* Added methods for passing and returning the Base64 encoded signed code into com.verisign.epp.codec.verificationcode.EPPEncodedSignedCodeValue.  The new EPPEncodedSignedCodeValue methods: decodeValue(byte[]), decodeValue(String), encodeValue(boolean) : String, encodeValueByteArray() : byte[], and encodeValueByteArray(boolean) : byte[] where added. (James F. Gould)


Changes in version 1.8.0.4 (02.18.2016)
-----------------------------------
* Fixed a schema validation error with the change poll message produced by Stub Server. (James F. Gould)

Changes in version 1.8.0.3 (02.18.2016)
-----------------------------------
* Updated com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst with matching changes in com.verisign.epp.sreverstub.NSDomainHandler to provide a more realistic change poll message. (James F. Gould)

Changes in version 1.8.0.2 (02.04.2016)
-----------------------------------
* Added the com.verisign.epp.verificationcode.china.ChinaVerificationCodeTst along with associated changes to the build and stub server behavior to support a test of the 7 predefined verification flows that will work against the Stub Server and the OT&E servers. (James F. Gould)
* Added com.verisign.epp.pool.EPPSessionPool.hasSystemSessionPool(String) : boolean method to determine if a specific system session pool existed. (James F. Gould)
* Fixed com.verisign.epp.codec.verificationcode.EPPVerificationCode.getVspId() : int to return UNDEFINED instead of throwing NumberFormatException when the vspId is not an integer. (James F. Gould)

Changes in version 1.8.0.1 (01.28.2016)
-----------------------------------
* Added validation of the verification code (vsp-id and code types) using formatted trust anchor alias names in the trust store. (James F. Gould)   

Changes in version 1.8.0.0 (01.22.2016)
-----------------------------------
* Added hasTrustAnchor(): boolean and getTrustAnchor() : TrustAnchor to EPPSignedCode for getting the matching trust anchor from the PKIXParameters upon successful validation. (James F. Gould)
* Added support for draft-zhou-eppext-reseller-mapping-02 and draft-zhou-eppext-reseller-02.  (James F. Gould)   

Changes in version 1.7.0.1 (12.07.2015)
-----------------------------------
* Added EPPCodecException.SAX_EXCEPTION to support throwing a specific exception when the signed code or signed mark do not pass XML schema validation. (James F. Gould)   

Changes in version 1.7.0.0 (12.03.2015)
-----------------------------------
* Turned on error handling with EPPXMLErrorHandler by default within EPPSchemaCachingParser.  It can be disabled by called EPPSchemaCachingParser.setErrorHandler(null). (James F. Gould)   
* Added support for an XMLSignature Parser Pool to increase performance in parsing and validating the XML Signature for the Verification Code extension and the Launch extension. (James F. Gould) 
* Added support for draft-gould-eppext-verificationcode-03, which added regular expression pattern for the format of the verification code token value in the XML schema. (James F. Gould)
* Added support for draft-brown-epp-fees-05 and draft-brown-epp-fees-06. (James F. Gould)

Changes in version 1.6.0.2 (11.09.2015)
-----------------------------------
* Added support for draft-gould-eppext-verificationcode-02, which added support for the notApplicable status and profile status value. 

Changes in version 1.6.0.1 (11.03.2015)
-----------------------------------
* Fixed the 'Exception decoding dateTime "": java.lang.IllegalArgumentException' caused by not checking for empty due or date attributes in com.verisign.epp.codec.verificationcode.VerificationCode.decode(). (James F. Gould)
* Bumped down the info level logs to debug level logs in com.verisign.epp.util.EPPSchemaCachingParser. (James F. Gould)

Changes in version 1.6.0.0 (10.21.2015)
-----------------------------------
* Added the Verification Code Extension (verificationcode), that complies with draft-gould-eppext-verificationcode-00, to the Verisign Bundle. (James F. Gould)
* Added the China Name Verification Mapping (vsp), that complies with a preview of draft-xie-eppext-nv-mapping-01, to the Verisign Bundle. (James F. Gould)

Changes in version 1.5.0.0 (04.10.2015)
-----------------------------------
* Added the EPPSession.sendPacket(byte []) method and EPPXMLStream.writePacket(byte[], OutputStream) to enable sending a packet through the session within having to go through the Codec. (James F. Gould)
* Added the Change Poll Mapping (changepoll), that complies with draft-gould-change-poll-02, to the Verisign Bundle.  (James F. Gould) 
* Added the Registry Fee Extension (fee), that complies with draft-brown-epp-fees-03 and draft-brown-epp-fees-04, to the Verisign Bundle.  (James F. Gould) 
* Added the Allocation Token Extension (allocationtoken), that complies with draft-gould-allocation-token-02, to the Verisign Bundle.  (James F. Gould) 
* Updated Launch Phase Extension (launch) to comply with draft-ietf-eppext-launchphase-03 and subsequently draft-ietf-eppext-launchphase-05, by adding support for the Trademark Check Form. (James F. Gould)  
* Added the IDN Map Extension (idnmap), that complies with draft-ietf-eppext-idnmap-01, to the Verisign Bundle. (James F. Gould)
* Added the subID attribute in the info element of NameSuggestion. (Vincent Raemy)
* Added the IDN Table Mapping (idntable), that complies with draft-gould-idn-table-02, to the Verisign Bundle. (James F. Gould)

Changes in version 1.4.0.0 (05.01.2014)
-----------------------------------
* Switched to be dependent on Java 6 instead of Java 5.  The launch extension already was dependent on Java 6 and with the new dependency on the use of JAXB, the entire SDK is being moved to be dependent on Java 6. (James F. Gould)
* Fixed a bug with encoding the XSD dateTime type in EPPUtil by using 4 digit precision for the seconds.  The fix was to use a default of 3 digit precision (milliseconds) on the encode and to use JAXB DatatypeConverter.parseDateTime for parsing the dataTime value.  Access methods were added (getTimeInstantFormat(): String and setTimeInstantFormat(String)) to enable changing the encoding format if needed.  (James F. Gould) 

Changes in version 1.3.0.0 (12.03.2013)
-----------------------------------
* Updated to the 25nov13 test SMD's (SMD's without whitespace) and test SMD Revocation List.  The SMD Revocation List was converted from UTF-8 to ASCII. (James F. Gould)
* Updated to support draft-tan-epp-launchphase-12 by updating the launch-1.0.xsd, updating the draft-tan-epp-launchphase.txt in the doc directory, and updating the code and tests to support the new validatorID optional attribute. (James F. Gould)

Changes in version 1.2.0.0 (09.16.2013)
-----------------------------------
* Fixed the XML namespace handling in the com.verisign.epp.codec.registry.EPPRegistryRegEx class and some of the client classes to com.verisign.epp.codec.registry.EPPRegistryRegEx. (James F. Gould)
* Changed com.verisign.epp.codec.signedMark.EPPSignedMark to handle XML parsing exception. This is specially required while parsing the XML obtained from the encoded SMD. (Vijay Garothaya)  

Changes in version 1.1.0.4 (09.11.2013)
-----------------------------------
* Changed com.verisign.epp.namestore.interfaces.NSDomain to extend com.verisign.epp.namestore.interfaces.EPPRelatedDomain instead of com.verisign.epp.namestore.interfaces.EPPDomain, since EPPRelatedDomain extends EPPDomain and adds important additional methods needed in NSDomain. (James F. Gould)  
* Broaden the tld type in NameSuggestion to support unicode values. (Vincent Raemy)
* Updated the related domain extension to use generics throughout and added some additional convenience methods to simplify the API. (James F. Gould)
* Added new "restricted" status for NameSuggestion. (Vincent Raemy)  
* Added a new "uTld" attribute in grid for NameSuggestion. (Vincent Raemy)

Changes in version 1.1.0.3 (09.04.2013)
-----------------------------------
* Added Domain Info Form and the Related Info Form to the info command of the Related Domain Extension, version 1.2.   Added support for the two forms to com.verisign.epp.codec.relateddomainext.EPPRelatedDomainExtInfo as well as com.verisign.epp.interfaces.EPPRelatedDomain. (James F. Gould)  
* Added the EPPSignedMark(EPPEncodedSignedMark) constructor to convert an encodedSignedMark to a signedMark. (James F. Gould)
* Addressed issue with using the sample SMD's with the signedMark and the default XML parser setting of normalizing the XML.  In the event of using a signedMark, the XML is parsed a second time with the parser normalization disabled for the signedMark to pass validation.  This included setting a "PACKET" SessionData attribute in the EPPXMLAssembler for use in the LaunchDomainHandler.doDomainCreate method to re-parse the packet. (James F. Gould). 



Changes in version 1.1.0.2 (08.16.2013)
-----------------------------------
* Added a call to parser.setFeature(EPPSchemaCachingParser.NORMALIZE_DATA, false) in EPPSignedMark.parseAndGetDocElement(byte[]) and changed the default for the NORMALIZE_DATA feature to true in EPPSchemaCachingParser, since changing it to false does not trim the "token" type XML elements.  (James F. Gould). 


Changes in version 1.1.0.1 (08.15.2013)
-----------------------------------
* Changed the EPPUtil TIME_INSTANT_FORMAT constant back to use four digit time precision to be consistent with the format used previously.  (James F. Gould). 

Changes in version 1.1.0.0 (08.14.2013)
-----------------------------------
* Created constructor to directly decode the SMD InputStream in com.verisign.epp.codec.signedMark.EPPEncodedSignedMark. (James F. Gould)
* Split com.verisign.epp.codec.signedMark.EPPSignedMark into com.verisign.epp.codec.signedMark.EPPSignedMark and com.verisign.epp.codec.signedMark.EPPEncodedSignedMark to isolate the base64 encoding and to address issues with retaining any extra whitespace contained in the signed mark to address the validation issue with the ICANN sample SMD's. (Vijay Garothaya)
* Updated the com.verisign.epp.codec.launch.EPPLaunchTst tests to include validation of all of the ICANN sample Signed Mark Data (SMD) files.  Added the ICANN sample SMD files to the distribution to support the tests. (James F. Gould)
* The certs.crl file was split into the eppsdk.crl and the tmch-pilot.crl.  The eppsdk.crl includes the CRL for the signed marks signed by the EPP SDK and the tmch-pilot.crl includes the CRL provided by ICANN for testing. (James F. Gould)
* Added the test ICANN CA certificate to signedMarkTrust.jks to support validating the ICANN sample Signed Mark Data (SMD). (James F. Gould)
* Added SMD revocation list validation to the LaunchDomainHandler class. (James F. Gould)
* Added the ICANN test SMD revocation list (smd-test-revocation.csv) to the distribution to support the testing of the ICANN sample Signed Mark Data (SMD). (James F. Gould)
* Created the com.verisign.epp.codec.signedMark.SMDRevocationList and com.verisign.epp.codec.signedMark.RevokedSMD classes to decode the SMD revocation list and to include the SMDRevocationList.isRevoked(EPPSignedMark) : boolean method to determine if a signed mark is revoked. (James F. Gould)


Changes in version 1.0.0.5 (07.14.2013)
-----------------------------------
* Added multiple domain command (create, update, delete, renew, transfer) support to Related Domain Extension. (James F. Gould)


Changes in version 1.0.0.4 (07.08.2013)
-----------------------------------
* Updated the EPP Registry Mapping to version 1.5 and updated the code to match. (James F. Gould)


Changes in version 1.0.0.3 (06.03.2013)
-----------------------------------
* Integrated the related domain extension into the bundle. (James F. Gould)  

Changes in version 1.0.0.2 (05.17.2013)
-----------------------------------
* Updated to include draft-tan-epp-launchphase-11 that moved the <launch:chkData> under the <extension> element, which resulted in removing the EPPLaunchCheckResp.java, removing the EPPLaunchMapFactory, and adding EPPLaunchChkData.java. (James F. Gould)  
* Updated the registry mapping to include additional attributes. (James F. Gould)


Changes in version 1.0.0.1 (05.07.2013)
-----------------------------------
* Updated to include draft-tan-epp-launchphase-10 and draft-lozano-tmch-smd-02, called 10/02.  (James F. Gould)
* Updated the dependent jar files. (James F. Gould)
* Added support for a Transformer pool based on the Parser pool properties based on the expense of instantiating a Transformer instance. (James F. Gould)

Changes in version 1.0.0.0 (04.16.2013)
-----------------------------------
* Updated Registry mapping to replace the claims1 and claims2 phases with the claims phase. (James F. Gould)
* Updated Registry mapping to support sharePolicy for internal hosts and contacts. (James F. Gould)
* Upgraded Launch extension to match draft-tan-epp-launchphase-09. (James F. Gould)
* Integrated the Name Store/SRS Bundle 3.15.0.5 EPP SDK, the NAME Bundle 1.5.0.1 EPP SDK, and the Launch 2.0.1.0 EPP SDK into a single EPP SDK distribution.  (James F. Gould)
