XDebug stable released

 administrator    11 Dec 2023
 None    blog


So we started our beta test...

Good news! XDebug has released a stable version that is compatible with PHP 8.3. Because of that, we started beta testing and expect to release PHsPeed version 3.3 in January. The PDO drivers for SQLServer are not yet available, so if you are on SQL Server, you must wait until Microsoft releases them. But until then, you will still have the benefits of the improvements.

We have gotten some questions about road mapping and the numbering of releases. I'm most happy to answer these.

Regarding the road map for future releases, we have several plans.

1. Support for HiDPI monitors.

We have made some corrections that fix some issues when you run on 2K monitors. However, on 4K monitors, the icons become too small and several other problems will occur. It is always possible to use a lower resolution, but to switch between them is not very handy. The main problem is that the tool we use to develop our IDE is not HiDPI aware for all components, especially those of 3rd parties. We depend on those but are actively working to help fix them. We will not release it tomorrow, but we are slowly integrating fixes that are downwards compatible. For one, we must change the icon sets used, as we require different resolutions. As many icons are used, it is quite a time-consuming task to find and implement suitable icons.

2. Create your own components.

In future releases, it will become possible for you to write your own components, and we have plans to open a marketplace for them. We have already started to implement the tools in the IDE, but as above, it will be introduced step-by-step. Currently, the scripting language is implemented, and you can open component forms, to look at properties and events.

3. Bootstrap 5.

As we use many open-source (MIT) components, we depend on the availability of those components regarding compatibility with Bootstrap 5. We will adopt Bootstrap 5 it is already there, but not fully supported yet. There is no rush, as there are many sites that even work fine under Bootstrap 3. But we try to keep up with all developments in that regard.

4. New components

We release new components on a regular base. We changed the lanes component to provide better support for writing Kanban-like dashboards. But we will also implement new components that will make developing dashboards easier, like gauges for example.

Of course, we are always eager to find out your requirements to improve PHsPeed. So don't hesitate to contact us if you have ideas, remarks, or any other reason why you need contact.

Finally something about our version numbering.

You are presented with two different numbers when you install a new version. The first one is the version number or the PHsPeed IDE. For instance, 3.3. A build number like B1, B10, etc follows that number. These are the official release numbers. If the build version increases, there are mostly bug fixes or minor improvements. But when you are requested to install a newer release a simple number is presented, i.e. 350. And it is very well possible that your previous number was 342. To understand this principle I need to explain how we maintain our development.

In development, we are constantly working on a new release. When we think it is ready for testing, we deploy it in a different environment to test the installation procedure. We also try how the product runs under different versions of Windows, databases, etc. Every time we deploy the application, regardless of the reason, the release number increases. So, usually, there is a gap between the release numbers as we always test in a separate environment. After all, you only see the official releases.

Happy coding!

PHP released version 8.3

 administrator    23 Nov 2023
 None    blog


Today (23rd of November), PHP 8.3 was released.

Today (23rd of November), PHP 8.3 was released. It brings many enhancements and speed improvements. As PHsPeed, we have been working with PHP 8.3 since the first Release candidate, and so far, we have found no issues in our run-time modules, which is good news.

However, we cannot release the support for PHP 8.3 by PHsPeed, although it is fully ready in our development environment. The main reason is that XDebug, the tool that we use in our debugger, is still in the Alpha release. Although it works like a charm, we still consider this a risk, and as a basic principle, we do not want to release PHsPeed versions with tools that do not have a production status and are still in Alpha. For your development, it has no consequences as you can develop under PHP 8.2 and migrate when PHP 8.3 becomes available.

Users of SQL Server need to wait anyway because Microsoft hasn't released their PDO drivers for PHP 8.3 yet. I hope they will release them soon, but it took a couple of months before they released the drivers for PHP 8.2, and it may take a similar amount of time.

Due to changes in XDebug, we had to make some changes in PHsPeed to fix compatibility issues.

The first issue is that the application will generate obscure errors when you start a program in normal mode while XDebug is loaded. We fixed that by loading php.ini, depending on the status. This does take a bit of time as Apache needs to shut down, php.ini copied, and Apache restarted.

Another issue (not XDebug related) is that sometimes PHP files are locked by Apache when you are debugging and closing the debugger. We fixed that by restarting Apache when you run the application.

Finally, there is a DLL conflict between the XDebug environment and Apache environment. They both use a DLL, but of different versions. We have fixed this by changing the Apache environment.

Of course, when we release the next version of PHsPeed, there will also be a lot of improvements, fixes, and enhancements. The list (so far, and not complete).

 - support for PHP 8.3
 - upgraded XDebug
 - upgraded Summernote
 - upgraded JQuery
 - support for dblabel in form generator
 - setting for not-editable form (results in dblabel fields)
 - improved several hints
 - added a button to refresh database connection properties from the db config
 - free html formatted field
 - on creating events, additional remarks are added as an extra guide
 - when selecting an event, the use is also displayed in the property editor
 - if a cdbgrid is used in a module, then user buttons are now supported
 - you can now test your application containing cloudconnector(s) with the application parameters option
 - new property columnwidth for dbtable columns
 - edited record now stay in focus.
 - the rownumber is not reset to 0 after update but rewound to the original.
 - support for multi-step form
 - New lanes component for creating kanban like boards (replacing the current implementation)

// fixes
 - setting dbfields visible/invisible is fixed (could not unset invisible)
 - label pdevtools removed (annoying label with no purpose)
 - bulk edit now accepts label fields
 - label behaves as any input field.
 - snippet code generator simplequery quote fix and improved to only use field in where
 - template component now supports all predefined modes.
 - reimplemented a move of rows/columns to avoid the original issue that sometimes the changes revert.
 - Data structure treeview corrected for the situation that refreshing the tree could caused stacking
 - Required on dropdown is now working
 - Custom fields in DBTable could corrupt insert and update statements.
 - Webserver is reset before run, fixes issues with files being locked while debugging.

PHsPeed is continuously working to improve the product, and we also have great plans for the following releases. But we're always open for good ideas. So if you have remarks, ideas, and even complaints, please let us know.

Happy coding!

The first contours of version 3.1

 administrator    05 Apr 2023
 None    blog


We haven't been resting...

We got some questions about the features that will become available in version 3.1. And as we can imagine that most of our users want to know, we will start by making posts about the features available in this upcoming version. But not before I have said a big thanks to all of you for your input, wishes, requests, remarks, and mostly positive feedback. It is highly appreciated! We try hard to keep up and to perform the best in our response to you. We honestly believe that it is not the art of finding new customers but keeping your current. Too many companies focus on finding new customers and forget their current user pool when the current users should be the ambassador for your product. And to appreciate your work, we have a bounty program. If you are a customer of PHsPeed with a license that is at least 6 months old, then you will get two months free for each customer you bring in.

But what about 3.1?

First of all, and as usual, we fixed a few issues.

  • The tabs in the IDE could be moved with the mouse, while the content stayed the same, causing wrong labels above the tabs. Not something most of you will have noticed, but it was there and is fixed.
  • A more serious one was an obscure error that caused some kind of infinite loop in certain Master-detail relationships. The screen kept refreshing. This one is fixed, and the customers reporting them already have a hotfix available.
  • Sometimes annoying, setting and releasing breakpoints during a debug session was not applied immediately. That is corrected.

Most of the fixed issues can be found in our bug tracker. Yes, I know. It doesn't look fine while we are on PHP 8.1. But we will replace the FireSpray bug tracker with a PHsPeed build version soon. And the good news is, it will also be available for our customers as a sample application.

Then the new features, and we're excited to share these. I will not go into detail yet but will do it in the following posts.

  • Support for conditional breakpoints. This will allow to add an expression to the breakpoint that will fire if the condition is true. Very useful for developers.
  • Support for UUID datatype. This datatype is a unique identifier currently supported by more databases that we can no longer ignore. For MySQL / MariaDB users: this datatype is only supported in the latest versions of MariaDB. For MySQL, the datatype remains varchar.
  • Last-minute ddl extraction. In environments where there are a huge number of tables, retrieving metadata could have a very slow response. To improve, PHsPeed will only retrieve table info when required. Tables not in use will not be touched, which improves the responsiveness hugely.
  • Cosmetic but highly requested: rounded input fields are now supported.
  • Also highly requested: PHsPeed will now only include javascript and css files that are in use, depending on the components that you have put on the form.
  • Code snippets for creating a simple query or email. This will reduce development time because you don't have to look up syntax and properties. Just enter a few parameters, and PHsPeed will generate the code. This feature will be enhanced over the upcoming versions.
  • If you use the refined search option, then you will be able to add a hide/show button.
  • DBnav button properties can now be changed in the events. Change the label and color on the fly.
  • It is now possible to apply for flooding protection. Someone flooding your login page will end up in the ban list after a configurable amount of attempts.
  • The label component now behaves like all the other components, which means it will follow the form rules of label positioning.
  • The code completion is enhanced with the object methods.
  • You can now use forms in a master-detail relationship.
  • On large projects, it is handy to group modules together. This module to organise your project is improved.
  • Debug run when you require a setup of globals can now be set as program parameters.
  • The CSS editor is simplified.

I can imagine that some of these items are a bit unclear. But in the next weeks, we will go over the enhancements. The current status is that we are finishing some of the features before we will start with our alpha testing.

Happy coding!