5.9.0
Released on December 15, 2023
Summary
This is a feature release for 5.9.0.
Important Highlights
- Added the ability to search for availability and register domains under a client profile page as staff.
- Added the ability to customize the staff and client expand areas for services using the Universal Module.
- Added the ability to blacklist IP addresses (CIDR) and email addresses (wildcard) for logins, orders, support.
- Added the ability to re-generate welcome emails and send them to the client.
- Added a new Package option to disable automatic activation of paid pending services. Useful for services that need to be manually provisioned.
- Added a permission for Quotations for contacts and account managers.
- Added additional info logging for new and updated contacts and account managers.
- Added the ability to split invoices. Useful for separating services to be paid separately.
- Added the ability for clients to add a recovery email address to their account that receives a copy of password reset emails.
- Added a new setting for service module renewals that fail, to space out re-attempts.
- Added the registrar module Openprovider.
- Added the Indonesian payment gateway Duitku.
- Added support for PHP 8.2.
- Updated the PayUMoney payment gateway to add support for webhooks.
- Updated the Stripe Payments gateway to specify API version.
- Updated the OpenSRS registrar module to add support for TLD import and price sync.
- Updated configurable options and groups to allow for bulk delete.
- Updated Tools > Logs to add a date and string filter to make finding things in the logs easier.
- Updated payment received emails so they correctly go to billing contacts.
- Much more...
Developer Notes for Blesta 5.9
- If you haven't already, we recommend updating your extensions to work with PHP 8.0-8.2.
PHP 8
We recommend exercising caution when using PHP 8 for production use. Many 3rd party or custom extensions may not yet be compatible with PHP 8.
Blesta supports PHP 7.2, 7.3, 7.4, 8.1, 8.2 through Ioncube using the default files, and PHP 8.0, 8.1, 8.2 through SourceGuardian via the hotfix-php8 directory.
Domain Registrar Modules
Reminder: Registrar modules should define their type in config.json as: "type": "registrar",
Hotfix Notice
Blesta no longer supports versions older than PHP 7.2, so there is no longer a need to ship hotfixes for those versions. A hotfix is included for PHP 8.0/8.1/8.2 for Source Guardian, but no hotfix is needed for PHP 7.2, 7.3, 7.4, 8.1, and 8.2 when using Ioncube.
Total: 72 . Chart by: Issue Type
Total: 72 . 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-5051 — ConnectReseller: Registering domain under client profile returns error "The domain name is not supported."
CORE-5050 — Internet.bs: Name Server error when transferring domain
CORE-5048 — When editing an invoice, the text "Close" appears below the invoice widget.
CORE-5047 — Update version and extension - 5.9.0
CORE-5046 — Cannot void invoice if associated service was deleted
CORE-5045 — Update version and extension - 5.9.0-b2
CORE-5042 — Update guzzlehttp
CORE-5041 — Twilio: Update SDK
CORE-5039 — Order: Remember links on domain and other does not appear to work
CORE-5038 — Internal: Add statistic collection to Blesta
CORE-5037 — Cannot delete pending addon services from services widget
CORE-5032 — Domains: Transfer checks through the admin interface never use the module
CORE-5031 — RegistrarModule::checkTransferAvailability() needs a better defualt
CORE-5029 — Client has no way of changing their recovery email
CORE-5028 — Service link is lost when invoices are split
CORE-5027 — Domain Manager: Error when clicking the Parent link on a domain on a client profile
CORE-5026 — Domain Manager: Manage links on Billing > Domains should link domain manage
CORE-5025 — Domain Manager: Fields not repopulated on edit during admin creation
CORE-5023 — Remove htmlentities from Data Feeds
CORE-5021 — Domains: Transfer prices may not get set by price sync
CORE-5020 — Domains: When importing TLDs, if a TLD fails it is still created with 0.00 pricing
CORE-5018 — Import Manager: Cli importer casts password to lowercase
CORE-5016 — Order: Coupons cannot be updated via link after one has already been applied
CORE-5014 — PayPal Checkout: Company Name length or content may cause failed transactions
CORE-5011 — Resolve excessive log notices on PHP 8.2
CORE-5010 — Blacklist improvements
CORE-5009 — Universal Module: Newlines not being displayed in service info
CORE-5007 — Order: Referrals may be improperly canceled
CORE-5004 — Services::renew does not set module row on the module
CORE-5001 — OpenProvider: Implement getDomainNameServers and setDomainNameServers
CORE-5000 — Namesilo: Implement getDomainNameServers and setDomainNameServers
CORE-4999 — Namecheap: Implement getDomainNameServers and setDomainNameServers
CORE-4998 — Logicboxes: Implement getDomainNameServers and setDomainNameServers
CORE-4997 — Enom: Implement getDomainNameServers and setDomainNameServers
CORE-4996 — Implement nameserver methods on all current registrars
CORE-4994 — OpenSRS: Add support for price import / sync
CORE-4992 — Stripe Payments: Declined payments being recorded as error
CORE-4991 — Config option logic may not select re-enabled options properly
CORE-4990 — ConnectReseller: Unable to unlock domain
CORE-4989 — Auto debit attempts seems to be ignored
CORE-4988 — Internet.bs unable to save name servers
CORE-4987 — Invoice filtering is broken
CORE-4986 — PayPal Checkout: Duplicate transaction
CORE-4982 — Update version and extension - 5.8.2
CORE-4975 — Stripe Payments: Update API library to newer version
CORE-4974 — New Report: Revenue by client
CORE-4973 — IP Unblocker: Allow IP to be specified
CORE-4970 — 2Checkout: Update payment button image
CORE-4967 — Domains/Order: Allow transfer prices to be disabled
CORE-4966 — Payment Received emails go to client and not billing contacts
CORE-4965 — Namesilo: Remove debug code
CORE-4962 — Review OpenProvider domain module under MIT to consider forking and maintaining
CORE-4954 — Order: Add a TLD filter option when selecting TLDs that qualify for free domain
CORE-4947 — Update version and extension - 5.9.0-b1
CORE-4945 — Add info logging for when a contact or account manager is added/updated
CORE-4933 — Domain Manager: Within the Domains widget, add a bulk "Unparent" option
CORE-4927 — Add Quotations to contact and manager permissions
CORE-4926 — Blesta Reseller: Error in credit validation query
CORE-4925 — Blesta Reseller: Add ability to exempt packages from credit check
CORE-4918 — Allow clients to add a secondary recovery email address to their account
CORE-4908 — Universal Module: Validate package and service product fields for uniqueness
CORE-4898 — Add an option on invoice edit to split the invoice into two invoices
CORE-4893 — Separate add domain from add services in admin area
CORE-4805 — Service renewal attempt spacing
CORE-4687 — Add a date and string filter for Tools > Logs
CORE-4663 — Add an package option to prevent the automatic provisioning of paid pending services
CORE-4576 — Add a package option to disable automatic activate of services through the module
CORE-4527 — Gateway: Duitku
CORE-4255 — PayUMoney: Implement webhooks and fix redirect
CORE-3784 — Add a bulk delete option to config options/groups
CORE-3274 — Stop Service Provision Attempts After x Failures
CORE-2906 — Mass Mailer: Add rate limit to sending email
CORE-1786 — Allow welcome emails to be re-generated and sent to the client
CORE-737 — Add the ability to ban IP addresses and email addresses.
CORE-710 — Universal Module: Add option to populate service expandable area.