Wappler 7.7.3 Released
Check the new Wappler site at https://wappler.io/
and download Wappler 7.7.3 from your Account Dashboard
Or just do “check for updates” on the Wappler tray icon for automatic install!
What's New
In this Wappler update we have some great new improvements for you, especially in the AI Manager and the new PHP Routing support.
The new Experimental PHP Routing brings the PHP Support for routing and templating to the level of NodeJS, with support for layout pages, content pages and partial rendering for optimal performance.
It even brings you full Server Side Data Bindings and templating in PHP, so you can use the same powerful features as in NodeJS for your PHP projects.
Our project convertors are also updated to support the new PHP Routing, so now you can easily convert your projects between NodeJS and PHP with the new routing structure.
You can even convert from the old Security Enforcer structure to the new PHP Routing and Security structure, so you can easily upgrade your old projects to the new standards.
We have event added new security options for NodeJS as well, on page and layout level, so you can control the access to your pages based on specific security providers and permissions, giving you more flexibility and control over your project security.
Furthermore we have great improvements in our AI Manager, with better automatic summarization to reduce token usage and keep the conversation going without hitting limits, and many styling improvements in the chat for a better experience and progress tracking.
Also we have updated our Projects HQ template to a full blown project management app, with user management, login, projects, tasks and clients management, showing off many of the features of Wappler and App Connect in a real world demo app. It is also available as template for you to use in your projects.
AI Manager
- Automatic summarize at 85% context size usage, to reduce token usage and keep the conversation going without hitting limits
- Use the new PHP Experimental Routing when enabled and follow its specific instructions
- Improved the instructions for NodeJS and the new PHP Routing and how to use Server Side Data bindings with formatting and conditionals
- Updated styling for checkpoints
- Allow markdown in tool labels
- Fixed incorrect background for checkpoint labels
- Updated labels for some global tools
- Updated labels for editor tools
- Improved styling chat panel
- Fixed incorrect label for editor tools in ai manager if editor was not open
- Improved results display search tool in chat
Project Manager
- Improved the project duplication and conversion to handle the latest PHP Routing changes
- Added legacy convert from the old Security Enforcer to the new PHP Routing and Security structure
- Converting from NodeJS <-> PHP now fully converts routing, security and server side data bindings to the other structure using the latest standards
- Improved the project conversion to handle also special server connect routes
- Allow spaces in the project both - no longer prohibited
- Added default routes with index and main layout usage for new blank projects for NodeJS or PHP with the new Routing
New Security Options
- Add security options on page and layouts to allow you to control the access to this page or pages based on a layout with specific security provider and permissions.
- Work now on both NodeJS and PHP (with the experimental routing options on)
Pages Manager
- New "Full page" option also for NodeJS, to allow you to create directly full pages not dependent on a layout
Routing Manager
- Implement also the new experimental PHP Routing for manual Server Connect routes and allow them to be chosen
- Improved route generation on new projects
Git Manager
- New experimental git manager panel using using the power of git command line, so it is much faster and more reliable than the old one. It is available as experimental option for now, but will be the default in the next major release.
- Do not include remotes in commits list
New Experimental PHP Routing:
- Full implementation of new router loader to support all routing features as in NodeJS
- Full support of Server Side Data and templating
- Full Support of Access restrict on layout or content page level
- Full Support of Server Connect Actions to fetch data on layout or content page level
- Full support of Server Side Data binding from template page data or server connect actions!
- Automatic htaccess generation with all routes
- Prohibit direct php files access - only from routes that define it as layout or content page
- All head pages links without extension, just as in node
- Greatly improve the routing with internal PHP routing table
- Allow restrict per layout and/or content page
- Load dedicated Server Connect action for Server Side data bindings per layout/content page
- Deny direct access to php files that are being used in routing - layout or content pages
- Added new format for layout pages, header so server connect action can be used directly
- New inspector for App body for layout pages to allow to choose server action or security provider
- When creating new PHP projects with the new Routing - auto create the first layout main page and add index page
Server Side PHP Data Bindings
- Added support for PHP Server Side data bindings
Wappler Local PHP Server
- Improved the level of htaccess support, so now support new http status codes and rewrites, so the new php routing works well our of the box
- Improved the active server check - to be executed without making http calls
- Auto start PHP server, even if the user denies to install the php composer packages
PHP Composer
- Remove the force PHP 8.2 version for components
- Auto update composer to 2.9.0+ for the latest PHP 8.5 support
NodeJS AI knowledge
- Improve the CRUD naming conventions and prefer usage of $_GET/$_POST for Server Connect API actions
- Improve further the descriptions of routes in NodeJS and that api routes are automatically generated so no need to add them as well unless alias is needed
- Improved the knowledge about routing and options like caching and ratelimiting
- Explained the new restrict options per page and layout
- Improve instructions about best security practices and preferred usage of high encrypted hashes with Argon2 as passwords
Bootstrap 5 AI Knowledge
- Improve general Bootstrap 5 usage instructions to be more optimal and clear for AI agents
General
- Improved the communication and synchronization between content page and layout pages
- Greatly improved creating new projects speed and reliability
- Improved auto adding frameworks on new pages
- Improve auto save when creating new files on project open
- Improve the demo installation so it doesn't reset the last opened date on demo refresh
- Improved integrity check on code editors to only check when editor has focus
Quick open
- Greatly improved in speed and search results
- Added new exclude config option
- limit quick open results to 200 items
- improved abortion of search
Server Connect Node 2.8.0
- Great improvement in NodeJS and the way it handles middleware like rate limiting, caching and now also access restricts
- You can now restrict access to a page directly based on security provider. Specify that in the page/layout App root options.
In detail:
- Moved inline middleware within setup/routes.js as actual middleware functions to core/middleware.js
- Create an array of middleware before the serveraction depending on the configuration
- Added a restrict middleware to restrict per route using existing security provider
- Added restrict middleware to page routes
- Use the actual restrict step in the middleware to support all security providers
- Apply only middleware to routes that are not a page, redirect, proxy or api endpoint
- Added a max to while loop in test to prevent infinite loops
- Clear break error after exec action
- Do not apply ratelimiter/csrf middleware to options requests
- Cleanup old restrict middleware
- Inverted the order for route parsing, parse routes.json first for highest priority before automatically generated routes
- Allow restrict to be used on layouts also - takes precedence of age restrict
- Removed the break in exec step since this breaks nested repeats/if statements
- Added username to session in security provider
- Added impersonate username options
Server Connect PHP
-
Full implementation of new router loader to support all routing features as in NodeJS
- Full support of Server Side Data and templating
- Full Support of Access restrict on layout or content page level
- Full Support of Server Connect Actions to fetch data on layout or content page level
- Full support of Server Side Data binding from template page data or server connect actions!
-
Switch to new require_once format with universal path for all Server Connect Action files. Fully backwards compatible. Will be used when action file is saved.
old one was:
require('../../dmxConnectLib/dmxConnect.php');
new one is:
require_once($_SERVER["DOCUMENT_ROOT"] . "/dmxConnectLib/dmxConnect.php"); -
Add the new require path to the AI knowledge and all page generators
Project HQ Template
- Improved CRUD naming to follow our standards
- Added full user management and login
- All pages are shielded now behind login
- Added demo credentials - demo/demo and admin/admin
- The special admin account that allows to manage the users
- show the current user in the header
- Logout option goes back to login page
- Store user passwords as Argon2 encrypted hashes to follow the best security practices
- Use more Server Side Data Bindings and expressions to show current user and do server side conditional rendering
- Improved login page layout and styling
Note: When running on mac with the local server on - you might get an error that argon2 is not installed, we will fix that in the next update for now you can just add the argon2 module to the package.json and choose to install the node modules from the bottom toolbar.
Demo Project HQ
- Bumped the version of the demo so the new updated template Project HQ gets installed
Wappler Local NodeJS Server
- added missing files for the local argon2 modules on Windows