= ActiveMerchant CHANGELOG

== Version 1.20.0 (November 14, 2011)

* Add support for USA ePay Advanced SOAP interface [matthewcalebsmith/jduff]
* Beanstram: fix purchase with Secure Profile [pitr/jduff]
* Orbital: various fixes [Soleone]
* Add Samuari gateway by Fee Fighters [jkrall/odorcicd]
* Lock money gem to 3.7.1 or less since newer versions break in 1.9 [jduff]
* Braintree: handle gateway rejected transactions gracefully [braintreeps/jduff]
* Ogone: support different signature encryptors, custom currency and eci [ZenCocoon/rymai/jduff]
* Payflow Link: use secure token [jduff]
* Added refund method to Exact, Pay Junction and Skip Jack gateways [jduff]
* Elavon: added test url [kylekeesling/jduff]
* Fix redundent errors when credit card is expired [castiglione/jduff]
* Two Checkout: update service url [vampirechicken/jduff]

== Version 1.18.1 (September 23, 2011)

* Braintree: allow setting merchant_account_id on initialize [jduff]
* Realex: only send letters and numbers in shipping code field [Soleone]

== Version 1.18.0 (September 23, 2011)

* NoChex: Update the URL that payment requests are posted to [caseywhalen/jduff]
* QBMS: fixed test mode check [Soleone]
* Realex: encode avs info with shipping address [Soleone]
* Add Dwolla offsite gateway [armsteadj1/jduff]
* Eway: pass email, customer, description and options to store [moklett/tobi]
* New dependency: active_utils gem [odorcicd]
* Optimal Payments: fix test mode check [jduff]

== Version 1.17.0 (August 23, 2011)

* Add Payflow Link integration [jduff]
* Add CardSave gateway [MrJaba/jduff]]
* Quickpay: Support protocal version 4 and fraud parameters [anderslemke/jduff]
* Authorize.net: Add status_recurring [mm1/jduff]
* Paypal Express: Support specifying :items with purchase [sivabudh/jduff]
* ePay: Add Sweden and Norway to supported countries [ePay/jduff]
* Brainreee: Support passing merchant_account_id parameter [braintreeps/jduff]
* Paypal Express: Remove deprecated Address field in favor of ShipToAddress[jduff]
* Add Optimal Payments gateway [jamie/jduff]
* Documentation improvements [dasch/nhemsley/jstorimer/jduff]
* Authorize.Net: Pass through first name, last name, and zip for refunds. [ntalbott]

== Version 1.16.0 (July 18, 2011)

* Bogus: Support referenced transactions for #authorize, #purchase, #recurring and
#credit [dasch/jduff]
* Payment Express: Update gateway url [bayan/titanous]
* Moneybookers: Send country and account_name if provided [Soleone]
* Moneris: Add Diners Club and Discover [Soleone]
* Cybersource: add auth_reversal support [jeberly/titanous]
* WorldPay: Update endpoint URLs for offsite gateway [Soleone]
* Worldpay: Add JCB and add Maestro [Soleone]
* Authorize.net: Add Diners Club and JCB [Soleone]
* Quickpay: Add testmode for subscribe and authorize [dasch/jduff]
* Orbital: fix handling of phone numbers. [ntalbott]
* Braintree: Add Diners Club [cody]
* Add ePaymentPlans offsite payment [robertomiranda/Soleone]
* Add Stripe gateway [boucher/titanous]
* Add Paystation gateway [nikz/jduff]
* Bump minimum ActiveSupport version to 2.3.11 [titanous]
* Use securerandom from stdlib not active_support [phlipper/jduff]

== Version 1.15.0 (May 12, 2011)

* DirecPay: Fix address to not include address2 twice in some cases [Soleone]
* DirecPay: Send company if available [Soleone]
* Realex: Fix hash signature [ntalbott/Soleone]
* SecurePay AU: Update remote tests [ntalbott]
* SecurePay AU: Fix method arity for #capture, #refund, #credit and #void [Soleone]
* Barclays ePDQ: Make response parsing more robust [Soleone]
* Payflow Express: Add line item support [wolframarnold]
* Payflow Express: Add comment field support [wolframarnold]
* Payflow: Add more optional fields [wolframarnold]
* Beanstream/Paypal: Fix CREDIT_DEPRECATION_MESSAGE errors [Jonathan Rudenberg]
* BraintreeBlue: Return a hash instead of a transaction object [braintreeps]
* BraintreeBlue: Return proper AVS/CVV values [braintreeps]
* Bogus: Add #recurring [trwomey]
* Make Validateable compatible with ActiveModel [CodeMonkeySteve]
* Add DirectEBanking offsite gateway [Gerwin Brunner/Soleone]
* ActiveSupport 3.1 beta support [cgriego]

== Version 1.14.0 (Apr 29, 2011)

* SagePayForm: Implement #cancelled? for Return. [wisq]
* Add #cancelled? to Integrations::Return [wisq]
* Bogus gateway: Add refund support and better tests [wisq]
* Beanstream: Add support for storing cards [duffomelia]
* eWay: Add support for storing cards [duffomelia]
* Add validation mode to update profile request [Ken Miller]
* Authorize.net CIM: Add oldLiveMode [ntalbott]
* Authorize.net CIM: Add extra transaction types [Ken Miller]
* JetPay: gateway tweaks [ntalbott]
* Deprecate a bunch more #credit methods [ntalbott]
* RealEx: Add authorize/capture/credit/void [ntalbott]
* SecurePay AU: Add authorize/capture/credit/void [ntalbott]
* PayPal Express: Make response parsing more robust [ntalbott]
* Test deprecation warnings; add deprecation line numbers [ntabott]
* Add Orbital direct gateway [ntalbott]
* Add WorldPay direct gateway [ntalbott]

== Version 1.13.0 (Apr 19, 2011)

* Add a Gemfile for optional bundler support [ssoroka]
* Stop using has_rdoc= when rubygems version is 1.7.0 or greater, since it's deprecated [ssoroka]
* Add tax field to braintree [wisq]
* Quickpay: Also add Sweden as supported country [Soleone]
* Adding refund method for gateways that are using the credit method for referenced based refunds, added deprecation worning to the credit method [John Duff]
* Return the Braintree transaction id in the response for void and refund transaction calls [John Duff]
* PayPal Express: Extract phone number from address if no contact phone was sent [Soleone]
* Unify all offsite gateways that verify the signature of Returns or Notifications by always using the #acknowledge method and calling the secret :credential2 [Soleone]
* Valitor: Change name of credential for Return and Notification from :password to :credential2 in symmetry with the other Integrations [Soleone]
* Moneybookers: Add support for tracking token [Soleone]
* Moneybookers: Require credential when creating Notifications instead of adding an argument to #acknowledge [Soleone]
* Moneybookers: Fix Notification to return correct status [Soleone]
* Support default Return class for all Integrations that don't use returns [Soleone]
* Add support for passing additional options when creating a Notification to all Integrations [Soleone]
* Update BraintreeBlue#refund to have consistent method signature [Jonathan Rudenberg]
* Add rails/init.rb for gem campatability in Rails [Rūdolfs Ošiņš]
* Fix Paypal Express response parser [Jonathan Rudenberg]
* Braintree/Transax: Add tax field [wisq]

== Version 1.12.1 (Mar 21, 2011)

* Ogone: Make sure response.params is a real Hash [Soleone]
* WorldPay: Fix service_url in production mode [Soleone]

== Version 1.12.0 (Mar 1, 2011)

* DirecPay: Send phone number as mobile phone by default [Soleone]
* Support sending line items for PayPal Express transactions [Jonathan Rudenberg]
* Update PayPal Express XML format to latest version [Jonathan Rudenberg]
* Fix custom image header for PayPal Express [mwagg]
* Add InvoiceID and OrderDescription to PayPal Express Authorize and Capture [cody]
* Add Moneybookers integration [Alex Diakov]
* Add QBMS (Quickbooks Merchant Services) gateway [ntalbott]
* Add NMI gateway [ntalbott]
* Make fully compatible with Rails 2 & 3, and Ruby 1.8 & 1.9 [ntalbott]
* Authorize.Net: Only return AVS message for AVS-related reason codes. [ntalbott]
* Add Federated Canada gateway [ntalbott]
* Garanti: Fix text normalization for nil values [Selem Delul]
* Valitor: Always send amount without any decimal places [Soleone]
* Add WorldPay integration [Soleone]

== Version 1.11.0 (Feb 11, 2011)

* Bump dependency for activesupport from 2.3.2 to 2.3.8 [Soleone]
* Garanti: Normalize text in xml fields for non-standard characters [Selem Delul]
* Garanti: Make sure order number does not contain illegal characters [Soleone]
* Fix ActionView tests for ActiveSupport 3.0.4 [Soleone]
* DirecPay: Make address information editable by default [Soleone]
* Fix ePDQ credit to expect and handle full authorization [Nathaniel Talbott]
* Add Barclays ePDQ Gateway [Nathaniel Talbott]
* Add default fixture for Garanti and don't use fixture for Garanti [cody]
* Add cms param for ePay [ePay]
* Add Valitor Integration [Nathaniel Talbott]

== Version 1.10.0 (Jan 20, 2011)

* PayPal Express: Support returning payer phone number [Soleone]
* Fix ePay to correctly send order number [Soleone]
* Add BluePay Gateway [Nathaniel Talbott]
* Add Quantum Gateway [Joshua Lippiner]
* Add iDEAL/Rabobank gateway [Jonathan Rudenberg]
* SagePayForm: Added send_email_confirmation (default false) to enable confirmation emails [wisq]

== Version 1.9.4 (Jan 5, 2011)

* Update Garanti gateway to integrate with new API [Selem Delul]

== Version 1.9.3 (December 17, 2010)

* Fix BBS Netaxept to change transaction type from C (for MOTO: mail order telephone order) to M (for credit card orders) [Soleone]
* Fix Iridium and ePay to work with any object that responds to credit card methods not only ActiveMerchant::CreditCard objects

== Version 1.9.2 (December 9, 2010)

* Add support for PayPal mobile payments [wisq]
* Add ePay gateway [ePay, Jonathan Rudenberg]
* Allow access to the raw HTTP response [Jonathan Rudenberg]

== Version 1.9.1 (November 24, 2010)

* PayPal Express and PayPal Pro: Send JPY currency correctly without decimals [Soleone]
* Netaxept: Make sure password (token) is URL escaped and update remote tests for updated server behavior [Soleone]
* DirecPay: Add support for additional options in Return class and add convenience method to get transaction status update [Soleone]
* Add new alias credit_card.brand for credit_card.type and handle the brand correctly in Netaxept [Soleone]
* Iridium: Do not depend on ExpiryDate class for credit_card [Soleone]
* PayFlow: Use same timeout of 60 seconds in HTTP header and XML for all requests [Soleone]
* PayPal Website Payments Pro CA no longer supports American Express cards [Soleone]
* Updated BIN ranges for Discover to match recent documents [kaunartist]

== Version 1.9.0 (October 14, 2010)

* Add support for DirecPay gateway [Soleone]
* Add SagePay Form integration gateway [wisq]
* Allow Return class to include a Notification for gateways that treat the direct response as a notification [wisq]
* Add support for PayboxDirect gateway [Donald Piret]
* Add support for SecureNet gateway [Kal]
* Add support for the Inspire gateway [ryan r. smith]

== Version 1.8.0 (September 24, 2010)

* PayPal Express: Add support for billing agreements [Nathaniel Talbott]
* Allow comparing countries [Nathaniel Talbott]
* Iridium: Fix country handling [Nathaniel Talbott]
* Iridium: Fix missing billing address [Nathaniel Talbott]
* Iridium: Do not pass CV2 if not present [Nathaniel Talbott]
* Add Iridium support [Phil Smy]
* Add Netaxept support [Nathaniel Talbott]
* PaymentExpress: Use Card Holder Help Text for the response message [Nathaniel Talbott]
* Sort the country name list [Duff OMelia]

== Version 1.7.3 (September 14, 2010)

* Fix SagePay special handling for Japanese YEN currency to not send fractional amounts [Soleone]

== Version 1.7.2 (August 27, 2010)

* Update Braintree integration to play nicely with the braintree 2.5.0 gem [Soleone]
* Fix SagePay to not send fractional amounts for Japanese YEN currency [Soleone]

== Version 1.7.1 (July 28, 2010)

* Pull in only the necessary components of Active Support. Enables use of ActiveMerchant with Rails 3 [railsjedi]

== Version 1.7.0 (July 9, 2010)

* Add support for new Braintree Blue Gateway (using the braintree gem) [Braintree]

== Version 1.6.0 (July 6, 2010)

* Add a task rake gateways:hosts to get a list of all outbound hosts and ports [cody]
* Fix test failure in chronopay helper in Ruby 1.9.1 [cody]
* Fix timezone issue in credit card test. [cody]
* Fix failing unit test for Garanti gateway [cody]
* Fix failing CyberSource remote test [Patrick Joyce]
* Support for Garanti Sanal Pos: Turkish bank and billing gateway [Selem Delul]
* Add deprecation note for Money objects to Bogus gateway [Soleone]
* Updated test URL for Merchant eSolutions and added valid remote test credentials [Soleone]
* Add new error class for SSL certificate problems in connection class  [Soleone]
* Update valid_month and valid_expiry_year to coerce string arguments to integers [cody]
* Add support for displaying credit cards with PayPal Express. Use the :allow_guest_checkout => true option when setting up the transaction [Edward Ocampo-Gooding]
* Use card_brand method for checking for checks in Sage and Beanstream [cody]
* Add JCB and Diners Club to LinkPoint [Soleone]

== Version 1.5.1 (February 14, 2010)

* Cleanup Rakefile, add gemspec and prepare for 1.5.1 release [cody]
* Update copyright dates [cody]
* Work around SkipJack bug by reversing the order of the query params [Soleone]
* Fix uppercase character in autoload of 2Checkout's Notification class [Edward Ocampo-Gooding]
* Detect language used in Chronopay integration based on billing address country [Soleone]
* Better handle international addresses in BeanstreamGateway [Soleone]

== Version 1.5.0 (February 2, 2010)

* Fix Gestpay notification to avoid Ruby 1.9 warnings [cody]
* Fix Chronopay notification time parsing for Ruby 1.9 [Joe Van Dyk]
* Set default currency of Braintree to USD [cody]
* Fix QuickPay helper for Ruby 1.9 compat [cody]
* Use String#each_line instead of collect in PaySecureGateway for Ruby 1.9 compat [cody]
* Use String#each_line instead of to_a in SagePayGateway for Ruby 1.9 compat [cody]
* Don't return an array when finding the country code. Fixes issue with Ruby 1.9 [cody]
* Fix custom assertions for Ruby 1.9 [cody]
* Deprecate Money objects [cody]
* Update JCB rejex to catch all valid PANs [pjhyett]
* Remove old TransaXGateway constant [cody]
* Remove old ProtxGateway constant [cody]
* Remove old BrainTree constant [cody]
* Remove AuthorizedNet constant [cody]
* SecurePay changed their delimeter from % to ,. Update gateway to handle changes [Soleone]
* Fix documentation typo in base.rb [mig-hub]
* Add capture test to Linkpoint [Dusty Doris]
* Fix bug in Linkpoint with ternary operator and Ruby 1.9.1 [Dusty Doris]
* Add currency and processor options to Braintree gateway [cbillen]
* Unify API to always look for billing_address/address hash inside of options [stopdropandrew]
* Fix bug with Modern Payments Gateway where failure authorizations appeared to be successful [cody]
* Fix Modern Payments Gateway [cody]
* Use basic SkipJack host for all non-authorization transactions. Fix status method [cody]
* Strip non alpha numeric chars out of MerchantWare order number [cody]
* Parse complete response of Authorize.net CIM gateway [Patrick Joyce]
* Update to PayPal Sandbox URL for testing Payflow Pro Express Checkout. See Express Checkout for Payflow Pro guide [cody]
* Provide a C_STATE value of "Outside United States" for SageGateway when processing international customers [cody]
* PayPal Website Payments Pro Canada supports Amex [cody]
* Add line item support for LinkpointGateway. [Tony Primerano]
* Add support for SallieMae gateway [iamjwc]
* Add support for the JetPay gateway [Phil Ripperger, Peter Williams, cody]
* Add support for advanced SkipJack processors. Pass :advanced => true when constructing gateway [cody]
* Support test option in AuthorizeNetCimGateway [Tim]
* Improve Ogone error messages [cody]
* Add support for :test => true option to OgoneGateway [cody]
* Bump PayPal Version to 59.0 [cody]
* Add amex support to eWay gateway [cody]
* Change Payflow header X-VPS-Timeout -> X-VPS-Client-Timeout [cody]
* Fix typo preventing OgoneGateway from working in production [Nicolas Jacobeus]
* Add support for the Elavon MyVirtualMerchant gateway [jstorimer]
* Fix recurring transactions in Ogone gateway [cody]
* Fix money formatting for Ogone gateway [cody]
* Tweak Ogone gateway to use ActiveMerchant conventions for reference transactions [cody, jstorimer]
* Add support for the Ogone DirectLink payment gateway [Nicolas Jacobeus]
* Add support for the Antigua based FirstPay payment gateway [Phil R]
* Add support for PayPal reference transactions [kevin, John, Rahsun McAfee]
* Add support for the MerchantWARE payment gateway [cody]
* Rename Protx to SagePay [jstorimer]
* Allow test mode for eWay gateway [Duff OMelia]
* Don't use Time.parse for the ExpiryDate [cody]
* Add support for CVV code to Authorize.net CIM [Guy Naor]
* Add shipping address to Authorize.net [Eric Tarn]
* Don't setup the logger by default [cody]
* Refactor ActiveMerchant::Connection out of the PostsData module. Add support for logging and wiredumping requests [cody]
* Assume a valid load path when running tests [cody]
* Use SHIPTOSTREET2 element instead of STREET2 element for Payflow Express Uk address [cody]
* Clean up the test helper [cody]
* Fix DataCash unit test that was making a remote call [cody]
* Don't check Request#test? for remote PaymentExpress tests because their test environment has changed [cody]
* Update Instapay gateway to support capture and add address, order, and invoice fields. Add support for CVV and AVS response [cody]
* Add support for Instapay gateway [brahma]
* Cleanup PaymentExpress reference purchases and turn on AVS [cody]
* Add reference purchases and authorizations to PaymentExpress [mocra]
* Add support for Merchant e-Solutions Gateway [Zac Williams, Robby Russell]
* Fix Braintree unit test [cody]
* Add support for checks to SmartPs gateways [jvoohris]
* Extract SmartPs for Braintree and Transax [mmangino]
* Ruby 1.9 compatibility [bschwartz]
* Update Payflow Express to handle Street2 element [James MacAulay]
* Fix typo in Protx DeliveryState field [cody]
* Ignore Wirecard state unless it is 2 characters [Cody]
* Update Wirecard to make country and state processing more robust [Soleone]
* Update ProTX to use the latest v2.23 protocol [Tekin]

== Version 1.4.2 (April 24, 2009)

* Fix typo in Authorize.net CIM [infused]
* Add missing ISO countries [Edward Ocampo-Gooding]
* Add support for Guernsey to country.rb [cody]
* Add American Express to the MonerisGateway [cody]
* Use :words_connector instead of connector in RequiresParameters [cody]
* Fixed CreditCard not validating start_month and start_year when set as string [Tekin]
* Update PostsData to support get requests [cody]
* Fix broken Quickpay remote test [cody]
* Update Quickpay gateway to v3. Add support for offsite integration for Danish Dankort cards [Lars Pind]
* Use default partner id when passed in :partner is blank with PayflowGateway [cody]
* Remove PayflowGateway.certification_id [cody]
* Set Response#test? to true in TrustCommerce gateway when using the demo account in production [cody]
* Correctly set Sage.supported_countries [cody]
* Add BogusGateway#void [Donald Ball]
* Fix PSL gateway capturing [cody]
* Fix failed Visa debit purchases with PSL gateway start date info is present [cody]
* Support personal fixtures file on Windows [cody]
* Clearer variable naming for BraintreeGateway#authorize [Jonathan S. Katz]
* Fix brittle Authorize.net tests [cody]
* Add support for Authorize.net duplicate window [Seamus Abshere]
* Return transaction id for PayPal refunds [jxtps435]
* Allow storage of e-checks with BraintreeGateway [jimiray]
* Add test URL to PayJunction gateway [boomtowndesigngroup]
* More robust parsing for Wirecard gateway [Soleone]
* Pass the issue number to CardStream verbatim and update test card numbers [Soleone]

== Version 1.4.1 (December 9, 2008)

* Update CardStream URL. Note that you will also need to update your login id. [cody]

== Version 1.4.0 (November 27, 2008)

* Return failed authorization when SkipJack purchase fails [Tron, cody]
* Update README [cody]
* Add metadata to Authorize.net CIM gateway [cody]
* Make ActionViewHelper compatible with changes to concat method in ActionPack [cody]
* Remove PayPal and Payflow Name-Value gateways. PayPal is no longer terminating the Payflow XML API. [cody]
* Don't directly use the inflector in the action view helper [cody]
* Work around Rails Inflector change [cody]
* Add configurable timeouts to PostsData [Michael Koziarski]
* Add valid_sender? method to gateway integrations [Soleone]
* Fix PayPal error parsing [cody]
* Fix MIT-LICENSE [cody]
* Add a payment gateway for Website Payments Pro Canada [cody]
* Fix shipping amount option in Sage gateway [Darrick Wiebe]
* Improved message and error message handling [Soleone]
* Get Wirecard working in the Live environment [Soleone]
* Remove dead code in PayPal Common API files [cody]
* Use the PayPal short error message if the long message is empty [cody]
* Fix unit tests when being run by Cruise Control [cody]
* Add support for PayPal Fraud Review Response [cody]
* Add testing support for German Wirecard Gateway [Soleone]
* Specify required version of ActiveSupport [cody]
* Make ssl_strict a superclass_delegating_accessor so the entire application's validation of SSL certs can be disabled in the event of certificate problem. [cody]
* Make Gateway.application_id a superclass_delegating_accessor so it can be set from outside the subclass definition [cody]
* Add Discover to the list of supported card types for Braintree [cody]
* Add support for Modern Payments gateway [Jeremy Nicoll, cody]
* Add support for EFT/ACH and Interac Online to the BeanstreamGateway [cody]
* Document the SageGateway [cody]
* Add support for echecks with SageGateway. [cody]
* Handle all successful SecurePay AU response codes [cody]
* Get SageGateway working with real test account. Improve test suite. [cody]
* Unify TrustCommerce, Payment Express, and Braintree CC storage [benjamin.curtis]
* Update to use new Payflow Pro URLs [cody]
* Fix missing Content-Type header for Ruby 1.8.4 [cody]
* Fix Authorize.Net CIM response.message [patrick.t.joyce]
* Add JCB and Diners Club as supported cards to SageGateway [cody]
* Add CA country code to Sage gateway's supported countries [cody]
* Add support for Sage Payment Solutions gateway [cody]
* Add test mode detection to Beanstream [cody]
* Add support for Beanstream payment gateway [xiaobozz]
* Add support for PayPal NV Pair API. Will be used to replace the usage of the PayPal SOAP API in ActiveMerchant in the future [Greg Furmanek, cody]
* Protx does support UK Maestro [cody]
* Add tests for length of UK Maestro cards [cody]
* Return all the error messages and codes from paypal responses [cody]
* Fail hard when attempting to capture without a credit card with NetRegistry [cody]
* Add support for the order fields to the create_customer_profile_transaction in Authorize.net CIM. [Patrick T. Joyce]
* Strip invalid characters and limit lengths of Protx customer data [Simon Russell]
* Fix empty start or end dates in Protx [Simon Russell]
* Add support for Authorize.net CIM [Patrick T. Joyce, Ian Lotinsky]
* Add option to skip order review to all PayPal Express gateways [garret.alfert, cody]
* Add capturing partial amounts, fix issue number formatting, fix authorization string when nil values returned, fix parsing of multiple '=' characters, simplify message_from [Simon Russell]
* Fix StartDate in ProtxGatewy [cody]
* Add support for refunds and continuous authority references to DataCashGateway [joel.chippindale]
* Fix gross in HiTrust notification. Don't use Money object in Verifi gateway [cody]
* Initial implementation of Payflow Name-Value API [Greg Furmanek]
* Add support for CyberSource credits [mjuneja]

== Version 1.3.2 (February 24, 2008)

* Actually fix the bug by adding extdata element to Payflow Requests [cody]
* Fix bug with adding name to Payflow requests [cody]
* Gateways will now look for CreditCard#brand before looking for CreditCard#type [cody]
* Make before_validate in CreditCard more clear [keith_du...@mac.com, cody]
* Don't send full Australian state names to PayPal [cody]
* Return last_digits that are less than 4 characters long [cody]
* Fix Bug with Authorize.Net ARB Remote Test [patrick.t.joyce]
* Add support for forcing test mode on Secure Pay AU gateway [cody]
* Update Secure Pay Au to meet specs for MessageInfo elements [cody]
* Add support for the Australian Secure Pay payment gateway [cody]
* Allow LinkPoint cancellations for recurring billing. [yanagimoto.shin]
* Add support for Åland Islands to the country list [cody]

== Version 1.3.1 (January 28, 2008)

* Rename BrainTreeGateway to BraintreeGateway, but keep alias to old naming for backwards compatibility [cody]

== Version 1.3.0 (January 28, 2008)

* Remove attr_readers for url and response from Gateway [cody]
* Remove @url from EfsnetGateway [cody]
* Remove @response instance variable in QuickpayGateway. [cody]
* Remove @response instance variable in PsigateGateway. Don't use billing address for shipping [cody]
* Remove @response instance variable in PaypalGateway. Don't use billing address for shipping. [cody]
* Remove @response instance variable in PayflowGateway [cody]
* Remove @response instance variable in MonerisGateway [cody]
* Remove @response instance variable and don't use billing address for shipping address in LinkpointGateway [cody]
* Remove @response instance variable from ExactGateway [cody]
* Remove @response instance variable from EwayGateway [cody]
* Remove @response instance variable from EfsnetGateway [cody]
* Remove @response instance variable from DataCashGateway [cody]
* Don't use billing_address for shipping_address in CyberSourceGateway [cody]
* Remove @response instance variable from CardStreamGateway [cody]
* Remove @response instance variable from BrainTreeGateway [cody]
* Remove unused deal_with_cc method from BogusGateway [cody]
* Remove test_result_from_cc_number completely from ActiveMerchant [cody]
* Don't use billing_address for shipping_address in Realex [cody]
* Update Realex to add support for cvv data. remove test_result_from_cc_number. [cody]
* Update Protx to add support for avs and cvv data. remove test_result_from_cc_number. [cody]
* Include ActiveMerchant::Utils module in test_helper and use generate_unique_id from the module instead of generate_order_id. [cody]
* Update SecurePay tests to check for avs and cvv data. [cody]
* Update SkipJack to add support for avs and cvv data. remove test_result_from_cc_number. [cody]
* Move generate_unique_id to its own module [cody]
* Update Viaklix to add support for avs and cvv data. remove test_result_from_cc_number. Truncate fields to avoid failure [cody]
* Update PSL Card Gateway to add support for avs and cvv data. remove test_result_from_cc_number. [cody]
* Update PlugNPayGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Update PaymentExpressGateway to remove test_result_from_cc_number. [cody]
* Update PaySecure to remove test_result_from_cc_number. [cody]
* Update NetbillingGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Replace all usage of :address with :billing_address in test cases [cody]
* Remove sensitive data from NetRegistryGateway responses. Refactor gateway and tests. Remove test_result_from_cc_number. [cody]
* Update VerifiGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Small refactoring of UsaEpayGateway [cody]
* Update UsaEpayGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Update TrustCommerce docs now that the gateway falls back to SSL post when tclink isn't available [cody]
* Change ARB to use correct :address1 key for addresses [cody]
* No need for specialized recurring response for Authorize.net recurring billing [cody]
* Update TransFirst to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Maintain backwards compatibility with :address option for now in the Payflow gateways [cody]
* Remove test_result_from_cc_number from SecurePayTech. Improve unit test coverage [cody]
* Fix email option in PayflowGateway. Remove support for :address option. :billing_address and :shipping_address must now be passed in separately. [cody]
* Make Bogus gateway's credit() method behave like capture [cody]
* Add update and delete methods to update and delete records stored in the vault. [benjamin.curtis]
* Add support for recurring_inquiry() to the PayflowGateway [dave.my...@contentfree.com]
* Add support for Authorize.net Automated Recurring Billing (ARB) [vkurnavenkov, forestcarlisle, ianlotin...@hotmail.com, patrick.t.joyce]
* Fix laser card regex [ladislav.martincik]
* Cleanup whitepace in README [patrick.t.joyce]
* Update ExactGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Remove test_result_from_cc_number from eWay gateway. [cody]
* Remove duplicate attr_reader definitions from all gateways [cody]
* Remove useless tests raising Error [cody]
* Update gateway templates [cody]
* Fix Authorize.net test where authorize() was being called instead of purchase(). Perform some cleanup of the tests [ianlotin...@hotmail.com, cody]
* Improve Authorize.net documentation based on the DataCashGateway docs [patrick.t.joyce]
* Update EfsnetGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody]
* Remove test_result_from_cc_number from DataCash. Improve unit test coverage [cody]
* Update CyberSourceGateway to support avs and cvv results. Remove test_result_from_cc_number. [cody]
* Remove match information from CVVResult [cody]
* Remove Response#card_data. The application has access to the information anyway [cody]
* Return the last 4 digits of the card number from the Response instead of the masked number [cody]
* Actually use the shipping address in TrustCommerce [cody]
* Update TrustCommerceGateway to support avs and cvv results. Remove test_result_from_cc_number. Automatically fallback to SSL POST if the TCLink library is not available. Add additional customer information to the requests. [cody]
* Fix remote CardStreamGateway tests [cody]
* Map merchant AVS codes to street and postal match codes [cody]
* Update CardStreamGateway to support avs and cvv data [cody]
* Remove merchant_data hash. Add additional CVV codes [cody]
* Update QuickpayGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody]
* Update LinkpointGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody]
* Update PsigateGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody]
* Update MonerisGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody]
* Remove AVS Message and CVV2 Message from params hash in Authorize.net [cody]
* Update BrainTreeGateway to support merchant_data hash [cody]
* Update PaypalGateway to support merchant_data hash [cody]
* Update Payflow to support merchant_data hash [cody]
* Add card data to PayJunction response. PayJunction does not return the CVV or AVS result codes. Remote test_result_from_cc_number from PayJunction. [cody]
* Rename CCVResult to CVVResult to be more aligned with ActiveMerchant's usage of the term verification value [cody]
* Remove test_result_from_cc_number from Authorize.net in favour of mocking [cody]
* Add merchant_data hash, which contains all of the card_data, avs_result, and ccv_result. [cody]
* Add CCVResult for the Card Code Verification Result. Update Authorize.net to use the new class [cody]
* Rename AVSResult#match_type AVSResult#match [cody]
* Rename AVS::Result class to AVSResult [cody]
* Convert Authorize.net gateway to use the new AVS module [cody]
* Add AVS data to the Response object [cody]
* Fix credentials for remote Authorize.net TEST MODE test [cody]
* Add AVS module and AVS::Result class [cody]
* Update base gateway class RDOC [cody]
* Update the README with the latest list of supported gateways. Update the example in the README to include the verification value, which is now required by the credit card object by default. [cody]
* Handle the return from 2Checkout [cody]
* Automatically determine the credit card type when a type is not provided [cody]
* Revert to initial implementation of LUHN algorithm because it all fits in one simple method [cody]
* Remove unused api_cert_chain.crt file [cody]
* Update PaypalGateway, and PaypalExpressGateway to send requests to the correct endpoints when using API signatures [cody]
* Successful return code for HiTRUST is actually 00 [cody]
* Make ActiveMerchant::Billing::Error a subclass of ActiveMerchant::ActiveMerchantError [cody]
* Handle the return from the offsite payment gateways [cody]
* Default HiTRUST order description to "Store purchase" [cody]
* Fix HiTRUST field names [cody]
* Add support for passing in the locale code [georg.fr...@meandevel.com]
* Add support for the Offsite payment gateway HiTRUST [cody]
* Accept SuccessWithWarning as success [cody]
* Add a link to the LinkPoint staging server docs in remote_linkpoint_test.rb [cody]
* Update Discover regex [cody]
* Match full pan range of Maestro cards from 12 - 19 digits in length [cody]
* Fix errors on base of CreditCard [josh.bassett]
* Update product to use Rubigen instead of stolen Rails generator [cody]
* Mimic directory structure of unit tests in remote tests [cody]
* Restructure the location of the remote tests [cody] 
* Ensure DataCash order_id is limited to 30 characters [cody]
* Return the pretty messages from PayJunction based on the return code [cody]
* make CreditCard.require_verification_value = true the default [cody]
* Use existing credit_card helper in credit card tests [cody]
* Return the authrorization number of the original transaction in the SkipJack gateway [cody]
* Update format of line items given to the gateway. Cleanup and uncomment unit tests [cody]
* Add support for the SkipJack gateway [Bill Bereza, cody]
* Make the bogus gateway easier to test by moving messages into constants [cody]
* Add retry logic when connection has been refused for all gateways. Enable safe retries of all connection failures with the PayflowGateway, as it has a unique request header. [cody]
* Catch Timeout::Error when posting data [cody]
* Change order of loading ActionPack for tests since assert_success defined in ActionController::Assertions::DeprecatedAssertions inteferes with ActiveMerchant's definition [cody]
* Catch Errno::ETIMEDOUT and extend open and read timeouts to 60 seconds [cody]
* Add address2 to the billing address of Viaklix transactions [cody]
* Improve Psigate generic error message [cody]
* Fix small errors in Psigate documentation [cody]
* Add Response#fraud_review? query method to the response. Allows gateways to indicate that a payment is pending review by the fraud service [cody]
* Handle Errno::ECONNRESET when posting data [cody]
* Fix broken USA ePay URL [cody]
* Update RequiresParameters to support HashWithIndifferentAccess [cody]
* Add support for SecurePayTech payment gateway [Jasper Bryant-Greene]
* Detect when test credentials are being used with PayJunction [cody]
* Update documentation about TrustCommerce void [cody]
* Add void to TrustCommerce [jesse.c.scott]
* Add support for echecks to the BrainTree gateway [Jeremy Voorhis]
* Fix before_validate and validate methods in CreditCard [rick.denatale]
* Add support for Netbilling payment gateway [cody]
* Pass in N/A for unknown states when a country is present in PaypalGateway [cody]
* Strip non alpha chars from order_id in Payflow gateway, as Paymentech Tampa can't handle them [cody]
* Add support for the PaySecure payment gateway [cody]
* Add support for descriptions in Authorize.net credits [shiva.kaul]
* Great cleanup and improvement of CreditCard code, tests, and docs [James Herdman]

== Version 1.2.1

* Fix remote PayPal tests [cody]

== Version 1.2.0

* Update Linkpoint tests to remove useless pem file [cody]
* Use symbols for CreditCard error messages, since errors have indifferent access [cody]
* Improve CreditCard error messages [George Ogata]
* Change deny to assert_false, and deny_success to assert_failure.  Remove Gateway.gateway, as it is available from Base [cody]
* Improve documentation, and test coverage [James Herdman]
* Refactor MonerisGateway, improve test coverage and documentation [James Herdman]
* Add support for crediting to Moneris [James Herdman]
* Send state N/A in Payflow when the state is blank.  Fixes UK PayPal Express payments when not providing a state [cody]
* Load remote test credentials from a fixtures file.  ActiveMerchant will look for a custom file ~/.active_merchant/fixtures.yml.  If the file exists it will be loaded instead of the default fixtures provided by ActiveMerchant.  This makes development easier, and removes the risk of committing non-public test account credentials to subversion. [cody]
* Add support for password protected pem files [cody]
* Add support for Concord Efsnet payment gateway [snacktime]
* Fix dependency loading for gateways that are subclasses [cody]
* Add Braintree payment gateway [Michael J. Mangino]
* Add support for PayPal API signatures [Benjamin Curtis, cody]
* Add payment gateway Viaklix [Sal Scotto, cody]
* Add Australian payment gateway NetRegistry [George Ogata]
* Take order email from the options hash instead of the address for CyberSource [cody]
* Use an array for LineItems when calculating tax in CyberSource gateway [cody]
* Add CyberSource gateway [Matt Margolis]
* Sanitize Protx order id [cody]
* Fix support for electron in Protx [cody]
* Add support for Protx [shiftx, cody]
* Use undef_method with a single argument in SecurePay to prevent JRuby from choking on it. [jonathan.l.bartlett]
* Default address_override to 0 for PayPal Website Payments Standard payments. [cody]
* Enhance credit card error messages [manfred]
* Use HashWithIndifferentAccess for CreditCard for compatibility with Rails applications [michael.j.mangino]
* Fix nil exception when no response reason text is found in Authorize.net [cody]
* Add support for PayJunction [Matt Sanders] 
* Change billing_address to shipping_address in PayPal Integration helper, as billing_address was incorrect.  Addresses passed to billing_address for the PayPal helper will no longer be added to the form. This will break existing code, as the address will not be passed.
* Remove switch patterns from card detection that were eliminated on July 1, 2007 [cody]
* Format the issue number in Payflow requests to always be 2 digits [cody]
* Move application_id to Gateway and Helper class respectively [cody]
* Improve TrustCommerce documentation [cody]
* Add credit to Payflow [cody]
* Add support for the Plug 'N Pay gateway [ryan.norbauer, cody]
* Add support for ItemTotal, Shipping, Handling, and Tax amounts in the PayPal Express and PayPal gateways [baldwindavid, cody]
* Add page customization options to the PaypalExpress, and PayflowExpress gateways [ cpjolicoeur, cody]
* Add Verifi gateway [Paul Hepworth]
* Add a PayflowResponse object with a profile_id accessor method.  Return the correct authorization number on recurring actions [cody]
* Add support for an initial transaction with recurring payments [findchris, cody]
* Add support for email receipts to recurring Payflow Payments [Rick Olson]
* Ensure the ButtonSource isn't too long [cody]
* Add ButtonSource to Paypal and PaypalExpress gateways [cody]
* Rename application to application_id and place it on Base, so it can be set once and forgotten about [cody]
* Add ButtonSource field to PayflowExpress gateway [cody]
* Add a field for the bn to the PayPal helper [cody]
* Add remote secure pay test and correctly define test? [cody]
* Undefine unsupported methods from SecurePay [cody]
* Enhance the TransFirst error message for declined transactions [cody]
* Add initial support for TransFirst gateway [cody]
* Deprecate certification_id in Payflow gateways [cody]
* Work around required PayPal state fields for countries that don't require states [cody]
* Add metadata to SecurePay gateway [cody]
* Add initial support for the SecurePay gateway using the Authorize.net translator [cody]
* Add the homepage_url and display_name accessors to each gateway [cody]
* Remove Money dependency from main gateways. Cleanup tests.  Add supported_countries class accessor which returns an array of 2 digit iso country codes for which countries the gateway supports accounts in [cody]
* Add American Express card to Psigate [cody]
* Send N/A to PayPal in the PayPal Helper when we don't know the UK county [cody]
* Actually pass the amount of the capture through to Payflow [cody]
* Update ExactGateway test and test mode [cody]
* Remove unused method in PslCardGateway [cody]
* Add updated credit card tests [cody]
* Update and test PslCardGateway [cody]
* Add Laser card type [cody]
* Update Nochex documentation [cody]
* Sanitize the Realex order_id [cody] 
* Add support for Irish Realex payment gateway [John Ward, cody]
* Move credit_card helper method to the test_helper [cody]
* Update PayflowExpressResponse to match the interface of the PayflowExpressResponse.  Add :no_shipping and :address_override options to PayflowExpress [cody]
* Add a currency option to the Payflow and Paypal gateways [cody]
* PaypalExpress should use the shipping address, not the billing address [cody]
* Allow overriding the user with Payflow so that a vendor and user can be provided when making requests [cody]
* PayPal DirectPayment API requires a UK County to be sent as the state or province.  Return N/A as the state when one isn't provided to ensure that PayPal doesn't reject the payment [cody]
* Add ability to perform reference transactions with Payflow [Al Evans, cody]
* Enhance recurring Payflow tests and recurring_inquiry [Al Evans]
* Add recurring payments to Payflow [Rick Olson]
* Improve the error message generated by requires! [cody]
* Update credit card regular expressions and update Quickpay gateway with tests for new cards [cody]
* Add support for token based payments to PaymentExpress [Nik Wakelin]
* Refactor default_currency to the base gateway class [cody]
* Clean unsupported characters from the Quickpay ordernum [cody]
* Call the :sale and :authorization in QuickpayGateway [cody]
* Add Danish gateway Quickpay [cody]
* Remove redundant hash brackets from generator template [cody]
* Add additional options to the PayPal Website Payments Standard Helper [Rick Olson]
* Move generate_unique_id method to Gateway class so other gateways can also use it [cody]
* Allow notification name / value pairs to have a . in the name like checkout.x = 400 [cody]
* Fix PaypalExpressGateway#purchase to have the same method signature as other gateways [cody]
* Cargo cult off the rails unique id generator instead of UUID library [cody]
* Add uuid-1.0.3 for generating random request UUIDs [cody]
* Remove mock_methods and http mock from the library [cody]
* PaypalExpress cannot setup a payment for 0 dollars.  If the amount is zero then setup a payment for $1. [cody]
* Small changes to PslCard gateway [cody]
* Fix Money dependency with PslCard gateway [cody]
* Add PslCard payment gateway [MoneySpyder http://moneyspyder.co.uk]
* Scrub the card number, expiry, and CVV code from the response [cody]
* Use test? query for checking test mode [cody]
* Add support for the E-xact Payment Gateway [James Edward Gray II, cody]
* Fix partially broken method of dealing with phone numbers in the PayPal Helper [cody]
* Update remote tests for PaymentExpress [cody]
* Add Content-Type header to PaymentExpress post [cody]
* Use DECLINED as the message for declined transactions in the PaymentExpress remote tests [cody]
* Add JCB as a supported card type for the PaymentExpressGateway [cody]
* Rename DpsGateway to PaymentExpressGateway [cody]
* Add DPS Payment Express gateway (NZ) [dgjones, cody]
* Remove duplicate and incorrect expdate method from Authorize.net [cody]
* Allow authorization and purchase using a billing_id retrieved from TrustCommerce citadel [jesse.c.scott]
* Don't return a frozen string from CreditCard.type? [cody]
* Update remote Psigate test to ensure using a verification value doesn't break anything [cody]
* Update remote Moneris test to ensure using a verification value doesn't break anything [cody]
* Fix Solo issue number with CardStream gateway and improve test coverage [cody]
* Add CardStream gateway [Jonah Fox, Thomas Nichols, cody]
* Verify Peer in PayPal notifications and add account method [cody]

== Version 1.1.0

* Add unique_id option to PayPal mass payments [Haig]
* Fix expiry date in USA ePay [cody]
* Fix PayPal Payments Pro UK with Switch & Solo cards [cody]
* Add reauthorization to PaypalGateway and PaypalExpressGateway [dorrenchen]
* Update DataCash tests and format merchant reference number to meet DataCash's requirements [MoneySpyder, cody]
* Add Datacash gateway [MoneySpyder, cody]
* VERIFY_PEER on all SSL requests [cody]
* Add support for 2Checkout [cody] 

== Version 1.0.3

* Add support for PayPal mass payments to the PaypalGateway and the PaypalExpressGateway [Brandon Keepers]
* Add a credit method to Authorize.net [cody]

== Version 1.0.2

* Add support for OrderDescription, Payer, and InvoiceID fields in PaypalGateway [cody]

== Version 1.0.1

* Add support for crediting to PayPal [cody, Haig]

== Version 1.0.0

* Add discover to list of supported card types for Authorize.net
* Fix Psigate crediting [sean.alien8@gmail.com]
* Fix dependency loading of tests
* Add methods for storing credit cards to the Bogus gateway [Jim Kane]
* Fix bugs in expiration dates. [Jim Kane]
* Fixed bugs related to authorized.net [Rick Olson]
* Linkpoint is now a full featured backend for active merchant [Ryan Heneise]
* Added linkpoint support [Ryan Heneise]
* Added trust commerce gateway [Hans Friedrich]
* Removed shipping stuff until there is time to implement it properly
* The library now rejects money amounts which are not either cents as integer or a Money object
* Moneris now uses the same layout as the authorized.net plugin
* Added authorized.net
* Changed default to :test mode. Set to production with ActiveMerchant::Billing::Base.gateway_mode = :production
* More refactoring 
* Refactored a bit so that there is space for billing and shipping area. None of the shipping aids are fleshed out yet. Needs more work.
* Added Moneris support
* Credit card in memory object resembling a AR object
* Credit card validation methods as static methods of the credit card object

== PlanetArgon fork for integrating Merchant eSolutions gateway

