Simon 2.3.1 released

Simon version 2.3.1 is now available. This release is a bug-fix version, with just a few changes:

  • Rewrote the Port service plug-in to use a helper app to do the work, to avoid instability caused by multithreading and resource usage issues.
  • Added support for the Preview function for the Port service plug-in. It displays the session script at the top, and the actual transcript of the check at the bottom.
  • Changed editor windows to not reuse the window instances, to avoid issues with windows appears incorrectly in some circumstances.
  • Added German localization, thanks to Manfred Brandstater.
  • Updated French localization, thanks as always to Philippe Bonnaure.

I'd like to give special thanks to Manfred for his hard work in getting the German localization done, and also to the couple of German Simon customers who provided feedback on pre-release builds. If you have any feedback on the localization (issues, suggestions for improvements, compliments for Manfred, general comments), please let me know.

Also of note in this version is the rewrite of the Port service plug-in. I've had several reports of crashes and other issues with SImon, which on investigation all traced back to the Port services. There was definitely something NQR there. It's a complex plug-in, though not the most complex. I've tried patching it a couple of times in the past, without complete success, so the time had come to refactor it more significantly. I moved the checking work out into a separate helper app (aka an "agent"). The plug-in launches the background-only helper when starting the check, which does the work, then quits itself when done. This allows avoiding multithreading, which I believe was a factor in the problems, along with some other optimizations that will make it more reliable. And worst case, if it does crash, it won't take out Simon in the process. The crashes do seem to be a thing of the past, though, which is great. Thanks also to the customers who tested pre-release builds with this change.

Another benefit of this refactoring is that it has allowed adding Preview functionality. The Port plug-in did allow previewing in an older version, but I had to disable it when I changed the way the plug-ins worked (from keeping an instance around for the life of the app, to using a separate one for each check). But now I've re-enabled this functionality, and improved it. The Preview window for Port-based services now displays the session script at the top of the window, and the resulting transcript of the check at the bottom (much like for Scripts). This is very handy for ensuring that the test is doing the right thing, or seeing more detail about why it is failing - e.g. whether the session script is incorrect, or the server is misbehaving.

Download Simon now!