Apache Commons Validator 1.10.0 RELEASE NOTES
---------------------------------------------

The Apache Commons Validator team is pleased to announce the release of Apache Commons Validator 1.10.0.

Apache Commons Validator provides the building blocks for both client-side and server-side data validation.
It may be used standalone or with a framework like Struts.


This is a maintenance and bug fix release; requires Java 8.

For complete information on Apache Commons Validator, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Validator website:

http://commons.apache.org/proper/commons-validator/

Download page: http://commons.apache.org/proper/commons-validator/download_validator.cgi

Changes in this version
-----------------------

New features
------------

* VALIDATOR-497:  Add org.apache.commons.validator.routines.IBANValidator.validate(String). Thanks to Slawomir Jaranowski.
*                 DomainValidatorTest: added Maven profile to simplify execution.
*                 IBANValidator: Add Honduras from the IBAN registry Release 99 – Dec 2024.
*                 Improve IBANValidatorTest by using registry from SWIFT. Thanks to Slawomir Jaranowski.
* VALIDATOR-495:  IBANValidator: Add Yemen. Thanks to Slawomir Jaranowski.
*                 Add IBANValidator.Validator.getIbanLength(). Thanks to Leonard Wicke, Gary Gregory.
*                 Add Validator.getFieldName(). Thanks to nullwli, Gary Gregory.
*                 Add Validator.getParameters(). Thanks to nullwli, Gary Gregory.
*                 Add Validator.getResources(). Thanks to nullwli, Gary Gregory.

Fixed Bugs
----------

*                 Add IBANValidator/IBANCheckDigit to package documentation.
*                 Locale-dependent tests: calculate expected results as output varies between JVMs.
*                 Locale default tests: ensure original is restored on failure.
*                 Fix order of actual and expected parameters in assertEquals() #246. Thanks to Johannes Weberhofer.
*                 InetAddressValidator does not need its instance variable, so uses a touch less memory. Thanks to Johannes Weberhofer.
*                 Pick up maven-antrun-plugin version from parent POM org.apache:apache. Thanks to Gary Gregory.
*                 Deprecate GenericTypeValidator.GenericTypeValidator(). Thanks to Gary Gregory.
*                 Deprecate GenericValidator.GenericValidator(). Thanks to Gary Gregory.
*                 Deprecate ValidatorUtils.ValidatorUtils(). Thanks to Gary Gregory.
*                 Deprecate Validator protected instance variable access for getter methods. Thanks to Gary Gregory.
*                 Remove '-nouses' directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.
*                 Shared primitive variable "clientValidation" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.validator.Field] At Field.java:[line 758] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory, SpotBugs.
*                 Shared primitive variable "fieldOrder" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.validator.Field] At Field.java:[line 785] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory, SpotBugs.
*                 Shared primitive variable "page" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.validator.Field] At Field.java:[line 818] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory, SpotBugs.
*                 Shared primitive variable "merged" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.validator.FormSet] At FormSet.java:[line 302] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory, SpotBugs.
*                 Pick up exec-maven-plugin version from parent POM. Thanks to Gary Gregory.
*                 Use a Calendar constant instead of a magic number in tests. Make the code understandable without comment. Thanks to Dávid Szigecsán.

Changes
-------

*                 Bump org.apache.commons:commons-parent from 78 to 85, fix changes.xml format for new plugin version Thanks to Slawomir Jaranowski, Gary Gregory.
*                 Bump org.apache.commons:commons-parent from 70 to 78 #231, #245, #253, #256, #262, #267, #272, #278. Thanks to Dependabot, Gary Gregory.
*                 DomainValidator: Changes from 2025061000, Last Updated Tue Jun 10 07:07:01 2025 UTC.
*                 IBANValidatorTest: parameterize SWIFT registry version; update to v99
*                 Bump commons-logging:commons-logging from 1.3.2 to 1.3.5 #238, #254. Thanks to Dependabot, Gary Gregory.
*                 Bump org.apache.commons:commons-lang3 from 3.15.0 to 3.17.0 #248, #257. Thanks to Dependabot, Gary Gregory.
*                 Bump org.apache.commons:commons-csv from 1.11.0 to 1.14.0 #264. Thanks to Dependabot, Gary Gregory.
*                 Bump org.codehaus.mojo:exec-maven-plugin from 1.2.1 to 3.5.0 #305. Thanks to Dependabot, Gary Gregory.
*                 Bump commons-beanutils:commons-beanutils from 1.9.4 to 1.11.0. Thanks to Gary Gregory.


Historical list of changes: http://commons.apache.org/proper/commons-validator/changes.html

Enjoy!
-Apache Commons Validator team

-----------------------------------------------------------------------------

Apache Commons Validator 1.9.0 RELEASE NOTES
--------------------------------------------

The Apache Commons Validator team is pleased to announce the release of Apache Commons Validator 1.9.0.

Apache Commons Validator provides the building blocks for both client side validation and server side data validation.
It may be used standalone or with a framework like Struts.


This is a maintenance and bug fix release; requires Java 8.

For complete information on Apache Commons Validator, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Validator website:

http://commons.apache.org/proper/commons-validator/

Download page: http://commons.apache.org/proper/commons-validator/download_validator.cgi

Changes in this version
-----------------------

New features
------------

*                 IBANValidator: #209 - add Falkland Islands, Mongolia, Nicaragua, Oman, Somalia Thanks to homebeaver.
*                 ISINValidator: Add 9 additional exception country code #129. Thanks to ashoknan2, Gary Gregory.
*                 ISINValidator: Add all codes from ISO 3166-1 alpha-2 except unassigned code elements. Thanks to Gary Gregory.
*                 Add validator CASNumberCheckDigit for Chemical Registry CAS Numbers and ECNumberCheckDigit #217. Thanks to homebeaver, Gary Gregory.
*                 Add PMD check to default Maven goal. Thanks to Gary Gregory.

Fixed Bugs
----------

* VALIDATOR-492:  ValidatorUtils.copyFastHashMap is broken. Thanks to Tobias Wildgruber, Gary Gregory.
*                 DomainValidator: Changes from Version 2024040200, Apr 2 07:07:02 2024 UTC. Thanks to Sebb.
*                 Fix PMD UnnecessaryFullyQualifiedName. Thanks to Gary GRegory.

Changes
-------

*                 Bump org.apache.commons:commons-parent from 65 to 70 #201. Thanks to Dependabot, Gary Gregory.
*                 Bump commons-logging:commons-logging from 1.3.0 to 1.3.2 #199, #221. Thanks to Dependabot.
*                 Bump org.apache.commons:commons-csv from 1.10.0 to 1.11.0 #214. Thanks to Dependabot.


Historical list of changes: http://commons.apache.org/proper/commons-validator/changes.html

Enjoy!
-Apache Commons Validator team

-----------------------------------------------------------------------------

Apache Commons Validator 1.8.0 RELEASE NOTES
---------------------------------------------

The Apache Commons Validator team is pleased to announce the release of Apache Commons Validator 1.8.0.

Apache Commons Validator provides the building blocks for both client side validation and server side data validation.
It may be used standalone or with a framework like Struts.

For complete information on Apache Commons Validator, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Validator website:

http://commons.apache.org/proper/commons-validator/

Download page: http://commons.apache.org/proper/commons-validator/download_validator.cgi

Changes in this version
-----------------------

New features
------------

*                 Add github/codeql-action. Thanks to Dependabot, Gary Gregory.
* VALIDATOR-486:  Add new countries to IBAN list: DJ, RU #88. Thanks to tatiana-scda, Gary Gregory.
*                 Add IBANValidator.Validator.getRegexValidator(). Thanks to Arnaud Fournier, Gary Gregory.
*                 Add RegexValidator.getPatterns(). Thanks to Arnaud Fournier, Gary Gregory.
*                 Add country codes listed as other countries and territories in the IBAN registry for Finland: AX. Thanks to Gary Gregory, rossmills3, sebbASF.
*                 Add country codes listed as other countries and territories in the IBAN registry for France: GF, GP, MQ, RE, PF, TF, YT, NC, BL, MF, PM, WF. Thanks to Gary Gregory, rossmills3, sebbASF.
*                 Add country codes listed as other countries and territories in the IBAN registry for United Kingdom: IM, JE, GG. Thanks to Gary Gregory, rossmills3, sebbASF.
*                 Add ValidatorAction.setClassName(String) and deprecate setClassname(String). Thanks to Gary Gregory.

Fixed Bugs
----------

*                 Update Javadoc for InetAddressValidator isValid #76 Thanks to Gennaro Napolitano.
* VALIDATOR-479:  Fix typo in /routines/package-summary.html #79. Thanks to Gyoo.
*                 Use JUnit 5 assertThrows() #92, #93, #94, #95. Thanks to John Patrick.
*                 [StepSecurity] ci: Harden GitHub Actions #136. Thanks to step-security-bot, Gary Gregory.
*                 Javadoc typos #144. Thanks to Andrés Torres.
*                 Precompile regular expression in InetAddressValidator.isValidInet6Address(String). Thanks to Gary Gregory.
*                 Fix SpotBugs [ERROR] Medium: Class org.apache.commons.validator.routines.CreditCardValidator$1 defines non-transient non-serializable instance field ccr [org.apache.commons.validator.routines.CreditCardValidator$1] In CreditCardValidator.java SE_BAD_FIELD. Thanks to Gary Gregory.
*                 Fix SpotBugs [ERROR] High: Class org.apache.commons.validator.ValidatorAction defines non-transient non-serializable instance field validationMethod [org.apache.commons.validator.ValidatorAction] In ValidatorAction.java SE_BAD_FIELD. Thanks to Gary Gregory.
*                 Fix SpotBugs [ERROR] High: Found reliance on default encoding in org.apache.commons.validator.ValidatorAction.readJavascriptFile(String): new java.io.InputStreamReader(InputStream) [org.apache.commons.validator.ValidatorAction] At ValidatorAction.java:[line 428] DM_DEFAULT_ENCODING. Thanks to Gary Gregory.
*                 Fix SpotBugs [ERROR] Medium: Inconsistent synchronization of org.apache.commons.validator.ValidatorAction.jsFunction; locked 62% of time [org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.ValidatorAction] Unsynchronized access at ValidatorAction.java:[line 340]Unsynchronized access at ValidatorAction.java:[line 358]Synchronized access at ValidatorAction.java:[line 393]Synchronized access at ValidatorAction.java:[line 394]Synchronized access at ValidatorAction.java:[line 459]Synchronized access at ValidatorAction.java:[line 461]Synchronized access at ValidatorAction.java:[line 462] IS2_INCONSISTENT_SYNC. Thanks to Gary Gregory.
*                 Port tests to JUnit 5. Exception: DomainValidatorStartupTest. Thanks to Gary Gregory.
*                 Use singletons in org.apache.commons.validator.CreditCardValidator. Thanks to Gary Gregory.

Changes
-------

*                 Bump Java from 7 to 8. Thanks to Gary Gregory.
*                 Bump actions/cache from 2 to 3.0.11 #71, #84. #90, #91. Thanks to Dependabot, Gary Gregory.
*                 Bump actions/checkout from 2.3.1 to 3.0.2, #38, #47, #70. Thanks to Dependabot, Gary Gregory.
*                 Bump actions/setup-java from 1.4.0 to 3.6.0 #42, #72, #98. Thanks to Dependabot, Gary Gregory.
*                 Bump actions/upload-artifact from 3.1.0 to 3.1.1 #96. Thanks to Dependabot.
*                 Bump junit from 4.13 to 5.9.1 Vintage #44. Thanks to Dependabot, Gary Gregory.
*                 Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #69, #77, #80, #81. Thanks to Dependabot.
*                 Bump commons-parent from 52 to 65 #83, #107, #111, #132. Thanks to Gary Gregory, Dependabot.
*                 Bump japicmp-maven-plugin from 0.15.3 to 0.15.7. Thanks to Gary Gregory.
*                 Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #74. Thanks to Dependabot.
*                 Bump commons-csv from 1.6 to 1.10.0 #118. Thanks to Gary Gregory, Dependabot.
*                 Bump japicmp-maven-plugin from 0.15.7 to 0.16.0. Thanks to Gary Gregory.
*                 Bump commons-logging:commons-logging from 1.2 to 1.3.0. Thanks to Gary Gregory.

Removed
-------

*                 Remove FindBugs, SpotBugs is in use #87. Thanks to John Patrick, Gary Gregory.

Historical list of changes: http://commons.apache.org/proper/commons-validator/changes.html

Enjoy!
-Apache Commons Validator team

-----------------------------------------------------------------------------

Apache Commons Validator 1.7 RELEASE NOTES
------------------------------------------

The Apache Commons Validator team is pleased to announce the release of Apache Commons Validator 1.7

Apache Commons Validator provides the building blocks for both client side validation and server side data validation.
It may be used standalone or with a framework like Struts.


This is primarily a maintenance release.
All projects are encouraged to update to this release of Apache Commons Validator.

Commons Validator requires Java 7 or later.

Main enhancements
-----------------

* CreditCard validation specification by numeric range
* DomainValidator instances can be created with instance overrides
* DomainValidator supports overrides of LOCAL TLDs

IMPORTANT NOTES
---------------

BREAKING CHANGES:

* Now requires Java 7
* Java 9 changed the way Locales are handled. This affects the output from some Date-related methods, and may cause some tests to break.

DEPENDENCIES
------------

* Updates Apache Commons BeanUtils dependency from 1.9.2 to 1.9.4.
 This picks up BEANUTILS-482: Update commons-collections from 3.2.1 to 3.2.2 (CVE-2015-4852).

For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html

For complete information on Apache Commons Validator, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Validator website:

http://commons.apache.org/proper/commons-validator/

Download page: http://commons.apache.org/proper/commons-validator/download_validator.cgi

Changes in this version
-----------------------

New features
------------

* VALIDATOR-474:  DomainValidator should allow local overrides
* VALIDATOR-473:  Allow Email- and UrlValidator to use specified DomainValidator
* VALIDATOR-471:  Allow DomainValidator overrides at run-time
* VALIDATOR-423:  Add ISINValidator
* VALIDATOR-455:  Add IBAN validator for VA – Vatican City State Thanks to Eugen Hanussek.
* VALIDATOR-446:  ISSN Validator extract ISSN from EAN-13 Thanks to Alex.

Fixed Bugs
----------

* VALIDATOR-403:  Accept Discover cards of 17 digits long that start with 6011 Thanks to Tanya.
* VALIDATOR-408:  DISCOVER Card Validation Patterns Thanks to Raj Vaida.
* VALIDATOR-472:  UrlValidator should not be more lax than java.net.URI
* VALIDATOR-283:  URLValidator should check for illegal Hex characters Thanks to RC Johnson.
* VALIDATOR-445:  Inet6Address may also contain a scope id Thanks to devson.
* VALIDATOR-452:  Validation of URL containing IPv4-mapped IPv6 address Thanks to devson.
* VALIDATOR-438:  IBANValidator fails for El Salvador
                  Add definition Thanks to Simon Marti.
* VALIDATOR-434:  Field does not synchronize iteration on synchronized list Thanks to emopers.
* VALIDATOR-437:  Update Apache Commons BeanUtils dependency from 1.9.2 to 1.9.3.
                  This picks up BEANUTILS-482: Update commons-collections from 3.2.1 to 3.2.2 (CVE-2015-4852).
* VALIDATOR-460:  Update Apache Commons BeanUtils dependency from 1.9.3 to 1.9.4
                  This picks up BEANUTILS-520: Mitigate CVE-2014-0114. Thanks to Jeff Schram.
* VALIDATOR-461:  Generic .gmbh top level domain is considered invalid Thanks to Nils Reischmann.
* VALIDATOR-444:  LongValidator: numbers bigger than the maxvalue are Valid Thanks to Martin Scholz.
* VALIDATOR-416:  CreditCardValidator default ctor disagrees with Javadoc
* VALIDATOR-467:  URL validator fails if path starts with double slash and has underscores Thanks to Ivan Larionov.
* VALIDATOR-464:  UrlValidator says "file://bad ^ domain.com/label/test" is valid Thanks to Sebastian Choina.
* VALIDATOR-449:  Leading and trailing spaces in EmailValidator should not be valid Thanks to Frederic Boutin.
* VALIDATOR-302:  EMailValidator: Addresses with leading spaces must not be accepted Thanks to Guido Zockoll.
* VALIDATOR-468:  DomainValidator.getTLDArray does not synch mutable arrays

Changes
-------

*                 Drop Clirr and Cobertura in favour of JApiCmp and JaCoCo
*                 IANA TLD lists: Updated to Version 2020073100, Last Updated Fri Jul 31 07:07:01 2020 UTC
* VALIDATOR-428:  Update commons digester to 2.1 Thanks to Matthew Zavislak.


Historical list of changes: http://commons.apache.org/proper/commons-validator/changes.html

Enjoy!
- The Apache Commons Validator team

-----------------------------------------------------------------------------
