What's New in PHPMaker 2024
PHPMaker 2024 is another major upgrade from previous version. It is loaded with a bunch of new features, including many frequently requested ones. PHPMaker is probably the most powerful and flexible product of its kind, and yet still easy-to-use as always.
IMPORTANT If you upgrade from previous versions, please note that there are some breaking changes in this version, make sure you read
Migrating to v2024 first.
Bootstrap 5.3.1 and Dark Mode
- Supports [dark mode](htmlsetup.html?id=dark-mode) (with dark/light mode toggler)
- Updated AdminLTE 3.2 for Bootstrap 5.3
- Updated extensions to support dark mode

Chart.js 4 and New Chart Types
- 100% Stacked Charts
 
- Polar Area Charts
 
- Radar charts
 
Enhanced Calendar Reports
- Supports Multi-Month Year View
- Supports Extended Search
- Multi-Page for View/Add/Edit pages
- Custom Templates for Add/Edit/View pages and popover
- New **Event_Adding** server event to show/hide an event or change the event data
- Supports setting FullCalendar options by server event
- Supports dark mode

Query Builder for Dashboard Reports

SSH Connection for MySQL and PostgreSQL

Improve List Actions
Add custom actions simply by **Page_Load** server event only (no need for **Row_CustomAction**), e.g.
Multiple Language Files
- Supports multiple language files for each language
- Supports separate language files for extensions
- Email templates detached from main template and handled similar to language files
- Supports editing email templates in code editor

Doctrine ORM
- Currently supports [Basic Mapping](https://www.doctrine-project.org/projects/doctrine-orm/en/3.2/reference/basic-mapping.html#basic-mapping)
- Using the ``EntityManager`` to insert, update, delete and find objects in the database without writing SQL
- Great for using with server events
- Works with **FieldEncryption** and **RemoveXSS** extensions
Maintenance Mode
- Puts site under maintenace
- Allows setting retry time

Chat Extension (for Registered Users)
- One-to-one chatting system (Group chat is NOT supported)
- Pusher API account required
- Extension supports altering user table and creating new tables for the feature
- User selected avatar and messenger color
- Supports dark mode
 
Improved Preview Extension (for Registered Users)
- Nested preview
- Refresh after modal actions
- Client Script and Startup Script (Preview page)

Progress Window with Text Color and Color Schemes
Supports text color and color scheme like Windows terminal.

Improved User Sessions Management
- Active user sessions
- Logout concurrent users
- Force logout user
New/Improved Server Events
- **Namespace_Use** - For aliasing/importing namespaces
- **Event_Adding** - Show/Hide a calendar event or change the event data
- **MenuItem_Adding** and **Menu_Rendering** - Support ``$this`` to reference the menu object
- **Lookup_Selecting** - ``UserFilter`` supports ``{v1}`` to ``{v4}`` (selected values of parent fields)
- **Event Listeners** - Support multiple listeners for some global events
New Advanced Settings
- **Target PHP version** - 8.0, 8.1 or 8.2
- **Microsoft SQL Server driver** - pdo_sqlsrv or sqlsrv
- **Progress window color scheme**
- **Auto close progress window**
- **AES encryption key (base64 encoded)**
- **JWT signing algorithm**
- **Maintenance mode**
- **Maintenance retry after (seconds)**
- **Use element-internals-polyfill**
More
- Supports PHP >= 8.0.2
- Supports more data types (Note that these fields are not searchable)
- **MySQL** - *binary, geometry*
- **PostgreSql** - *timetz, timestamptz, enum, geometry, geography*
- **Microsoft SQL Server** - *binary, hierarchyid, geometry, geography*
- PHP 8 attributes for route definitions
- PHP enums
- Bootstrap 5.3 [nav underline](https://getbootstrap.com/docs/5.3/components/navs-tabs/#underline) option for Multi-Page
- Expand/Collapse report groups using server event
- Options to clear project folder first (re-generate all files)
- Improved control tag "cond" attribute (supports complex conditions)
- Two factor authentication supports login by 2nd factor only
- Query Builder supports saving search criteria
- Custom Template for Add Option page
- REST API always uses JWT token for user authentication
- Custom View Tag as ReadOnly fields
- Support ``{ProjectNamespace}`` placeholder for Custom Files (for generating classes)
- Autofill for lookup fields
- Supports .svg as brand logo
- Regeneration by CLI commands
- New extension for removing XSS
- New @googlemaps/markerclusterer replaces old @googlemaps/markerclustererplus
- FileManager extensions (for registered users) supports TinyMCE
- New Symfony Notifier extension (for registered users) for sending SMS (replaces AWSSNS extension)
- Many other minor improvements