Apache Commons logo Commons Validator

Release Notes

Release History

Version Date Description
1.6 2017-02-20 This is primarily a maintenance release. All projects are encouraged to update to this release of Apache Commons Validator. Commons Validator requires Java 1.6 or later. Main enhancements ================= * Modulus Ten Check Digit Implementation * Generic CreditCard validation (syntax and checkdigit only; does not check IIN) * CreditCard validation specification by numeric range IMPORTANT NOTES =============== BREAKING CHANGES: * NONE. DEPENDENCIES ============ The dependencies for Validator have not changed since the 1.4 release. For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html
1.5.1 2016-04-30 This is a maintenance release. All projects are encouraged to update to this release of Apache Commons Validator. Commons Validator requires Java 1.6 or later. IMPORTANT NOTES =============== BREAKING CHANGES: * NONE. DEPENDENCIES ============ The dependencies for Validator have not changed since the 1.4 release. For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html
1.5.0 2015-11-24 This is a maintenance release. All projects are encouraged to update to this release of Apache Commons Validator. Commons Validator requires Java 1.6 or later. IMPORTANT NOTES =============== BREAKING CHANGES: * NONE. DEPENDENCIES ============ The dependencies for Validator have not changed since the 1.4 release. For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html
1.4.1 2014-01-13 1.4 Maintenance release
1.4.0 2012-02-03 JDK 1.4 (minimum)
1.3.1 2006-11-28 1.3 Maintenance Release.
1.3.0 2006-03-24 1.3 Release - New 'routines' package plus Bug fixes for 1.2.0

Release 1.6 – 2017-02-20

Type Changes By
Fix Query params validator shouldn't accept whitespaces. Fixes VALIDATOR-420. Thanks to Marcin Gasior. sebb
Fix Invalid IPv6 addresses that are IPv4-mapped pass InetAddressValidator validation. Fixes VALIDATOR-419. Thanks to Denis Iskhakov. sebb
Fix UrlValidatorTest: testIsValid() does not run all tests. Fixes VALIDATOR-418. Thanks to Robert McGuigan. britter
Add Simplify building new CreditCard validators. Fixes VALIDATOR-415. sebb
Add Generic CreditCard validation. Fixes VALIDATOR-413. sebb
Fix CodeValidator unconditionally trim()s the input string - document the behaviour. Fixes VALIDATOR-379. sebb
Fix Userinfo without colon should be valid in UrlValidator. Fixes VALIDATOR-387. Thanks to Shumpei Akai. sebb
Add General Modulus Ten Check Digit Implementation. Fixes VALIDATOR-394. Thanks to Niall Pemberton. sebb
Fix UrlValidator accepts ports above max limit of 16-bit unsigned integer. Fixes VALIDATOR-411. sebb
Update IANA TLD lists: Updated to Version 2017020400, Last Updated Sat Feb 4 07:07:01 2017 UTC sebb
Update Update to version 73 of SWIFT IBAN list: added BY (Belarus) and IQ (Iraq); fixed Santa Lucia format sebb
Fix Generic .shop top level domain is considered invalid. Fixes VALIDATOR-407. sebb
Fix IBANValidator - Costa Rica entry has been updated in SWIFT docs. Fixes VALIDATOR-405. sebb
Fix IBANValidator fails for Seychelles and Ukraine. Fixes VALIDATOR-401. britter
Fix UrlValidator.isValid throws exception for FILEURLs Fixed code so it handles URLs with no authority field. Fixes VALIDATOR-391. Thanks to Mark E. Scott, Jr. & Jason Loomis. sebb

Release 1.5.1 – 2016-04-30

Type Changes By
Fix Mastercard Series 2 BIN ranges (active from October 2016) added to CreditCardValidator To disable the new ranges, use option MASTERCARD_PRE_OCT2016 or validator MASTERCARD_VALIDATOR_PRE_OCT2016. Fixes VALIDATOR-392. Thanks to Tim Deboer. sebb
Fix org.apache.commons.validator.routines.DomainValidator.ArrayType is not public. Fixes VALIDATOR-386. Thanks to Auke van Leeuwen. sebb
Fix EmailValidator does not catch invalid email address like dora@.com. Fixes VALIDATOR-359. Thanks to Dora Kinghorn. sebb
Fix EmailValidator does not support escaped quotes in a quoted string. Fixes VALIDATOR-384. Thanks to Kris Babic. sebb
Add DomainValidator - allow access to internal arrays. Fixes VALIDATOR-351. sebb
Update Updated to TLD list Version 2016042500, Last Updated Mon Apr 25 07:07:01 2016 UTC sebb

Release 1.5.0 – 2015-11-24

Type Changes By
Fix Email Validator does not support quoted/escaped character in the local part of the email address. Fixes VALIDATOR-364. Thanks to teo bran. sebb
Fix Update commons-collections from 3.2.1 to 3.2.2. Fixes VALIDATOR-381. ggregory
Fix UrlValidator rejects path having two or more successive dots. Fixes VALIDATOR-363. sebb
Fix IBANCheckDigit.isValid() returns True for some invalid IBANs. Fixes VALIDATOR-330. sebb
Fix UrlValidator does not allow for optional port digits. Fixes VALIDATOR-380. sebb
Update IIBANCheckDigit.calculate does not enforce initial checksum value Checkdigit field is now unconditionally set to "00" to ensure correct generation. Fixes VALIDATOR-332. sebb
Update UrlValidator does not allow for optional userinfo in the authority. Fixes VALIDATOR-353. sebb
Add ISSN validator and converter to EAN-13. Fixes VALIDATOR-321. sebb
Add Improve IBAN validation with format checks. Fixes VALIDATOR-325. sebb
Fix DateValidatorTest.testCompare() fails with GMT-12. Fixes VALIDATOR-369. sebb
Add Validate 19 digit VPay (VISA). Fixes VALIDATOR-372. sebb
Fix UrlValidator fails on IPv6 URL. Fixes VALIDATOR-375. sebb
Add UrlValidator rejects new gTLDs with more than 4 characters Added unit test to show that this has been fixed. Fixes VALIDATOR-361. sebb
Add Make TLD list configurable; both generic and country-code now support addition and removal. Fixes VALIDATOR-341. sebb
Fix Email Validator : .school domain is being rejected Add Unit test to show it has been fixed. Fixes VALIDATOR-374.
Fix Revert EmailValidator to handle top level domains to the behavior prior to VALIDATOR-273. Allow an optional behavior to allow the behavior VALIDATOR-273 implemented. Note that this is a behavioral change for users of version 1.4.1, but not for anyone upgrading from a release prior to that. Fixes VALIDATOR-376. rgoers
Remove Drop the Javascript code entirely. Fixes VALIDATOR-371.
Fix Local part of the email address should not be longer than 64 bytes. Fixes VALIDATOR-362. Thanks to Teo Bran. britter
Fix IDN.toASCII drops trailing dot in Java 6 & 7. Fixes VALIDATOR-356. sebb
Update Update to Java 6. Fixes VALIDATOR-355. britter

Release 1.4.1 – 2014-01-13

Type Changes By
Fix URLValidator returns false for http://example.rocks. Fixes VALIDATOR-342. Thanks to Donal Murtagh. sebb
Fix UrlValidator rejects url with Unicode characters in domain label or TLD. Fixes VALIDATOR-235. Thanks to Brian Preuß. sebb
Fix URLValidator fails validating domain names with a trailing period, which are valid. Fixes VALIDATOR-339. Thanks to Alex Blume. sebb
Fix DomainValidator accepts labels longer than 63 chars and domain name lengths exceeding 255 chars. Fixes VALIDATOR-306. Thanks to Jukka Timonen. sebb
Update TLD tables should be pre-sorted. Fixes VALIDATOR-349. sebb
Update Create new url validation using rfc3986 and IDN - added new test. Fixes VALIDATOR-290. Thanks to Alexander Rytov. sebb
Fix Should "x.root" validate as a domain name? Removed "root" from TLD list. Also "um" and "yu" as they are currently "Not assigned". Fixes VALIDATOR-350. sebb
Fix Logical errors in util.Flags affecting check of multiple flags as well as flag 64. Fixes VALIDATOR-308. Thanks to Til Boerner. sebb
Fix AbstractCheckDigit class does not fully test invalid strings Fix up the testCalculateInvalid() invalid method to allow for either invalid checksum or syntax (CheckDigitException) error when testing the entries in the invalid array. Fixes VALIDATOR-344. sebb
Fix Punycode url is not valid Top-level domain regex matching was wrong; did not allow embedded "-" as per RFC2396. Fixes VALIDATOR-297. sebb
Update UrlValidator: isValidAuthority() returning true when supplied authority validator fails. Fixes VALIDATOR-334. sebb
Fix UrlValidator does not validate uppercase URL schemes. Fixes VALIDATOR-309. Thanks to Rashid Rashidov. sebb
Fix Doc URL update for broken link. Fixes VALIDATOR-343. Thanks to Sam Cooley. sebb
Fix SedolCheckDigit fails to reject invalid (non-numeric) check digits. Fixes VALIDATOR-346. sebb
Fix ISINCheckDigit fails to reject invalid (non-numeric) check digits. Fixes VALIDATOR-345. sebb
Fix CUSIPCheckDigit thinks invalid CUSIP is valid. Fixes VALIDATOR-336. sebb
Update Update TLD list to latest version (Version 2014123000). Fixes VALIDATOR-348. sebb
Fix toLowerCase() method is Locale-sensitive and should not be used Fixed 4 instances in DomainValidator. Fixes VALIDATOR-347. sebb
Update isValid checks if the given address is only IPV4 address and not IPV6. Fixes VALIDATOR-307. adrianc
Update Deprecate the JS part of commons validator. Fixes VALIDATOR-337. Thanks to Ben Ripkens. britter
Fix DomainValidator uses an O(n) method where an O(1) would be more appropriate. Fixes VALIDATOR-266. Thanks to Bruce Collie. britter
Fix EmailValidator does not support mailboxes at TLDs. Fixes VALIDATOR-273. Thanks to Chris Lee. britter
Fix DomainValidator missing sTLD - "xxx". Fixes VALIDATOR-317. Thanks to Arūnas Bendoraitis. britter
Fix Missing sx tld. Fixes VALIDATOR-327. Thanks to Arūnas Bendoraitis. britter
Fix Some TLDs are missing from DomainValidator. Fixes VALIDATOR-305. Thanks to Arūnas Bendoraitis. britter
Fix IBANCheckDigitTest.createInvalidCodes(String[] codes) uses wrong values. Fixes VALIDATOR-331. sebb

Release 1.4.0 – 2012-02-03

Type Changes By
Fix CheckStyle and FindBug Issues - inner classes and key sets. Fixes VALIDATOR-301. Thanks to Jacob Zwiers. simonetripodi
Fix Email validation fails with dash or hyphen at end of local address. Fixes VALIDATOR-293. Thanks to Will Glass-Husain. nick
Fix @localhost and @localhost.localdomain email addresses aren't correctly detected as valid. Fixes VALIDATOR-292. nick
Fix UrlValidator.isValid does not properly validate *.travel domains. Fixes VALIDATOR-289. Thanks to GM. nick
Update UrlValidator does not validate URL with simple domains (eg: http://hostname ). Fixes VALIDATOR-288. Thanks to feroze daud. niallp
Fix isValid method for EmailValidator should return false for domain with special characters only. Fixes VALIDATOR-286. nick
Fix formatDate(String value, Locale locale) in GenericTypeValidator uses DateFormat.SHORT instead of DateFormat.DEFAULT. Fixes VALIDATOR-282. nick
Fix isValidURL call returns false for file scheme/protocol when URL is correct. Fixes VALIDATOR-276. nick
Fix gmail testing addresses do not validate. Fixes VALIDATOR-271. Thanks to Ralf Hauser. nick
Update EmailValidator.isValid(String) follows RFC822 but violates RFC1034. Fixes VALIDATOR-275. Thanks to Adam Gordon. niallp
Update Performance improvement of DomainValidator by change the regular expression. Fixes VALIDATOR-252. Thanks to Makoto Uchino. bspeakmon
Update url with brackets is not validated thru URLvalidator class. Fixes VALIDATOR-251. Thanks to Meenal Gupta. niallp
Update Banking CheckDigit implementations: ABA, CUSIP, IBAN, ISIN and Sedol. Fixes VALIDATOR-250. niallp
Update Add Diners card validation to CreditCardValidator. Fixes VALIDATOR-249. niallp
Update Add an option to allow 'localhost' as a valid hostname part in the URL. Fixes VALIDATOR-248. Thanks to Sergey Nebolsin. bspeakmon
Update Move CreditCardValidator to routines package and refactor to use new CodeValidator. Fixes VALIDATOR-247. Thanks to bspeakmon. niallp
Update Move EmailValidator to routines package. Fixes VALIDATOR-242. bspeakmon
Update New InetAdress Validator implementation. Fixes VALIDATOR-241. Thanks to niallp. bspeakmon
Update Support the 65 prefix for Discover Card. Fixes VALIDATOR-240. Thanks to Webb Morris. niallp
Update Create 1.4 DTD. Fixes VALIDATOR-234. Thanks to Paul Benedict. niallp
Update Switch to using Version 0.4.3 of the Dojo Compressor from the maven repo. Fixes VALIDATOR-233. Thanks to Paul Benedict. niallp
Update Add script attribute to control script generation. Fixes VALIDATOR-232. Thanks to Paul Benedict. bspeakmon
Fix clirr Report - EmailValidator.isValidIpAddress() argument type change. Fixes VALIDATOR-300. Thanks to Jacob Zwiers. nick
Fix Null-Stream input to ValidatorResources leads to MalformedURLExceptions. Fixes VALIDATOR-226. Thanks to Lian Ort. niallp
Update validatorUtilities.js - replace colon characters in the function name (JSF/Shale). Fixes VALIDATOR-224. Thanks to Hasan Turksoy. niallp
Update Move the trim() function from validateRequired.js to validateUtilities.js. Fixes VALIDATOR-223. Thanks to Hasan Turksoy. niallp
Fix EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments. Fixes VALIDATOR-220. Thanks to Adam Gordon. niallp
Fix UrlValidator fail when path contains "(" / ")". Fixes VALIDATOR-218. Thanks to Stephen Chu. bspeakmon
Fix UrlValidator rejects top-level domains (TLDs) with more than 4 characters. Fixes VALIDATOR-216. Thanks to Kenji Matsuoka. bspeakmon
Add New generic CodeValidator that validates format, length and Check Digit for a code. Fixes VALIDATOR-215. niallp
Add New Regular Expression validator using JDK 1.4's Regex. Fixes VALIDATOR-214. niallp
Add Factor out Check Digit logic into separate implementations. Fixes VALIDATOR-213. niallp
Update Upgrade to Digester 1.8. Fixes VALIDATOR-211. niallp
Update Refactor UrlValidator - especially the line 370-ish. Fixes VALIDATOR-203. Thanks to bayard. bspeakmon
Update Copy remaining Validation Routines to the new routines package. Fixes VALIDATOR-197. niallp
Update Removing ORO dep. from GenericValidator. Fixes VALIDATOR-193. Thanks to Matthias Wessendorf. bspeakmon
Update Adding ISBNValidator to GenericValidator. Fixes VALIDATOR-192. Thanks to Matthias Wessendorf. niallp
Update Remove the dependency on Jakarta ORO (move to JDK 1.4 regular expression support). Fixes VALIDATOR-191. Thanks to Matthias Wessendorf. niallp
Update Extend ISBN validator to support smooth transition to ISBN-13 / EAN-13 standard. Fixes VALIDATOR-188. Thanks to Gabriel Belingueres. niallp
Update JDK 1.4 - change minimum dependency for validator to be JDK 1.4 (was 1.3). Primary reason for this is to use JDK 1.4+ built in regular expression support and remove the dependency on Jakarta ORO. niallp

Release 1.3.1 – 2006-11-28

Type Changes By
Update Dependencies for Validator 1.3.1 are unchanged since the 1.3.0 release. N.B. Jakarta ORO has now been marked as an optional dependency in the project.xml as it is only required by the Email, URL and Regular Expression validations. niallp
Fix JavaScript function jcv_isFieldPresent() causes error in IE5 using "undefined". Fixes VALIDATOR-208. Thanks to Leo Asanov. niallp
Fix EmailValidator allows control characters (ASCII 0-31 and 127). Fixes VALIDATOR-190. Thanks to Cott, Gabriel Belingueres. niallp
Fix JavaScript Causes HTML Page to Contain Illegal HTML. Fixes VALIDATOR-210. Thanks to Neil Sherman. niallp
Update Additional constructor for ValidatorResources that takes URL["> instead of String[">. Fixes VALIDATOR-209. Thanks to Craig McClanahan. niallp
Fix Fix loading of Digester rules for custom ValidatorResources implementations. Fixes VALIDATOR-195. Thanks to Vijay Pandey. niallp
Fix Validator incorrectly storing itself under the FORM_PARAM key rather than the Form. Fixes VALIDATOR-19. Thanks to Masahiro Honda. niallp
Fix Urlvalidator returns false for a valid URL containing an underscore. Fixes VALIDATOR-204. Thanks to Ben. bayard
Fix Urlvalidator fails with an ArrayIndexOutOfBoundsException. Fixes VALIDATOR-202. Thanks to Ben. bayard
Fix The ant build.xml doesn't include validator_1_1_3.dtd in the jar. Fixes VALIDATOR-199. Thanks to Tim Mulligan. niallp
Fix Example does not compile using ant build script. Fixes VALIDATOR-198. Thanks to Matthias Fischer. niallp
Fix Validating indexed properties fails when null. Fixes VALIDATOR-189. Thanks to Thomas Bailey. niallp
Fix Fix a thread safety issue in parameter initialization. Fixes VALIDATOR-89. Thanks to Takayuki Kaneko. martinc

Release 1.3.0 – 2006-03-24

Type Changes By
Fix ValidatorResult only contains last run dependency for the field. Fixes VALIDATOR-49. Thanks to bart vandendriessche. niallp
Fix Validator argument - resource="false" ignored for arg0 - arg3. Fixes VALIDATOR-20. Thanks to Rostislav Palivoda. niallp
Fix Change JavaScript validators to cater for disabled being undefined (an issue in Netscape 4.7). Fixes VALIDATOR-60. Thanks to Yugandhar. niallp
Add niallp