Work in progress — content and features are actively being added.

A running record of additions and changes to the site, most recent first.

Related tags now cover whole prefix families
  • Related tags on verb cards are now derived automatically: a verb and all its prefixed variants link to each other, with the base verb listed first (e.g. sittan ↔ besittan, forsittan, ġesittan) — previously only a handful of hand-tagged links existed
  • 52 verb families across the corpus, including families whose base verb isn't on the site (beġietan / forġietan / onġietan; onfōn / befōn / underfōn)
  • Look-alike but unrelated verbs stay apart (āgan vs āgān, reċċan vs rēċan), with regression tests pinning every family
Full conjugation audit against Wiktionary, and fixes
  • Audited all 330 verbs form-by-form against their Wiktionary conjugation tables — over 98% of forms matched outright or differed only by deliberate site conventions
  • Fixed 19 verbs with genuine errors: ġe- prefixed verbs whose 2nd/3rd person present corrupted the prefix (ġesitst, not ġisitst), six missing epenthetic imperatives (bide, liġe, ġesite, and others), erian reclassified as weak 1, and corrected past or participle forms for grētan, tellan, beġietan, and wadan
  • Fixed diacritics on slǣpan, ċīdan, onġietan (past onġeat), eġlan, and libban's past participle
New verbs from Ōsweald Bera Chapters 26 & 27, and an engine fix
  • Added 14 verbs from Ōsweald Bera Chapters 26 and 27, including ondrǣdan, āhebban, wiþsacan, forġieldan, ālīesan, ġehȳdan, and others
  • Fixed the weak 1 past tense of stems ending in a single s, which now correctly take -de (ālīesan → ālīesde, not ālīeste)
  • Added missing chapter tags for drīfan (Chapter 9) and hīeran (Chapter 8)
Study Mode (v0.1) — flashcards and drilling practice
  • New Study page: quiz yourself on verb meanings (gloss ↔ lemma) and conjugated forms, filtered by chapter, verb type, and which grammatical forms to include
  • Multiple-choice (with A–D keyboard shortcuts) and fill-in-the-blank modes, run separately or mixed within a round
  • Grading is macron-insensitive and accepts "th" for þ/ð and "ae" for æ; gloss answers accept any listed sense (e.g. "fear" or "be afraid" for a gloss of "to be afraid, fear")
  • Results screen lists missed cards for review, plus a locally-saved best score per filter combination
  • Known limitation: a handful of verb pairs with overlapping meanings (e.g. ċēosan/ġeċēosan, both roughly "to choose") can mark an equally valid answer wrong — planned for a future pass
New verbs from Ōsweald Bera Chapters 21–25, and engine fixes
  • Added 61 verbs from Ōsweald Bera Chapters 21 through 25, including iernan, tēon, ġebiddan, oþstandan, ġemunan, āgān, styrian, bewerian, and others
  • Fixed prefixed weak verbs incorrectly receiving an additional ġe- on their past participles — corrects 11 verbs including āflīeman, āsettan, forbærnan, ācwellan, and ūtian
  • Fixed styrian and bewerian misclassified as Weak II — both are light-stem -rian verbs like ġebyrian and needed the same manual treatment
  • Fixed tēon missing its contracted present tense (tīehþ, not the regular-pattern tīenþ), matching the already-correct ātēon
  • Fixed several dental-assimilation and consonant-gemination irregularities in new verbs' past tense and past participles (ġeswenċan, ġemētan, ġesǣlan, ġestillan, mǣtan, ċierran, ēhtan, ōleċċan)
  • Fixed ġebiddan's 2nd/3rd person present indicative, where i-mutation was corrupting the ġe- prefix itself (ġibitst) instead of mutating only the root vowel (ġebitst)
  • Fixed missing macrons on berēafian and ġesǣlan
  • Added a classOverride field for verbs whose class can't be inferred automatically, such as double-prefix compounds like forþġewītan, and a new Class IIIa ablaut row for the iernan-type breaking pattern
New verbs from Ōsweald Bera Chapters 17–20, and small quality-of-life improvements
  • Added 49 verbs from Ōsweald Bera Chapters 17 through 20, including āgan, slēan, besēon, wiþstandan, beġietan, ġeċēosan, ācwellan, weaxan, and others
  • Small quality-of-life improvements
New verbs from Ōsweald Bera Chapters 13–16, and engine fixes
  • Added 54 verbs from Ōsweald Bera Chapters 13 through 16, including būgan, ġieldan, stæppan, behealdan, ġedōn, ætbreġdan, betǣċan, underfōn, and others
  • Fixed i-mutation incorrectly applying to the prefix instead of the root on be- prefixed strong verbs (e.g. becuman → becymþ, not bicumþ; also bedelfan, beswingan)
  • Fixed ċġ-final stems missing epenthesis in the imperative singular (e.g. byċġan → byġe, not byċġ; also āleċġan)
  • Added three Class IIIb ablaut rows and one Class VI row, covering the helpan/bedelfan, ġieldan, murnan, and stæppan verb types
  • Added per-verb overrides for a few verbs with morphological exceptions the engine can't infer automatically (stæppan, ætbreġdan, ġebyrian, sprenġan)
Diacritic-insensitive search
  • Verb search is now diacritic-insensitive — e.g. searching leogan now matches lēogan
New verbs from Chapters 11 & 12, dental suffix voicing, and past participle fixes
  • Added 30 verbs from Ōsweald Bera Chapters 11 and 12, including lǣtan, brūcan, forbēodan, ārīsan, forġiefan, understandan, ofslēan, lēogan, ġenēalǣċan, hlystan, and others
  • Fixed weak 1 dental suffix voicing: stem-final f and þ now correctly take -de rather than -te (ġelīefde, ġecȳþde), since these fricatives were voiced between voiced sounds
  • Fixed stem-final -st absorbing the 2nd person singular -st ending (hlystan → þū hlyst)
  • Fixed prefixed verbs incorrectly receiving an additional ġe- on their past participles — corrects 22 verbs across strong and weak classes, including forlǣten, becumen, onġieten, and ġelīcod
  • Added æt- and of- to prefix detection, and Class VI ablaut rows for the wadan and contracted slēan patterns
  • Added ofslēan with a fully specified irregular paradigm (h-loss contraction)
New verbs from Chapters 9 & 10, engine fixes, and CI improvements
  • Added 25 verbs from Ōsweald Bera Chapters 9 and 10, including healdan, libban, beswīcan, becuman, beswingan, drincan, forlǣtan, forġietan, bringan, durran, and others
  • Fixed strong verb class inference for be- prefixed verbs (becuman, beswīcan, beswingan) via a new verbPrefix field in the data
  • Fixed sidebar class badge not passing verb object to inferClass, causing be- prefixed verbs to show Strong unknown
  • Added pytest check that all strong verbs resolve to a known ablaut class, catching future inference failures at CI time
Automated regression tests and CI pipeline
  • Added snapshot regression tests covering all 97 verb conjugations (so far) — any change to the engine that alters a conjugated form will now be caught automatically
  • Added GitHub Actions workflow to run the full test suite on every pull request to main
  • Added Python schema validation for verbs.json, checking for duplicate entries, malformed sources, dangling references, and Unicode consistency
New verbs from Chapters 7 & 8, engine fixes, and UI improvements
  • Added 21 verbs from Ōsweald Bera Chapters 7 and 8, including stīgan, wēpan, flēon, frēosan, hweorfan, standan, āberan, ātēon, beċīepan, byċġan, sellan, þynċan, and others
  • Fixed conjugation engine: voiceless consonant past stems now correctly take -te (e.g. beċīepan → beċīepte), and -ld/-nd/-rd past stems take bare -e (e.g. sellan → sealde)
  • Fixed i-mutation applying incorrectly to prefixed strong verbs (e.g. āberan)
  • Fixed ċġ cluster simplification to ġ before consonantal endings (e.g. byċġan → byġþ)
  • Fixed ġe- prefix suppression on be- prefixed weak verbs in past participle
  • Added related verb tags on verb cards, linking to prefixed or otherwise related forms
  • Fixed verb class badge showing Weak 1/2 instead of Weak I/II
Add verbs from Ōsweald Bera Chapters 5 & 6
  • Added 17 verbs from Chapters 5 and 6, including gān, dōn, onġietan, onġinnan, ġesċieppan, nytan, and others
  • Fixed strong verb class inference for prefixed verbs (on-, onġ-) and ie-stem Class VI verbs
Conjugation accuracy improvements
  • Fixed a number of incorrect verb forms across strong and weak verb classes, identified by systematic comparison against Wiktionary and the Ōsweald Bera workbook
  • Fixed many of the collision rules in the verb conjugation engine
Rule-based conjugation engine and new Rules page
  • Added a Rules page explaining how Old English verb forms are mechanically derived from principal parts, with worked examples and syntax-highlighted code snippets in Python and JavaScript
  • Verb conjugation tables are now generated programmatically at runtime from a small set of inputs, rather than stored manually — strong verbs need only their four principal parts, weak verbs only their infinitive
  • Verb class (Strong IV, Weak 1 etc.) is now inferred automatically from the ablaut pattern rather than stored explicitly
  • Renamed Grammar page (formerly Basics)
  • Syntax highlighting added to all code blocks on the Rules page
  • Added verbs from Ōsweald Bera Chapters 2, 3, & 4
Add verbs from Ōsweald Bera Chapter I
  • Added ġehieran, ġewītan, ġeseon, reċċan, wunian,
  • Added sources tags on verb cards
  • Standardized presentation of weak verb patterns on verb cards
Initial site setup and starter verbs
  • Five-page structure: landing page, verb conjugation reference, grammar basics reference, about page, and changelog
  • 12 starter verbs covering Strong classes I–VII, Weak classes I–II, bēon (irregular, with dual eom- and bēo- paradigms), and wītan (preterite-present)
  • Full conjugation display: present and past indicative, present and past subjunctive, non-finite forms, and imperative
  • Live search filtering the verb sidebar by Old English headword or English gloss
  • Shared parchment design with WIP banner, site header, navigation, and footer