5.0.0
Released on January 13, 2021
Summary
This is a feature release for 5.0.0. This page will be updated to include tasks completed in subsequent betas as well as the final release.
It's recommended that you do not upgrade directly to 5.0.0, but to 5.0.1 or newer. 5.0.1 addresses some commonly encountered issues with upgrading.
Important Highlights
- Increased system requirements and removed deprecated code and superfluous libraries.
- Upgraded to Bootstrap v4, and Font Awesome v5.
- Added a new Navigation Editor. Staff, Client, and Public navigation items can be sorted, added, or removed.
- Added support for uploading a logo for use in the Staff and Client areas.
- The Staff area was improved for mobile devices.
- Added support for VAT verification through VIES.
- Added emoji support system-wide, updating the character set from utf8 to uttf8mb4.
- Session names can now be renamed in the config file. Useful for multiple Blesta install on the same domain.
- Order Received and Order Received (Mobile) email templates now include additional tags for Address 2, City, State/Province, Zip/Postal Code, and Country.
- File based monologs generated by the cron are now named differently.
- Twilio updated to use the latest SDK.
- Updated the PostalMethods integration to use their new API for postal delivery of invoices.
- SolusVM updated to add support for noVNC console.
- Much more...
Developer Migration Guide for Blesta 5.0
Deprecated Functionality
Much deprecated functionality has been removed, see a deprecation list here https://docs.blesta.com/display/dev/Deprecated+Functionality
Highlighted Removals
- Events - Replaced by \Blesta\Core\Util\Events, see examples at https://docs.blesta.com/display/dev/Creating+Events
- Json - Use native PHP functions json_encode and json_decode
- Blesta\Core\Util\Events\Common\AbstractEvent::getReturnVal, replaced by AbstractEvent::getReturnValue
- Blesta\Core\Util\Events\Common\AbstractEvent::setReturnVal, replaced by AbstractEvent::setReturnValue
- Invoices::calcLineTotals and Invoices::getItemTotals, see Blesta\Core\Pricing[http://source-docs.blesta.com/package-blesta.core.Pricing.html]
New Actions/Navigation
- All current Plugin action functionality remains backward compatible, but it is preferable to use the new models/methods/arguments.
- A new Actions model has been added which allows you to create widget inclusions, client profile action links, and *potential* navigation items
- The 'action' and 'uri' properties of items returned by Plugin::getActions have been replaced by 'location' and 'url' respectively
- The 'action' values 'nav_primary_staff', 'nav_secondary_staff', 'nav_primary_client', and 'nav_secondary_client' have been replaced by the location values 'nav_staff', 'nav_client', and 'nav_public'
- Actions returned by Plugin::getActions will automatically be added to the end of their respective navigation menus
- Plugin::getActions can now determine navigation hierarchy using the 'parent_url' property to place an item under the appropriate parent item
Updated UI Libraries
- Bootstrap 4 https://getbootstrap.com/docs/4.0/migration/
- Font awesome 5 https://fontawesome.com/how-to-use/upgrading-from-4/
- jQuery 3 https://jquery.com/upgrade-guide/3.0/
- CKEditor 5 https://ckeditor.com/docs/ckeditor5/latest/index.html
- New Blesta jQuery method .blestaBindWysiwygEditor(options) replaces .ckeditor(callback, options) and handles default configuration
- Current loading of the js files 'blesta/ckeditor/ckeditor.js' and 'blesta/ckeditor/adapters/jquery.js' should be replaced with a single load of 'blesta/ckeditor/build/ckeditor.js'
Hotfix Notice
Blesta no longer supports versions older than PHP 7.2, so there is no longer a need to ship hotfixes.
Files and Directories Removed as of 5.0 from earlier versions
Not all of these files and directories existed in 4.12, but none of them are included in 5.0 and the upgrader will attempt to delete them if they exist.
Directories Removed
- /app/views/default/javascript/jqplot
- /components/gateways/nonmerchant/_2checkout
- /components/acl
- /components/input
- /components/events
- /components/json
- /components/pricing_presenter
- /components/record
- /components/session
- /helpers/areyouahuman
- /helpers/date
- /helpers/form
- /helpers/html
- /helpers/javascript
- /helpers/pagination
- /helpers/recaptcha
- /helpers/xml
- /vendors/amazons3
- /vendors/binary-to-text-php
- /vendors/ckeditor
- /vendors/consoleation
- /vendors/fugue_icons
- /vendors/fullcalendar/fullcalendar
- /vendors/fullcalendar/jquery
- /vendors/h2o
- /vendors/jqplot
- /vendors/json
- /vendors/maxmind/geoip
- /vendors/parsedown
- /vendors/phpass
- /vendors/phpunit/dbunit
- /vendors/phpseclib/Crypt
- /vendors/phpseclib/File
- /vendors/phpseclib/Math
- /vendors/phpseclib/Net
- /vendors/phpseclib/System
- /vendors/php-markdown
- /vendors/sshterm-applet
- /vendors/swiftmailer/lib
- /vendors/tcpdf
- /vendors/vcard
Files Removed
- /app/views/admin/default/javascript/jquery-1.8.3.min.js
- /app/views/admin/default/javascript/jquery.qtip.js
- /app/views/admin/default/fonts/fontawesome-webfont.eot
- /app/views/admin/default/fonts/fontawesome-webfont.svg
- /app/views/admin/default/fonts/fontawesome-webfont.ttf
- /app/views/admin/default/fonts/fontawesome-webfont.woff
- /app/views/admin/default/fonts/fontawesome-webfont.woff2
- /app/views/admin/default/fonts/FontAwesome.otf
- /app/views/client/bootstrap/fonts/fontawesome-webfont.eot
- /app/views/client/bootstrap/fonts/fontawesome-webfont.svg
- /app/views/client/bootstrap/fonts/fontawesome-webfont.ttf
- /app/views/client/bootstrap/fonts/fontawesome-webfont.woff
- /app/views/client/bootstrap/fonts/fontawesome-webfont.woff2
- /app/views/client/bootstrap/fonts/FontAwesome.otf
- /lib/cache.php
- /lib/configure.php
- /lib/controller.php
- /lib/dispatcher.php
- /lib/language.php
- /lib/loader.php
- /lib/model.php
- /lib/router.php
- /lib/stdlib.php
- /lib/unknown_exception.php
- /lib/view.php
- /vendors/html2text/html2text.class.php
- /vendors/phpseclib/openssl.cnf
- /vendors/swiftmailer/CHANGES
- /vendors/swiftmailer/LICENSE
- /vendors/swiftmailer/README
- /vendors/swiftmailer/VERSION
Total: 209 . Chart by: Issue Type
Total: 209 . Chart by: Priority
All updates for this release (May be limited to first 200)
CORE-5436 — Update Blesta Reseller API and Modules
CORE-5270 — Gateway: Blockonomics
CORE-5185 — Virtualmin: Add support for sub-domains under pre-determined domain
CORE-5176 — Stripe Payments: Always request 3ds for client initiated operations
CORE-5167 — Namesilo: Improve contact handling
CORE-5122 — Paysera Payment Gateway
CORE-5075 — Config option logic: admins should be able to set any configuration
CORE-5074 — Config options: Allow options to be maintained on edit
CORE-5038 — Internal: Add statistic collection to Blesta
CORE-4994 — OpenSRS: Add support for price import / sync
CORE-4918 — Allow clients to add a secondary recovery email address to their account
CORE-4732 — Support Manager: Add support for staff KB articles
CORE-4637 — License Manager: Versions
CORE-4516 — Authorize.net new gateway using Accept.js API for reduced PCI
CORE-4512 — Add an option to append package descriptions to invoice line items.
CORE-4223 — Order: Config option logic
CORE-4202 — Config option logic validation
CORE-4201 — Config option logic configuration page
CORE-4200 — Config option logic display
CORE-4199 — Config option logic database changes
CORE-4181 — Exception when entering OTP code more than 16 characters
CORE-4152 — Order: Anyone can cancel an order from the order history
CORE-4125 — Ignore php 8 only symfony file in linting process
CORE-4122 — Update version and extensions - 5.0.0
CORE-4121 — Clicking the Add Contact link in the client area results in a 404
CORE-4120 — Editing a contact as a client sometimes produces an error.
CORE-4119 — Editing a contact as a client does not show permissions if enabled for login
CORE-4118 — Multiple FIVE themes created during upgrade
CORE-4116 — Make action migration more robust
CORE-4115 — Support Manager: Clients cannot close tickets
CORE-4114 — Logo fetching may use undefined function
CORE-4112 — Support Manager: Attachment dropzone extends far above intended
CORE-4111 — Add CKEditor HTML Embed plugin
CORE-4109 — Staff navigation may show multiple active items
CORE-4098 — Client Profile Client ID missing link
CORE-4097 — Package "Load Sample Email" button loads text but not HTML welcome email
CORE-4095 — Look and Feel > Customize > Client and Staff tabs hand on hover
CORE-4094 — Look and Feel > Customize logo url not working
CORE-4093 — Object passed instead of string to json_decode()
CORE-4092 — Update version and extensions - 5.0.0-b2
CORE-4091 — Support Manager: Staff and Client area mobile improvements
CORE-4090 — Support Manager: When searching tickets, search notes
CORE-4089 — Reordering nav item with sub-items causes them to be unmarked
CORE-4088 — Disabled widgets get listed in the "Manage Widgets" modal
CORE-4087 — Order: Affiliate activation adds link to primary staff nav
CORE-4086 — Add Discord invite link to Help Resources
CORE-4085 — Order: Fix Affiliates links row styling
CORE-4083 — Support Manager: Client knowledge base "empty" info box not full-width
CORE-4082 — Default client svg logo displayed large in preview
CORE-4081 — Navigation bar empty on additional companies
CORE-4080 — Order: Company setting "hold_unverified_orders" doesn't exists on a fresh installation
CORE-4079 — Look and Feel > Customize radio option format
CORE-4078 — Client card text color picker defaults to wrong color
CORE-4077 — Changing logo url on selected theme should update header
CORE-4076 — Look and Feel Navigation improvements
CORE-4075 — Fatal error when visiting Settings > Company > Automation page
CORE-4074 — Tables are still created with utf8_unicode instead of utf8mb4_unicode
CORE-4073 — Client Profile client_detail_box margin
CORE-4072 — Editing a payment account can sometimes result in an error
CORE-4071 — cPanel: Remove deprecated code for v5.0
CORE-4070 — Import Manager: Remove deprecated code for v5.0
CORE-4069 — Extension Generator: Remove deprecated code for v5.0
CORE-4068 — System Overview: Remove deprecated code for v5.0
CORE-4065 — Order: Update to use new action model for updating nav for affiliate system
CORE-4063 — Staff widget button icons fixed width
CORE-4062 — VPS.NET: Remove deprecated code for v5.0
CORE-4061 — SolusVM: Remove deprecated code for v5.0
CORE-4060 — Plesk: Remove deprecated code for v5.0
CORE-4059 — Namesilo: Remove deprecated code for v5.0
CORE-4058 — Multicraft: Remove deprecated code for v5.0
CORE-4057 — Direct Admin: Remove deprecated code for v5.0
CORE-4054 — Support Manager: Remove deprecated code for v5.0
CORE-4053 — Create new FIVE staff theme
CORE-4052 — Universal Module: Remove deprecated code for v5.0
CORE-4051 — Order: Remove deprecated code for v5.0
CORE-4050 — Mass Mailer: Remove deprecated code for v5.0
CORE-4049 — Billing Overview: Remove deprecated code for v5.0
CORE-4048 — Staff interface mobile device improvements
CORE-4047 — Order: Update gulp
CORE-4046 — Remove deprecated code for v5.0
CORE-4045 — Build failures
CORE-4044 — Update the PostalMethods paper integration to use their new API
CORE-4043 — Email verification redirect may lead to a 404
CORE-4042 — Support Manager: Dropzone is broken when using /index.php/ in URLs
CORE-4041 — Order: order_forms order column not added on install
CORE-4040 — Support Manager: Update default card color
CORE-4039 — Orders: Update default card color
CORE-4038 — Client Cards: Update default card color
CORE-4037 — Update client card default colors.
CORE-4036 — Create new FIVE client theme
CORE-4035 — NameSilo: Upgrade Bootstrap to v4.0+
CORE-4034 — Various minor style updates for bootstrap 4
CORE-4033 — Additional invoice lines explosion.
CORE-4032 — Client cards do not pull in text color from plugin
CORE-4030 — Expand icon showing incorrectly on config option page
CORE-4028 — Most things that are suppose to be bold, are no longer bold.
CORE-4026 — Outstanding balance notice in client area broken
CORE-4025 — The caret down and up icons no longer appear in the client area
CORE-4024 — Remove background color from btn-light
CORE-4023 — Initial Setup box statically set to 450px, consider removing this style
CORE-4022 — Bootstrap 4 installer progress bar no longer works
CORE-4018 — System Status: File permission check will fail on parent directory .. if it is not owned by the same user
CORE-4012 — IP Unblocker: Upgrade Bootstrap to v4.0+
CORE-4011 — Download Manager: Upgrade Bootstrap to v4.0+
CORE-4010 — Client Documents: Upgrade Bootstrap to v4.0+
CORE-4009 — Support Manager: Upgrade Bootstrap to v4.0+
CORE-4008 — Portal: Upgrade Bootstrap to v4.0+
CORE-4007 — Order: Upgrade Bootstrap to v4.0+
CORE-4006 — Client Cards: Upgrade Bootstrap to v4.0+
CORE-4005 — WHMSonic: Upgrade Bootstrap to v4.0+
CORE-4004 — Vultr: Upgrade Bootstrap to v4.0+
CORE-4003 — VPS.NET: Upgrade Bootstrap to v4.0+
CORE-4002 — VirtualMin: Upgrade Bootstrap to v4.0+
CORE-4001 — Vesta: Upgrade Bootstrap to v4.0+
CORE-4000 — TheSSLStore: Upgrade Bootstrap to v4.0+
CORE-3999 — TeamSpeak: Upgrade Bootstrap to v4.0+
CORE-3998 — Tcadmin: Upgrade Bootstrap to v4.0+
CORE-3997 — SolusVM: Upgrade Bootstrap to v4.0+
CORE-3996 — Pterodactyl: Upgrade Bootstrap to v4.0+
CORE-3995 — Proxmox: Upgrade Bootstrap to v4.0+
CORE-3994 — Plesk: Upgrade Bootstrap to v4.0+
CORE-3993 — Namecheap: Upgrade Bootstrap to v4.0+
CORE-3992 — Multicraft: Upgrade Bootstrap to v4.0+
CORE-3991 — LogicBoxes: Upgrade Bootstrap to v4.0+
CORE-3990 — ISPmanager: Upgrade Bootstrap to v4.0+
CORE-3989 — ISPConfig: Upgrade Bootstrap to v4.0+
CORE-3988 — Interworx: Upgrade Bootstrap to v4.0+
CORE-3987 — GoGetSSL: Upgrade Bootstrap to v4.0+
CORE-3986 — Enom: Upgrade Bootstrap to v4.0+
CORE-3985 — DirectAdmin: Upgrade Bootstrap to v4.0+
CORE-3984 — CyberPanel: Upgrade Bootstrap to v4.0+
CORE-3983 — CWatch: Upgrade Bootstrap to v4.0+
CORE-3982 — cPanel: Upgrade Bootstrap to v4.0+
CORE-3981 — CentovaCast: Upgrade Bootstrap to v4.0+
CORE-3980 — CentOS Web Panel: Upgrade Bootstrap to v4.0+
CORE-3979 — Blesta License: Upgrade Bootstrap to v4.0+
CORE-3978 — ApisCP: Upgrade Bootstrap to v4.0+
CORE-3975 — Import Manager: Add additional error handling
CORE-3974 — Invoice creation ignores currency precision.
CORE-3971 — Nav Buliding Interface
CORE-3970 — Action Creation Interface
CORE-3969 — Navigation Customization Model Changes
CORE-3968 — Navigation Customization Migrations
CORE-3967 — Navigation Customization Tables
CORE-3966 — Navigation Customization
CORE-3963 — Order: Sort order forms
CORE-3962 — Add ability to upload theme logo
CORE-3961 — Pterodactyl: Add backups package field
CORE-3955 — ISPManager: Remove username format restriction for starting with a letter
CORE-3949 — Square: Update checkout API parameters
CORE-3938 — Update version and extensions - 5.0.0-b1
CORE-3936 — System Status: Update log file ownership check
CORE-3935 — Use alternate name for monolog files created by cron
CORE-3932 — Download Manager: Upgrade jQuery
CORE-3924 — Add emoji dropdown everywhere ckeditor is used
CORE-3920 — Billing Overview: Upgrade jQuery
CORE-3919 — Support Manager: Upgrade jQuery
CORE-3918 — Order: Upgrade jQuery
CORE-3914 — 2Checkout composer incompatibility
CORE-3912 — Namesilo: Implement Registrar interface
CORE-3911 — Namecheap: Implement Registrar interface
CORE-3910 — Logicboxes: Implement Registrar interface
CORE-3909 — Enom: Implement Registrar interface
CORE-3905 — GoCardless: Add tooltip and update error message for webhook secrect
CORE-3904 — GoCardless: Add USD and CAD
CORE-3899 — Square: Upgrade FontAwesome to version 5
CORE-3898 — Stripe Payments: Upgrade FontAwesome to version 5
CORE-3897 — WHMSonic: Upgrade FontAwesome to version 5
CORE-3896 — Vultr: Upgrade FontAwesome to version 5
CORE-3895 — VPS.NET: Upgrade FontAwesome to version 5
CORE-3894 — Virtualmin: Upgrade FontAwesome to version 5
CORE-3893 — Vesta: Upgrade FontAwesome to version 5
CORE-3892 — Universal Module: Upgrade FontAwesome to version 5
CORE-3891 — TheSSLStore: Upgrade FontAwesome to version 5
CORE-3890 — TeamSpeak: Upgrade FontAwesome to version 5
CORE-3889 — TCAdmin: Upgrade FontAwesome to version 5
CORE-3888 — SolusVM: Upgrade FontAwesome to version 5
CORE-3887 — Pterodactyl: Upgrade FontAwesome to version 5
CORE-3886 — Proxmox: Upgrade FontAwesome to version 5
CORE-3885 — Plesk: Upgrade FontAwesome to version 5
CORE-3884 — NameSilo: Upgrade FontAwesome to version 5
CORE-3883 — Namecheap: Upgrade FontAwesome to version 5
CORE-3882 — Multicraft: Upgrade FontAwesome to version 5
CORE-3881 — LogicBoxes: Upgrade FontAwesome to version 5
CORE-3880 — ISPManager: Upgrade FontAwesome to version 5
CORE-3879 — ISPConfig: Upgrade FontAwesome to version 5
CORE-3878 — Interworx: Upgrade FontAwesome to version 5
CORE-3877 — GoGetSSL: Upgrade FontAwesome to version 5
CORE-3876 — Enom: Upgrade FontAwesome to version 5
CORE-3875 — Direct Admin: Upgrade FontAwesome to version 5
CORE-3874 — CyberPanel: Upgrade FontAwesome to version 5
CORE-3873 — cWatch: Upgrade FontAwesome to version 5
CORE-3872 — cPanel: Upgrade FontAwesome to version 5
CORE-3871 — CentovaCast: Upgrade FontAwesome to version 5
CORE-3870 — CentOS Web Panel: Upgrade FontAwesome to version 5
CORE-3869 — Blesta License: Upgrade FontAwesome to version 5
CORE-3868 — APNSCP: Upgrade FontAwesome to version 5
CORE-3867 — Extension Generator: Upgrade FontAwesome to version 5
CORE-3866 — System Status: Upgrade FontAwesome to version 5
CORE-3865 — System Overview: Upgrade FontAwesome to version 5
CORE-3864 — Reassign Pricing: Upgrade FontAwesome to version 5
CORE-3863 — PHPIDS: Upgrade FontAwesome to version 5
CORE-3862 — Mass Mailer: Upgrade FontAwesome to version 5
CORE-3861 — Feed Reader: Upgrade FontAwesome to version 5
CORE-3860 — Download Manager: Upgrade FontAwesome to version 5
CORE-3859 — Portal: Upgrade FontAwesome to version 5
CORE-3858 — Billing Overview: Upgrade FontAwesome to version 5
CORE-3857 — Client Documents: Upgrade FontAwesome to version 5
CORE-3855 — Order: Upgrade FontAwesome to version 5
CORE-3854 — Support Manager: Upgrade FontAwesome to version 5
CORE-3830 — Twilio: Update twilio SDK to latest version
CORE-3813 — Create Registrar interface
CORE-3808 — Update minimum PHP version to 7.2 and update vendor code to newly support version
CORE-3798 — Domain Manager: Plugin setup
CORE-3791 — Support Manager: Add support for emojis (4 byte characters) to support summary and replies
CORE-3787 — Domain Manager: getActions, getPermissions, etc.
CORE-3786 — Domain Manager: Basic files
CORE-3780 — VAT Verification
CORE-3761 — Order: Include all address field tags for Order Received Email templates
CORE-3636 — Allow a configurable option to be created that determines Server Group or Module Row
CORE-3274 — Stop Service Provision Attempts After x Failures
CORE-3090 — Remove calls to create_function
CORE-3077 — Add session names as values to the config file
CORE-3003 — Removal of deprecated functionality
CORE-2906 — Mass Mailer: Add rate limit to sending email
CORE-2899 — SolusVM: Update to use the VNC client
CORE-2897 — Integrate noVNC
CORE-2876 — Upgrade Full Calendar
CORE-2867 — Remove all superfluous libraries and files
CORE-2779 — Upgrade jQuery
CORE-2777 — Upgrade Bootstrap to v4.0+
CORE-2684 — Upgrade FontAwesome from version 4 to version 5
CORE-2670 — Support Manager: When searching tickets, search all replies and notes
CORE-1935 — Add an expand icon for all expandable rows
CORE-1812 — BrainTree: Add support for CC offsite
CORE-1708 — Add support for config option logic
CORE-710 — Universal Module: Add option to populate service expandable area.