CMSB v3.64 Released - MySQL 5.7+ now required
6 posts by 3 authors in: Forums > CMS Builder
Last Post: January 15, 2024 (RSS)
By Dave - December 8, 2023 - edited: January 3, 2024
Hi all!
We're pleased to announce the arrival of the v3.64!
We've increased the version of MySQL required to v5.7.32+ so be sure to check your version before you upgrade. We also support MySQL 5.7+ compatible database servers (MariaDB, Percona, etc.). In general, if your database server has been updated in the last 3 years it should be compatible.
This is mostly a maintenance release, but also sets us up to add more features in future that take advantage of newer MySQL features. More on that to come!
Here's the complete changelog:
*** December 8, 2023 - Version 3.64 (MySQL 5.7 Required)
SERVER REQUIREMENTS: PHP 8.0+ and MySQL 5.7+ (or MariaDB 10.2+)
*** NEW DATABASE REQUIREMENTS
- This version now requires: MySQL 5.7.32+ or MariaDB 10.2+ (increased from MySQL 5.5+)
- Please check with your hosting provider to ensure you have these installed BEFORE upgrading.
MINOR CHANGES
- Admin Menu > Security: Added option to ignore PHP development warnings (E_STRICT, E_DEPRECATED)
- Admin Menu > Server Info: Display PHP Caching Modules to help debug caching issues
- Admin Menu > Server Info: Display CMS Folder and chroot status (to help debug filesystem issues)
- Section Editors: Renamed "Section Editors" to "Database Editor" in CMS Setup menu
- Database: Newly created fields have default values in MySQL now so values don't have to be specified on INSERT
- Database: New createdDate and updatedDate fields now default to current datetime (not 0000-00-00 00:00:00)
- Database: "MySQL Type" is now displayed in its own column under: Admin > Database
ZenDB Improvements
- ZenDB: Added DB::identifier() for `quoting` and escaping MySQL identifiers such as table and column names
- ZenDB: Added $row->toArray() to get an array structure of HTML-encoded values
- ZenDB: Added $resultSet->toArray() to get an array structure of HTML-encoded values
- ZenDB: Added $resultSet->getColumn() to get values from a single column
- ZenDB: Added $resultSet->indexBy() for a column to record map, e.g. $emailToRecord = $resultSet->indexBy('email')
- ZenDB: Added $resultSet->groupBy() for a nested column to record map, e.g. $cityToUsers = $resultSet->groupBy('city')
- ZenDB: Brackets and "get" prefix are now optional for chainable methods, e.g. ->getValues() can be called as ->values
BUG FIXES & Minor Changes
- PHP 8.2 compatibility fixes
- Install: Fixed issue where restoring from backup on install required new admin account info to be entered
- MySQL 8.0: Fixed error when SET innodb_strict_mode was called without SESSION_VARIABLES_ADMIN access
- Error Logging: Improved how error logging catches and logs fatal errors that halt script execution
- View Menus & Tab Groups: Fixed issue where first tab in a tab group wouldn't display currently
- View Menus & Tab Groups: Fixed issue where upload lists wouldn't automatically resize on tab switch
- View Menus: Fixed issue where non-displaying fields with internal category menu fields were incorrectly showing
- View Menus > Advanced Commands: Resolved double HTML-encoding issue that caused actions to not function correctly
- Misc Code and other minor improvements.
You can download the latest version here: https://www.interactivetools.com/order/download.php
Please post any feedback, questions, or bugs you find!
Thanks! :)
interactivetools.com
By Dave - December 8, 2023 - edited: January 3, 2024
And... We added one more post-release fix an open_basedir() warning that could popup on some servers under: Admin > General.
You can download cmsbuilder_3_64_build2461_release2.zip here: https://www.interactivetools.com/download/
Thanks!
interactivetools.com
CMSB v3.63 Released - MySQL 5.7+ now required
By mark99 - January 3, 2024
Shouldn't the title of this thread be v3.64 instead of v3.63? :)
By Dave - January 3, 2024 - edited: January 3, 2024
Ahh yes, you're right. I've fixed that so it's not confusing for anyone. Thanks! :-)
interactivetools.com
By zaba - January 15, 2024
I spotted a problem when upgrading. Because my database name contained hyphens, it was no longer recognised by the system.
To fix this I found the line in the file:
/cmsb/lib/zenDB/Assert.php
if (!preg_match('/^\w+$/', $identifier)) {
throw new InvalidArgumentException("Invalid database name '$identifier', can only contain (a-z, A-Z, 0-9, _)");
}
and change it to
if (!preg_match('/^[\w\-]+$/', $identifier)) {
So that hyphens are recognised in the database name.
By Dave - January 15, 2024
Thanks Zaba! I've updated that code for the next release. Cheers!
interactivetools.com