- Resolved the rexml security vulnerabilities that affected versions < 3.3.6 by Riana Ferreira
- Merged missed pull request intended for v1.4.3: Readded translation files back to the gem Edouard Brière
- Missed to merge pull request. Skip this version.
- Resolved rexml security vulnerability by Riana Ferreira
- Fixed incorrect variable usage in SOAP request body by Jay Tabudlo)
- Valvat.configure: Allow global configuration
- Update the Cyprus syntax regular expression by Orien Madgwick)
- Valvat::Checksum::ES: Fixed issue with VAT ids starting with '*00' #124 / #115 (by Thomas Scalise)
- Checksum::FR: Correct validation for french VAT ids not starting with two numerical chars #119
- Equality for Valvat objects #120
- Added missing dependency rexml #117
- Lookup: Retry IOError
- Lookup: require 'date' in VIES and 'time' in HMRC
- Implemented lookup of VAT numbers from the UK (via HMRC api and only with :uk option set to true) (by Adrien Rey-Jarthon)
- Remimplemented VIES lookup using only nethttp (removes dependency on savon)
- Deprecate require 'valvat/local'. Please require 'valvat' directly.
- Apply more rules to spanish VAT numbers on checksum validation #115 (by Thomas Scalise)
- Fixed natural person VAT checksum validation for ES #114 (by Thomas Scalise)
- Better (ruby) code blocks in README #113
- Minor internal syntax changes / refactorings
- Support BE 1-series format (by Cashaca)
- Removed duplication on french error messages (by Sunny Ripert)
- Handle Savon::HTTPError and Savon::UnknownOperationError as LookupError and throw Valvat::HTTPError and Valvat::OperationUnknown instead.
- Fixed SOAPAction error (#105) (by Ľubo )
- Added support for italian VAT numbers with special province part (#104)
- Added support for Northern Ireland XI prefixed VAT numbers (by Avatar Ignacy Kasperowicz)
- ActiveModel: Return specific error message if VIES is down and fail_if_down is set to true (by Arkadiy Zabazhanov)
- Removed support for EOL rubies (all before 2.5) and ActiveModel before 5.0
- Added missing spaces to malformatted portuegese locale file
- Removed GB from EU_COUNTRIES / EU_MEMBER_STATES but kept support
- Fixed typo in error message: UNK(N)OWN (by Igor Gonchar)
- Refactored lookup to use specific rescue for savons soapfaults
- Raises vies specific error classes to help debugging temporary and permanent VIES errors
- Lookup#validate supports :savon option to allow altering the behaviour of the used savon client
- ActiveModel validator now supports all lookup options.
- Use https instead of http for accessing vies (by Crazy Chris)
- Lookup#validate supports :raise_error option to return nil instead of raising (known) error when connecting to the VIES web service.
- [BUGFIX] Checksum: Prevent error on some invalid IE vat numbers
- EN: Capitalized VAT in error messages (and specs) (by Vitalii Kashoid)
- Follow redirects to fix alteration of VIES-API (by xxswingxx)
- Validate new dutch 2020 vat identification number (by yvonnenieuwerth)
- Set the country adjectives to masculine in FR locales (by bobmaerten)
- Fix greek country adjectif in french (by bobmaerten)
- Fixed checksum computation for Slovenian VAT ID.
- Updated normalize regexp to clean spaces, punctuation and control chars (by jarthod)
- Added Norwegian translation (by erikaxel)
- Added support for new IE vat number format, with 2 letters (by lluis)
- Added support for spanish NIE Y and Z in checksums (by descala)
- Added catalan translation (by descala)
- Fixed spanish invalid vat message (by descala)
- Fixed HU and SK translations
- Added Hungarian & Slovakian translations (by tomas-radic)
- Added support for GB vats checksum validation (by ivopashov)
- Corrected dutch language support (by ploomans)
- Allow to require all functionality except lookup with 'valvat/local'
- Improved regex for Cyprus, Estonia, and Lithuania (by ndnenkov)
- Added checksum validations for Cyprus, Estonia, Lithuania, Romania, Malta, Hungary, and Croatia (by ndnenkov)
- Removed fakeweb tests and dependency
- Add French checksum validation (by 0ctobat)
- Test against current ruby (2.4) and activemodel (5.0) versions
- Added finish translations (by kaapa)
- Added catalan translations (by descala)
- Added support for spanish NIE Y and Z (by descala)
- Fixed spanish translations (by Carlos Hernández Medina)
- Added cert to allow valvat to be installed with
gem install valvat -P MediumSecurity
(more info: http://guides.rubygems.org/security/) - Removed all circular require-statements - fixed #34 (by Julik Tarkhanov)
- Fixed segfault with activemodel requiring files with .rb-suffix - fixed #34 (by Julik Tarkhanov)
- Fixed SOAP issue with current wasabi 3.3 - fixed #33
- Several minor travis/guard fixes
- Added czech translations (by Dawid Cichuta)
- Fixed polish translations (by Dawid Cichuta)
- Added french, spanish and danish translations (by Roman Lehnert)
- Specs: Fixed issues with rspec 3
- Specs: Switched to :expect syntax
- Added dutch translations (by 0scarius)
- Fixed portuguese translations (by Davidslv)
- Added blank? method to Valvat object
- Valvat::Lockup: require savon on load
- Works now with current version of savon gem (2.3.0) (by liggitt)
- Corrected regex for IE VAT numbers (by brianphillips)
- Improved PT translation
- Some code refactorings
- Spec improvments
- Added experimental checksum verification for 17 european countries (with help from kirichkov)
- Works now with current version of savon gem (2.2.0) (by nevesenin)
- Added I18n locales for Polish, Romanian, Italian, Portuguese and Latvian (by shaundaley39)
- Added support for croatian vat numbers (by mowli)
- Added I18n locales in bulgarian (by kirichkov)
- Fixed dependency on savon version 1.2 (2.0 uses new api)
- Convert to string before normalize (by borodiychuk)
- Fixed error handling in Lookup (by bmurzeau)
- Fixed usage with savon version 1.2
- Require version 1.2 of the savon gem from now on
- Added :raise_error option to throw errors instead of returning nil
- Fixed issue with current savon version & required more recent savon version
- Added support for company details and requester identifiers in successful responses (by lcx)
- Added Valvat::Lookup.last_error for debugging
- Fixed wrong regexp for Belgium numbers (by opsidao)
- Normalize all input on initialization (by SpoBo)
- Add Valvat::Utils.iso_country_to_vat_country (by Deb Bassett)
- Fixed localization strings (en/de)
- Moved locales folder to lib/valvat/locales
- ActiveModel validation: Failed validations with match_country now use error message with country from given attribute
- ActiveModel validation: Failed validations with match_country skip lookup and syntax checks
- ActiveModel validation: added match_country option to validate if iso country code of vat number matches another attribute.
- Valvat::Utils.normalize now removes spaces and special chars anywhere
- Using vies directly via soap/savon again; isvat.appspot.com is not really reliable.
- Added support for Valvat#exist? as an alias of Valvat#exists?
- Fixed blocker in valvat/lookup
- Rewrote Valvat module to a vat number class for convenience + internal use of Valvat instances
- I18n: Default error messages in german
- Fixed issue with country web service down and added spec
- Stubbed web service specs with fakeweb
- Added documentation for ActiveModel support
- ActiveModel validation: added optional lookup support
- ActiveModel validation: I18n support with country specific messages
- ActiveModel validation: I18n locales in english and german
- Fixed bug with wrong iso country code on greek vat number (EL != GR)
- Valvat::Util.split only returns countries from europe
- Basic support for ActiveModel validation
- Use REST-wrapper for accessing VIES web service; this removes dependency on savon and some lines of code. See http://isvat.appspot.com/