Changelog:WHMCS V7.8

From WHMCS Documentation

Version 7.8.0 Beta 1

Implemented

FEATURE-1453 - Provide better audit trail for manual credits issued to client accounts
FEATURE-1454 - Add new report for reviewing client account credit actions
FEATURE-1607 - Provide developer hook point for manipulating date formatting
FEATURE-1652 - Implement new and improved date picker with improved UX for entering of date ranges
FEATURE-1653 - Add automated password generator to all password input fields client side
FEATURE-1718 - Stripe: Add support for 3D Secure and SCA
FEATURE-1803 - Implement support for multiple Credit Card and Bank Account payment methods per client
FEATURE-1992 - Implement ability to hide and retire product addons
FEATURE-2021 - Stripe: Migrate to Stripe Elements Implementation Method
FEATURE-2075 - Add payment gateway module for GoCardless
FEATURE-2110 - Improve UX of Two-Factor Authentication Setup Routine
FEATURE-2111 - Add autofill and auto-complete to server setup/configuration
FEATURE-2140 - Implement new server sync tool with module based support
FEATURE-2161 - GoDaddy: Implement registrar module
FEATURE-2163 - Implement ability to automatically prune ticket attachments after a set period of time
CORE-13286 - Implement TicketOpenValidation hook
CORE-13384 - Implement PreUpgradeCheckout Hook

Maintenance

CORE-10657 - Prevent negative credit balance
    Also known as: CORE-11856
CORE-10975 - Place promo code after items on invoice order
CORE-11403 - Refine currency conversion amount verification for Paypal callbacks
CORE-11710 - Prevent error on removal of products with SSL addon
CORE-11942 - Ensure subscription cancellation only occurs with a present subscription
CORE-12479 - Update logic to show premium renewal pricing in clientarea renewal
CORE-12607 - Restrict emailing of ticket attachments to specific templates
CORE-12883 - Show PHP Mismatch on Cron vs Browser
CORE-12884 - Provide better UX for permissions required to add a promo during new order via Adminarea
CORE-12889 - Correct custom client area home page panel sorting
CORE-13014 - Correct API documentation for UpdateInvoice
CORE-13031 - Disallow payment capture on draft invoices
CORE-13053 - Correct language strings on client area pages
    Also known as: CORE-13232
CORE-13060 - Correct calculation of overage billing with limit of 0
CORE-13068 - Add Payment Pending & Collections statuses to admin invoice sidebar
    Also known as: CORE-13064
CORE-13086 - Set background color for "Pending Transfer" tag on Domain Registrations page
CORE-13108 - Correct route path digest when deployment directory is like named to the destination route
CORE-13114 - Show Invoice Number on Mass Pay invoices if present
CORE-13117 - Ensure premium domain renewal markup is applied for manual renewals in clientarea
    Also known as: CORE-12876
CORE-13123 - Trigger OrderPaid hook when order is paid with credit in the admin area
CORE-13155 - Remove Google+ Social Media Integration
CORE-13157 - Correct display of Tax IDs fields name on PDF Invoice
CORE-13170 - Ensure Billable Items are not orphaned on Client Merge
CORE-13185 - Improve GetClientAddons API documentation
CORE-13194 - Refine description for InvoiceCreation and InvoiceCreated hook points
CORE-13195 - Update .us TLD nexus options with friendly descriptions
CORE-13196 - Ensure Negative Tax Rates Show on Invoice
CORE-13197 - Correct ambiguous field error on service note advanced search
CORE-13198 - Hide Tax ID field on Add Sub Account in client area when Customer Tax IDs/VAT Numbers is disabled
CORE-13200 - Refine description of EmailPreSend hook
CORE-13202 - Ensure "Add new Addon" option honors selected billing cycle
CORE-13204 - Improve Automatic Configuration module data fault detection for Marketconnect
CORE-13206 - Improve performance of clientarea for large invoice histories
CORE-13208 - Correct syntax for 2Checkout invoice payment of domain registrations
CORE-13214 - Ensure proforma setting value is mirrored in tax configuration and general settings
    Also known as: CORE-13461
CORE-13215 - Refine handling of public downloads where file is missing
CORE-13217 - Correct tax status determination for new clients via quote
CORE-13221 - Ensure VAT validation on client registration and checkout
CORE-13222 - Correct client group discount taxation
CORE-13227 - Correct dynamic activation links & tabs for admin Marketconnect modal
CORE-13228 - Improve performance of configoption removal via client deletion
CORE-13236 - Ensure all values are provided to module commands via the Module Queue
CORE-13237 - Improve messaging in account Credit Management
CORE-13238 - Clarify code sample for OrderDomainPricingOverride hook
    Also known as: CORE-13352
CORE-13239 - Display ordererrordomainalreadyexists string when Block Existing Domain is enabled
CORE-13241 - Consider curl error code 60 an error exception in SSL Verification
CORE-13244 - Update WHOIS server for .in
    Also known as: CORE-13245, CORE-13310, CORE-13453
CORE-13246 - Correct admin password reset captcha
    Also known as: CORE-13407
CORE-13248 - Translate 2FA Setup Process Modal
CORE-13252 - Add WHOIS server for *.ar
CORE-13253 - Correct recommendation link path shown after the creation of a new support department
CORE-13254 - Ensure ticket change notifications are sent following action in the sidebar
CORE-13258 - Correct multiple piped attachment imports
    Also known as: CORE-13322
CORE-13263 - Ensure setting for Geo IP domain name suggestions is honored
CORE-13267 - Improve column collation management in SSL status sync task
CORE-13269 - Correct evaluation of payment transaction history updates
CORE-13281 - Ensure ContactChangePassword hook is triggered in all contexts
CORE-13287 - Remove 'read-only' attribute from tax_id field
CORE-13294 - Ensure consistent logging for missing attachment on email send
    Also known as: CORE-13297
CORE-13300 - Update PHPMailer to v6.0
CORE-13307 - Ensure client group Suspend/Terminate Exemption is honored for product addons
CORE-13309 - Update Facebook buttons following brand guidelines
CORE-13330 - Upgrade Bootstrap to v3.4.1
CORE-13338 - Prevent fatal cart error related to captcha settings
    Also known as: CORE-13484
CORE-13339 - Ensure contact tax id is saved via object map
CORE-13340 - Ensure dateaccepted value is honored for AccptQuote API
CORE-13346 - Show Suspended products on ClientArea as well as Active
CORE-13347 - Show Notice of Unpaid/Overdue Invoice on Service/Domain
CORE-13350 - Ensure VAT number validation on client area change
CORE-13351 - Ensure captcha does not show for ticket form submissions when disabled
    Also known as: CORE-13483
CORE-13355 - Ensure client profile changes are logged when email notification disabled
CORE-13359 - Improve client area domains page performance with large volume of domains
CORE-13368 - Modify data width to 150 for title column in tblnetworkstatus
CORE-13391 - Reconcile Yukon state code (ISO3166-2) with CIRA
CORE-13392 - Update web service used to lookup IP addresses
CORE-13405 - Allow credits reviewer report to be filtered by admin user
CORE-13416 - Allow footer copyright notice to be translated
CORE-13419 - Include FontAwesome for invoice and quote theme templates
    Also known as: CORE-13247
CORE-13442 - Accept load balancer non-SSL traffic when performing SSL redirect logic
CORE-13475 - Auto create configuration.php file when it does not exist during install
CORE-13476 - Assert minimum memory limit during installer system requirements check
CORE-13479 - Correct status display of Domain Expiry and Transfer Sync tasks in Automation Status

Modules

MODULE-6644 - Correct storage of usage data for Virtualmin
MODULE-6665 - Correct aggregation of client area nav items for disabling Marketconnect links
MODULE-6807 - Correct PayPal callback credit application
MODULE-6891 - Ensure a single nameserver displays correctly using eNom
MODULE-6941 - Correct Bluepay eCheck and Auth.net eCheck to use Direct Debit emails
MODULE-6945 - Improve module log data scrubbing
MODULE-6974 - Translate GoCardless "Setup Mandate for Payment" button
MODULE-6978 - Ensure Recurring Amounts correct with promocode on 2Checkout
MODULE-6979 - Ensure 2Checkout Inline One Time Payment honors Convert To For Processing setting
MODULE-6984 - Correct usage of custom invoice number in CCAvenue
MODULE-6987 - Update ResellerClub URL endpoint for availability check command
MODULE-6992 - Disregard duplicate GoCardless callbacks for Adding Payment
MODULE-6995 - Return invoices to Unpaid status if a GoCardless payment is cancelled
MODULE-7004 - Update PayPal Subscriptions to follow PayPal's latest guidelines
MODULE-7005 - Prevent fatal error during domain management with GoDaddy
MODULE-7007 - Correct domain sync for GoDaddy
MODULE-7016 - Validate GetNameservers function exists before invocation
MODULE-7018 - Update SSL Installation Help link
MODULE-7022 - Remove IMSP Gateway Module
MODULE-7024 - Correct return URLs provided to Quantumvault
MODULE-7033 - Reset reminders sent trackers when domain expiry is updated
MODULE-7034 - Improve status and response error parsing for MaxMind fraud checks
MODULE-7035 - Translate Digicert promotion content
MODULE-7036 - Improve handling of WorldPay FP payments response data
MODULE-7037 - Worldpay Futurepay marks invoice paid in full when any successful payment made
MODULE-7039 - Provide further unique attributes for Accept.JS to prevent erroneous duplicate status at Authorize
MODULE-7041 - Remove EMatters payment gateway
MODULE-7051 - Ensure www. is considered when managing SSL renewals

CORE-12689 - Ensure InternetBS module sends registrant_clientip field on saving contact details
CORE-13299 - Ensure domain additional fields are passed to SaveContactDetails()
CORE-13332 - Hexonet update for SaveDNS and other minor fixes
CORE-13467 - GoDaddy module does not account for Clients with multiple Shopper IDs

API

CORE-11706 - Ensure custom fields are processed for UpdateTicket API
CORE-12273 - Optionally allow duplicate transaction IDs in AddTransaction API
CORE-13234 - Add missing response parameters to OpenTicket API documentation
CORE-13250 - Ensure OrderFraudCheck API call fails when no fraud detection module is enabled
CORE-13261 - Provide mergefield data to EmailPreSend hook
CORE-13262 - Ignore invalid affiliate ID for AddOrder API
CORE-13318 - Update UpdateInvoice API documentation
DEV-605 - Implement Add/Update/Delete/Get PayMethod API

Languages

CORE-13207 - Improvements for Spanish translation
CORE-13219 - Improvement French translation
CORE-13224 - Translate "Nameservers" in clientareadomaindetails.tpl
CORE-13291 - Correct Dutch for language string proformainvoicenumber
CORE-13304 - Correct add funds references in Dutch client language

Version 7.8.0 Beta 2

Maintenance

CORE-13510 - Correct Remote Storage Failed error when adding new Stripe Pay Method outside of checkout
CORE-13511 - Correct Remote Storage Failed error when editing Stripe payment method via client area
CORE-13514 - Fix fatal error for CreditCardExpiryNotices cron task

Languages

There are no language changes

Version 7.8.0 RC 1

Implemented

FEATURE-1594 - Implement support for import of CC recipients from ticket opening emails
FEATURE-2168 - Implement support for display number of accounts on a web server to server management page (cPanel, Plesk and DirectAdmin)
FEATURE-2174 - Implement support for display of control panel version, account limit and other meta data to server management page (cPanel, Plesk and DirectAdmin)
FEATURE-2178 - Implement logging and display of payment decline reason in payment history on invoices

Maintenance

CORE-12899 - Ensure Order Confirmation e-mail for configurable option upgrades/downgrades shows the correct amount with taxes
CORE-13306 - Update the PHP Version Compatibility utility to include PHP 7.3
CORE-13319 - Handle alternate 0 sized file S3 migration errors
CORE-13342 - Ensure Domain Transfer button on Homepage redirects properly
CORE-13371 - Refine handling of form data when selecting "Already Registered"
CORE-13372 - Redirect Domain Renewal requests when Renewal Orders option is disabled
CORE-13387 - Improve error display when testing credentials of Storage Settings
CORE-13388 - Correct error message displayed when activating a sub-account that already exists
CORE-13480 - Rename cron task Domain Expiry Sync to Domain Status Sync
CORE-13511 - Refine logic for model hydration to prevent failure on Pay Method editing
CORE-13522 - Correct conditional creation of cookie data
CORE-13528 - Add missing language string for competitive ssl upgrade
CORE-13531 - Ensure card expiry is normalized prior to interaction with gateway modules
CORE-13535 - Optimise Closed Ticket Attachment Prune routine
CORE-13536 - Correct date and query logic for Ticket Feedback Score report
CORE-13538 - Apply latest UI styling to product config options management pages
CORE-13556 - Update v4 theme to include pay method templates

Modules

MODULE-6885 - Ensure contact data returned from registrar is rendered correctly on Modify Contact Details page
    Also known as: MODULE-6929
MODULE-7043 - Prevent erroneous display of muliple Renew buttons for ResellerClub SSL Certificates
MODULE-7075 - Correct API data exchange with Stripe for cards stored prior to 7.8.0
MODULE-7078 - Update getting started link in Weebly welcome email
MODULE-7081 - Ensure checkout fields are validated prior to processing a Stripe payment

Addon

PMA-132 - Improve display of admin users under "Assign To" on project details
PMA-141 - Exclude draft status invoices from Project Management client view

API

CORE-13523 - Correct documentation of response's ticket number variable name in GetTicket API

Version 7.8.0 General Availability

Maintenance

ADDON-6050 - Include jQueryUI within Staff Noticeboard addon
CORE-11819 - Ensure opt-out is propogated to mailchimp for existing entities
CORE-13249 - Utilize translations for Client Advanced Search field labels
CORE-13313 - Utilize translations for Billable Items Hours/Hour
CORE-13317 - Prevent erroneous Saved notice for client summary on PHP 7.3 + IoncubeLoader 10.3.2
CORE-13348 - Ensure phone number for new domain contact on ordering uses phone number prefixing
CORE-13404 - Add support link to WHMCS Pop Cron Did Not Run email
CORE-13418 - Allow .txt and .pdf ticket attachment filetypes on fresh installs
CORE-13457 - Correct log entries for invoice number format changes made via Tax Configuration Page
CORE-13478 - Correct Tax/VAT Label In WHMCS User Details Change Email Template
CORE-13517 - Correct date picker context for Next Due Date on Client Products/Services
CORE-13561 - Show friendly name in order details view of config options upgrade
CORE-13567 - Correct display of Mass Invoice item descriptions
CORE-13572 - Correct target DOM element for CC Recipient value additions
CORE-13575 - Display Bank Account Pay Method Token IDs in the admin area
CORE-13578 - Prevent erroneous email validation error on creation of billing address
CORE-13580 - Provide compatibility for legacy DomainExpirySync to be used for DomainStatusSync cron command name
CORE-13581 - Update FontAwesome to v5.10
CORE-13585 - Ensure subsequent changes to TLD settings enforce leading dot
CORE-13594 - Improve pre-checkout validation for Stripe
CORE-13596 - Correct handling of custom admin directory for 2FA settings routes
CORE-13598 - Ensure validation errors render in clientarea Add New Credit Card
CORE-13606 - Apply latest UI styling to link tracking UIs
CORE-13612 - Correct quote viewing admin permission
CORE-13619 - Normalize date formatting for Add Credit
CORE-13621 - Correct data structure provided to routines of ClientEdit hook point
PMA-143 - Correct Input Field Formatting on Project Management Addon

Modules

MODULE-7046 - Improve feedback on empty nameserver fields
MODULE-7047 - Improve feedback during registrar configuration
MODULE-7056 - Ensure module command error messages are rendered properly
MODULE-7085 - Ensure payment can be completed with tokens created before v7.8
MODULE-7086 - Improve import for Plesk accounts
MODULE-7087 - Manage subscription IP when changing package on shared IP Plesk (EXTWHMCS-54)
MODULE-7091 - Correct GoDaddy domain status sync
MODULE-7092 - Prevent erroneous errors during cPanel SSL provisioning

API

CORE-13408 - Correct handling of filename attachments added via API
CORE-13411 - Ensure UpdateQuote honors datecreated if provided
CORE-13448 - Correct documentation for UpdateClientProduct regDate param
CORE-13527 - Ensure UpdateClient can be used to modify tax_id value
CORE-13618 - Correct usage of pay method type in AddPayMethod API

Languages

CORE-13579 - Improvements for Hungarian translations

Version 7.8.1 Maintenance

Maintenance

CORE-13659 - Update WHOIS server for .actor
CORE-13662 - Update WHOIS server for .pt
CORE-13666 - Correct language string of SSL Certificates page
CORE-13670 - Correct sorting for To Do List table
CORE-13677 - Prevent fatal for misconfigured environments which disable cli arguments
CORE-13678 - Ensure successful captures of non-migrated remote cards complete payment of invoice
CORE-13679 - Ensure function declarations are available for Stripe intents
CORE-13680 - Ensure due date value is maintained when editing To-Do List item
CORE-13681 - Prevent error for undefined variable in Boxes & Modern carts

Addons

ADDON-6093 - Correct observation of 'completed' filter for GetProjects API
ADDON-6115 - Correct Start Date input on PayPal Transaction Lookup

Modules

MODULE-7096 - Ensure a Payment Method with Stripe can be added via admin area
MODULE-7097 - Observe and skip one's Plesk reseller account on sync using reseller account
    Also known as: CORE-13675

Languages

CORE-13642 - Improvements for Portuguese translation
CORE-13667 - Improvements for Hungarian translation

Version 7.8.2 Maintenance

Maintenance

CORE-13683 - Correct link provided after password reset action
CORE-13684 - Improve string comparison for Server Sync items
CORE-13685 - Ensure Edit Bundle loads and displays Addons options
CORE-13690 - Ensure card is not duplicated on checkout with remote gateways
CORE-13692 - Correct handling of custom admin directory for Sync Accounts button
    Also known as: CORE-13689
CORE-13693 - Correct To-Do list searching
CORE-13694 - Correct post location for Sales Tax Liability Report
CORE-13695 - Correct query for Ticket Feedback Comments report
CORE-13697 - Improve handling for invalid dates from remote in Server Sync
CORE-13699 - Ensure QR shows on admin TOTP setup
CORE-13700 - Reset Datepicker translation key cache after localization change
CORE-13701 - Perform pay method migration in invoice capture if required
CORE-13703 - Improve workflow for Stripe pre-session Intent
    Also known as: MODULE-7101
CORE-13707 - Create a single invoice for renewal + redemption fees as configured
CORE-13708 - Allow migration of local card data regardless of lack of local card capable gateways
CORE-13709 - Prevent spurious Stripe errors from triggering Oops page
CORE-13710 - Correct CVV field referenced for checkout validation
CORE-13711 - Improve pay method creation when migrating ambigous data
CORE-13712 - Correct filter query for batch PDF Invoice report
CORE-13714 - Improve handling for Attempt Capture with non-CC remote gateways
CORE-13716 - Correct user reference and order when merging clients

Modules

MODULE-7099 - Ensure Stripe Intent reflects tax changes at checkout
MODULE-7100 - Ensure remote input payment methods can be deleted
    Also known as: MODULE-7105
MODULE-7104 - Correct non-CC remote pay method handling for Attempt Capture
MODULE-7106 - Correct display of accent characters for Stripe language strings
MODULE-7107 - Prevent erroneous session error for no cost totals with Stripe
MODULE-7108 - Render Payment Methods management UIs when supported gateways are active
MODULE-7109 - Improve remote response parsing for Virtualmin v6.07 usage stats

Version 7.8.3 Maintenance

Maintenance

CORE-7197 (#4467) - Allow remote bank account payments to be captured via cron
CORE-13180 - Prevent erroneous failure message on no records are changed when using Bulk Pricing Updater
CORE-13270 - Correct date grouping for Affiliate Hits report
CORE-13335 - Utilize best symbols for password generation respective of Plesk provisioning
CORE-13364 - Improve report queries for MySQL v8 date syntax
CORE-13377 - Ensure tax is applied to billable items when set to "Add to users next invoice"
CORE-13474 - Improve handling of WHOIS server response timeout
CORE-13491 - Utilize Bootstrap datepicker over jQuery UI for Automation status
CORE-13512 - Ensure hidden config options honored when recalcuating via UpdateClientProduct
CORE-13546 - Ensure promo code with defined billing cycle is applied to product addons
    Also known as: CORE-13604
CORE-13547 - Correct CentovaCast hostname configuration
CORE-13555 - Correct spelling for Araba/Álava
CORE-13558 - Delete all translations of Email Templates on deletion of template
CORE-13584 - Prevent duplicate attachments when invoking AddTicketNote during TicketOpen hook
CORE-13609 - Ensure periodic Activity Log pruning occurs
CORE-13717 - Ensure cPanel Product Name is checked for username in Sync
CORE-13718 - Improve email verification post-login
CORE-13721 - Prevent fatal when attempting to load former password reset path
CORE-13724 - Ensure Overage Billing is enabled before processing
CORE-13725 - Ensure correct language strings used in Tax Rules UI
CORE-13728 - Correct CC Recipients form for client area
CORE-13730 - Correct captcha display logic for new Password Reset template
CORE-13732 - Ensure remote bank account gateways can be captured
    Also known as: MODULE-7126
CORE-13733 - Improving handling for token gateways' post-auth workflow respective to payment by credit
    Also known as: MODULE-7117
CORE-13734 - Inspect encrypted card data for bogus values prior to migration
CORE-13735 - Allow deleting of remote paymethod local reference when remote delete fails
CORE-13738 - Ensure hidden on order form Product Addons are available for purchase after order
CORE-13739 - Improve browser compatibility of input type for CVV field
CORE-13749 - Ensure mailbox is not empty before invoking POP search functionality
CORE-13751 - Correct display of IP in Client Activity widget
CORE-13753 - Ensure PayMethod is associated with invoice on Invoice Email Send
CORE-13759 - Correct invoice calculation for due amounts with multiple payments

Project Management Addon

PMA-90 - Provide option to Apply Tax on invoices from Billing Timers
    Also known as: PMA-93
PMA-102 - Correct Week and Weeks language strings
    Also known as: ADDON-6009
PMA-105 - Improve queries to avoid mismatch collation issues
    Also known as: ADDON-6012
PMA-110 - Allow task list to be sorted
    Also known as: ADDON-5958
PMA-111 - Show uploaded date of PMA attachments in client area
PMA-116 - Provide more accurate description of timer durations
PMA-129 - Ensure Import Tasks button is enabled/disabled appropriately
PMA-130 - Remove support for custom status color of PMA projects
PMA-134 - Ensure project log updated when adding timer entry
PMA-140 - Correct entity rendering on add new task
    Also known as: ADDON-6029
PMA-146 - Improve view of Due Date editing on Project Management Details
PMA-147 - Add dates to Project Management Project Time Logs report
PMA-150 - Implement ability to delete task templates

Modules

MODULE-7110 - Ensure client area Add PayMethod ignores hidden gateways
MODULE-7111 - Prevent error when updating pay method for eWay Tokens in admin area
MODULE-7113 - Correct input validation for Accpet.js
MODULE-7114 - Ensure Payment Intent Description is passed to Stripe
MODULE-7122 - Prevent cron fatal error when processing Stripe with missing data

API

CORE-13451 - Prevent double invocation of ClientAdd hook when runing AddClient via local API
CORE-13744 - Ensure GetPayMethods returns all pay method types