Bug
- [CORE-2565] - Renewing services are invoiced for 2 month based on proration
- [CORE-2566] - Service changes not considering current coupon when changing it
- [CORE-2574] - Client notes unstick link doesn't work
- [CORE-2575] - Coupons may not be unapplied from services when deleted
- [CORE-2579] - Adding a config option pricing changes IDs of existing ones
- [CORE-2580] - Services using the none module cause certain cron tasks to fail
- [CORE-2581] - Unpaid pending services may be activated under certain circumstances
- [CORE-2588] - Perfect Money: Payments are not applied to invoices on callback
- [CORE-2592] - Unpaid proforma are converted to invoices when adjusted due to cancelled services
- [CORE-2594] - Database credentials escape characters for double-quotes
- [CORE-2615] - Support Manager: Trashed tickets are shown in the client open tab
- [CORE-2683] - Pricings model not setting input rules
- [CORE-2712] - Client data portability filters logs wrong
Improvement
- [CORE-552] - Add support for a data attribute with input fields for auto-generating a password
- [CORE-718] - Order Plugin: Allow restricted packages to be ordered if an authenticated user has access via set packages
- [CORE-886] - Order: Add package group sort control
- [CORE-1840] - Order: Change package group selection from multi-select to drag and drop
- [CORE-2135] - Support Manager: Add new ticket status "On Hold"
- [CORE-2212] - Prorate new addon services to synchronize renew dates with the parent
- [CORE-2479] - Update API to allow for dot-separated actions
- [CORE-2484] - Add permission for deleting packages
- [CORE-2528] - Update events to pass old record state to handlers
- [CORE-2542] - Download Manager: Update file list on plugin manage page to use bootstrap columns
- [CORE-2550] - Staff specific nav cache files
- [CORE-2568] - Update service changes to show multiple coupon fields
- [CORE-2572] - Billing Overview: Add amount invoiced today for proforma invoices
- [CORE-2578] - PayPal: Store payer's email address in the transaction reference field
- [CORE-2587] - Support Manager: Update 'trash' ticket status rule to apply only on edit
- [CORE-2595] - Automatic invoice notes should format amounts
- [CORE-2608] - Add note about client groups overriding settings
- [CORE-2609] - Make "client required fields" name consistent
- [CORE-2630] - Update preAction event to be called at end of the action
- [CORE-2668] - Add tabs to company Automation page broken down by task type
- [CORE-2687] - Add plugin to Appcontroller.structure
- [CORE-2713] - Order: Add text to indicate how package groups should be added to the order form.
New Feature
- [CORE-768] - Add a reason response for suspension notices.
- [CORE-2338] - Allow plugins to register service management options
- [CORE-2563] - Support Manager: Bulk ticket actions should maintain current view
- [CORE-2583] - Order: Add ability to save embed code to order forms for conversion data collection.
- [CORE-2584] - SolusVM: Generate a password automatically for client root password changes
- [CORE-2586] - Download Manager: Display a different message to unauthenticated users when viewing empty folders
Story
- [CORE-1589] - Support Manager: Allow tickets to be permanently deleted.
- [CORE-2435] - Allow modules to create their own automation tasks
- [CORE-2546] - Add ability to disable submit buttons on submit
- [CORE-2672] - Data Portability Export
- [CORE-2678] - Allow for full deletion of client data
- [CORE-2679] - Add opt-in support for marketing emails
Task
- [CORE-2559] - Remove Yahoo Finance directory on condition it exists
- [CORE-2564] - Remove text describing 'inclusive' coupons
- [CORE-2626] - cPanel: Mask passwords received in cPanel API response
- [CORE-2637] - DirectAdmin: Update API suspension arguments
- [CORE-2703] - Add Report.clientData event to core event system
- [CORE-2708] - X-Rates exchange rate processor changed URL
- [CORE-2709] - Google Finance exchange rate processor is no longer supported
- [CORE-2710] - Fixer.io exchange rate processor has a new endpoint
- [CORE-2711] - Add permission to the company setting Marketing page
Sub-task
- [CORE-2481] - Order: Allow single-submission of order
- [CORE-2547] - Add JS support to auto-disable submit buttons on submit
- [CORE-2548] - Update forms in the admin/client interface to disable submit buttons on submit
- [CORE-2562] - Support Manager: Database fields are not correct on install
- [CORE-2638] - Update modules to support cron tasks
- [CORE-2639] - Refactor CronTasks to support module tasks similar to plugins
- [CORE-2640] - Update CronTasks to ensure backward compatibility
- [CORE-2641] - Add runnable module automation task to cron
- [CORE-2674] - Add new company setting for marketing emails
- [CORE-2675] - Order: Observe and display marketing email options
- [CORE-2688] - Add JSON format support for ReportManager
- [CORE-2689] - Create new Report.clientData event handler
- [CORE-2690] - Support Manager: Support the Clients.export event handler
- [CORE-2691] - Create the Client Data Portability report
- [CORE-2692] - Create a new log for client settings
- [CORE-2693] - Integrate logging for client settings
- [CORE-2695] - Setup new container for a local user
- [CORE-2696] - Support Manager: Add listener for Clients.delete event
- [CORE-2697] - Order: Add listener for Clients.delete event
- [CORE-2698] - Update client deletion to permanently delete all stored references
- [CORE-2699] - Client Documents: Add listener for Clients.delete event
- [CORE-2700] - Update the "Delete Client" profile action
- [CORE-2701] - Add observer event for the core
- [CORE-2705] - Hide unordered list bullet on delete-client modal
- [CORE-2706] - Re-use existing Events Component for plugin events
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.