PHPMaker 2026.7 Released

We are pleased to announce the official release of PHPMaker 2026. PHPMaker 2026 is a significant upgrade from v2025, please refer to What's New in PHPMaker 2026 for details.The new version can be downloaded at the Download page.

Note As mentioned, there are a few important changes in system requirements, please read System Requirements and install the prerequisites before installing the new version, especially:

  • .NET Desktop Runtime 8.0.x (x86)
  • PHP >= 8.2.0
  • Node.js (includes npm) (LTS >= v22 or Current >= v24)

IMPORTANT

Please make sure you read Migrating to v2026 first.

PHPMaker 2026 can co-exist with previous version of PHPMaker. You do NOT need to uninstall previous version of PHPMaker if you don't want to.

Before trying the new version, please backup your existing projects first.To purchase license for PHPMaker 2026 or upgrade, please visit the Purchase page.

PHPMaker can be purchased with a subscription license or a perpetual license:

Subscription license - you always get the most updated version (including major version) and email support within the subscription period.

Perpetual license - you own the purchased version for life with 6-month email support from the date of purchase only.

Read Licensing and Purchasing FAQ to decide which type of license you prefer.

For perpetual license: Upgrade policy remains unchanged. 6-month email support.

2025/10/27 v2026.1.0

  • Improved: Add SqlServerTimeType type
  • Improved: Check existence of detail fields
  • Improved: Make sure environment is "dev" or "prod"
  • Improved: Avoid HTML entities shown in Confirm page
  • Improved: Disallow global functions in entity classes
  • Improved: Remove invalid table objects from old project
  • Improved: Client side parseDateTime() (remove invisible chars)
  • Improved: Add registry 'BackupFolder' for custom backup folder location
  • Improved: Allow skipping project backup by registry 'MaxProjectBackupCount' <= 0
  • Fixed: CSS for RTL
  • Fixed: WriteAuditLog()
  • Fixed: Test SMTP settings
  • Fixed: Tables with Custom Fields
  • Fixed: Images folder for header logo
  • Fixed: Read theme.xml from extension
  • Fixed: Navbar dropdown menu item with URL
  • Fixed: Checking for search operators in highlightValue()
  • Fixed: Cannot open UI on some Windows versions (UI)
  • Updated: WebView2 1.0.3537 (UI)
  • Updated: Chart.js, DOMPurify, dompdf
  • Many other minor improvements

2025/11/10 v2026.2.0

  • Improved: Support Twig tags
  • Improved: Ensure supported JWT algorithm
  • Improved: Support client/startup scripts as modules
  • Improved: Add public URL generator for local storages
  • Improved: Backup Folder and WebView2 User Data Folder advanced settings
  • Improved: Allow selecting non updatable fields for update by custom code
  • Improved: AddComposerPackage() for Symfony bundles (User Code)
  • Improved: Allow adding extra entity table/field attributes (User Code)
  • Improved: Keep advanced settings during reinstallation and minor upgrades (UI)
  • Fixed: Use Ajax Action with Inline-Edit
  • Fixed: Custom Template for Add Option page
  • Fixed: Detail table buttons in Preview page
  • Fixed: Symfony/Doctrine deprecation notices
  • Fixed: Context menu for FullCalendar popover
  • Fixed: Chatify extension error during cache warmup
  • Fixed: Entity resolvers for tables with Custom Fields
  • Fixed: UserRepository for user table with Custom Fields
  • Fixed: Showing unsupported query builder icon in reports
  • Fixed: Logging error in production mode with IIS web server
  • Fixed: Table-specific Multi-Column settings not saved (UI)
  • Updated: dompdf extension
  • Updated: WebView2 1.0.3595 (UI)
  • Many other minor improvements

2025/11/25 v2026.3.0

  • Improved: Add TwigFunc()
  • Improved: Disable block-insecure in composer.json (for TinyMCE 6)
  • Improved: Remove PHP tag from custom properties, e.g. default value
  • Improved: Allow enabling non-updatable fields in views for custom code (UI)
  • Fixed: Chatify extension for cache warmup
  • Fixed: Local file systems for cache warmup
  • Fixed: Check switch_user authenticator last
  • Fixed: Check existence of ViewPaging/EditPaging properties
  • Updated: SweetAlert2
  • Many other minor improvements

2025/12/15 v2026.4.0

  • Symfony 7.4
  • MicrosoftGraph Mailer
  • Video constraint (validator)
  • Improved: URL generator with explicit query parameters
  • Improved: Use datetime2 when creating new tables (MSSQL)
  • Improved: Better support for legacy "datetime" columns (MSSQL)
  • Improved: Make sure entity class name not clash with PHP reserved words
  • Fixed: Page size as "ALL"
  • Fixed: Primary key of DateTime type
  • Fixed: Default value of DateTime type
  • Fixed: Update/Delete with Update Table
  • Fixed: Escape "$" in .env.*.local file
  • Fixed: Remove merge() method of EntityManager
  • Fixed: Change Password and Personal Data page
  • Fixed: File name of Custom File (non-PHP file)
  • Fixed: Setting up master parameters for Detail-View/Add/Edit/Delete
  • Fixed: Retrieving npm package versions (UI)
  • Fixed: Generating code by Code Repository (UI)
  • Updated: DOMPurify and SweetAlert2
  • Updated: TinyMCE extension (convert_unsafe_embeds: true)
  • Updated: WebView2 1.0.3650 (UI)
  • Many other minor improvements

2026/01/05 v2026.5.0

  • Improved: ColorPicker extension
  • Improved: Add src/Service folder
  • Improved: Add $httpContext['ViewData']
  • Improved: JsonEncode() for Custom Template
  • Improved: Add known Symfony bundle automatically
  • Improved: Do not hide fields for add/edit with update table
  • Improved: Convert non-alphanumeric field names to property names
  • Improved: Do not redirect to login page if no permissions (social login)
  • Improved: Convert field names with special characters to ASCII property names
  • Improved: Use ext-sodium for "pusher/pusher-php-server" package (Chatify extension)
  • Fixed: Write export log
  • Fixed: DatabaseConnectingEvent
  • Fixed: Load TinyInt field (MySQL)
  • Fixed: RemoveHtml() fro DateTime fields
  • Fixed: DbFields property in login pages
  • Fixed: Auto-increment field (PostgreSQL)
  • Fixed: Boolean field with CHECKBOX Edit Tag
  • Fixed: DbValue field variable name (Custom Template)
  • Fixed: Return sequence number after add (PostgreSQL/Oracle)
  • Updated: SweetAlert2 and Bootstrap Colorpicker
  • Many other minor improvements

2026/01/26 v2026.6.0

  • Improved: LDAP login error handling
  • Improved: Trim email addresses before validation
  • Improved: Entity default value for boolean fields
  • Improved: Remove non-ASCII comments in SQL for parsing (MSSQL)
  • Improved: Support installing multiple recipes with single command
  • Improved: Use phpdocumentor/reflection-docblock v5 for symfony/property-info v6
  • Improved: Handle field with DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (MySQL)
  • Fixed: Paging in View/Edit page
  • Fixed: Add User Level permission
  • Fixed: Add New Row button for Grid-Add/Edit
  • Fixed: Boolean fields with CHECKBOX Edit Tag
  • Updated: jQuery and jQuery Migrate
  • Many other minor improvements

2026/02/09 v2026.7.0

  • Improved: Use CSS class for PDFObject width
  • Improved: Set sandbox_iframes to true (TinyMCE extension)
  • Improved: Support anonymous functions and static methods as Start Page
  • Fixed: Update via API
  • Fixed: Pager in Preview page
  • Fixed: Records per page for export
  • Fixed: Insert/Update with Custom Fields
  • Fixed: Custom Template for summary report only
  • Fixed: Check file name field size for upload fields
  • Fixed: Client side fetch with json data without CSRF token
  • Fixed: Delete button in detail grid when using AJAX actions
  • Fixed: Load default value from table schema (PostgreSQL)
  • Fixed: Audit trail DateTime fields (MSSQL)
  • Fixed: Detect base table name for fields in views (MSSQL)
  • Updated: SweetAlert2 and Font Awesome Free
  • Updated: WebView2 1.0.3719 (UI)
  • Many other minor improvements