Difference between revisions of "Changelog:WHMCS V5.2"

From WHMCS Documentation

m (Version 5.2.17)
 
(55 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Version 5.2.1==
+
[[Changelogs|« Back to Changelogs]]
 +
<noinclude>
 +
=Version 5.2.17=
  
*Release Type: '''STABLE'''
+
*Release Type: SECURITY RELEASE
 +
*Release Date: 25th March 2014
 +
 
 +
==Security==
 +
 
 +
Case #3982 - Details to be released at a later date
 +
<br />Case #4057 - Details to be released at a later date
 +
<br />Case #4161 - Details to be released at a later date
 +
<br />Case #4172 - Details to be released at a later date
 +
<br />Case #4175 - Details to be released at a later date
 +
<br />Case #4180 - Details to be released at a later date
 +
<br />Case #4186 - Details to be released at a later date
 +
<br />Case #4187 - Details to be released at a later date
 +
<br />Case #4194 - Details to be released at a later date
 +
<br />Case #4202 - Details to be released at a later date
 +
<br />Case #4256 - Details to be released at a later date
 +
<br />Case #4311 - Details to be released at a later date
 +
 
 +
==Bug Fixes==
 +
 
 +
Case #2622 - Use localized date format for domain renewal reminders
 +
<br />Case #3375 - Improved Redundancy for License Verification
 +
<br />Case #3977 - Allows promo code recurring cycles to be edited after checkbox is ticked
 +
<br />Case #3333 - Delete custom field entries for a product when the order is deleted
 +
<br />Case #4113 - Add extended TLD attributes for new .UK TLD
 +
 
 +
=Version 5.2.16=
 +
 
 +
*Release Type: SECURITY RELEASE
 +
*Release Date: 21st January 2014
 +
 
 +
==Maintenance==
 +
 
 +
Case #2557 - 2Checkout Gateway: Update to currency variable
 +
<br />Case #2623 - Fix calculations of promotions when more than 50% off
 +
<br />Case #2739 - Add TLD Specific Fields required for .CN domain registrations
 +
<br />Case #2874 - Authorize.net Echeck: Fix capture function behaving incorrectly
 +
<br />Case #3019 - Refine internal criteria for bulk domain lookup
 +
<br />Case #3030 - Resolve SQL error in Income by Product Report
 +
<br />Case #3086 - Nominet Registrar: Update to Contact Registration Logic for Individuals
 +
<br />Case #3116 - Required Custom Fields not validating correctly when using API
 +
<br />Case #3360 - Resolved issue where one time promotions could be treated as recurring
 +
<br />Case #3360 - Disable Recur For input box when Recurring is disabled
 +
<br />Case #3361 - Fix time limited recurring promotions calculating incorrectly
 +
<br />Case #3388 - Fix Invalid Token Error when applying credit in Original and Portal Client Templates
 +
<br />Case #3414 - Payflow Pro: Update to store PayFlow Reference in PayFlow Mode
 +
<br />Case #3617 - Do not CC password reset emails to sub-accounts
 +
<br />Case #3740 - ProtX VSP Form: Pass correct callback values to debug log
 +
<br />Case #3801 - Resolved PDF Quotes missing clients name/address
 +
<br />Case #3802 - Make a quantity of zero remove item from the cart
 +
<br />Case #3809 - Regular Expression Custom Field Validation failing on single quotes
 +
<br />Case #3811 - Resolve Invalid Token error when deleting recurring calendar entry
 +
<br />Case #3814 - Improvements to IPv6 detection and validation logic
 +
<br />Case #3862 - NameCheap Registrar: Fix incorrect function name call
 +
<br />Case #3864 - Authorize.net Echeck: Fix storage of bank account details
 +
<br />Case #3893 - Enom SSL Module: Fix Province is Required Error Message
 +
 
 +
==Security==
 +
 
 +
Case #3637 - Improve Access Controls in Project Management Addon
 +
<br />Case #3782 - Improve Access Controls in Tickets
 +
<br />Case #3783 - Improve Access Controls in Invoices
 +
<br />Case #3784 - Resolve Admin Area SQL Injection Vulnerability
 +
<br />Case #3839 - Resolve Potential XSS Vulnerability
 +
<br />Case #3841 - Resolve Potential XSS Vulnerability
 +
<br />Case #3842 - Resolve Potential XSS Vulnerability
 +
<br />Case #3843 - Resolve Potential XSS Vulnerability
 +
<br />Case #3846 - Improve Access Controls in Tickets
 +
<br />Case #3922 - PayPal Express Checkout Improve Validation
 +
<br />Case #3931 - Potential header injection via whois lookups
 +
<br />Case #3932 - Improve sanitization for whois query
 +
 
 +
=Version 5.2.15=
 +
 
 +
*Release Type: SECURITY RELEASE
 +
*Release Date: 23rd December 2013
 +
 
 +
==Security==
 +
 
 +
Case #3785 - SQL Injection via Admin Credit Routines
 +
 
 +
==Bug Fixes==
 +
 
 +
Case #3706 - Some graphs failing after recent Google Graph API Update
 +
<br />Case #3711 - CSV Export content should not contain HTML entities
 +
<br />Case #3726 - PDF Line Items failing to output some specific characters
 +
<br />Case #3727 - Admin password reset process failing to send new password email
 +
<br />Case #3738 - Sub-account password field's default text must be removed on focus/click events
 +
 
 +
=Version 5.2.14=
 +
 
 +
*Release Type: MAINTENANCE RELEASE
 +
*Release Date: 27th November 2013
 +
 
 +
==Bug Fixes==
 +
 
 +
Case #2555 - 5.3 Backport: Select all checkboxes not working in manage orders & invoices
 +
<br />Case #2941 - 5.3 Backport: Company ID Number being ignored via Nominet
 +
<br />Case #3075 - 5.3 Backport: Update to ECB Exchange Rates Data Feed URL
 +
<br />Case #3482 - Currency type must be calculated prior to feed aggregation
 +
<br />Case #3662 - Improved the emptying of template cache
 +
<br />Case #3663 - Client area additional currency selection not working
 +
<br />Case #3664 - Alingment correction for intelli-search in V4 admin theme
 +
<br />Case #3665 - Improved HTML quoting to handle all character sets in admin logs
 +
<br />Case #3666 - Added required token to Block Sender Action in Admin Ticket View
 +
<br />Case #3670 - Update to WHOIS Lookup Links to use form submission for lookups
 +
<br />Case #3671 - Admin New Ticket Insert Predefined Reply lacking required token
 +
<br />Case #3672 - Add Predefined Product link in Quotes leads to invalid token error
 +
<br />Case #3674 - Updated plain-text email generation to strip entity encoding
 +
<br />Case #3676 - Remove debug die statement from Admin Ticket Merge via Options Tab
 +
<br />Case #3677 - Fix PDF batch export for more than one user
 +
<br />Case #3678 - Project Management: Should redirect back to project after attaching file
 +
<br />Case #3680 - Required Token added to Open New Ticket Client Search function
 +
<br />Case #3685 - PayPal Callback failing under certain conditions
 +
<br />Case #3686 - Redirect with User ID when deleting email from client profile
 +
<br />Case #3687 - cPanel and WHM Import Tool filter buttons failing
 +
<br />Case #3688 - Remove reliance on the escapeshellcmd() function
 +
<br />Case #3696 - Resolved Import Override from Admin Ticket Mail Import Log
 +
<br />Case #3697 - Email message sender shows quotes encoded
 +
<br />Case #3698 - Emails sent to Admin have erroneous entity characters for some fields
 +
<br />Case #3690 - Ensure all values are free of entities in PDFs
 +
 
 +
=Version 5.2.13=
 +
 
 +
 
 +
*Release Type: TARGETED RELEASE
 +
*Release Date: 21th November 2013
 +
 
 +
==General==
 +
 
 +
Case #2989 - Downgrade orders failing when no payment due
 +
<br/>Case #3325 - Credit card processing fails with weekly retries enabled
 +
<br/>Case #3467 - API GetClientsAddons fails on certain conditions
 +
<br/>Case #3471 - Unable to download ticket attachments from first ticket message
 +
<br/>Case #3515 - Add tilde to valid character list of redirect path
 +
<br/>Case #3528 - Updated Smarty to latest 2.6.28 release
 +
<br/>Case #3545 - Project Management settings redirect on save fails
 +
<br/>Case #3482 - Improve default currency logic
 +
<br/>Case #3641 - Allow MaxMind Service Type selection
 +
 
 +
==Security==
 +
 
 +
Case #3447 -- Redacted --
 +
<br/>Case #3441 -- Redacted --
 +
<br/>Case #3459 -- Redacted --
 +
<br/>Case #3476 -- Redacted --
 +
<br/>Case #3478 -- Redacted --
 +
<br/>Case #3489 -- Redacted --
 +
<br/>Case #3492 - Remove dependency on unserialize() for admin table sorting
 +
<br/>Case #3495 -- Redacted --
 +
<br/>Case #3530 -- Redacted --
 +
<br/>Case #3554 -- Redacted --
 +
<br/>Case #3580 -- Redacted --
 +
<br/>Case #3581 -- Redacted --
 +
<br/>Case #3584 -- Redacted --
 +
<br/>Case #3585 -- Redacted --
 +
<br/>Case #3587 -- Redacted --
 +
<br/>Case #3589 -- Redacted --
 +
<br/>Case #3603 -- Redacted --
 +
<br/>Case #3605 -- Redacted --
 +
<br/>Case #3606 -- Redacted --
 +
 
 +
=Version 5.2.12=
 +
 
 +
 
 +
*Release Type: SECURITY PATCH
 +
*Release Date: 25th October 2013
 +
 
 +
==General==
 +
 
 +
Case #3444 - Improved validation of monetary amounts
 +
<br />Case #3313 - Moneris Vault Gateway compatibility update
 +
<br />Case #3323 - Credit cards not processing under certain conditions
 +
<br />Case #3138 - Correction to internal logic for testing Authorize.net payment gateway
 +
 
 +
==Security==
 +
 
 +
<br />Case #3464 - Information disclosure via the client area as published by 'localhost'
 +
<br />Case #3510 - HTTP Split Attack discovered by the WHMCS Development Team
 +
<br />Case #2633 - SQL Injection Vulnerability discovered by the WHMCS Development Team
 +
<br />Case #3281 - Privilege boundaries not being enforced on addons reported by Vlad C of NetSec Interactive
 +
<br />Case #3453 -Download directory traversal reported privately by an individual
 +
<br />Case #3268 - Lack of input validation in data feeds input discovered by the WHMCS Development Team
 +
<br />Case #3462 - Deficient Null Byte sanitization on input discovered by the WHMCS Development Team
 +
 
 +
=Version 5.2.10=
 +
 
 +
*Release Type: SECURITY PATCH
 +
*Release Date: 20th October 2013
 +
 
 +
==General==
 +
 
 +
<br />Case #3433 - Mass mail client filter for default language not working
 +
<br />Case #2566 - Resolved admin clients list displaying duplicates in certain conditions
 +
 
 +
==Security==
 +
 
 +
<br />Case #3246 - Enforce privilege bounds for ticket actions
 +
<br />Case #3426 - Additional CSRF Protection Added to Product Configuration
 +
<br />Case #3232 - Added additional input validation to SQL numeric manipulation routines
 +
<br /> Case #3437 - Prevent user input from manipulating IP Ban logic
 +
 
 +
=Version 5.2.9=
 +
 
 +
*Release Type: SECURITY PATCH
 +
*Release Date: 18th October 2013
 +
 
 +
==Security==
 +
 
 +
Case #2978 - Fix for improper logging of admin login IP
 +
<br />Case #3100 - Remove exposure of SQL from user interface
 +
<br />Case #3364 - Additional validation on user IP
 +
<br />Case #3425 - Potential SQL Injection Fix
 +
<br />Case #3428 - Added password verification requirement to admin user management operations
 +
<br />Case #3430 - Potential SQL Injection Fix
 +
 
 +
=Version 5.2.8=
 +
 
 +
*Release Type: SECURITY PATCH
 +
*Release Date: 3rd October 2013
 +
 
 +
==Security==
 +
 
 +
Case #3353 - Add sanitization for pre-formatted  AES_Encrypt in queries
 +
 
 +
=Version 5.2.7=
 +
*Release Type: '''MAINTENANCE RELEASE'''
 +
*Release Date: '''26th July 2013'''
 +
 
 +
==Bug Fixes==
 +
 
 +
Case #2950 - Invalid token on Mass Mailer steps
 +
<br />Case #2951 - Fix for PayPal callback returning HTTP 406 error on no amount
 +
<br />Case #2953 - Duplicate admin log entries upon login
 +
<br />Case #2954 - Repair link for Admin Clients Services Add New Addon
 +
<br />Case #2955 - Invalid Entity Requestd for Support Page/Module
 +
<br />Case #2956 - Revert SQL changes introduced by build 5.2.6.3
 +
<br />Case #2963 - Additional Domain Fields not saving input
 +
<br />Case #2965 - Correct SQL statement for Ticket Escalations Cron routine
 +
<br />Case #2960 - Improve installer logic
 +
<br />Case #2969 - Do not encode 3rd-party TCPDF
 +
<br />Case #2970 - Do not encode 3rd-party PHP Mailer
 +
<br />Case #2971 - Do not encode 3rd-party Google QR code library
 +
<br />Case #2974 - Fix for invoices with a zero total not being auto set to paid on automated generation
 +
<br />Case #2975 - Fix for Calendar Entry Type Checkboxes not retaining selection
 +
<br />Case #2977 - Calendar Entries Missing Addon Name for Predefined Addons
 +
 
 +
=Version 5.2.6=
 +
*Release Type: '''TARGETED RELEASE'''
 +
*Release Date: '''23rd July 2013'''
 +
 
 +
===Security===
 +
Case #2755 - Internal Security Audit & Code Refactor
 +
 
 +
=Version 5.2.5=
 +
*Release Type: '''SECURITY PATCH'''
 +
*Release Date: '''16th May 2013'''
 +
 
 +
===Security===
 +
Case #2633 - Correct security enhancement regression
 +
 
 +
=Version 5.2.4=
 +
*Release Type: '''RELEASE'''
 +
*Release Date: '''23rd April 2013'''
 +
 
 +
===General===
 +
 
 +
Case #2139 - Updates to cron report email format to make it easier to read
 +
<br />Case #2045 - Added Affiliates Overview Report
 +
<br />Case #2053 - Added amount filter option to admin orders list
 +
<br />Case #2134 - Update to Transactions CSV Export to show Currency Code rather than Currency ID
 +
<br />Case #2045 - Domain Sync Cron Updated to not keep re-attempting to connect to the same registrar if a connection error occurs
 +
<br />Case #2045 - Update to Yubico module to remove hard-coded WHMCS references
 +
<br />Case #2115 - Fix for hard-coded text Manage and Disable in Client Area Domain Details Template File
 +
<br />Case #1880 - Update to Client Area Module Change Password in Default Template to return to password tab on submit
 +
<br />Case #1567 - Update to invoice generation process to not invoice billable items on new orders
 +
<br />Case #2127 - Added Support to Force Two-Factor Auth for Clients
 +
<br />Case #1852 - Fixed Missing Language Vars in Two-Factor Activation Process
 +
<br />Case #2058 - Within Last Month filter on transactions list updated to maintain between pages
 +
<br />Case #2020 - Language update to credit log to remove manual adjustment reference
 +
<br />Case #2057 - Admin manual attempt CC captures process updated to display processing results
 +
<br />Case #2064 - Update to continuous invoice generation logic to not invoice pending items on a recurring basis
 +
<br />Case #1950 - Update to admin Remember Me cookie name to resolve issues some are experiencing with remember me not working
 +
<br />Case #2123 - Added 30 minute time expiry to login failures IP logging
 +
<br />Case #2122 - Added support for wildcards in whitelisted IPs
 +
<br />Case #2118 - Update to Ticket Close routine to check ticket is not closed already before performing actions
 +
<br />Case #2117 - Update to logic of Ticket Notification Emails to only send to the assigned admin for a flagged ticket
 +
<br />Case #2045 - Update to admin ticket interface to not show replying message to own admin
 +
<br />Case #2045 - Updated clients summary view orders link to use new clientid variable
 +
<br />Case #2113 - Added access restriction to files that generate an error when visited directly
 +
<br />Case #2045 - Updates to Client Side Arabic, Farsi and Norweigan language files
 +
<br />Case #2045 - Update for jquery dialog to use new admin js variable
 +
<br />Case #2110 - Admin Area Homepage widget adjustments to optimise load times
 +
<br />Case #2063 - Updated Admin Credit Card Info Window to not allow viewing/input when credit card storage is disabled
 +
<br />Case #2109 - Updated Disable Credit Card Storage Security Setting to auto remove all existing card data
 +
<br />Case #2108 - Changed admin post login redirect variable to avoid possible confusion with client area redirect urls
 +
<br />Case #2107 - Update to auto focus cursor to first input box in login/two-factor verification and setup/disable two-factor processes
 +
<br />Case #2067 - Updated Default template to use a template include to remove code duplication
 +
<br />Case #1961 - Update to domain validation rules when IDN domains are enabled to perform stricter checks
 +
<br />Case #2098 - Cron update to allow cancellation requests to process for free products (those with no next due date)
 +
<br />Case #2039 - Updated module change password input field names in Classic & Portal templates + added backwards compatibility
 +
<br />Case #2047 - Update to ticket flagging logic to not send email notification when assigning a ticket to yourself
 +
<br />Case #2045 - Updated clients, orders, tickets & invoices filter lists to maintain filters on mass actions
 +
<br />Case #2044 - Update to support ticket department deletion routine to remove custom fields & their values
 +
<br />Case #2045 - Updated Admin Support Ticket Flagged Email Notification Template to link directly to the flagged ticket
 +
<br />Case #2016 - Added client name field to all data export reports
 +
<br />Case #2045 - Update to export reports to display friendly payment method name
 +
<br />Case #2018 - Added Registration Date field to Domains Data Export Report + Capitalised first letter of Registrar
 +
<br />Case #2007 - Cleaned up client area product details HTML output
 +
<br />Case #2045 - Added refresh protection to the client area affiliates withdrawal request
 +
<br />Case #2019 - Update to surpress Support Ticket Flagged notification for those admins it's not enabled for
 +
 
 +
===Module Updates===
 +
 
 +
Case #2104 - Skrill Gateway: Re-branded MoneyBookers module to Skrill
 +
<br />Case #2036 - TPPWholesale Registrar: Fixes + Added support for registrar lock, private ns registration & epp code requests
 +
<br />Case #2045 - WebNIC Registrar: Updates to resolve problem with transfers & contact editing
 +
<br />Case #2045 - Plesk 10: Update to allow API packet version overriding
 +
<br />Case #2138 - CentovaCast: Update from them themselves for CentovaCast V3.x
 +
<br />Case #2137 - Project Management: Bug fix for staff log report always displaying a whole year rather than selected date range
 +
<br />Case #1941 - Project Management: Fix for status being empty for newly created projects
 +
<br />Case #2136 - Project Management: Update to replace .live discontinued jQuery functionality
 +
<br />Case #2135 - IPMirror Registrar: Version 2.1 Module Update from them themselves
 +
<br />Case #2032 - 2CheckOut: Update to language detection to work with new lowercase names
 +
<br />Case #2022 - DirectAdmin: Update to disk/bw usage stats importing to handle URL encoding being applied in DirectAdmins latest update
 +
<br />Case #2045 - PayPal Payments Pro Reference Payments: Implemented 3D Secure Functionality
 +
<br />Case #2015 - Enom: Added new extension field requirements for .es, .au, .sg, .pro & .it
 +
<br />Case #2015 - Enom: Updated to prevent WHOIS contacts being edited when disallowed by registry rules
 +
<br />Case #2015 - Enom: Updated TransferSync function to use more call effective method of retrieving transfer info
 +
<br />Case #2006 - WHOIS Server Additions: .rs, .co.rs, .org.rs, .edu.rs, .in.rs, .ae, .pw
 +
 
 +
===Bug Fixes===
 +
 
 +
Case #2141 - Fix for JavaScript Error Occurring in Product Domain Config Step of Modern & Slider Order Forms
 +
<br />Case #2140 - Correction to language variable for Bundle Items in Bundle Product Configuration
 +
<br />Case #2045 - Fix for domain renewals page in cart not listing all renewal term options
 +
<br />Case #2089 - Fix for Project Management Activity Log Pagination not working
 +
<br />Case #2133 - Fix for admin page field alignment when custom fields share same name as default fields
 +
<br />Case #1955 - Fix for javascript error in Original admin view ticket template
 +
<br />Case #2132 - Fix for Admin Initiated Currency Update displaying update results
 +
<br />Case #1930 - Fix for KB Category display articles shifting up to beside to sub-categories
 +
<br />Case #2131 - Fix for Vertical Steps Order Form Template Complete Step missing formatting
 +
<br />Case #2023 - API AddTicketReply command ignoring passed in adminusername variable
 +
<br />Case #2045 - Banned Emails Config Page always displaying an empty table
 +
<br />Case #2000 - Fix for one time fixed amount promo codes giving a zero discount on invoice under certain conditions
 +
<br />Case #2059 - Client area cancellation request cancel domain option non-functional
 +
<br />Case #2045 - Cookie unset not applying WHMCS prefix to cookie name
 +
<br />Case #2004 - Fix for client area support ticket list returning no results under certain conditions
 +
<br />Case #2070 - Fix for contact sub-account activation client side for existing contacts
 +
<br />Case #2009 - Fix for Mass Domain Enable Auto-Renew leaving auto-renew disabled & WHOIS Contact Info returning error
 +
<br />Case #2116 - Fix for CVV Number not being passed into 3D Secure process on new card entry
 +
<br />Case #2112 - Fix for contact ID setting being lost on admin ticket options save
 +
<br />Case #2024 - Fix for $invoice_html_contents email merge field displaying double line breaks in item descriptions
 +
<br />Case #2092 - Fix for product group order form template override not taking effect for all cases
 +
<br />Case #1972 - Anniversary Prorata not working correctly under certain conditions
 +
<br />Case #2061 - Admin notification emails being sent to disabled administrator users
 +
<br />Case #2031 - Cron notification email not listing service ID used in terminations list due to incorrect var
 +
<br />Case #2038 - Fix for payment gateway ordering in new invoice view
 +
<br />Case #2072 - Credit card remote token storage being called before new name/address info was saved
 +
<br />Case #2068 - Fix for predefined product price not being loaded correctly in quotes
 +
<br />Case #2068 - Update to states dropdown javascript to support tab index value being defined
 +
<br />Case #2010 - Fix for Client Area Two-Factor Backup Code Login Input Field Restriction
 +
<br />Case #2066 - Update to Default Client Area Products listing to not show dropdown menu if no menu items available
 +
<br />Case #2021 - MyIDEAL gateway module referencing incorrect path
 +
<br />Case #2005 - Product bundle display order not being honoured
 +
<br />Case #1289 - Added addon status change hook function calls to UpdateClientAddon API function
 +
<br />Case #2099 - Fix for link type custom fields saving values in an HTML link format
 +
<br />Case #2045 - Suspension Reason was not always being cleared on unsuspend
 +
<br />Case #2045 - Client stats for number of refunded/collections invoices were incorrect
 +
<br />Case #2027 - Fix for API GetClientsDetails function causing iPhone/Android App Failure
 +
<br />Case #2025 - Fix for invoice not displaying tax names under certain conditions
 +
<br />Case #2026 - Client area not displaying login incorrect message when login form submitted blank
 +
<br />Case #2046 - Update to prevent Support Ticket Flagged admin notification email sending upon unflagging
 +
<br />Case #2045 - Custom module action success language variable named incorrectly
 +
 
 +
=Version 5.2.3=
 +
*Release Type: '''RELEASE'''
 +
*Release Date: '''28th March 2013'''
 +
 
 +
===Bug Fixes===
 +
 
 +
Case #1999 - Added the ability to disable two-factor auth for a client from the admin profile page
 +
<br />Case #1980 - Fix for DirectAdmin Module having fatal error in certain conditions
 +
<br />Case #1997 - SagePay Tokens: Update to fix incorrect CVV number parameter name and to force skip 3D Secure on recurring transaction captures
 +
<br />Case #1980 - Project Management Addon: Update to handle no due date better and display message instead of long time days overdue
 +
<br />Case #1980 - Boleto Gateway: Update to ensure bank value is one of the supported options
 +
<br />Case #1913 - Update to custom fields validation logic in Validate class to only enforce rules on non admin only fields
 +
<br />Case #1980 - Correction to language used in Send Message & Email Marketer re clients who have opted out of marketing emails
 +
<br />Case #1980 - Added tag search option to admin area advanced search
 +
<br />Case #1988 - Update to admin invoice view to make invoice payment methods clearer with notices re no transactions, full paid by credit and/or partially paid by credit
 +
<br />Case #1839 - Update to WHOIS Servers for new response formats
 +
<br />Case #1923 - Fix for Two-Factor Auth failing to enable within the client area
 +
<br />Case #1914 - Fix in Income by Product Report for negative value on discounts
 +
<br />Case #1980 - Clients chosen language was not being loaded for addon modules client area output
 +
<br />Case #1980 - Update to Licensing Addon to auto clean up orphaned mod_licensing records where product table entry is deleted and to optimise licensing log via daily cron
 +
<br />Case #1980 - Update to Ticket Escalations page to make auto reply box bigger by default
 +
<br />Case #1978 - Update to client email sendMessage() function to override default X-Mailer PHPMailer value with company name
 +
<br />Case #1919 - Fix for client area WHOIS edit always erroring out re empty details if not using a contact + fix for child nameservers management missing variables
 +
<br />Case #1995 - Fix for date filters in Client Statement not working due to new toMySQLDate() formatting and filter not including end date
 +
<br />Case #1993 - Fix for PDF Invoices showing raw HTML in notes with multiple lines and adding double line spacing to line items
 +
<br />Case #1816 - Update to addon suspensions via cron to adhere to the parent products override suspension settings also
 +
<br />Case #1794 - Updated Auto-Termination via cron to apply to Addon Products also
 +
<br />Case #1693 - Update to Support Ticket email sending routine to use client area language setting if a guest
 +
<br />Case #1680 - Update to omit Recurring Amount line from Order Confirmation Email for One-Time products
 +
<br />Case #1620 - Custom Invoice Number not being set by EU VAT Addon Hook before invoice payment confirmation is sent if invoice is auto paid by credit
 +
<br />Case #1987 - Fix for invoice data amountpaid variable not being formatted as currency
 +
<br />Case #1939 - Fix for addon item calendar links linking to old file and with incorrect parameters
 +
<br />Case #1920 - Fix for adding calendar event mangling date/time
 +
<br />Case #1921 - Fix for Time Based Tokens displaying WHMCS company name to clients
 +
<br />Case #1903 - Fix to prevent systpl or carttpl template override parameters validating when empty
 +
<br />Case #1796 - TransIP Registrar: Major update to module for improved reliability and functionality
 +
<br />Case #1802 - VentraIP Registrar: Update to only perform remote callout to their API if module is activated
 +
<br />Case #1980 - Fix for warning error being generated by domain $params not being passed into domain modules AdminCustomButtonArray function
 +
<br />Case #1817 - Added TPP Wholesale Domain Registrar Module which replaces DistributeIT, PlanetDomain & TPPInternet
 +
<br />Case #1968 - Implemented all new methodology for admin services page ajax module commands to resolve issues with certain areas of the page not updating following actions
 +
<br />Case #1916 - Update to client summary mass update logic to only run SQL queries if there is at least one update to perform
 +
<br />Case #1980 - Fix for Admin Area On Demand Invoice Generation no longer displaying number of invoices generated
 +
<br />Case #1870 - Added trim to custom ticket statuses to avoid erroneous spaces at the beginning or end of a status
 +
<br />Case #1757 - GoCardless Gateway: Update to replace a linked button which doesn't work in IE with a standard form
 +
<br />Case #1980 - Update to logic of hidden configurable options to ensure they only show up within the admin area
 +
<br />Case #1994 - Fixed bug where modules containing underscores in their names would not be loaded
 +
<br />Case #1942 - RRPProxy Registrar Module: Updated to handle curl connection errors better
 +
<br />Case #1931 - Correction to charset encoding of Arabic language file + additional translations
 +
<br />Case #1974 - Fix for Client Two-Factor Auth Login Processing
 +
<br />Case #1992 - Integrated Enom New TLDs Addon Module as a bundled addon
 +
<br />Case #1980 - Update to admin side quotes creation page to only load line items if ID is set to prevent new quotes ever showing orphaned line item records
 +
<br />Case #1911 -  Fixed LocalAPI validation warning errors occurring in AddClient request
 +
<br />Case #1944 - Fix for fatal error occurring due to missing function in API GetAdminDetails function
 +
<br />Case #1983 - Fix for check all box not working on support tickets list when a user has assigned tickets
 +
<br />Case #1952 - Reverted change to .de whois server which was causing lookups to fail
 +
<br />Case #1982 -  Fix for ajax ticket flag/assign not sending ticket flagged notification email
 +
<br />Case #1967 - Updated the admin ticket list to remember and return to previous filters after replying to a ticket
 +
<br />Case #1909 - Fix for client area applying credit to invoice failing
 +
<br />Case #1991 - Fix for auto recalculate on save using old packageid and promoid values and therefore not re-calculating price correctly
 +
<br />Case #1989 - Fix for registrar lock not enabling due to missing input name in the Default template
 +
<br />Case #1956 - Update to MyIdeal payment gateway certificate file
 +
<br />Case #1980 - Update to 3D Secure template file iframe to increase default width for newer wider 3D Secure processes
 +
<br />Case #1986 - Fix for Client Profile checkbox settings change logging not working correctly and added No Changes notice when form submitted without any changes
 +
<br />Case #1989 - Switched positioning of Add Response and Insert Predefined Replies/KB Article buttons in new admin View Ticket interface in Blend and V4 themes
 +
<br />Case #1980 - Added quick Close and Assign to Me links to new Blend and V4 Admin Theme View Ticket Pages + removed extra div causing extended blank space in V4 version
 +
<br />Case #1980 - Updated administrator roles admin page to show disabled users as greyed out
 +
<br />Case #1980 - Fixed bug where in use admin roles were being allowed to be deleted
 +
<br />Case #1980 - Fixed assigned departments listing for disabled administrators
 +
<br />Case #1953 - Update to billable items edit/save logic to work for decimal quantities of less than 1 and zero
 +
<br />Case #1958 - Correction to last reply field label in ticket feedback template in both classic and portal templates
 +
<br />Case #1984 - Update to license expiry date formatting in admin area
 +
<br />Case #1840 - Removed duplicate client area contact navigation client area language file variable
 +
<br />Case #1845 - Replaced hardcoded text in admin support tickets list and Blend admin homepage template
 +
<br />Case #1980 - Update to support tickets admin assignment/flag list to only show active admins (plus the one a ticket is actually flagged to if not active)
 +
<br />Case #1977 - Update to MoneyBookers Gateway Module
 +
<br />Case #1976 - Update to client details change notification email to fix missing client name and admin area profile link
 +
<br />Case #1965 - Fix for department names and emails not being loaded in Tickets Management
 +
<br />Case #1962 #1963 - Added disk and bandwidth percent usage return values to getDiskUsageStats function
 +
<br />Case #1938 - Bulk Domain Transfer in Default client area template displaying registration pricing and periods not even enabled for transfers
 +
<br />Case #1883 - Update to Ticket Closure routine to only send Feedback Request Email if feedback not already provided for a ticket
 +
<br />Case #1461 - Added userid variable to AdminAreaClientSummaryPage hook point
 +
<br />Case #1904 - API AddClientNote Command inverting sticky attribute
 +
<br />Case #1940 - Userid not being populated when admin clients domains page linked to with only an id
 +
<br />Case #1943 - Fix for admin client profile page always selecting English in client language dropdown when none set due to validateLanguage validation function
 +
<br />Case #1910 - Fix for product/service modules _ClientArea function not passing returned vars to template correctly
 +
<br />Case #1928 - Fix for Ticket Tags not saving initial delete change
 +
<br />Case #1954 - Updated payment gateway descriptions to use invoice number if set rather than invoice id
 +
<br />Case #1934 - Updated Email Prompt in Expired & No Connection License Error Messages + Some Minor Text Adjustments/Improvements
 +
<br />Case #1935 - Fix for Service Class not passing vars into buildParams function correctly
 +
<br />Case #1937 - Gateway ID not being passed into token gateway modules storeremote delete function when clearing card
 +
<br />Case #1948 & #1945 - Captcha input not being shown on client area homepage when enabled + update to naming language in default template
 +
<br />Case #1932 - Fix for client status update setting not being saved in Automation Settings
 +
<br />Case #1933 - Update to Affiliate Signup Button Code in Classic & Portal Templates
 +
<br />Case #1936 - Update to make admin side transaction list filter use a like match on description field
 +
<br />Case #1935 - Fix for client area change password function not passing new password into modules because module params already loaded prior
 +
<br />Case #1905 - Fix for client area product upgrade process fatal error on checkout step order confirmation
 +
<br />Case #1929 - Default language select option was being duplicated in mass mail
 +
<br />Case #1925 - Fix for product name email template var empty in New Cancellation Request admin notification & type not being sanitized prior to email
 +
<br />Case #1907 - Fixed missing include in API UpdateTicket function causing ticket closure to fail
 +
<br />Case #1900 - Project Management Addon Editing Task Times formatting error leading to empty value
 +
<br />Case #1899 - Fix for cron not adhering to Exchange Rates & Product Pricing Update Automation Config Settings
 +
<br />Case #1902 - Fix for currency update failing
 +
<br />Case #1901 - Fix for override auto suspend setting being ignored in cron
 +
<br />Case #1908 - Fix for cancellation request reason being overwritten by type, and type always being set to End of Billing Period
 +
 
 +
=Version 5.2.2=
 +
*Release Type: '''RELEASE'''
 +
*Release Date: '''14th March 2013'''
 +
 
 +
===Bug Fixes===
 +
 
 +
Case #1896 - Domain registrar modules reporting function not found erroneously
 +
<br />Case #1855 - Added CSRF Token Management User Configurable Settings to General Settings > Security
 +
<br />Case #1855 - Updated Domain Checker to default to no token check
 +
<br />Case #1895 - Updates to allow for Smarty Backwards Compatability in Third Party Pages & Addons
 +
<br />Case #1890 - Fix for total balance always showing as zero
 +
<br>Case #1865 - Reverted upgrade process changes temporarily to resolve upgrade process debug output & errors
 +
<br>Case #1857  - Update client area chage of default payment method not passed into ClientEdit hook
 +
<br>Case #1861 - Update shopping cart header redirect to CC Processing page logout due to lack of token
 +
<br>Case #1893 - Update JS Class for Yubico Key Setup Process
 +
<br>Case #1868 - Quotes PDF File missing notes
 +
<br>Case #1881 - Email Registrar module displaying Function not Found on admin side due to missing GetNameservers function
 +
<br>Case #1891 - Admin side domain management function calls refactored to include $params array
 +
<br>Case #1869 - Fix Client area module template output failing when custom template is utilized
 +
<br>Case #1853 - Client area ticket search causing logout due to token check failure
 +
<br>Case #1873 - Correct SQL query to use selected server for server revenue forecast report
 +
<br>Case #1887 - Admin profile language not being stored during logout
 +
<br>Case #1871 - Update Domain Sync functions for license handling
 +
<br>Case #1876 - Invoice payment link variable not populated in invoice related email templates
 +
<br>Case #1888 - Implement new dbconnect.php file to maintain backwards compatibility with files that rely on it.
 +
<br>Case #1886 - Added handling of pattern matching for custom fields
 +
<br>Case #1882 - Product Group Re-Ordering due to SQL order keyword not escaped
 +
<br>Case #1874 - Remove second duplicate invoice button from admin invoice list
 +
<br>Case #1848 - Update to captcha variable name
 +
<br>Case #1886 - Revert smart class customizations to not error out blank page upon syntax errors
 +
<br>Case #1884 - Credit Card details cannot be cleared form the admin area
 +
<br>Case #1885 - Client Area Credit Card process attempting to validate custom fields
 +
<br>Case #1850 - Password reset failing due to email not passing to templates
 +
<br>Case #1879 - Update client area module change function not updating displayed password until page reload
 +
<br>Case #1878 - Update client area module change password function calls
 +
<br>Case #1877 - Return from registrar modules not being handled correctly when not an array
 +
<br>Case #1875 - Fix for failing domain management actions due to incorrect function call params
 +
<br>Case #1822 - Two Factor SQL Fields updates
 +
<br>Case #1856 - Fix Domain checker attempting to validate captcha input even when not enforced
 +
<br>Case #1864 - Fix PHP Fatal Error occurring when registrar module saving name server returns an error admin side
 +
<br>Case #1863 - Fix admin side filtering order list by date
 +
<br>Case #1862 - Update auto-recalc reoccurring amount and logging calculation
 +
<br>Case #1862 - Correct servers losing ID in array_merge causing selected server to be lost on Admin Client Profile
 +
<br>Case #1849 - Fix for API Allowed IPs being cleared when settings are saved
 +
<br>Case #1860 - Update PHPMailer class to address bug with email validation logic
 +
<br>Case #1822 - 5.2.0 SQL update skipped when updating from 5.1.4
 +
 
 +
===Module Updates===
 +
 
 +
Case #1858 - [ Live Chat ] - Update license checking mechanism
 +
<br>Case #1859 - [ Live Chat ] - Updated Client Side Hook file to be compatible with 5.2.x
 +
<br>Case #1889 - [ ResellerClub ] - Update module to return friendly error when API is missing
 +
 
 +
=Version 5.2.1=
 +
 
 +
*Release Type: '''RELEASE'''
 
*Release Date: '''12th March 2013'''
 
*Release Date: '''12th March 2013'''
  
Line 72: Line 609:
 
===Module Updates===
 
===Module Updates===
  
Case #1755 - [ResellerClub] Added support for New API Key authentication method
+
Case #1755 - [ResellerClub] Implemented New API Key Auth Method for Improved Security
 
<br />Case #1822 - [ResellerCamp] Removed old ResellerCamp sync module file and replaced with domain sync cron functions
 
<br />Case #1822 - [ResellerCamp] Removed old ResellerCamp sync module file and replaced with domain sync cron functions
 
<br />Case #1822 - [Enkompass] Removed x3 theme from Enkompass login links
 
<br />Case #1822 - [Enkompass] Removed x3 theme from Enkompass login links
Line 126: Line 663:
  
  
==Version 5.2.0==
+
=Version 5.2.0=
  
 
*Release Type: '''BETA'''
 
*Release Type: '''BETA'''
Line 171: Line 708:
 
<br />Case #1651 – Added custom fields display to printable version of support tickets
 
<br />Case #1651 – Added custom fields display to printable version of support tickets
 
<br />Case #1649 – Add memory of ticket list filter selections between page loads
 
<br />Case #1649 – Add memory of ticket list filter selections between page loads
 +
<br />Case #1418 – Removed arbitrary credit balance edit field and added dedicated Remove Credit option
 
<br />Case #1599 – Added LicensingAddonReissue hook
 
<br />Case #1599 – Added LicensingAddonReissue hook
 
<br />Case #1345 – Ability to edit security questions
 
<br />Case #1345 – Ability to edit security questions
Line 382: Line 920:
 
<br />Case #1759 – [Security] Improve logic of carts
 
<br />Case #1759 – [Security] Improve logic of carts
 
<br />Case #1631 – [Security] Improve logic of widgets
 
<br />Case #1631 – [Security] Improve logic of widgets
 +
</noinclude>

Latest revision as of 15:07, 19 November 2014

« Back to Changelogs

Version 5.2.17

  • Release Type: SECURITY RELEASE
  • Release Date: 25th March 2014

Security

Case #3982 - Details to be released at a later date
Case #4057 - Details to be released at a later date
Case #4161 - Details to be released at a later date
Case #4172 - Details to be released at a later date
Case #4175 - Details to be released at a later date
Case #4180 - Details to be released at a later date
Case #4186 - Details to be released at a later date
Case #4187 - Details to be released at a later date
Case #4194 - Details to be released at a later date
Case #4202 - Details to be released at a later date
Case #4256 - Details to be released at a later date
Case #4311 - Details to be released at a later date

Bug Fixes

Case #2622 - Use localized date format for domain renewal reminders
Case #3375 - Improved Redundancy for License Verification
Case #3977 - Allows promo code recurring cycles to be edited after checkbox is ticked
Case #3333 - Delete custom field entries for a product when the order is deleted
Case #4113 - Add extended TLD attributes for new .UK TLD

Version 5.2.16

  • Release Type: SECURITY RELEASE
  • Release Date: 21st January 2014

Maintenance

Case #2557 - 2Checkout Gateway: Update to currency variable
Case #2623 - Fix calculations of promotions when more than 50% off
Case #2739 - Add TLD Specific Fields required for .CN domain registrations
Case #2874 - Authorize.net Echeck: Fix capture function behaving incorrectly
Case #3019 - Refine internal criteria for bulk domain lookup
Case #3030 - Resolve SQL error in Income by Product Report
Case #3086 - Nominet Registrar: Update to Contact Registration Logic for Individuals
Case #3116 - Required Custom Fields not validating correctly when using API
Case #3360 - Resolved issue where one time promotions could be treated as recurring
Case #3360 - Disable Recur For input box when Recurring is disabled
Case #3361 - Fix time limited recurring promotions calculating incorrectly
Case #3388 - Fix Invalid Token Error when applying credit in Original and Portal Client Templates
Case #3414 - Payflow Pro: Update to store PayFlow Reference in PayFlow Mode
Case #3617 - Do not CC password reset emails to sub-accounts
Case #3740 - ProtX VSP Form: Pass correct callback values to debug log
Case #3801 - Resolved PDF Quotes missing clients name/address
Case #3802 - Make a quantity of zero remove item from the cart
Case #3809 - Regular Expression Custom Field Validation failing on single quotes
Case #3811 - Resolve Invalid Token error when deleting recurring calendar entry
Case #3814 - Improvements to IPv6 detection and validation logic
Case #3862 - NameCheap Registrar: Fix incorrect function name call
Case #3864 - Authorize.net Echeck: Fix storage of bank account details
Case #3893 - Enom SSL Module: Fix Province is Required Error Message

Security

Case #3637 - Improve Access Controls in Project Management Addon
Case #3782 - Improve Access Controls in Tickets
Case #3783 - Improve Access Controls in Invoices
Case #3784 - Resolve Admin Area SQL Injection Vulnerability
Case #3839 - Resolve Potential XSS Vulnerability
Case #3841 - Resolve Potential XSS Vulnerability
Case #3842 - Resolve Potential XSS Vulnerability
Case #3843 - Resolve Potential XSS Vulnerability
Case #3846 - Improve Access Controls in Tickets
Case #3922 - PayPal Express Checkout Improve Validation
Case #3931 - Potential header injection via whois lookups
Case #3932 - Improve sanitization for whois query

Version 5.2.15

  • Release Type: SECURITY RELEASE
  • Release Date: 23rd December 2013

Security

Case #3785 - SQL Injection via Admin Credit Routines

Bug Fixes

Case #3706 - Some graphs failing after recent Google Graph API Update
Case #3711 - CSV Export content should not contain HTML entities
Case #3726 - PDF Line Items failing to output some specific characters
Case #3727 - Admin password reset process failing to send new password email
Case #3738 - Sub-account password field's default text must be removed on focus/click events

Version 5.2.14

  • Release Type: MAINTENANCE RELEASE
  • Release Date: 27th November 2013

Bug Fixes

Case #2555 - 5.3 Backport: Select all checkboxes not working in manage orders & invoices
Case #2941 - 5.3 Backport: Company ID Number being ignored via Nominet
Case #3075 - 5.3 Backport: Update to ECB Exchange Rates Data Feed URL
Case #3482 - Currency type must be calculated prior to feed aggregation
Case #3662 - Improved the emptying of template cache
Case #3663 - Client area additional currency selection not working
Case #3664 - Alingment correction for intelli-search in V4 admin theme
Case #3665 - Improved HTML quoting to handle all character sets in admin logs
Case #3666 - Added required token to Block Sender Action in Admin Ticket View
Case #3670 - Update to WHOIS Lookup Links to use form submission for lookups
Case #3671 - Admin New Ticket Insert Predefined Reply lacking required token
Case #3672 - Add Predefined Product link in Quotes leads to invalid token error
Case #3674 - Updated plain-text email generation to strip entity encoding
Case #3676 - Remove debug die statement from Admin Ticket Merge via Options Tab
Case #3677 - Fix PDF batch export for more than one user
Case #3678 - Project Management: Should redirect back to project after attaching file
Case #3680 - Required Token added to Open New Ticket Client Search function
Case #3685 - PayPal Callback failing under certain conditions
Case #3686 - Redirect with User ID when deleting email from client profile
Case #3687 - cPanel and WHM Import Tool filter buttons failing
Case #3688 - Remove reliance on the escapeshellcmd() function
Case #3696 - Resolved Import Override from Admin Ticket Mail Import Log
Case #3697 - Email message sender shows quotes encoded
Case #3698 - Emails sent to Admin have erroneous entity characters for some fields
Case #3690 - Ensure all values are free of entities in PDFs

Version 5.2.13

  • Release Type: TARGETED RELEASE
  • Release Date: 21th November 2013

General

Case #2989 - Downgrade orders failing when no payment due
Case #3325 - Credit card processing fails with weekly retries enabled
Case #3467 - API GetClientsAddons fails on certain conditions
Case #3471 - Unable to download ticket attachments from first ticket message
Case #3515 - Add tilde to valid character list of redirect path
Case #3528 - Updated Smarty to latest 2.6.28 release
Case #3545 - Project Management settings redirect on save fails
Case #3482 - Improve default currency logic
Case #3641 - Allow MaxMind Service Type selection

Security

Case #3447 -- Redacted --
Case #3441 -- Redacted --
Case #3459 -- Redacted --
Case #3476 -- Redacted --
Case #3478 -- Redacted --
Case #3489 -- Redacted --
Case #3492 - Remove dependency on unserialize() for admin table sorting
Case #3495 -- Redacted --
Case #3530 -- Redacted --
Case #3554 -- Redacted --
Case #3580 -- Redacted --
Case #3581 -- Redacted --
Case #3584 -- Redacted --
Case #3585 -- Redacted --
Case #3587 -- Redacted --
Case #3589 -- Redacted --
Case #3603 -- Redacted --
Case #3605 -- Redacted --
Case #3606 -- Redacted --

Version 5.2.12

  • Release Type: SECURITY PATCH
  • Release Date: 25th October 2013

General

Case #3444 - Improved validation of monetary amounts
Case #3313 - Moneris Vault Gateway compatibility update
Case #3323 - Credit cards not processing under certain conditions
Case #3138 - Correction to internal logic for testing Authorize.net payment gateway

Security


Case #3464 - Information disclosure via the client area as published by 'localhost'
Case #3510 - HTTP Split Attack discovered by the WHMCS Development Team
Case #2633 - SQL Injection Vulnerability discovered by the WHMCS Development Team
Case #3281 - Privilege boundaries not being enforced on addons reported by Vlad C of NetSec Interactive
Case #3453 -Download directory traversal reported privately by an individual
Case #3268 - Lack of input validation in data feeds input discovered by the WHMCS Development Team
Case #3462 - Deficient Null Byte sanitization on input discovered by the WHMCS Development Team

Version 5.2.10

  • Release Type: SECURITY PATCH
  • Release Date: 20th October 2013

General


Case #3433 - Mass mail client filter for default language not working
Case #2566 - Resolved admin clients list displaying duplicates in certain conditions

Security


Case #3246 - Enforce privilege bounds for ticket actions
Case #3426 - Additional CSRF Protection Added to Product Configuration
Case #3232 - Added additional input validation to SQL numeric manipulation routines
Case #3437 - Prevent user input from manipulating IP Ban logic

Version 5.2.9

  • Release Type: SECURITY PATCH
  • Release Date: 18th October 2013

Security

Case #2978 - Fix for improper logging of admin login IP
Case #3100 - Remove exposure of SQL from user interface
Case #3364 - Additional validation on user IP
Case #3425 - Potential SQL Injection Fix
Case #3428 - Added password verification requirement to admin user management operations
Case #3430 - Potential SQL Injection Fix

Version 5.2.8

  • Release Type: SECURITY PATCH
  • Release Date: 3rd October 2013

Security

Case #3353 - Add sanitization for pre-formatted AES_Encrypt in queries

Version 5.2.7

  • Release Type: MAINTENANCE RELEASE
  • Release Date: 26th July 2013

Bug Fixes

Case #2950 - Invalid token on Mass Mailer steps
Case #2951 - Fix for PayPal callback returning HTTP 406 error on no amount
Case #2953 - Duplicate admin log entries upon login
Case #2954 - Repair link for Admin Clients Services Add New Addon
Case #2955 - Invalid Entity Requestd for Support Page/Module
Case #2956 - Revert SQL changes introduced by build 5.2.6.3
Case #2963 - Additional Domain Fields not saving input
Case #2965 - Correct SQL statement for Ticket Escalations Cron routine
Case #2960 - Improve installer logic
Case #2969 - Do not encode 3rd-party TCPDF
Case #2970 - Do not encode 3rd-party PHP Mailer
Case #2971 - Do not encode 3rd-party Google QR code library
Case #2974 - Fix for invoices with a zero total not being auto set to paid on automated generation
Case #2975 - Fix for Calendar Entry Type Checkboxes not retaining selection
Case #2977 - Calendar Entries Missing Addon Name for Predefined Addons

Version 5.2.6

  • Release Type: TARGETED RELEASE
  • Release Date: 23rd July 2013

Security

Case #2755 - Internal Security Audit & Code Refactor

Version 5.2.5

  • Release Type: SECURITY PATCH
  • Release Date: 16th May 2013

Security

Case #2633 - Correct security enhancement regression

Version 5.2.4

  • Release Type: RELEASE
  • Release Date: 23rd April 2013

General

Case #2139 - Updates to cron report email format to make it easier to read
Case #2045 - Added Affiliates Overview Report
Case #2053 - Added amount filter option to admin orders list
Case #2134 - Update to Transactions CSV Export to show Currency Code rather than Currency ID
Case #2045 - Domain Sync Cron Updated to not keep re-attempting to connect to the same registrar if a connection error occurs
Case #2045 - Update to Yubico module to remove hard-coded WHMCS references
Case #2115 - Fix for hard-coded text Manage and Disable in Client Area Domain Details Template File
Case #1880 - Update to Client Area Module Change Password in Default Template to return to password tab on submit
Case #1567 - Update to invoice generation process to not invoice billable items on new orders
Case #2127 - Added Support to Force Two-Factor Auth for Clients
Case #1852 - Fixed Missing Language Vars in Two-Factor Activation Process
Case #2058 - Within Last Month filter on transactions list updated to maintain between pages
Case #2020 - Language update to credit log to remove manual adjustment reference
Case #2057 - Admin manual attempt CC captures process updated to display processing results
Case #2064 - Update to continuous invoice generation logic to not invoice pending items on a recurring basis
Case #1950 - Update to admin Remember Me cookie name to resolve issues some are experiencing with remember me not working
Case #2123 - Added 30 minute time expiry to login failures IP logging
Case #2122 - Added support for wildcards in whitelisted IPs
Case #2118 - Update to Ticket Close routine to check ticket is not closed already before performing actions
Case #2117 - Update to logic of Ticket Notification Emails to only send to the assigned admin for a flagged ticket
Case #2045 - Update to admin ticket interface to not show replying message to own admin
Case #2045 - Updated clients summary view orders link to use new clientid variable
Case #2113 - Added access restriction to files that generate an error when visited directly
Case #2045 - Updates to Client Side Arabic, Farsi and Norweigan language files
Case #2045 - Update for jquery dialog to use new admin js variable
Case #2110 - Admin Area Homepage widget adjustments to optimise load times
Case #2063 - Updated Admin Credit Card Info Window to not allow viewing/input when credit card storage is disabled
Case #2109 - Updated Disable Credit Card Storage Security Setting to auto remove all existing card data
Case #2108 - Changed admin post login redirect variable to avoid possible confusion with client area redirect urls
Case #2107 - Update to auto focus cursor to first input box in login/two-factor verification and setup/disable two-factor processes
Case #2067 - Updated Default template to use a template include to remove code duplication
Case #1961 - Update to domain validation rules when IDN domains are enabled to perform stricter checks
Case #2098 - Cron update to allow cancellation requests to process for free products (those with no next due date)
Case #2039 - Updated module change password input field names in Classic & Portal templates + added backwards compatibility
Case #2047 - Update to ticket flagging logic to not send email notification when assigning a ticket to yourself
Case #2045 - Updated clients, orders, tickets & invoices filter lists to maintain filters on mass actions
Case #2044 - Update to support ticket department deletion routine to remove custom fields & their values
Case #2045 - Updated Admin Support Ticket Flagged Email Notification Template to link directly to the flagged ticket
Case #2016 - Added client name field to all data export reports
Case #2045 - Update to export reports to display friendly payment method name
Case #2018 - Added Registration Date field to Domains Data Export Report + Capitalised first letter of Registrar
Case #2007 - Cleaned up client area product details HTML output
Case #2045 - Added refresh protection to the client area affiliates withdrawal request
Case #2019 - Update to surpress Support Ticket Flagged notification for those admins it's not enabled for

Module Updates

Case #2104 - Skrill Gateway: Re-branded MoneyBookers module to Skrill
Case #2036 - TPPWholesale Registrar: Fixes + Added support for registrar lock, private ns registration & epp code requests
Case #2045 - WebNIC Registrar: Updates to resolve problem with transfers & contact editing
Case #2045 - Plesk 10: Update to allow API packet version overriding
Case #2138 - CentovaCast: Update from them themselves for CentovaCast V3.x
Case #2137 - Project Management: Bug fix for staff log report always displaying a whole year rather than selected date range
Case #1941 - Project Management: Fix for status being empty for newly created projects
Case #2136 - Project Management: Update to replace .live discontinued jQuery functionality
Case #2135 - IPMirror Registrar: Version 2.1 Module Update from them themselves
Case #2032 - 2CheckOut: Update to language detection to work with new lowercase names
Case #2022 - DirectAdmin: Update to disk/bw usage stats importing to handle URL encoding being applied in DirectAdmins latest update
Case #2045 - PayPal Payments Pro Reference Payments: Implemented 3D Secure Functionality
Case #2015 - Enom: Added new extension field requirements for .es, .au, .sg, .pro & .it
Case #2015 - Enom: Updated to prevent WHOIS contacts being edited when disallowed by registry rules
Case #2015 - Enom: Updated TransferSync function to use more call effective method of retrieving transfer info
Case #2006 - WHOIS Server Additions: .rs, .co.rs, .org.rs, .edu.rs, .in.rs, .ae, .pw

Bug Fixes

Case #2141 - Fix for JavaScript Error Occurring in Product Domain Config Step of Modern & Slider Order Forms
Case #2140 - Correction to language variable for Bundle Items in Bundle Product Configuration
Case #2045 - Fix for domain renewals page in cart not listing all renewal term options
Case #2089 - Fix for Project Management Activity Log Pagination not working
Case #2133 - Fix for admin page field alignment when custom fields share same name as default fields
Case #1955 - Fix for javascript error in Original admin view ticket template
Case #2132 - Fix for Admin Initiated Currency Update displaying update results
Case #1930 - Fix for KB Category display articles shifting up to beside to sub-categories
Case #2131 - Fix for Vertical Steps Order Form Template Complete Step missing formatting
Case #2023 - API AddTicketReply command ignoring passed in adminusername variable
Case #2045 - Banned Emails Config Page always displaying an empty table
Case #2000 - Fix for one time fixed amount promo codes giving a zero discount on invoice under certain conditions
Case #2059 - Client area cancellation request cancel domain option non-functional
Case #2045 - Cookie unset not applying WHMCS prefix to cookie name
Case #2004 - Fix for client area support ticket list returning no results under certain conditions
Case #2070 - Fix for contact sub-account activation client side for existing contacts
Case #2009 - Fix for Mass Domain Enable Auto-Renew leaving auto-renew disabled & WHOIS Contact Info returning error
Case #2116 - Fix for CVV Number not being passed into 3D Secure process on new card entry
Case #2112 - Fix for contact ID setting being lost on admin ticket options save
Case #2024 - Fix for $invoice_html_contents email merge field displaying double line breaks in item descriptions
Case #2092 - Fix for product group order form template override not taking effect for all cases
Case #1972 - Anniversary Prorata not working correctly under certain conditions
Case #2061 - Admin notification emails being sent to disabled administrator users
Case #2031 - Cron notification email not listing service ID used in terminations list due to incorrect var
Case #2038 - Fix for payment gateway ordering in new invoice view
Case #2072 - Credit card remote token storage being called before new name/address info was saved
Case #2068 - Fix for predefined product price not being loaded correctly in quotes
Case #2068 - Update to states dropdown javascript to support tab index value being defined
Case #2010 - Fix for Client Area Two-Factor Backup Code Login Input Field Restriction
Case #2066 - Update to Default Client Area Products listing to not show dropdown menu if no menu items available
Case #2021 - MyIDEAL gateway module referencing incorrect path
Case #2005 - Product bundle display order not being honoured
Case #1289 - Added addon status change hook function calls to UpdateClientAddon API function
Case #2099 - Fix for link type custom fields saving values in an HTML link format
Case #2045 - Suspension Reason was not always being cleared on unsuspend
Case #2045 - Client stats for number of refunded/collections invoices were incorrect
Case #2027 - Fix for API GetClientsDetails function causing iPhone/Android App Failure
Case #2025 - Fix for invoice not displaying tax names under certain conditions
Case #2026 - Client area not displaying login incorrect message when login form submitted blank
Case #2046 - Update to prevent Support Ticket Flagged admin notification email sending upon unflagging
Case #2045 - Custom module action success language variable named incorrectly

Version 5.2.3

  • Release Type: RELEASE
  • Release Date: 28th March 2013

Bug Fixes

Case #1999 - Added the ability to disable two-factor auth for a client from the admin profile page
Case #1980 - Fix for DirectAdmin Module having fatal error in certain conditions
Case #1997 - SagePay Tokens: Update to fix incorrect CVV number parameter name and to force skip 3D Secure on recurring transaction captures
Case #1980 - Project Management Addon: Update to handle no due date better and display message instead of long time days overdue
Case #1980 - Boleto Gateway: Update to ensure bank value is one of the supported options
Case #1913 - Update to custom fields validation logic in Validate class to only enforce rules on non admin only fields
Case #1980 - Correction to language used in Send Message & Email Marketer re clients who have opted out of marketing emails
Case #1980 - Added tag search option to admin area advanced search
Case #1988 - Update to admin invoice view to make invoice payment methods clearer with notices re no transactions, full paid by credit and/or partially paid by credit
Case #1839 - Update to WHOIS Servers for new response formats
Case #1923 - Fix for Two-Factor Auth failing to enable within the client area
Case #1914 - Fix in Income by Product Report for negative value on discounts
Case #1980 - Clients chosen language was not being loaded for addon modules client area output
Case #1980 - Update to Licensing Addon to auto clean up orphaned mod_licensing records where product table entry is deleted and to optimise licensing log via daily cron
Case #1980 - Update to Ticket Escalations page to make auto reply box bigger by default
Case #1978 - Update to client email sendMessage() function to override default X-Mailer PHPMailer value with company name
Case #1919 - Fix for client area WHOIS edit always erroring out re empty details if not using a contact + fix for child nameservers management missing variables
Case #1995 - Fix for date filters in Client Statement not working due to new toMySQLDate() formatting and filter not including end date
Case #1993 - Fix for PDF Invoices showing raw HTML in notes with multiple lines and adding double line spacing to line items
Case #1816 - Update to addon suspensions via cron to adhere to the parent products override suspension settings also
Case #1794 - Updated Auto-Termination via cron to apply to Addon Products also
Case #1693 - Update to Support Ticket email sending routine to use client area language setting if a guest
Case #1680 - Update to omit Recurring Amount line from Order Confirmation Email for One-Time products
Case #1620 - Custom Invoice Number not being set by EU VAT Addon Hook before invoice payment confirmation is sent if invoice is auto paid by credit
Case #1987 - Fix for invoice data amountpaid variable not being formatted as currency
Case #1939 - Fix for addon item calendar links linking to old file and with incorrect parameters
Case #1920 - Fix for adding calendar event mangling date/time
Case #1921 - Fix for Time Based Tokens displaying WHMCS company name to clients
Case #1903 - Fix to prevent systpl or carttpl template override parameters validating when empty
Case #1796 - TransIP Registrar: Major update to module for improved reliability and functionality
Case #1802 - VentraIP Registrar: Update to only perform remote callout to their API if module is activated
Case #1980 - Fix for warning error being generated by domain $params not being passed into domain modules AdminCustomButtonArray function
Case #1817 - Added TPP Wholesale Domain Registrar Module which replaces DistributeIT, PlanetDomain & TPPInternet
Case #1968 - Implemented all new methodology for admin services page ajax module commands to resolve issues with certain areas of the page not updating following actions
Case #1916 - Update to client summary mass update logic to only run SQL queries if there is at least one update to perform
Case #1980 - Fix for Admin Area On Demand Invoice Generation no longer displaying number of invoices generated
Case #1870 - Added trim to custom ticket statuses to avoid erroneous spaces at the beginning or end of a status
Case #1757 - GoCardless Gateway: Update to replace a linked button which doesn't work in IE with a standard form
Case #1980 - Update to logic of hidden configurable options to ensure they only show up within the admin area
Case #1994 - Fixed bug where modules containing underscores in their names would not be loaded
Case #1942 - RRPProxy Registrar Module: Updated to handle curl connection errors better
Case #1931 - Correction to charset encoding of Arabic language file + additional translations
Case #1974 - Fix for Client Two-Factor Auth Login Processing
Case #1992 - Integrated Enom New TLDs Addon Module as a bundled addon
Case #1980 - Update to admin side quotes creation page to only load line items if ID is set to prevent new quotes ever showing orphaned line item records
Case #1911 - Fixed LocalAPI validation warning errors occurring in AddClient request
Case #1944 - Fix for fatal error occurring due to missing function in API GetAdminDetails function
Case #1983 - Fix for check all box not working on support tickets list when a user has assigned tickets
Case #1952 - Reverted change to .de whois server which was causing lookups to fail
Case #1982 - Fix for ajax ticket flag/assign not sending ticket flagged notification email
Case #1967 - Updated the admin ticket list to remember and return to previous filters after replying to a ticket
Case #1909 - Fix for client area applying credit to invoice failing
Case #1991 - Fix for auto recalculate on save using old packageid and promoid values and therefore not re-calculating price correctly
Case #1989 - Fix for registrar lock not enabling due to missing input name in the Default template
Case #1956 - Update to MyIdeal payment gateway certificate file
Case #1980 - Update to 3D Secure template file iframe to increase default width for newer wider 3D Secure processes
Case #1986 - Fix for Client Profile checkbox settings change logging not working correctly and added No Changes notice when form submitted without any changes
Case #1989 - Switched positioning of Add Response and Insert Predefined Replies/KB Article buttons in new admin View Ticket interface in Blend and V4 themes
Case #1980 - Added quick Close and Assign to Me links to new Blend and V4 Admin Theme View Ticket Pages + removed extra div causing extended blank space in V4 version
Case #1980 - Updated administrator roles admin page to show disabled users as greyed out
Case #1980 - Fixed bug where in use admin roles were being allowed to be deleted
Case #1980 - Fixed assigned departments listing for disabled administrators
Case #1953 - Update to billable items edit/save logic to work for decimal quantities of less than 1 and zero
Case #1958 - Correction to last reply field label in ticket feedback template in both classic and portal templates
Case #1984 - Update to license expiry date formatting in admin area
Case #1840 - Removed duplicate client area contact navigation client area language file variable
Case #1845 - Replaced hardcoded text in admin support tickets list and Blend admin homepage template
Case #1980 - Update to support tickets admin assignment/flag list to only show active admins (plus the one a ticket is actually flagged to if not active)
Case #1977 - Update to MoneyBookers Gateway Module
Case #1976 - Update to client details change notification email to fix missing client name and admin area profile link
Case #1965 - Fix for department names and emails not being loaded in Tickets Management
Case #1962 #1963 - Added disk and bandwidth percent usage return values to getDiskUsageStats function
Case #1938 - Bulk Domain Transfer in Default client area template displaying registration pricing and periods not even enabled for transfers
Case #1883 - Update to Ticket Closure routine to only send Feedback Request Email if feedback not already provided for a ticket
Case #1461 - Added userid variable to AdminAreaClientSummaryPage hook point
Case #1904 - API AddClientNote Command inverting sticky attribute
Case #1940 - Userid not being populated when admin clients domains page linked to with only an id
Case #1943 - Fix for admin client profile page always selecting English in client language dropdown when none set due to validateLanguage validation function
Case #1910 - Fix for product/service modules _ClientArea function not passing returned vars to template correctly
Case #1928 - Fix for Ticket Tags not saving initial delete change
Case #1954 - Updated payment gateway descriptions to use invoice number if set rather than invoice id
Case #1934 - Updated Email Prompt in Expired & No Connection License Error Messages + Some Minor Text Adjustments/Improvements
Case #1935 - Fix for Service Class not passing vars into buildParams function correctly
Case #1937 - Gateway ID not being passed into token gateway modules storeremote delete function when clearing card
Case #1948 & #1945 - Captcha input not being shown on client area homepage when enabled + update to naming language in default template
Case #1932 - Fix for client status update setting not being saved in Automation Settings
Case #1933 - Update to Affiliate Signup Button Code in Classic & Portal Templates
Case #1936 - Update to make admin side transaction list filter use a like match on description field
Case #1935 - Fix for client area change password function not passing new password into modules because module params already loaded prior
Case #1905 - Fix for client area product upgrade process fatal error on checkout step order confirmation
Case #1929 - Default language select option was being duplicated in mass mail
Case #1925 - Fix for product name email template var empty in New Cancellation Request admin notification & type not being sanitized prior to email
Case #1907 - Fixed missing include in API UpdateTicket function causing ticket closure to fail
Case #1900 - Project Management Addon Editing Task Times formatting error leading to empty value
Case #1899 - Fix for cron not adhering to Exchange Rates & Product Pricing Update Automation Config Settings
Case #1902 - Fix for currency update failing
Case #1901 - Fix for override auto suspend setting being ignored in cron
Case #1908 - Fix for cancellation request reason being overwritten by type, and type always being set to End of Billing Period

Version 5.2.2

  • Release Type: RELEASE
  • Release Date: 14th March 2013

Bug Fixes

Case #1896 - Domain registrar modules reporting function not found erroneously
Case #1855 - Added CSRF Token Management User Configurable Settings to General Settings > Security
Case #1855 - Updated Domain Checker to default to no token check
Case #1895 - Updates to allow for Smarty Backwards Compatability in Third Party Pages & Addons
Case #1890 - Fix for total balance always showing as zero
Case #1865 - Reverted upgrade process changes temporarily to resolve upgrade process debug output & errors
Case #1857 - Update client area chage of default payment method not passed into ClientEdit hook
Case #1861 - Update shopping cart header redirect to CC Processing page logout due to lack of token
Case #1893 - Update JS Class for Yubico Key Setup Process
Case #1868 - Quotes PDF File missing notes
Case #1881 - Email Registrar module displaying Function not Found on admin side due to missing GetNameservers function
Case #1891 - Admin side domain management function calls refactored to include $params array
Case #1869 - Fix Client area module template output failing when custom template is utilized
Case #1853 - Client area ticket search causing logout due to token check failure
Case #1873 - Correct SQL query to use selected server for server revenue forecast report
Case #1887 - Admin profile language not being stored during logout
Case #1871 - Update Domain Sync functions for license handling
Case #1876 - Invoice payment link variable not populated in invoice related email templates
Case #1888 - Implement new dbconnect.php file to maintain backwards compatibility with files that rely on it.
Case #1886 - Added handling of pattern matching for custom fields
Case #1882 - Product Group Re-Ordering due to SQL order keyword not escaped
Case #1874 - Remove second duplicate invoice button from admin invoice list
Case #1848 - Update to captcha variable name
Case #1886 - Revert smart class customizations to not error out blank page upon syntax errors
Case #1884 - Credit Card details cannot be cleared form the admin area
Case #1885 - Client Area Credit Card process attempting to validate custom fields
Case #1850 - Password reset failing due to email not passing to templates
Case #1879 - Update client area module change function not updating displayed password until page reload
Case #1878 - Update client area module change password function calls
Case #1877 - Return from registrar modules not being handled correctly when not an array
Case #1875 - Fix for failing domain management actions due to incorrect function call params
Case #1822 - Two Factor SQL Fields updates
Case #1856 - Fix Domain checker attempting to validate captcha input even when not enforced
Case #1864 - Fix PHP Fatal Error occurring when registrar module saving name server returns an error admin side
Case #1863 - Fix admin side filtering order list by date
Case #1862 - Update auto-recalc reoccurring amount and logging calculation
Case #1862 - Correct servers losing ID in array_merge causing selected server to be lost on Admin Client Profile
Case #1849 - Fix for API Allowed IPs being cleared when settings are saved
Case #1860 - Update PHPMailer class to address bug with email validation logic
Case #1822 - 5.2.0 SQL update skipped when updating from 5.1.4

Module Updates

Case #1858 - [ Live Chat ] - Update license checking mechanism
Case #1859 - [ Live Chat ] - Updated Client Side Hook file to be compatible with 5.2.x
Case #1889 - [ ResellerClub ] - Update module to return friendly error when API is missing

Version 5.2.1

  • Release Type: RELEASE
  • Release Date: 12th March 2013

New Features

Case #1772 - Update to log date & ip with ticket feedback submissions
Case #1772 - Added New Reports: Ticket Feedback Scores & Ticket Feedback Comments
Case #1418 - Added New Client Sources Report (aka How Did You Find Us)
Case #1779 - Updated VAT Number validation hook to use the SOAP service provided at VIES directly
Case #1746 - Re-factored invoice display logic
Case #1768 - Update to support ticket bounce email to add global header/footer email wrapper
Case #1768 - Added graceful exit handling to admin side clients domains page when no domains found for user
Case #1788 - Updated invoice totals to show as total+credit in all invoice lists both client & admin side
Case #1418 - Updated order details view to show exact invoice payment status and disable Cancel & Refund option once refunded
Case #1662 - Licensing mechanism updates to add further license server redundancy supportlicense server redundancy support
Case #1768 - Update to clients services page to immediately change status dropdown value (both main status and license status when licensing module in use) upon success result from new ajax module commands
Case #1795 - Update to conditionally include payment modules in cart for integrated checkout
Case #1255 - Implemented Two-Factor Authentication Logic & Support to Admin Login Process
Case #1418 - Updated transactions & gateway log query logic & added default date range filters to speed up initial page load on larger installations
Case #1586 - Fixed ticket tagging JS code double calls on load and incorrect saving on update with class update and function call changes
Case #1586 - Optimised admin support ticket page loads by separating JavaScript code into separate JS file
Case #1418 - Updated old wiki/docs link in all locations and added new comment format to open sample files
Case #1586 - Implemented Tag Cloud to admin ticket list & created ticket tag report/chart
Case #1803 - Redesigned admin reports interface to display reports in groups, removed legacy CSV export options, converted transactions and pdf export methods into report modules, and updated admin templates to display most used reports in reports menu dropdown
Case #1804 - Implemented line graph to Daily Performance Report
Case #1255 - Added Staff Management & Two Factor Authentication management links
Case #1803 - Fix for reports dropdown menu list in original and v4 templates
Case #1768 - Reverted TCPDF Class to previous version due to memory leak issue in latest update
Case #1586 - Implemented support for ticket tags with auto-complete suggestions
Case #1586 - Optimised & improved admin side handling of JavaScript code
Case #1586 - Optimised blend template loading by moving common JS into separate file
Case #1811 - Began re-factoring of client area
Case #1798 - Ported new admin view ticket styling from Blend template into V4 template
Case #1797 - Added checkbox to allow for splitting replies to Blend & V4 admin templates
Case #1815 - [API] Added Windows 8 App Addon Licensing Status return to GetAdminDetails API Function for use in upcoming Windows 8 App
Case #1818 - Refactored Session Handling product wide and updated to apply HTTPOnly attribute
Case #1819 - Refactored cookie handling and updated to apply HTTPOnly attribute by default for all cookies + updated affiliate & link cookies
Case #1822 - Added gridlines and minorgridlines count options support to graph class and updated head output for new admin interface array method
Case #1822 - Added protection against sending of blank emails to customers when email processing fails
Case #1824 - Added an option to enable showing client only departments to non logged in users visiting the ticket submission department selection page
Case #1822 - Various minor improvements and fixes to new code
Case #1825 - Updated get user ip function to use X-Forwarded-For value from apache request headers if available - primarily for our server setup
Case #1827 - Update to language of both ResellerClub and Enom modules account signup promo
Case #1811 - Created New Client Area & Service Classes & Re-factored frontend client side code
Case #1681 - Updated shopping cart to use localised status name in domain renewals
Case #1409 - Added extra conditional link parameters for affiliates and domain reg options and updated all client area templates to show/hide affiliate and domain reg menu options based on conditional status
Case #1761 - Updated domain breadcrumb links to include link back to domains details
Case #1823 - Moved admin homepage optimize image tag call from after closing HTML tag to bottom of the page body using AdminAreaFooterOutput hook point
Case #1751 - Updated ticket submission page in all client area templates to display a no departments found error msg when no support departments are configured
Case #1822 - Added check to 2FA time based tokens module to ensure GD image library is available before attempting to display QR image
Case #1830 - Updated Request Support page to provide additional help links and to provide customised message to reseller customers
Case #1822 - Removed sidebar workaround for Blend template in admin internal browser page since Blend template now has a sidebar
Case #1832 - Refactored cron process to make it possible to not only skip certain actions, but also to request only specific actions are performed
Case #1832 - Added CLI Output & Debugging flag options to make troubleshooting cron issues easier
Case #1822 - Added the ability to link to the internal browser page with a link pre-selected (?link=x)
Case #1806 - Update to WebsitePanel module to use hostname instead of IP for control panel links when hostname is specified
Case #1768 - Update to automatically grant access permissions to new functionality to default admin role groups as appropriate
Case #1768 - Added missing ticket notifications language file variable and additional variable for when no support departments exist
Case #1768 - Added the ability to specify a different department and/or priority for split ticket & updated to hide split tickets button when no replies available to split
Case #1822 - Added label tags to many more of the admin interface config fields/settings
Case #1649 - Added new escalation rules text to language file and previously missing priorities
Case #1822 - Added dedicated isLoggedIn function for checking for active client login
Case #1822 - Update to admin ticket departments config page to prevent refresh resubmits and to remove empty space displaying for admins with only a first name specified
Case #1822 - Updated in product links to use our go.whmcs.com link tracking for MaxMind, Enom, ResellerClub, Licensing & Project Management modules
Case #1822 - Added Premium badge to paid addon modules and improved/streamlined license enforcing/purchase/refreshing process
Case #1768 - Update for contact permissions error not working on pages using the new client area class
Case #1822 - Added new permissions for viewing/managing credits


Module Updates

Case #1755 - [ResellerClub] Implemented New API Key Auth Method for Improved Security
Case #1822 - [ResellerCamp] Removed old ResellerCamp sync module file and replaced with domain sync cron functions
Case #1822 - [Enkompass] Removed x3 theme from Enkompass login links


Bug Fixes

Case #1768 - Fix for endless redirects on shopping cart when no product groups have been setup
Case #1768 - Correction to image path in Original and V4 admin templates for dropdown menu popout icon
Case #1768 - Install process confirm password field type corrected to hide password, automatic url detection fixed to exclude step variable, and validation added to prevent install form being submitted with blank admin details
Case #1768 - Shopping Cart checkout step is grabbing IP directly from REMOTE_ADDR value instead of using get_user_ip function which was resulting in IP displaying incorrectly in certain scenarios
Case #1768 - Update to installer to create admin user under utf-8 charset like rest of app runs under
Case #1746 - Update to ticket department reassignment emails to obey ticket notification settings per admin
Case #1768 - Adds the missing closing </a> tag for Edit Product Icon image on configproducts.php
Case #1768 - V5.2 Upgrade was not working for users of V5.1.3 Patch Release
Case #1768 - Ticket Duration calculating incorrectly when ticket contains no replies & generic comments row being created even when no comments submitted
Case #1768 - Update to menu expand icon to be black by default for lighter menu backgrounds, and white expand icon made blend template specific only
Case #1791 - Provide a valid return value (the PDF object) in the createPDF method of the WHMCS_Invoice class
Case #1709 - Sorting My Domains list by Auto Renew wasn't working
Case #1763 - Missing "Success" message when domain contacts are edited
Case #1793 - NetworkIssueClose should run when editing network issue status to closed
Case #1768 - Invoice related emails not sending due to userid not being populated correctly
Case #1768 - Fixed admin homepage popup not hiding until next content update correctly
Case #1812 - Added missing login to enkompass language file variable and updated module to use it
Case #1418 - Corrected SQL query for calculating addons ordered in the Monthly Orders report - was previously giving total for entire year
Case #1808 - Correction to gid int casting which was causing cart to permanently redirect to domain registration step on initial visit
Case #1822 - Default template KB search not remembering search term and returning to homepage on 2nd search if empty catid parameter
Case #1768 - Fix to client area details validation routine giving error relating to email and uneditable profile fields
Case #1768 - SQL Error Occurring in specific admin email send routine + Optimization to logActivity function to only query username once per runtime
Case #1822 - No addons message in Default client area product details template incorrect colspan
Case #1768 - Suspension reason stops being recorded after & character due to missing url encoding
Case #1768 - Incorrect billing cycle variable for when adding a new addon & Services dropdown menu showing last rows color for active services
Case #1768 - Service edit form not being closed when addons are edited causing send message to fail
Case #1771 - Update to support ticket billing entry to auto prune any non numerical chars from amount
Case #1821 - Replaced hardcoded word "Go" with language variable in 2 client area & 4 order form template files
Case #1822 - Fixed create new project dialog not saving ticket number
Case #1822 - Stats query optimisations & bug fix for SQL error that was being generated every time support ticket page was accessed when admin not assigned to any departments
Case #1768 - Some addon downloads were not being displayed in the client area product details downloads tab
Case #1768 - No Totals to Display text was not being shown on empty Transactions list page
Case #1768 - Added support ticket notification customisation settings back to admin users My Account page
Case #1768 - Changed email encoding from 8bit to quoted-printable to resolve issue of erroneous characters/spaces on long lines of text
Case #1768 - Update to automatic ticket close logic to only send Support Ticket Auto Close Notification email template if Ticket Feedback is not enabled since it already sends it's own email on closure
Case #1768 - Update to invoice loadData function which was failing in some situations due to subquery for gateway name returning more than 1 row
Case #1833 - Update to various third party classes to remove deprecated assigning of return value by reference
Case #1768 - Update to init file to prevent it erroring or failing with a blank page during upload of the new version
Case #1768 - File download page erroring out blank when login was required due to missing var
Case #1768 - Include product downloads in directory setting being displayed twice in General Settings
Case #1773 - Update to predefined search box so that field doesn't expand past the edge of the box when no predefined replies exist + added search icon to search box as background
Case #1800 - Affiliates commission list showing incorrect amount if no payment made yet and has a different first payment amount
Case #1768 - Configurable Options Radio Button was echoing checkbox checked rather than appending to input code HTML
Case #1768 - Free addons generating invoice upon adding from admin side due to no exclusion on free billing cycles in specific items invoicing routine
Case #1768 - Addon products on services page using wrong variable for ID in edit and delete links rendering them unmanagable


Version 5.2.0

  • Release Type: BETA
  • Release Date: 1st February 2013

New Features

Case #1585 – Implemented new ticket listing interface which separates flagged tickets from others
Case #1644 – Added friendly warning if adding payments to an already paid invoice
Case #1760 – Admin side WHMCS news/notification popup for release announcements & special offers
Case #1626 – Introduced IP Whitelisting Support from Bans
Case #1719 – Updated provisioning modules to return rather than echo
Case #1756 – Introduced dedicated product news feed
Case #1756 – Updated news widget to use dedicated product news feed
Case #1756 – Updated check for updates page to use dedicated product news feed
Case #1418 – Update module command buttons to use ajax to avoid page reload
Case #1719 – Add additional logging for admin services actions to activity log
Case #1505 – Allow client to enter desired new password when visiting reset verification URL
Case #1449 – Add logic for API addorder for invoices paid by credits
Case #1418 – Add pagination to spam control page
Case #1418 – Optimize ticket counts query for admin pages
Case #1418 – Language Case update for admin account page
Case #1418 – Redraw charts for when no chart widgets are active
Case #1418 – Update to Knowledge Base categories listing
Case #1726 – Implemented search for predefined replies management
Case #1725 – Added Arabic client area language file
Case #1573 – Improvements to tblcontacts
Case #1725 – Added Catalan client area language file
Case #1725 – Added Croatian client area language file
Case #1725 – Added Farsi client area language file
Case #1725 – Added Hungarian client area language file
Case #1725 – Improvements to Portugese & Portuguese Brazil client area language files
Case #1725 – Improvements to Spanish client area language file
Case #1725 – Implemented new Spanish admin language file
Case #1481 – Improvements to French Language file
Case #1612 – Added HTML stripping to default template client area homepage news snippet
Case #1585 – Added the ability to split support ticket replies out to new tickets
Case #688 – Added the ability to enter transaction ID for manual refund
Case #688 – Updated invoice interface to disable refund button if unavailable
Case #1754 – Implement code to obtain custom fields and update data based on values posted
Case #1728 – Created WHMCS API Helper File v1.0
Case #1672 – Implemented Email Marketing Unsubscribe Option for Clients
Case #1575 – Additional logging relating to quote management & quick links from log itself
Case #1651 – Added custom fields display to printable version of support tickets
Case #1649 – Add memory of ticket list filter selections between page loads
Case #1418 – Removed arbitrary credit balance edit field and added dedicated Remove Credit option
Case #1599 – Added LicensingAddonReissue hook
Case #1345 – Ability to edit security questions
Case #1440 – Added email template merge field for product description
Case #1556 – Log date/time to ticket logs when auto-closing ticket
Case #1536 – Allow knowledge base articles to be available when opening a new ticket for client
Case #1437 – Added the ability to duplicate an existing invoice and line item(s)
Case #1418 – Allow mass mails to be sent from services listing
Case #1537 – Allow company name in client sort filters for admin invoice list
Case #1418 – Add variable to load template dropdown ensuring that Send Multiple is carried across
Case #1565 – Ability to disable admin accounts
Case #1418 – Refactoring of system wide page structure to use new single initialisation file
Case #1565 – Hiding of deactivated admin users from Tickets & To-Do Lists
Case #1474 – Ability to disable auto-status change to inactive for clients without products/services
Case #1312 – Introduce duplicate bundle function
Case #1582 – Introduce ability to restrict subdomains when offering free subdomains
Case #1743 – Admin ticket notification system now works independently from department assignments
Case #1418 – Introduced credit card info full clear function for admin usage for local & remote storage
Case #1449 – Introduced API function AffiliateActivate
Case #1449 – Introduced API function GetAffiliates
Case #1449 – Introduced API function GetCancelledPackages
Case #1449 – Updated API function AddOrder
Case #1449 – Updated API function AddProduct
Case #1449 – Updated API function GetInvoices
Case #1449 – Updated API function UpdateClient
Case #1449 – Updated API function UpdateProject
Case #1465 – Introduce autolinking of urls to client & ticket notes
Case #1418 – Introduce permission check to admin invoicing within ticket
Case #1752 – Introduce new global validation logic & implemented throughout
Case #1398 – Added AfterFraudCheck Action Hook

Module Updates

Case #1742 – [ VentraIP ] – Commit updates to latest version v1.5.2
Case #1212 – [ 2CheckOut ] – Updated transaction callbacks logging for refund processing on reoccurring payments
Case #1669 – [ WeNIC ] – Add handling for .asia & .tw specific field requirements
Case #1418 – [ BizCN ] – UTF-Bytecode fix for handling IDN domains
Case #1602 – [ cPanel ] – Not retaining dedicated IP on package change
Case #1418 – [ Amazon Simple Pay ] – Updated to allow proper refund processing
Case #1698 – [ IPPay ] – Update for new transaction processing URLs
Case #1686 – [ FreeRadius ] – Introduced Free Radius module
Case #1687 – [ Ahsay Backups ] – Introduced Ahsay Backups Module
Case #1694 – [ Helm ] – Updated class to resolve login button in clientarea
Case #1692 – [ CCAvenue ] – Allow display notice at Invoice Payment to client informing a manual review is required
Case #1470 – [ VPS.Net ] – Added missing images folder
Case #1594 – [ SecureTrading ] – Update to latest version
Case #1593 – [ ResellerClub SSL Module ] – Strip URL prefixing from domains when generating approval emails
Case #1600 – [ Stargate ] – Update domain sync functionality
Case #1600 – [ NetEarthOne ] – Update domain sync functionality
Case #1418 – [ Plesk ] – Packet version loaded from configuration file
Case #1690 – [ ResellerClub ] – Improve handling for >64 Character Address’
Case #1460 – [ ResellerClub] – Transfer function not defining the full state value


Bug Fixes

Case #441 – License check code to now show branding for branding free live chat
Case #1396 – Numerous WHOIS Server definition updates
Case #1418 – Ticket Masks containing “%i” failed to generate
Case #1746 – Refactor class design for future expansion & optimization
Case #1623 – Improve duplicate TLD Routine to automatically at ‘.’ prefix if missing
Case #1722 – Update cart.php to not redirect when confdomains exists
Case #1418 – Updated API variables to allow separation of send to registrar and autosetup
Case #1418 – Update API Variables in AcceptOrder function
Case #1418 – Clean up second renewals SQL Query
Case #1449 – Clean up if statements in updateclientdomain
Case #1583 – Prevent gateway from being disabled if only 1 is enabled
Case #1540 – Split permissions for Manage Predefined Replies
Case #1577 – Update CVV Fields
Case #1433 – Addclientnote & Addticketnote API function not parsing carriage returns
Case #1449 – Improve autorecalc section to include promotion codes that were passed in update
Case #1590 – Added autoauthkey to configuration.php when key is updated
Case #1584 – Mail in Payment option now redirects straight to invoice
Case #1553 – Printable Version within Quotes unavailable by default
Case #1684 – Update function to use existing next due date for incrementing nextinvoicedate
Case #1388 – Check if admin has “Add “Transaction” permission when applying payments to invoices
Case #1418 – Remove hard coded text in KB Search box default template
Case #1542 – Upgrade/Downgrade section in client area shows free domain is offered – misleading
Case #1585 – Improve split ticket functions
Case #1474 – Expand logic around auto-status change for clients
Case #1418 – Introduce error message to all error checks as not all contain “response_text”
Case #1431 – Add logging of changed fields to activity log
Case #1677 – Prevent admins deleting themselves
Case #1743 – Updated Smarty class to latest 2.x release
Case #1743 – Updated PHPMailer class to latest stable v5.2.2
Case #1418 – Added custom fields array to clients detail
Case #1555 – Complete refactor of language handling system
Case #1418 – Implement nl2br formatting to admin client notes
Case #1577 – Add CVV input field for Admin & Client side cart update forms
Case #1673 – Prevent unknown editing of client side card data
Case #1431 – Add logging on ticket boxes with status as Enabled or Disabled
Case #1418 – Correct language for billable items invoice confirmation dialog
Case #1431 – Improve logic for logging change fields
Case #1609 – Bulk domain check may result in unformatted return
Case #1418 – Password input field type to hide input in Web 2.0 Cart login template
Case #1549 – Added ‘empty’ to configurableoptions variable in recalcRecurringProductProce function
Case #1433 – Carriage returns not parsed by client notes
Case #1538 – Unable to filter tickets in client area
Case #1532 – Server revenue forecast includes inactive servers
Case #1086 – Ajax cart domain addons not refreshing cart summary
Case #1418 – Complete button changed to please wait upon click
Case #1294 – Message preview stopping at ‘&’ character
Case #1485 – Re-introduce TinyMCE rich text editor for admin area text fields that support HTML input
Case #1418 – Introduce delete transaction permission check to admin invoice transaction deletion
Case #1569 – Billing Cycle & Configurable options not updating price summary
Case #1535 – Ensure that multiple partial refunds don’t exceed the original transaction fee amount
Case #1644 – Allow admin to add payments to a paid invoice
Case #1645 – Next Due Date not being emptied when changing from reoccurring to free in products & product addons
Case #1626 – Refactor Whitelisting IP logic to remove unnecessary queries and improve logic
Case #1418 – Reintroduce SMTP Debug flag for configuration.php
Case #1672 – Reintroduce portral template files
Case #1626 – Whitelisted IP address shown never be banned
Case #1754 – Revert naming of AddtoLog function to addTicketLog
Case #1701 – Remove duplicate pwstrength JS code from clientregister on default theme
Case #1418 – Correct language whitespace output
Case #1675 – Adjust sales tax liability report to tax + credit = total
Case #1675 – Switch Tax & Credits column for more human friendly readability
Case #1565 – Fix SQL errors caused by no department set for admin
Case #1418 – Update variable “type” to “listtype” to avoid conflict
Case #1702 – Update income by products report to work with currency selector
Case #1702 – Resolve units sold column always empty
Case #1730 – Remove duplicate Cleint ID field in admin lang file
Case #1412 – Domain Renewals Grace Period & Minimums loading from config file
Case #1417 – Correct Admin invoice number search
Case #1479 – Client area Tasks ‘Due In’ corrected
Case #1419 – Update MySQL list tables function
Case #1418 – Mass domain management auto renew improvements
Case #1191 – Backups failing due to database name unavailable
Case #1418 – Message preview button returns no results with rich text editor
Case #1418 – Update dbconnect.php for API Access & Disable Vars
Case #1418 – Fix new admin session vars for mobile login
Case #1425 – Lanugage change in client area not being retained between page loads
Case #1418 – Currency ID has been updated to show currency code
Case #1430 – Resolve CSV download error when reports contain a graph or geo-chart
Case #1429 – Resolve load problems with graph or geo-chart data when viewing print report version
Case #1435 – Update important field to sticky on orders detail view for client notes
Case #1418 – Knowledge base searches fail with syntax error when no term is specified
Case #1418 – Cron user status switch generating MySQL error due to incorrect function call
Case #1448 – Resolved support ticket edits when attachments are present
Case #1454 – Introduced human readable error message for graphs when JSON is not available in PHP
Case #1301 – Resolved Slider Order Form only accepting lowercase domain input
Case #1439 – If due date is 0000-00-00 thens suppress auto suspend/terminate
Case #1428 – Resolved Support Ticket overview widget JS error when a department contains a special character
Case #1747 – Custom order status removing provisioning/welcome email option from order details page
Case #1682 – Annual income reporting adding previous years fees & amount out instead of sutracting
Case #1740 – changeOrderStatus() now savesPending Transfer correctly for Domains with type=Transfer
Case #1446 – Support Ticket Ratings Review Report update to apply message formatting to ticket replies
Case #1727 – Paid invoice process attempting to combat multiple invoices being assigned the same number
Case #1418 – Add payment button in admin invoice page not greyed out when disabled
Case #1723 – Require admin addon modules to validate module name
Case #1418 – Cart should pre-select stored country when passed via session
Case #1707 – Implement smarty variables to allow template mods to query more info on affiliate referrals
Case #1418 – Better handling of invalid affiliate ID passed into manage affiliates page
Case #1418 – Reimplement TinyMCE Rich Text Editor for network issues
Case #1746 – Ensure gateway module callback files reference correct include path
Case #1439 – Reverted unneeded query change for optimization
Case #1683 – Resolved TinyMCE converting URLs
Case #1558 – Password password checking not working on comparison template
Case #1552 – Updated POP Import field names to be more conscience
Case #1666 – .DE Domains registration showing text field rather than yes|no ticket box
Case #1638 – Client notes area does expand correctly caused by additional divs end
Case #1423 – Admin support ticket widget not handling zero ticket count present on new installs correctly
Case #1566 – Update billable items logic to automatically recalculate amount when qty/hrs is updated
Case #1739 – Require ID presence in URL when downloading PDF
Case #1449 – addcancelrequest to return error if a cancellation requests exists
Case #1444 – Add Local API Support for custom provisioning module functions
Case #441 – Prevent conflicts for branding removal
Case #1731 – Show enabled WHMCS addons on licensing info page
Case #1418 – Added VentraIP Registrar Logo
Case #1726 – Update if statement to not show predefines on root category
Case #1418 – Add missing global declaration for ICONV disable
Case #1418 – Add backwards compatable getValidLanguages function
Case #1418 – Update admin knowledge base config page to use getlanguages function
Case #1697 – Ensure email address’ cannot be empty
Case #1697 – Ensure sub-accounts do not retain the same address
Case #1474 – Invalid select query in cron during client status change
Case #1646 – Validate invoice ID exists when passing into PDF download link
Case #1657 – _GetEmailForwarding error message is treaded as forwarding record when listing forwarders
Case #1641 – Convert config servers page to use language file variables
Case #1601 – Ticket list sorting by department ID instead of name
Case #1420 – Remove hardcoded text in template files
Case #1463 – New customers report export generates invalid data
Case #1621 – Typo in English language file
Case #1469 – Curacao missing from countries list
Case #1639 – Admin ticket log should have URLs converted to links
Case #1575 – Modifying Quotes does not log to the Activity Log
Case #1653 – _GetDNS error message is treated as DNS Record when listing dnsrecords
Case #1650 – View quotes failing ifTOS accept not enabled
Case #1485 – TinyMCE Editor not loading for announcements
Case #1643 – Enkompass using archaic API for IPs
Case #1642 – Affiliate payments on renewal generated regardless if one time option is select
Case #1557 – Corrected typo “occured” throughout.
Case #1591 – Logging in as client resets admin session token
Case #1589 – CSS scaling issues in 5.1 v4 template
Case #1588 – Associated invoices displaying unrelated invoices when an associated ticket is not found in project view
Case #1581 – Deleting invoice doesn’t pass through vars
Case #1415 – Affiliates template extra TD Colspan
Case #1432 – API Cancelation request calling undefined function if canceled service is on joint invoice
Case #1597 – Fees returned from gateway modules not handled correctly
Case #1598 – Prevent addons from doubling invoices when invoice selected items is used in the client summary
Case #1418 – Prevent warning error from genTicketMask when creating new tickets
Case #1418 – Resolve failure to locate KnowledgeBase suggestions when no existing k articles are passed
Case #1418 – Updated IP not being set in core class
Case #1418 – Improve session handling for cart.tpl override
Case #1418 – Improve Product config listing page to reset product group order values for consistency
Case #1563 – Update usage stats in ServerUsageUpdate function
Case #1755 – Improve EU Transfer process to always use the client account details
Case #1676 – [Security] Google Checkout update
Case #1631 – [Security] Improve logic of widgets
Case #1731 – [Security] Improve logic of license info page
Case #1759 – [Security] Improve logic of carts
Case #1631 – [Security] Improve logic of widgets