Implemented new restriction parameters provided by the VirtueMart core to our native payment plugins PayPal, Amazon Pay, Sofort, Authorize.net, eWay, heidelPay, Klarna, Skrill, 2checkout and Realex The latter also received a general update and has been renamed to 'globalpayments' because it  was acquired by Global Payments Inc. some time ago.. There is a slight change in the handling of pending orders. The new procedure is described here: https://docs.virtuemart.net/manual/general-concepts/215-checkout-process.html

New Features

  • Added disabling of inherited related products and related categories
  • Customfields for shoppergroups
  • External media: Create thumbnails on the fly directly from remote server. Added extra permission for uploading remote media

enhanced or changed behaviour

  • Removed automatically selected ‘replace’ when selecting a media for upload
  • Removed keeping of customfield search filters when switching categories
  • Reconsidered the function deleteOldPendingOrder. The sql now always considers the time. New behaviour described here:
    https://docs.virtuemart.net/manual/general-concepts/215-checkout-process.html
  • Added message of missing/not writeable folder to the checkPath function
  • The customer_notified function now works only for the emails of the customer, the vendor email is always sent according to the orderstatus

Bugs

  • Fixed missing array key in getPayment
  • Fixed missing renderShipmentDropdown in shipment view
  • Taxes per bill were accidently not added to the shipment tax calculation
  • fixed overwrite prices in Paypal Express. Invalid token set the cart paymentmethod always to 0, even when paypal was not selected
  • Fixed creation of extra plugin tables of plugins textinput and specification
  • The vmplugin onStoreInstallPluginTable had replaced a $name against $this->name
  • Fixed breadcrumb for menu item pointing to productdetails. When menu item name and productname is the same, the productname is not written twice.
  • Added missing getDbo in state model (thx GJC)
  • Invoice view: Fixed foreach loop for the shipment address
  • Fixed a new (old) bug in order editing for the case discount before VAT

Completed

  • Added missing language
  • Updated vmprices.js so that it works also for quantity buttons in the cart (thank you Abhhishek)
  • Added country Montenegro
  • Safepath config model, added JPath clean before storing of the Path, added more check cases for wrong paths
  • Prices replaced init and step against data-init and data-step (the JS has a fallback)
  • Customer_notified works now only for the emails of the customer, the vendor email is always sent according to the orderstatus

Of Interest for developers

  • Important fix in cart helper function checkAutomaticSelectedPlug, the automaticSelected.type variable is now only set to true, if there is only one method.
  • Plugins using the core restriction remove automatically the xml vars with the same name. So we can easily write backward compatible payment/shipment plugins. Please read here http://docs.virtuemart.net/tutorials/development/240-important-adjustments-for-virtuemart-3-6.html
  • In the vmdefines function defines, changed default from site to 0, if 0 is used the appId is taken from joomla
  • Added resetting of categoryRecursed in router and category model before calling getCategoryRecurse removed unsed code
  • For the weight_countries shipment plugin, address type just by STsameAsBT only
  • For function getVendorCurrency added a fallback for empty vendorId and a vmTrace to find the problem http://forum.virtuemart.net/index.php?topic=141856.msg506893#msg506893
  • Added function getSafePathFor, which gives and if applicable creates a path for a certain topic. Old function checkSafePath now creates automatically the invoice path