Changelog:WHMCS V8.1
Contents
Version 8.1.0 Beta 1
Implemented
FEATURE-1805 - New Client Area Theme with Bootstrap 4
FEATURE-2465 - Add support for more social/service accounts
ADDON-6130 - Add support for Google Analytics v4
CORE-15144 - Add Google and Oauth settings for ticket department mail configuration
CORE-15257 - Implement User Deletion for Data Retention Automation
CORE-15507 - Implement Security Question disablement in admin's user management modal
Maintenance
CORE-10578 - Correct CC value for merged tickets
CORE-12475 - Ensure domain pricing shows free on order form
CORE-12798 - Improve link for domain renewal email generated by misconfigured cron invocations
CORE-14101 - Ensure one time promo for domain renewal only affects registration price
CORE-14254 - Ignore login requests from unsupported authentication methods
CORE-14396 - Remove AutoAuth functionality
CORE-14556 - Allow admin to delete transactions for deleted client
CORE-14618 - Improve error feedback for unaccessible Metric Statistics
CORE-14773 - Use non-linear calculation for multi-year TLD pricing with ResellerClub
CORE-14885 - Correct currency change on mobile
CORE-14935 - Add auto recalculate on save option to service addons
CORE-15058 - Align admin ticket access with assigned departments
CORE-15094 - Persist language select across all admin pre-authentication screens
CORE-15133 - Set IP banned expiry to 3 year
CORE-15156 - Update WHOIS server for .th TLD
CORE-15159 - Improve integration of custom countries with phone auto-formatting
CORE-15214 - Ensure Domain Sale Groups are translatable
CORE-15300 - Provide return link to parent product for addon
CORE-15417 - Add Kosovo to country selection
CORE-15425 - Correct measurement units shown on Database Status page
CORE-15436 - Provide graceful error when custom admin directory conflicts with routing
CORE-15470 - Create an activity log entry when upgrades are performed
CORE-15479 - Prevent last login update when authentication is the result of an admin masquerade
CORE-15493 - Correct filtering of styling for plain text email message
CORE-15526 - Correct render of CC recipients on ticket view in admin area
CORE-15534 - Remove erroneous documentation of ticketnum for AddTicketReply API
CORE-15536 - Provide translation string for Sitelock landing page
CORE-15557 - Ensure Ticket Merge Fields represent requestor
CORE-15558 - Ensure client can manage domains when admin has registration and transer disabled
CORE-15572 - Ensure client group color is present on ticket view
CORE-15575 - Improve rounding on upgrade order with non-fractional currency
CORE-15584 - Correct Order Summary view of promo applied addon
CORE-15598 - Ensure EPP Code is populated on Transfer page
CORE-15599 - Correct repeatable toggle state on client's Domin tab
CORE-15600 - Allow non-domain values in domain field when creating an order as an admin
CORE-15601 - Correct 2FA disabling for admins
CORE-15612 - Ensure custom invoice number is used in admin order confirmation notification
CORE-15625 - Correct currency prefix shown for affiliate commission
CORE-15634 - Ensure MarketConnect buy prices are shown in USD prior to activation
CORE-15635 - Include Canary Islands as country
CORE-15638 - Correct loose signature for table rending helper
CORE-15645 - Provide option to delete a user in the manage user modal
CORE-15646 - Ensure Enom Getdomaininfo API requests for IDN domains are properly formatted
CORE-15647 - Ensure cart summary displays level 2 tax rule only if configured
CORE-15651 - Rectify spurious warning on domainregister.tpl
CORE-15652 - Improve error detection of APOP messages
CORE-15661 - Correct error messaage for blocked existing domain
CORE-15667 - Improve error message for DomainUpdateLockingStatus API
CORE-15672 - Prevent fatal error when using bulk tools on addons
CORE-15675 - Provide ability to disable outgoing email
CORE-15687 - Correct Remember Me cookie date
CORE-15700 - Correct path of assets for Duo 2FA
CORE-15701 - Correct SSL manage template item display logic
CORE-15712 - Improve detection of concurrent gateway transactions within same session
Also known as: MODULE-7530
CORE-15757 - Correct IDN domain data for GetRegistrarLock
MODULE-7477 - Prevent subscriptions for multi-year domain registrations
Modules
MODULE-6400 - Update list of TLDs that require TNC
MODULE-6522 - Correct indexing for Plesk accounts
Also known as: CORE-11428
MODULE-7438 - Correct arguments require for ID Protection with GoDaddy
MODULE-7439 - Correct IP data sent when configuring NameCheap
MODULE-7484 - Correct command for upgrades using Configurable Package Addon with DirectAdmin
MODULE-7490 - Correct domain fields required for .dev with ResellerClub
MODULE-7507 - Ensure retired and hidden addons are not offered related to cPanel Product Details
MODULE-7511 - Update Plaid integration for "link tokens"
MODULE-7518 - Update SenderModuleInterface to include getName and getDisplayName
MODULE-7522 - Discontinue distribution of Realtime Registrar
MODULE-7524 - Correct require citizenship field for .eu registration with Enom
MODULE-7529 - Correct applink authorization override
MODULE-7535 - Prevent superfluous re-registration for admin Duo accounts
Project Management Addon
PMA-186 - Correct display of associated ticket when using custom ticket mask
API
CORE-15458 - Allow Addon and Fraud module activation vi ActivateModule API
Also known as: CORE-15463
Languages
CORE-15622 - Improvements for French translation
Version 8.1.0 Release Candidate 1
Maintenance
CORE-12269 - Correct display of products with HTML description in Cloud Slider
CORE-12743 - Incorporate and inspect auto-responder headers for Support messaging
CORE-14789 - Improve logging of server change
CORE-14963 - Correct log description of sent admin order notification
CORE-14965 - Provide warning when attempting to place admin upgrade order if unpaid invoice exists
CORE-14970 - Optimize indexing for cron log data
CORE-15138 - Ensure ClientEdit hook fired when toggling tax status
CORE-15245 - Create translation string for Admin Authentication Confirmation
CORE-15352 - Prevent invoice creation email for downgrade orders with no invoice
CORE-15496 - Implement UserEdit hook point
CORE-15550 - Show quantity of Service/Addon on Details pages
Also known as: CORE-15877
CORE-15556 - Prevent addition of uninvoiced items to new order invoice
CORE-15570 - Introduce Marketing Opt-In and Opt-Out link merge fields
CORE-15583 - Improve display of error for invalid domain search
Also known as: CORE-15851
CORE-15607 - Correct display of promotion code on Domains tab
Also known as: CORE-15688
CORE-15610 - Correct Order Details in order emails for One Time products
CORE-15666 - Suppress admin error for previously configured invalid TLD
CORE-15668 - Provide warning when editing a product and system order form is missing
CORE-15670 - Optimize Client Log Tab Query
CORE-15671 - Show all entries on the calendar by default
CORE-15673 - Provide health check to notify when memory setting for cron is less than recommendation
CORE-15678 - Ensure Loading Saved Message keeps filters for Email Campaigns
CORE-15682 - New Invoice link doesn't work on the Billing > Invoices page
CORE-15686 - Suppress Invalid Domain warning for admin orders with a wildcard expression
CORE-15690 - Correct Product Addon selection Validation for Product Bundles
CORE-15716 - Correct webmail portal link in OX App Suite welcome email
CORE-15763 - Reject non-compliant email address for UpdateClient API
CORE-15773 - Correct markdown formatting inspection for non-latin characters
CORE-15775 - Ensure 2FA challenge is provided for password reset
CORE-15776 - Prevent error when removing quote items for new client
CORE-15832 - Correct free setup promo for mutliple quantity orders
CORE-15850 - Use correct hover cursor for admin search icon
CORE-15855 - Correct template variable of county name for SSL configuration in Twenty-One
CORE-15856 - Improve domain checker field in mobile view on Twenty-One theme
CORE-15859 - Correct styling of Checkout button for domain availability check
CORE-15860 - Correct input-group-* class for domainregister template
CORE-15861 - Ensure ticket primary sidebar text is translatable
CORE-15883 - Ensure mail_auth_config field is correctly populated on update to 8.1.0
Modules
MODULE-6646 - Ensure Stripe module converts fees to payment currency before applying
MODULE-6656 - Pass CPR details when updating whois contact details on .ca domain via ResellerClub
MODULE-7478 - Prevent Stripe PaymentIntent creation when TOS and captcha validation fail
MODULE-7527 - Add FrContact Support for .fr in ResellerClub
MODULE-7528 - Correct transfer API call to GoDaddy with additional domain fields
MODULE-7531 - Ensure GoDaddy module can verify Privacy Protection eligibility for all TLDs
API
CORE-14322 - Correct trigger for InvoiceCancelled hook via UpdateInvoice API
CORE-15567 - Ensure localAPI can generate valid tokens via createssotoken
CORE-15615 - Allow validation for select fields to be skipped for AddClient
CORE-15674 - Correct support of IDN domains for SaveRegistrarLock and DomainUpdateLockingStatus API
CORE-15788 - Allow Client Status filtering in GetClients API
CORE-15829 - Correct relative path for unauthenticated OAuth authorization
CORE-15840 - Clarify documentation that WhmcsDetails API is available as of v8.0
Languages
CORE-15825 - Hungarian language improvements
CORE-15847 - French language improvements
Version 8.1.0 General Availability
Maintenance
CORE-10886 - Do not send "Invoice Created" email when Order does not have invoice
CORE-12227 - Add search and UI improvements for module log
CORE-14738 - Provide Health Check for known MySQL variable issues
CORE-14777 - Correct unpaid invoice total calculations on "My Invoices" sidebar
CORE-15210 - Improving logging of admin actions related to affliate operations
CORE-15211 - Include negative tax rates in invoice email
CORE-15586 - Prevent error when transferring domain whose associated service's server does not define nameservers
CORE-15595 - Correct language selection for Admin New Order notification
CORE-15677 - Ensure Load Saved Message options reflect selected email type
CORE-15709 - Display Generic Feedback on Ticket Feedback Comments report
CORE-15711 - Improve support department POP setup UI
CORE-15739 - Only render Mass Payment button when enabled and client has unpaid invoices
CORE-15751 - Optimise downloads routine when no service provided
CORE-15774 - Improve resilience of domain SSL status sync
CORE-15795 - Prevent superfluous empty option for CC Recipients when viewing ticket as admin
CORE-15804 - Correct filtering behavior of client custom fields for Email Campaigns
CORE-15820 - Correct typo in "Available Merge Fields" section on email templates
CORE-15869 - Ensure client currency is used if available in admin order process
CORE-15878 - Prevent quantity factor of recurring amount when creating a line item of a multiple quantity service
CORE-15879 - Correct One Time promo calculation for multiple quantity service
CORE-15881 - Ensure time input is used when provided for AddInvoicePayment API
CORE-15882 - Ensure all distributed mail provider support the Reply-To header
CORE-15890 - Add Facebook Sign-in Feedback Error String to Language File
CORE-15897 - Correct display of country on save of Contact in Client area
CORE-15898 - Correct generation of UUIDs required for API actions
CORE-15899 - Remove reference to obsolete client_password merge field
CORE-15905 - Retain invites for 7 days following expiry
CORE-15907 - Correct saving of input for Mail Provider details
CORE-15910 - Improve small port view for password reset in Twenty-One
CORE-15913 - Implement automatic pruning of Module Log
CORE-15914 - Update WHOIS server for .NU
CORE-15922 - Improve display of navigation bar with many items for Twenty-One
CORE-15923 - Correct template inheritance for Marketconnect Upsells
CORE-15932 - Update EV upsell messaging
CORE-15940 - Correct display of Allow Multiple Quantities in Products/Services
CORE-15942 - Prevent partial render on invalid ticket request
CORE-15944 - Ensure correct expiry date is set for multi-year registrarion
CORE-15950 - Include pid if available when redirecting to product group
CORE-15952 - Update EV icon
CORE-15953 - Ensure registrant contact fields are visible when bulk editing domain contact information
CORE-15955 - Implement GetUsers API
CORE-15958 - Improve remote bank + remote gateway migration
CORE-15960 - Correct inheritance for invoicepdf.tpl
CORE-15966 - Ensure OX App Suite upgrade utilises quantities
CORE-15978 - Ensure Security Questions in use cannot be deleted
Also known as: CORE-15981
CORE-15994 - Correct internal type related to display of domain registration pricing
CORE-16013 - Prevent error when providing invalid domain search term in Admin WHOIS lookup
Modules
MODULE-7537 - Ensure credits apply to accounts with addons
MODULE-7541 - Transliterate Statement Descriptor Suffix for Stripe
MODULE-7545 - Correct server sync API request for DirectAdmin
CORE-15928 - Improve resilience of mod_pleskaccounts update routine
Addons
ADDON-6132 - Improve styling of Licensing addon for use in theme Twenty-One
Project Management Addon
PMA-188 - Correct display of associated projects when using custom ticket mask
PMA-189 - Improve compatibility with Twenty-One
Also known as: PMA-190
API
CORE-16008 - Rectify distributed example for OrderProductPricingOverride hook
Languages
CORE-15888 - Update Azerbaijani translations
CORE-15921 - Update Hungarian translations
CORE-15925 - Improvements for Admin Hebrew translation
CORE-15927 - Improvements for Client Hebrew translation
Version 8.1.1 Maintenance
Maintenance
ADDON-6136 - Ensure Google Analytics outputs script to page
CORE-15519 - Ensure ticket replies from associated users are accepted
CORE-15694 - Prevent erroneous field being displayed after failed domain contact change
CORE-16005 - Correct rendering for sequential error related to failed 2FA disablement
CORE-16014 - WHOIS update for .sa TLD
CORE-16016 - WHOIS update for .ie TLD
CORE-16017 - Improve description of mail import command
CORE-16022 - Prevent duplicate alert for invalid login on Twenty-One
CORE-16025 - Provide or utilize translation strings for various text in Twenty-One
Also known as: CORE-16055, CORE-16194
CORE-16026 - Correct theme inheritance for pagination property
CORE-16029 - Correct alignment of date picker element for Prune Ticket Attachments
CORE-16031 - Improve responsiveness for domain checker
CORE-16033 - Provide integration to HMRC for GB VAT number validation
Also known as: CORE-16220
CORE-16038 - Correct erroneous alert of oustanding invoice in upgrade/downgrade modal
CORE-16040 - Improve description of invite function
CORE-16041 - Provide password type custom field values decrypted to provisioning functions
CORE-16046 - Correct link for OX Manage Email Accounts
CORE-16048 - Prevent indefinite retry of failed email campaign
CORE-16049 - Correct display of module log response
CORE-16050 - Correct sidebar collapse/expansion for cart with Twenty-One
CORE-16051 - Improve handling of invalid parent property of theme
CORE-16058 - Update clients only ticket department description
CORE-16070 - Correct CSS inclusion for viewquote template
CORE-16071 - Correct error on unique email requirement for authenticated user client creation via cart
CORE-16074 - Improve design of admin edit button for knowledgebase articles and categories in Twenty-One
CORE-16081 - Correct path for view cart icon of Twenty-One
CORE-16084 - Prevent erroneous ajax request on automation page
CORE-16086 - Remove legacy smarty variables & increase performance of client area
CORE-16092 - Improve cPanel template for Bootstrap 3 and 4 compatibility
CORE-16093 - Generate order invoices respective to user's language
CORE-16094 - Update template path comparison for non-standard file environments
CORE-16098 - Optimise Additional Domain Fields display in mobile view
CORE-16104 - Improve CSRF error rending for admin login
CORE-16105 - Improve Twenty-One styling for hyperlinks
CORE-16106 - Improve formatting of intelligent search results when a company name is present
CORE-16107 - Prevent missing function error in DeleteClient API
CORE-16108 - Improve Plesk account reindexing upgrade routine
CORE-16109 - Improve Twenty-One styling for block quotes
CORE-16111 - Correct inclusion in Twenty-One related to certificate reissuance
CORE-16114 - Improving handling for deleted orderform
CORE-16118 - Restore aggregation of default Currency considering legay schema
CORE-16119 - Correct add payment address action for Twenty-One
CORE-16124 - Add missing translation string for 'copy'
CORE-16125 - Correct inspection of 'admin' parameter for OpenTicket API
CORE-16128 - Utilize translation strings for announcements in Twenty-One
CORE-16131 - Correct display of CC recipients for guest tickets
CORE-16132 - Correct date picker attribute for Override Auto-Suspend option
CORE-16138 - Correct display of error message on invoice payment in Twenty-One
CORE-16147 - Ensure correct reply-to is used for all mail providers
CORE-16161 - Improve display of ticket information in Twenty-One
CORE-16164 - Improve ticket data aggregation for environments without native type handling
CORE-16165 - Improve render of Manage Domains for Twenty-One
CORE-16169 - Correct input handling for registration form
CORE-16170 - Correct link for close ticket in Twenty-One
CORE-16172 - Correct link for network alerts in cart with Twenty-One
CORE-16187 - Utilize translation string for Contact Us in Twenty-One
CORE-16193 - Correct button for Registrar Lock in Twenty-One
CORE-16200 - Ensure admin notification for ticket change uses correct respondent name
CORE-16203 - Prevent erroneous warning regarding template change when configuring Stripe
CORE-16208 - Prevent error when updating while hooks debug is enabled
CORE-16215 - Provide better error message when prematurely accessing application during installation
CORE-16219 - Correct display of 'amount' on order summary for domain renewal with previous price override
CORE-16233 - Correct checkout button for domain suggestion results
CORE-16238 - Correct field requirement assertion for new client creation in cart checkout
Modules
MODULE-7550 - Ensure failure is logged for CreateFileWithinRoot in Plesk
MODULE-7558 - Redirect to clientarea if session is invalidated during PayPal Checkout subscription setup
MODULE-7566 - Ensure card billing address is not reset upon invoice payment with Stripe
MODULE-7568 - Ensure consistent metadata values are sent to Stripe
MODULE-7569 - Correct reCAPTCHA error with Stripe
MODULE-7570 - Correct display of payment buttons on invoice for 2Checkout
MODULE-7571 - Correct language selection for 2Checkout
MODULE-7573 - Ensure fees are in client's currency with Stripe
MODULE-7576 - Provide CIRA agreement for .ca TLDs
MODULE-7578 - Redirect to clientarea if session is invalidated during PayPal Checkout one-time payment
Also known as: CORE-16192
API
CORE-15959 - Correct inspection of email address for client associate when clientid is not provided to OpentTicket
CORE-16076 - Implement listing active registrars with API GetRegistrars
CORE-16101 - Correct order of operations for invoice update in InvoiceUnpaid API
Languages
CORE-15964 - Correct orderform translation string for German
CORE-16030 - French language improvements
CORE-16235 - Utilize translation string for Digicert feature comparison in Twenty-One