Changelog:WHMCS V7.9

From WHMCS Documentation

Version 7.9.0 Beta 1

Implemented

FEATURE-1023 - Implement support for metric reporting and usage billing to provisioning modules
FEATURE-1887 - Implement recording of date of refund and/or cancellation for invoices
FEATURE-2179 - Sitelock VPN: Introduce support for reselling the Sitelock VPN service
FEATURE-2183 - Enforce maximum renewal terms in all domain renewal workflows
FEATURE-2187 - PayPal: Implement support for Smart Payment Buttons Checkout Experience
FEATURE-2189 - Improve UI/UX relating to ACH/eCheck modules and add support for payment method creation
FEATURE-2195 - Stripe: Add support for ACH and SEPA direct debit processing
FEATURE-2197 - Implement support for conditional requirements in additional domain fields
FEATURE-2205 - Implement display of enabled Metric Usage Statistics to admin area
FEATURE-2207 - Implement display of enabled Metric Usage Statistics to client area
FEATURE-2208 - cPanel: Implement support for Metric Usage Statistics collection
FEATURE-2210 - DirectAdmin: Implement support for Metric Usage Statistics collection
FEATURE-2212 - Implement informational quick look functionality to admin area product and service lists

Maintenance

CORE-7000 (#4164) - Validate currency code on during additional currency setup
CORE-7120 (#4371) - Correct calculation for upgrade pricing with lifetime promotions
CORE-8178 - Ensure Contacts are not redirected to 2FA configuration
CORE-10316 - Correct currency format normalization prior to invoice payment inspection
CORE-10362 - Ensure date format for values used in Next Due Date field
    Also known as: CORE-13871
CORE-10954 - Correct quoting an existing product with no monthly pricin
CORE-11515 - Correct KB articles and downloads title conversions for non-latin characters
    Also known as: CORE-11851 & CORE-13508
CORE-11857 - Ensure cancellation not attempted for upgrade orders lacking an invoice
CORE-12435 - Remove Bouvet Island country code from available countries
CORE-12926 - Ensure prorata billing results in a correct next invoice date on the service during the initial order
CORE-13225 - Correct cancellation request pagination
CORE-13335 - Utilize best symbols for password generation respective of Plesk provisioning
CORE-13576 - Update Allow Client CC Removal setting name and description
CORE-13665 - Add index.php to all directories of the Six template
CORE-13691 - Improve translation strings for Tow-Factor Authentication
    Also known as: CORE-13825
CORE-13696 - Improve character transliteration of admin WHOIS output
CORE-13715 - Add missing Italian province South Sardinia (SU) to States Dropdown
CORE-13720 - Correct use of legacy FontAwesome class to v5 family
CORE-13752 - Ensure System Health Check for allow_url_fopen triggers when not enabled
CORE-13757 - Ensure PreRegistrar hook-points are executed just once
CORE-13762 - Add fraud check fail gateway functionality
    Also known as: MODULE-7124
CORE-13769 - Add recommendation for installer when max_execution_time is not as expected
CORE-13770 - Improve resilience for when admin templates are missing
CORE-13771 - Update Ticket Options tab following data update via sidebar
CORE-13773 - Ensure proper spacing in the Invoice Number format in the admin area when using Spanish language
CORE-13774 - Correct addition of contact address for CC field on email import
CORE-13775 - Correct missing captcha image on password reset page
CORE-13778 - Improve post-login redirects for pathinfo routes
    Also known as: CORE-13144
CORE-13782 - Correct migration for Visa Debit card type
CORE-13783 - Update sample input for UpdateInvoice API
CORE-13784 - Update additional domain field options for .eu tld
CORE-13785 - Improve inspection of inactive tickets prior to auto-close routine
CORE-13788 - Ensure CCUpdate hook fires on card add / update
CORE-13789 - Prevent erroneous exception on server (mis)configuration
CORE-13791 - Ensure captcha error is returned in specified language
CORE-13796 - Correct population of domain additional fields dropdown type
CORE-13797 - Reset Invoice Numbering when enabled on change of month
    Also known as: ADDON-5975
CORE-13799 - Correct breadcrumb path building for domain pricing
CORE-13801 - Correct paymethod migration when using Remember Me
CORE-13803 - Improve handling of unconventional remote storage gateways
CORE-13804 - Correct admin ticket watch/unwatch
CORE-13806 - Ensure Order Confirmation displays all ordered services
    Also known as: CORE-13903
CORE-13807 - Ensure Invoices Due total in client area excludes Mass Pay invoices
CORE-13809 - Improve gateway token migration when encountering unexpected card data and mandates
CORE-13810 - Only render Add Credit Card option when supported by gateways
CORE-13812 - Correct invocation of AddonTerminated hook
CORE-13816 - Improve ticket association to clients
CORE-13818 - Improve messaging when blocking existing domains related to orders
CORE-13823 - Ensure correct user is attributed to orders placed in admin area
CORE-13827 - Allow subTitle key for IntelligentSearch hook to be optional
CORE-13828 - Correct display of date selection for Support Overview
CORE-13834 - Correct logging for changes in Automation Settings
CORE-13836 - Include migrated and non-migrated data for client searches against Last Four
CORE-13838 - Correct pay method update routine for expiry date
CORE-13842 - Prevent error when pay method is deleted during processing
CORE-13845 - Improve management of errors when collecting mail in degraded environment
CORE-13846 - Improve UI to indicate a max length of 64 characters for password
CORE-13847 - Correct path for clippy.svg in generate-password.tpl
CORE-13849 - Ensure Configurable Options of "radio" type display their labels on Upgrade/Downgrade modal
CORE-13851 - Ensure no capture attempt is possible when invoice is in "Draft"
CORE-13855 - Correct itemization of GetAdminUsers under the System category on an API role
CORE-13870 - Do not show inactionable services in Server Sync Tool
CORE-13884 - Correct exclusion of captcha when disabled for domain checker
CORE-13891 - Correct display of Tax ID/VAT Number field while adding new billing address
CORE-13908 - Ensure remoteinput gateways can Add Credit Card in admin area

Modules

MODULE-6683 - Correct display of reseller packages in product setup for Plesk
MODULE-6771 - Correct usage statistics updating for Centova Cast
MODULE-6968 - CentovaCast Module does not auto populate custom service fields
MODULE-7048 - Implement config validation for domain registrars
MODULE-7103 - Correct .cl domain registration with ResellerClub
MODULE-7125 - Decouple Stripe folder location from core routing routines
MODULE-7128 - Gracefully handle exception on failed YubiKey
MODULE-7129 - Ensure Stripe expiry date and address are updated when editing a payment method
MODULE-7131 - Correct pay method create in Admin area for eWay Rapid
MODULE-7132 - Correct reports for successful refunds for eWay Rapid
MODULE-7134 - Correct response digest for eWay Rapid
MODULE-7136 - Correct use of existing Stripe token on checkout
MODULE-7137 - Improve resilience when missing mailchimp data
MODULE-7138 - Correct payment process pre-migration for FuturePay & GoCardless
MODULE-7141 - Correct interpolation of merge fields for Stripe Statement Descriptor
    Also known as: MODULE-7151
MODULE-7143 - Ensure credit cards can be added/updated when Validation Mode is set to "Live" on the Authorize.net CIM module
MODULE-7144 - Correct promo calculation for 2CO
MODULE-7147 - Use custom invoice numbering if provided for bank transfer and mail-in modules
MODULE-7148 - Correct updating card data with Accept.JS
MODULE-7149 - Ensure SagePay Tokens allows storage and updates of cards
MODULE-7151 - Ensure Stripe Payment Intent Description is set appropriately on checkout
    Also known as: MODULE-7141
MODULE-7153 - Add support for ACH to GoCardless
MODULE-7155 - Improve Stripe handling when using an existing card on no payment due
    Also known as: MODULE-7166
MODULE-7158 - Disallow redundant and erroneous "Save Changes" button with Quantum Vault pay methods
MODULE-7161 - Force captcha image to reload on Stripe validation failure
MODULE-7162 - Improve DirectAdmin API response error handling
MODULE-7165 - Correct logging of successful Payson transactions
MODULE-7170 - Correct usage of client's currency in Stripe API
MODULE-7175 - Discontinue distribution of PayPal Express Checkout module
MODULE-7182 - Prevent erroneous “Login session not found” error with Stripe when ordering a free product
MODULE-7184 - Correct token format for SagePay Repeats

Addons

ADDON-5982 - Only render "Reissue" button for Licensing Addon when appropriate
ADDON-6019 - Ensure Country value passed when updating Mailchimp customer

Project Manager

PMA-152 - Prevent erroneous error when saving with multiple task lists

API

CORE-8223 - Correct return value of error messages for failures via AcceptOrder API
CORE-13781 - Improve AddOrder API documentation
CORE-13792 - Add affiliateemails parameter to AddContact API call

Languages

CORE-13780 - Improvements for French translations
CORE-13793 - Improve Spanish translations
CORE-13897 - Correct missing language string for ovSubtitle

Version 7.9.0 RC 1

Implemented

FEATURE-2185 - Implement eWAY Secure Fields module

Maintenance

CORE-13468 - Add Cancel Subscription to Domain Management
CORE-13906 - Update WHOIS servers for .dev
CORE-13997 - Improve display of credit card fields on Modern order form
CORE-14015 - Add search/filter options for refunded and cancelled date to admin invoices list
CORE-14016 - Add Date Refunded and Date Cancelled to Invoices Export
CORE-14021 - Filter support department addresses from Auto-CC field
CORE-14022 - Add 'Choose Existing Domain' and 'Choose Payment Term' to language files
CORE-14023 - Add 'Manage Backups' to language files
CORE-14031 - Correct AdminAreaViewQuotePage hook documentation and example
CORE-14036 - Correct CC expiry notices not being sent
CORE-14039 - Expand interpretations of possible PHP ini setting values
CORE-14046 - PayPal Checkout: Implement setup and use of Web Hooks
CORE-14048 - PayPal Checkout: Fix state code mapping logic
CORE-14066 - Prevent erroneous error when excluded addon custom fields with order

Modules

MODULE-7176 - Update Enom module for .dev
MODULE-7213 - Correct availability status inspection for domain name suggestions with Hexonet
    Also known as: CORE-14053

Addons

ADDON-6116 - Correct Next Due Date response for Licensing Addon services which have addons

API

CORE-14024 - Provide better error messaging for invalid input to CreateOAuthCredential API
CORE-14027 - Prevent erroneous error when excluded custom fields with AddTicketReply API

Version 7.9.0 General Availability

Maintenance

CORE-12875 - Ensure correct profile is sent to registrar per admin order
CORE-13854 - Correct erroneous client notification about inability to make automated payment
CORE-13910 - Correct class documentation for WHMCS\View\Formatter\Price::getCurrency()
CORE-14037 - Improve description of Automation setting for Credit Card Expiry Notices
CORE-14038 - Correct dynamic pivot value for server sync analysis
CORE-14050 - Set invoice status to Cancelled when cancelling invoice paid in full with credit
CORE-14056 - Ensure Tax ID field retains data on Add Sub Account in client/admin area when "Tax Support" is disabled
CORE-14059 - Refine styling of form fields in export reports
CORE-14060 - Provide range filter support to date fields in CSV export reports
CORE-14080 - Implement "Simple" metric pricing scheme
CORE-14082 - Ensure Migrate to eWay modal opens
CORE-14083 - Correct dynamic display of New Card Details form fields in cart
CORE-14088 - Provide helper functions for pay method creation/update
CORE-14089 - Relax currency code validation to allow for non-ISO standards
CORE-14091 - Provide helper functions for managing bank pay methods
CORE-14094 - Correct InvoiceCreated and InvoiceCreationPreEmail hook params
CORE-14102 - Correct quote deposit dates
CORE-14103 - Correct view invoice and order with GoCardless enabled
CORE-14107 - Generate usage invoice on service termination
CORE-14111 - Prevent erroneous migration condition for remotely stored card data
    Also known as: MODULE-7204
CORE-14113 - Improve error messaging on remote token deletion failure
CORE-14117 - Normalize To/CC/BCC address processing
CORE-14118 - Only render Metric Statistics block on services of products with supporting modules
CORE-14127 - Ensure messaging in Credit Card Invoice Created template reflects Disable CC Processing setting
CORE-14128 - Correct admin area rendering of registrar command buttons
CORE-14130 - Correct HTML attribute for bank input form fields
CORE-14133 - Prevent orphaned ssl order records from removed product addons
CORE-14134 - Add translation string for Product Group Name placeholder
CORE-14145 - Correct display of quick service insights for cancellation requests

Modules

MODULE-7206 - Improve calculation for promos on proforma product with 2Checkout Inline
MODULE-7208 - Observe PayPal Checkout restriction for subscription payment minimum frequency of 1yr (ie no biennial)
MODULE-7209 - Improve prorata for PayPal Checkout
MODULE-7210 - Improve paymethod migration routine for locally stored cards
MODULE-7212 - Correct webhooks for PayPal Checkout
MODULE-7215 - Improve UI elements of admin Add Pay Method for eWay
    Also known as: CORE-14084
MODULE-7216 - Make PayPal linked app fields read-only to disallow erroneous or non-automated values
    Also known as: CORE-14074
MODULE-7220 - Do not attempt to show PayPal Checkout to admins
    Also known as: MODULE-7222
MODULE-7221 - Correct refund routine for PayPal Checkout
MODULE-7222 - Prevent error for invalid PayPal Checkout login details
    Also known as: MODULE-7220
MODULE-7229 - Relocation start event for PayPal Checkout subscription workflow
MODULE-7232 - Correct sandbox URL for eWay v4
MODULE-7235 - Correct transfer API call to GoDaddy
MODULE-7238 - Update input setting handling for 2Checkout integration
MODULE-7239 - Temporarily only permit non-subscription payments with PayPal Checkout

API

CORE-14112 - Correct local card update for UpdatePayMethod API
CORE-14135 - Correct CreateQuote API example
CORE-14142 - Correct UpdateClientProduct API example

Languages

CORE-14087 - Update Hungarian translations
    Also known as: CORE-14019
CORE-13901 - Hebrew Translation additions and improvements

Version 7.9.1 Maintenance

Maintenance

CORE-14166 - Prevent error at checkout when auto-provisioning for existing clients
CORE-14168 - Ensure predefines products can be added to quotes
CORE-14170 - Prevent error during cron tasks for addon termination
CORE-14171 - Prevent error on credit card retries
CORE-14172 - Correct invoice export report for payment method
CORE-14174 - Provide default unique identifier for service module tenants
CORE-14175 - Correct CodeGuard login for addon from service details
CORE-14176 - Prevent error when creating billable item from ticket

Modules

MODULE-7249 - Correct one time payments callback for 2Checkout Inline
MODULE-7250 - Update Hexonet EPPCode variable for domain transfer

Languages

CORE-14165 - Update Hungarian translations

Version 7.9.2 Maintenance

Maintenance

CORE-13518 - Translate notice message for transaction failure
CORE-13629 - Correct display of payment options when client as credit balance
    Also known as: CORE-14226
CORE-13731 - Add CSS class to Split Ticket button
CORE-13896 - Ensure breadcrumb variable is set when processing password reset template
CORE-14140 - Ensure CCUpdate hook is triggered when updating or deleting a credit card
CORE-14154 - Support Subscriptions on Addons
CORE-14158 - Correct recurring amount calculation for product upgrade of differing billing cycles
CORE-14180 - Remove erroreous output of semicolon
    Also known as: CORE-14270
CORE-14181 - Optimize Usage Billing data collection from cPanel
CORE-14185 - Improve partial datetime parsing for admin calendar
CORE-14191 - Ensure one time payments can be processed when a client opts out of saving card details
CORE-14195 - Prevent argument error for GetTicketPredefinedCats API
CORE-14199 - Prevent admin order failure related to TLD pricing stored prior to v7.5
CORE-14206 - Correct display of domain option in cart
CORE-14208 - Include all subaccount disk and bandwidth usage into resellers' Usage Billing
CORE-14210 - Update Facebook graph API to latest version
CORE-14213 - Add translation string for 'from just'
CORE-14216 - Correct invocation of custom registrar module function ClientArea
CORE-14220 - Correct PayFlow Pro success redirect URL
CORE-14221 - Allow UpdateTicket API to change ticket from client to guest
CORE-14232 - Provide health check warning for non Apache web envirnoments
CORE-14236 - Remove deprecated argument from Slack API call
CORE-14241 - Ensure nameservers are provided to PreRegistrarSaveNameservers
CORE-14242 - Correct unpaid total sum in client overview panel
CORE-14249 - Correct logo path for Hexonet
CORE-14256 - Ensure bank type gateways are attempting for auto payments
CORE-14258 - Improve email logic for determining when automatic payment is possible
CORE-14265 - Correct error message rendering for blocked domains
CORE-14274 - Correct rendering of current disk/bandwidth usage in admin service overview
CORE-14275 - Ensure selected gateway in checkout process is honored
CORE-14277 - Prevent erroneous block for domain requirements that may have value of zero

Modules

MODULE-7252 - Ensure invoices can be paid when using SagePay Repeat Payments
MODULE-7253 - Prevent error when detecting API errors from cPanel
MODULE-7256 - Correct boolean representtion for GoDaddy API
MODULE-7258 - Prevent error on package change for cPanel
MODULE-7259 - Correct display of SiteLock enabled products
MODULE-7260 - Prevent error on save of paymethod with GoCardless
MODULE-7262 - Allow subscription for recurring purchases with PayPal Checkout
MODULE-7263 - Improve Stripe configuration verification
MODULE-7264 - Correct display of bandwitdh snapshot value when not enabled for service
MODULE-7266 - Ensure client billing details passed to Stripe when creating PayMethod
MODULE-7270 - Prevent error on refund for Stripe ACH
MODULE-7272 - Correct URL for GoCardless onboarding
MODULE-7273 - Correct API call for managing DNS records with ResellerClub
MODULE-7275 - Ensure Stripe PaymentIntents use customer ID from PM
MODULE-7276 - Ensure local card conversion uses existing Stripe customer if available
MODULE-7277 - Improve conditional Stripe customer creation
MODULE-7279 - Correct URL for QuantumVault payment
MODULE-7282 - Correct refund function invocation for Stripe SEPA and ACH
MODULE-7284 - Prevent erroneous 3DS routine for recurring capture in Payflow Reference Payments
MODULE-7290 - Exclude deleted cPanel sub-accounts from Usage Metrics