------------------------------------------------------------------------------ What's new in each version of Interchange (in development since the version 5.6 branch) ------------------------------------------------------------------------------ See UPGRADE document for a list of incompatible changes. Interchange 5.7.5 released on 2010-02-23. Core ---- * Fix bug when calling some versions of Sys::Syslog. * Multiple Debian fixes and translation updates. * SEO-friendlier ActionMaps supported; hyphens are turned resolved into underscores. Tags ---- * Make the [forum] tag default to NoReparse. Payment ------- * Upgraded Vend::Payment::PaypalExpress to v1.0.7 from http://kiwi.zolotek.net. * Fix for yet another variation in the way that Paypal handle Canadian province names. So we have 'British Columbia', 'BC', and now 'B.C.' formats. * Allow use of the [assign] tag in shipping. * Allow 'use_billing_override' to send billing addresses. * Display Long rather than Short PayPal error message to customers. Last three changes contributed by Josh Lavin. * Added CyberSource SOAP toolkit payment module. Includes payment modules for: * Standard credit card * Bill Me Later * Paypal Express Checkout * Electronic check * Corrected Vend::Payment::BusinessOnlinePayment handling/passing of supplemental parameters. ------------------------------------------------------------------------------ Interchange 5.7.4 released 2009-12-09. Core ---- * Make the default session 'spider' variable reflect $Vend::Robot status, which more accurately says whether the request was made by (what Interchange considers) a spider, not just any old temporary session. * Force raw encoding for file uploads (RT #268). * Overhaul syslog support and offer much faster Sys::Syslog mechanism. * Move parsing of CGI input to Vend::Dispatch::open_cat (#268). * Fix bug related to [tag pragma name value] semantics being different than [pragma name value]. * Increased performance when using mv_max_matches with searches: * Make mv_max_matches stop all further searching once the limit is hit, rather than loading the entire result set into memory and then truncating it. * Add pragma max_matches, which takes precedence over user-supplied mv_max_matches unless the user-supplied argument is more restrictive. * Provide a default implementation of mime_name for compatibility with older versions of Encode.pm. * Recognize LWP::UserAgent as a robot. SystemTag --------- * Avoid encoding binary data in [deliver]. Debian packaging ---------------- * Eliminated commands with absolute paths in maintainer scripts. * Added Spanish translation of Debconf templates. Admin UI -------- * Multiple cleanups and minor performance enhancements. ------------------------------------------------------------------------------ Interchange 5.7.3 released 2009-11-05. Core ---- * Fix empty charset= lines when no $Vend::StatusLine was previously set. * Allow POST with Content-type of application/json. * Remove empty mv_arg from more-list links. * Cleanup some POD documentation. * Fix crash with TolerateGet and upload forms (#325). * Show discount error message that was missing. Fixed by Jeff Boes. * Die on errors in global configuration of crontab. * Stop display of invalid user-provided session ID. Should not be XSS exploitable, since displayed in text/plain context, but don't show anyway in case any browser does improper content-type handling. * Avoid XSS exploit in CGI input error. Reported by Justin Otten. * Add BounceRobotSessionURL directive to 301 redirect robots which provide an explicit mv_session_id to the canonical page URL without the explicit mv_session_id. This prevents search engine urls from being indexed with an explicit session_id. Tags ---- * Remove reference to deprecated Spreadsheet::WriteExcel::Big module in backup-database tag. * Allow passing of "id" to the [display] tag. It will be output in the form element and a label element will be created to match, if appropriate. Example 1: [display id=category options=| =--select--, 1=Junior High School, 2=High School, 3=College, 4=Graduate School, | value="[evalue category]" type=select name=category] Output (bring your own