14 August 2025

Module LXX can be upgraded from 3.0 to 3.2 just with little pain

Half a year ago I posted my experiences on upgrading the LXX module from 2.5 to 3.0 in the bibref project. That change was a nightmare: the versification change, plus, appearance of deuterocanonical books required much work on the whole system. In fact, I had to keep an archive copy of version 2.5 of the LXX module in a dedicated ZIP file.

Now, since the summer holidays allowed me some time, I tried to update the LXX module by using one of the installed Bible study software BibleTime on my desktop workstation. BibleTime is based on the SWORD project, and like many other graphical tools, it allows updating the modules in a handy way. When developing bibref, I usually overwrite the latest installed version of LXX with bibref's internally used version, but now I allowed BibleTime to change the LXX module to have the newest version 3.2 at hand. In fact, SWORD modules are globally used for the same user in all Bible applications, however, technically it could be possible to keep different versions of the modules in different folders (this is clearly not used by most software because versioning of modules is of little interest).

The bibref framework has a command line tool that allows the user to verify a BRST file against the currently installed modules. I ran the tool pbrst-cli by using the runme script from the folders statements/tests, and luckily, it reported only 3 BRST files that are involved in some minor changes:

kovzol@zoltan-Legion-5-15ACH6H:~/workspace/bibref/statements/tests$ ./runme ../StatResGNT/all/
Different module version in cache for module LXX: 3.0 (3.2 needed).
Cache must be recreated.
3,55: error: correctable, results of lookup and raw do not match E2
9,65: error: correctable, results of lookup and raw do not match E2
12,69: error: correctable, results of lookup and raw do not match E2
16,68: error: correctable, results of lookup and raw do not match E2
(proof error in Acts-2,30)
3,57: error: correctable, results of lookup and raw do not match E2
8,66: error: correctable, results of lookup and raw do not match E2
12,67: error: correctable, results of lookup and raw do not match E2
(proof error in Romans-11,3+5)
3,55: error: correctable, results of lookup and raw do not match E2
8,65: error: correctable, results of lookup and raw do not match E2
11,66: error: correctable, results of lookup and raw do not match E2
14,66: error: correctable, results of lookup and raw do not match E2
(proof error in Romans-11,4+27)
Total: 242 cases, 239 correct, 3 erroneous

The meaning of this is that only Acts 2:30, Romans 11:3 and Romans 11:4 are affected if the StatResGNT module is used for the Greek New Testament. The same check for the SBLGNT module gave more or less the same result:

kovzol@zoltan-Legion-5-15ACH6H:~/workspace/bibref/statements/tests$ ./runme ../SBLGNT/all/
3,55: error: correctable, results of lookup and raw do not match E2
9,65: error: correctable, results of lookup and raw do not match E2
12,69: error: correctable, results of lookup and raw do not match E2
16,68: error: correctable, results of lookup and raw do not match E2
(proof error in Acts-2,30)
3,57: error: correctable, results of lookup and raw do not match E2
8,66: error: correctable, results of lookup and raw do not match E2
12,67: error: correctable, results of lookup and raw do not match E2
(proof error in Romans-11,3+5)
3,55: error: correctable, results of lookup and raw do not match E2
8,65: error: correctable, results of lookup and raw do not match E2
11,66: error: correctable, results of lookup and raw do not match E2
14,66: error: correctable, results of lookup and raw do not match E2
(proof error in Romans-11,4+27)
Total: 242 cases, 239 correct, 3 erroneous

These issues can be fixed by issuing the command ./fix-raw ../StatResGNT/all in the same folder. Then, when comparing the results by using the diff utility, we get the following:

diff --git a/statements/StatResGNT/Acts/Acts-2,30.brst b/statements/StatResGNT/Acts/Acts-2,30.brst
index eb72c1d..48061fb 100644
--- a/statements/StatResGNT/Acts/Acts-2,30.brst
+++ b/statements/StatResGNT/Acts/Acts-2,30.brst
@@ -1,18 +1,18 @@
 Statement Acts-2,30 connects
  StatResGNT Acts 2:30 2:30-5 (5238-5326, length 89) with
- LXX Psalms 131:11 131:11-3 (154583-154669, length 87) based on
+ LXX Psalms 131:11 131:11-3 (154584-154670, length 87) based on
   introduction 2:29+13 2:29-70 (5115-5167, length 53) a-z form ejoneipeinmetaparrhsiasprosymasperitoypatriarxoydayid that
    identifies the source with 'Δαυιδ' and
   introduction 2:30 2:30-61 (5238-5270, length 33) a-z form profhthsoynyparxvnkaieidvsotiorkv that
    declares a quotation with 'ειδως' moreover
   fragment 2:30+33 2:30-55 (5271-5276, length 6) a-z form vmosen
-   matches LXX Psalms 131:11 131:11-84 (154583-154588, length 6) a-z form vmosen
+   matches LXX Psalms 131:11 131:11-84 (154584-154589, length 6) a-z form vmosen
     verbatim and
   fragment 2:30+48 2:30-35 (5286-5296, length 11) a-z form ekkarpoyths
-   matches LXX Psalms 131:11+47 131:11-32 (154630-154640, length 11) a-z form ekkarpoyths
+   matches LXX Psalms 131:11+47 131:11-32 (154631-154641, length 11) a-z form ekkarpoyths
     unique in Old Testament
     verbatim and
   fragment 2:30+77 2:30-5 (5315-5326, length 12) a-z form epitonuronon
-   matches LXX Psalms 131:11+75 131:11-3 (154658-154669, length 12) a-z form epitonuronon
+   matches LXX Psalms 131:11+75 131:11-3 (154659-154670, length 12) a-z form epitonuronon
     verbatim
   providing an overall cover of 51.79%.
diff --git a/statements/StatResGNT/Romans/Romans-11,3+5.brst b/statements/StatResGNT/Romans/Romans-11,3+5.brst
index f685d38..08cf394 100644
--- a/statements/StatResGNT/Romans/Romans-11,3+5.brst
+++ b/statements/StatResGNT/Romans/Romans-11,3+5.brst
@@ -1,14 +1,14 @@
 Statement Romans-11,3+5 connects
  StatResGNT Romans 11:3+5 11:3 (22357-22448, length 92) with
- LXX I_Kings 19:10+72 19:10-11 (79535-79645, length 111) based on
+ LXX I_Kings 19:10+72 19:10-11 (79585-79695, length 111) based on
   introduction 11:2+36 11:2 (22293-22351, length 59) a-z form hoykoidateenhliatilegeihgrafhvsentygxaneitvuevkatatoyisrahl that
    declares a quotation with 'λεγει' also
    identifies the source with 'εν Ηλια ... η γραφη' moreover
   fragment 11:3+5 11:3-41 (22357-22407, length 51) a-z form toysprofhtassoyapekteinantauysiasthriasoykateskacan
-   matches LXX I_Kings 19:10+72 19:10-68 (79535-79588, length 54) a-z form tauysiasthriasoykateskacankaitoysprofhtassoyapekteinan
+   matches LXX I_Kings 19:10+72 19:10-68 (79585-79638, length 54) a-z form tauysiasthriasoykateskacankaitoysprofhtassoyapekteinan
     unique in Old Testament
     differing by 7.55% and
   fragment 11:3+56 11:3 (22408-22448, length 41) a-z form kagvypeleifuhnmonoskaizhtoysinthncyxhnmoy
-   matches LXX I_Kings 19:10+135 19:10-11 (79598-79645, length 48) a-z form kaiypoleleimmaiegvmonvtatoskaizhtoysithncyxhnmoy
+   matches LXX I_Kings 19:10+135 19:10-11 (79648-79695, length 48) a-z form kaiypoleleimmaiegvmonvtatoskaizhtoysithncyxhnmoy
     differing by 38.30%
   providing an overall cover of 100.00%.
diff --git a/statements/StatResGNT/Romans/Romans-11,4+27.brst b/statements/StatResGNT/Romans/Romans-11,4+27.brst
index da803a2..e3aab02 100644
--- a/statements/StatResGNT/Romans/Romans-11,4+27.brst
+++ b/statements/StatResGNT/Romans/Romans-11,4+27.brst
@@ -1,17 +1,17 @@
 Statement Romans-11,4+27 connects
  StatResGNT Romans 11:4+27 11:4 (22476-22537, length 62) with
- LXX I_Kings 19:18+3 19:18-30 (80605-80673, length 69) based on
+ LXX I_Kings 19:18+3 19:18-30 (80655-80723, length 69) based on
   introduction 11:4 11:4-62 (22449-22475, length 27) a-z form allatilegeiaytvoxrhmatismos that
    declares a quotation with 'λεγει' also
    identifies the source with 'αυτω ... ο χρηματισμος' moreover
   fragment 11:4+27 11:4-53 (22476-22484, length 9) a-z form katelipon
-   matches LXX I_Kings 19:18+3 19:18-88 (80605-80615, length 11) a-z form kataleiceis
+   matches LXX I_Kings 19:18+3 19:18-88 (80655-80665, length 11) a-z form kataleiceis
     differing by 80.00% and
   fragment 11:4+42 11:4-27 (22491-22510, length 20) a-z form eptakisxilioysandras
-   matches LXX I_Kings 19:18+22 19:18-62 (80624-80641, length 18) a-z form eptaxiliadasandrvn
+   matches LXX I_Kings 19:18+22 19:18-62 (80674-80691, length 18) a-z form eptaxiliadasandrvn
     differing by 42.11% and
   fragment 11:4+69 11:4 (22518-22537, length 20) a-z form oykekamcangonythbaal
-   matches LXX I_Kings 19:18+52 19:18-30 (80654-80673, length 20) a-z form oykvklasangonytvbaal
+   matches LXX I_Kings 19:18+52 19:18-30 (80704-80723, length 20) a-z form oykvklasangonytvbaal
     unique in Old Testament
     differing by 42.11%
   providing an overall cover of 79.03%.

These results mean that the update to 3.2 will be a very minor change, including one character of insertion somewhere before Psalms 131:11 (and after 117:26, because it is quoted in Matthew 21:9 and 23:39, but there was no issue reported with those) and 50 characters of insertion somewhere before I_Kings 19:10 (since this is the only quoted text from I_Kings, it would be more difficult to find the exact change).

After doing some more research (by using bisecting and the command raw in bibref), we learn that the first difference is in Psalms 118:41: “Ϝ# ουαυ και ελθοι επ εμε το ελεος σου κυριε το σωτηριον σου κατα το λογιον σου”; the old version used a different character at the beginning: “V#”, the new one is a so-called digamma (which is rendered as a sigma, so this is okay; however, Codex Sinaiticus does not have this symbol here:
and, Codex Vaticanus does not even include Psalm 118, the ones from number 106 to 136 are completely missing; I have not checked any other manuscripts for the moment, only the text that is available in the Blue Letter Bible).

Interestingly, an AI search on “digamma in psalm 118:41” returns that “The letter "digamma" (Ϝ, ϝ) is not present in Psalm 118:41 in the current standard Hebrew or Greek texts. Psalm 118:41 in both the Hebrew Bible and the Septuagint (Greek translation) does not contain the letter digamma. It is likely that you are mistaking digamma for another letter or concept. Digamma was a letter in the early Greek alphabet, but it was lost in most versions of the Greek alphabet long before the Septuagint was created.”

The other change is present in I_Kings 12:24 (we can find it again by using bisection). The old text (version 3.0) reads: “ταδε λεγει κυριος ουκ αναβησεσθε ουδε πολεμησετε μετα των αδελφων υμων υιων Ισραηλ αναστρεφετω εκαστος εις τον οικον εαυτου οτι παρ εμου γεγονεν το ρημα τουτο και ηκουσαν του λογου κυριου και κατεπαυσαν του πορευθηναι κατα το ρημα κυριου και ο βασιλευς Σαλωμων κοιμαται μετα των πατερων αυτου και θαπτεται μετα των πατερων αυτου εν πολει Δαυιδ και εβασιλευσεν Ροβοαμ υιος αυτου αντ αυτου εν Ιερουσαλημ υιος ων εκκαιδεκα ετων εν τω βασιλευειν αυτον και δωδεκα ετη εβασιλευσεν εν Ιερουσαλημ και ονομα της μητρος αυτου Νααναν θυγατηρ Αναν υιου Ναας βασιλεως υιων Αμμων και εποιησεν το πονηρον ενωπιον κυριου και ουκ επορευθη εν οδω Δαυιδ του πατρος αυτου και ην ανθρωπος εξ ορους Εφραιμ δουλος τω Σαλωμων και ονομα αυτω Ιεροβοαμ και ονομα της μητρος αυτου Σαριρα γυνη πορνη και εδωκεν αυτον Σαλωμων εις αρχοντα σκυταλης επι τας αρσεις οικου Ιωσηφ και ωκοδομησεν τω Σαλωμων την Σαριρα την εν ορει Εφραιμ και ησαν αυτω αρματα τριακοσια ιππων ουτος ωκοδομησεν την ακραν εν ταις αρσεσιν οικου Εφραιμ ουτος συνεκλεισεν την πολιν Δαυιδ και ην επαιρομενος επι την βασιλειαν και εζητει Σαλωμων θανατωσαι αυτον και εφοβηθη και απεδρα αυτος προς Σουσακιμ βασιλεα Αιγυπτου και ην μετ αυτου εως απεθανεν Σαλωμων και ηκουσεν Ιεροβοαμ εν Αιγυπτω οτι τεθνηκεν”, while the new one (version 3.2) appends the following 50 letters: “Σαλωμων και ελαλησεν εις τα ωτα Σουσακιμ βασιλεως Αιγυπτου”. In the LXX, we find more information on Jeroboam's background (compared to the Hebrew Old Testament), and LXX 3.2 seems to be more complete in the explanation than version 3.0. (By using Google Translate, it is easy to obtain an English transcription for the longer story in LXX I_Kings 12:24, I leave this to the reader.)

Update. Pierre Amadio (from the LXX Module Team) kindly commented the post above: “The digamma is a deliberated change indeed. The source text has a V character which is not a valid betacode entry. There are several similar section marker characters in this psalm for each alphabetical new section. This one is supposed to be a Hebrew wav (ו) transliterated in Greek with a digamma, which is supposed to sound similar. (I guess the Codex Sinaiticus has also none of those.) The paper Septuaginta, a reader's edition (published by Hendrickson) has the following content: ϝ´ ουαυ, with a note stating: "ουαυ, wav, translit."” — This makes, of course, sense. As well-known, Psalm 118 contains 21×8 verses in the Hebrew original text that always begin with the same Hebrew character. This cannot be literally translated to other languages (including Greek), so there is indeed a reason to remind the reader of the Septuagint that the Hebrew text contains something substantially more than the Greek translation.


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