23 December 2025

bibref: Support for LXX 3.2 and StatResGNT 1.4, and some technical infos

During the last weeks I have been working on the bibref tool to provide a new release. The main update is supporting the newest version of the LXX module in SWORD, and finalizing and plugging the StatResGNT module by fixing some minor issues.

Meanwhile new versions of the software libraries have been available. This latest bibref version uses the newest Qt framework 6.10.1, although, for some platforms still older framework versions are used. On Linux, Qt's WebEngine module have been introduced: it allows the user to view a full-fledged HTML document in a native window. To display SVG images with full support, this is a great option, however, it requires a large amount of disk space (and longer installation and update time) to provide the whole HTML renderer engine. On Windows and macOS, however, I faced some technical difficulties that originated from version changes of several libraries when updating MSYS2 and Homebrew.

It turned out that the web version has difficulties with handling exceptions. To work around the problem, all dialog boxes had to be rewritten to use asynchronuous communication. By default, Qt's WebAssembly platform handles the situation with an automated asyncifying, but when exceptions are used, that technique is not available. More precisely, Qt's WebAssembly can support three models: asyncifying, JSPI (JavaScript Promise Integration), or WASM exceptions. Formerly, bibref-qt used the first one, but now it uses the third one. As a positive side effect, the web version starts faster because a reasonable amount of the WASM code could be removed. For this change, however, one needs to recompile Qt from scratch, because only the first method is supported by the factory installation of Qt.

The newest releases fix several annoying bugs, including random crashes on longer computations. It turned out that using threads in Qt requires some sophisticated techniques. Some of these requirements do not seem to be documented clearly enough, so I had to contact the Qt developers a couple of times to get help, by issuing bug reports. For example, it was a challenge to find why changing the mouse cursor implies a crash in the WebAssembly version, but finally it turned out that changing the mouse cursor has to be done in the main thread of the application.

I learned a lot on programming Qt and WASM, by changing the static code to be dynamic, and to use signalling via slots, in order to have a platform-independent stable version. Last but not least, ChatGPT did a quite good job in instructing me on the details. Of course, I had to fine-tune its hints for my own situation, but definitely, it was extremely helpful and shortened my learning and coding time substantially.

Some useful minor GUI improvements have also been added. For example, when the user types the lookup parameters, there is a hint for the Bible edition and for the book. The hint can be accepted by pressing the End key. The web version lacked getting autofocus for the input dialogs: now this is fixed (by following ChatGPT's hints on this). As a result, the web version is quite convenient now to use it without a mouse: most features can be reached by using the keyboard only.


As an illustration, here is a screenshot of the latest version, released one day before Christmas. The main window has been resized to highlight the multi-window feature of the program. Statement Editor shows a loaded BRST file (containing Ephesians 6:2) and it is displayed in the Visualize window. Meanwhile, references for Psalm 118 are computed, and if the user wants to start another computation in parallel, it is not allowed by the program (therefore, an error message is shown).

My aim is to support the community with this freely available tool to encourage studying the Bible, by providing a software package to better understand God's love and salvation work.


Continue reading…

See also a filtered list of the entries on topics GeoGebra, technical developments or internal references in the Bible.


Zoltán Kovács
Linz School of Education
Johannes Kepler University
Altenberger Strasse 69
A-4040 Linz