The release notes for this new version:
- Added a plugin script for running the "Festival" solver by Yaron Shoham.
Festival is a milestone in the history of the Sokoban game.
It's the first program reported to have solved all 90 XSokoban levels, the de facto test suite in the academic literature on Sokoban.
The first time you activate this solver plugin, you will be asked to edit its settings.
In particular, you must specify where the solver program itself is located on your computer.
- Previously, the plugins for running external solvers and optimizers relied on the external programs to respect the time limit chosen for the task by the user.
If the external program got stuck, for instance waiting for a user response to an error message, then the plugin would wait until the user intervened.
Now the plugins check the same time limit as the external programs and terminate the task when the time is up, if necessary. (Previously, there was a workaround in form of activating the host side time limit offered by Sokoban YASC in the settings in section "Control | Tools", but now this is unnecessary.)
- Sokoban YASC is implemented in the programming language "Delphi 4" and its accompanying GUI (graphical user interface) library.
The GUI library is used for handling all the screen activities, e.g., displaying windows, texts, handling menus, drop-down lists, etc.
Unfortunately, this GUI library has a bug that Sokoban YASC can do nothing about.
If the user changes the computer configuration by adding or removing monitors while Soboban YASC is running, then the GUI library is not aware of the changes.
The result can be an abnormal termination of the application, if the user moves windows around on the monitors.
Now Sokoban YASC makes an attempt to terminate gracefully before such an abnormal termination occurs, but it cannot be guaranteed that is works under all circumstances.
Thanks to Anian Wu for reporting this issue.
- Bugfix: The accompanying solution optimizer programs YASS and YASO did not handle solutions correctly in this scenario:
The level start position is also a solved position (all boxes on goal squares), and the solution (either the seed solution or an improved solution found by the optimizer) starts and ends with the player on the same square.
The optimizers are not geared to optimize levels and solutions with both of these characteristics and must terminate the processing in that case.
Instead, the optimizers sometimes returned a 0-pushes "optimized" solution, reflecting the fact that the start position is also a solved position.
Thanks to Anian Wu for reporting this bug.
- Minor changes.
A feature comparison of the main Sokoban programs can be found in the Sokoban Wiki.