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

                  What's new in each version of Interchange
                       (since the version 5.8 branch)

          See UPGRADE document for a list of incompatible changes.

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


Interchange 5.8.2 released on 2014-07-07.

Core
----

* Fix some parsing issues with [PREFIX-next] and [PREFIX-last] which would on occasion cause looping tags to not be interpolated.

* Add MV_AUTOEND capability as a counterpart to MV_AUTOLOAD.

* Add [tv], [tn], and [ts] UserTags to support "true" temporary values which avoid the use of $Scratch space.

* Add support for [if tmp foo] to support values set by the [ts] or [tn] tags.

* Allow DirectoryIndex to find index page in root pages/ dir.

* Correct [log type=error|debug] final newline behavior.

* Password-protect the pages/dump.html page as it could be a security leak.

* Add UserTag parameter "Underride" to allow promotion of custom usertags to core IC without errors.

* Fix bug with item attributes potentially migrating to other items when using the back button.

* Bug fixes/improvements to custom CookieName handling.


UserDB
------

* Add Bcrypt encryption option for UserDB passwords.


Admin UI
--------

* Allow use of 'id' parameter with [table-editor] tag in hash-attribute form.

* Allow replacement of IC tabbed display with one from jqueryui.

* UI: allow mv_min_string parameter to work with flex_select.

* Fix interpolation issue with Menu Editor and [either].

* Fix broken state_class option on country widget.


Payment Modules
---------------

* SagePay - stop logging sensitive payment info.

* PayflowPro - send discounted item prices; don't send IP if admin order.


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


Interchange 5.8.1 released on 2014-03-12.

Core
----

* Improved Unicode support in core: improvements to [area] tag, email.tag

* Fixed a bug in session cookie parsing which could result in lost sessions.

* Add strip_path filter.

* Improvements in UserTag Alias handling of embedded hyphens

* Added new full-page caching features

* Fixed one-off [item-increment] bug when passing fm (jump) parameter to a search.

* [weight] UserTag now supports "adder" options.

* Re-connect session variables when doing an su.

* Fix XSS in error tag display of failed submissions


Payments
--------

* Fixes for a change in behavior with  Authorize.net's handling of AUTH and CAPTURE transaction types.

* Fixes to PayPal alternate address handling.

* Allow Union Pay cards to skip luhn-10

* Update Cardsave payment module to 0.9.8.


Standard Demo
-------------

* Updated checkout to recognise Internet Explorer 10

* Optimized lookup of order items for ship notice.


External Tools
--------------

* Added script to migrate sessions from Storable to DBI.

* Use su directive in Debian's logrotate file to avoid skipping due to permissions issues.


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


Interchange 5.8.0 released on 2013-07-19.


Core
----

* Increase SEO value of more links.

* Allow passing params to error tag, which are replaced (same functionality as [warnings]). Useful for localization.

* Add support for multiple lib paths from ENV.

* Use Vend::Safe instead of vanilla Safe in UI::Primitive.

* Embed Safe 2.07 into Vend::Safe to avoid various problems with recent versions of Safe.

* Add enclair_db option to UserDB.pm. Allows logging of enclair password to separate, presumably
  insert-only, database table. Designed to allow administration personnel to look at passwords,
  without allowing access to web-connected systems. Or perhaps more properly, to check prior
  MD5-encrypted password values for repeat passwords.

* Add new DBI sub, foreign_hash().

* Increase size of socket read for much better performance

* Extend PREFIX-include to work in hash-based loops

* New "rawsort" attribute, fixed sort attribute whitespace problem.

* Fix rare error with DowncaseVarname handling of GET/POST parameter names

* Added ID attribute to "pseudo" state dropdown so both actual state value and display can be updated via jquery

* Fix MV_SESSION_ID when using IPv6

* Add new database configuration attribute PREQUERY.

* Add optional cache exprire variable as pointed out here: http://www.icdevgroup.org/pipermail/interchange-users/2003-June/033985.html

* Enforce integer weights when writing to ups_cache database

* Have taxable_amount() check for item-level discounts too

* Encode UI error message to eliminate XSS

* Fix bug in parse_dir_array

* Teach read_cookie() to return all cookie when an empty cookie name is provided

* Add utility function cookies_hash to return all current cookies as a hashref

* Allow extra_fields to set and retrieve scratch values.

* Allow setting of 'HttpOnly' on cookies, using Pragma.

* Relax regular expression for UTF8 locale used in [convert-date] tag.

* Encode contents of html attribute properly if email body is empty.

* Ensure that we use a UTF8 locale for strftime in [convert-date] tag. Otherwise it causes a crash
  with "Malformed UTF-8 character".

* New UserDB option for read-only attribute

* Add simple tag to generate user-friendly passwords

* Set MV_PASSWORD cookie to be secure if set from a secure page

* Fix logging messages for Jobs so ErrorDestination can redirect them

* Suppress error message in [assign] when using the documented behaviour of passing an empty string.

* Caching-related fixes for captcha refresh.

* Allow to override item tax calculation with tax value in $Items as tax rates may vary between items.

* Force scalar context for is_yes and is_no

* Replace broken check for Encode in [email] tag by looking at MINIVEND_DISABLE_UTF8 environment variable.

* Use proper content type for HTML only emails.

* Add link-target attribute to [menu] tag.

* Add tree-master attribute to [menu] tag.

* Fix cart title in standard's cart_display component.

* Fix displayed price on stock_alert_added page.

* Fix bug where hash keys are not properly escaped in uneval.

* Allow gift certificates to be counted correctly as one item by [nitems] tag.

Payment
-------

* Add HSBC payment module.

* Update Payflow payment module.

* Add Cardsave payment module.

* Pass through AllowNote parameter to PayPal.

* Fix handling of extra_query_params in Business::OnlinePayment wrapper.

* Fallback to credentials without sandbox_ prefix and fail properly if credentials are incomplete.

* Update to PaypalExpress 1.1.0, requires Date::Calc now.

* Update Worldpay payment module to version 1.0.2.

* Update credit card type detection.

Standard Demo
-------------

* Improved localization support for standard's receipt and order pages.

* Apply fixes and updates to German translation for standard store.

* Show test order link on standard's front page only if MV_DEMO_MODE is set.

* Enable UTF-8 in standard catalog.

* Add optional default for customer's country to standard's catalog.cfg.

* Remove PriceDivide from standard's locale database.

* Add DEFAULT_PAYMENT_MODE variable to standard's variable database.

Admin UI
--------

* Fix undeclared variables in meta editor admin page.

* Fix hardcoded path to order counter file in standard's log_transaction.

External tool support
---------------------

* Added jEdit support for [PREFIX-calc] blocks, now syntax highlights contents as perl code.

(end)
