Changelog, versions 2.x.x

This is the documentation for 4.2.2 version, which is not the latest version. Consider upgrading to 4.3.0.

[2.1.9] - 2021-04-13


  • sonar code smells

  • light refactoring

[2.1.8] - 2021-03-30


  • LF AI & Data branding

  • example showcases of the linguistic mechanisms implemented in RosaeNLG:


  • manages gender for ordinals in French: première and 1re

  • restaus plural exception in French

  • some English exceptions: an armlet (not a armlet)

  • English conjugations corrected: married (not marryed!), disagreed (not disagreeed!)

  • sonar "code smells" (some of it)


  • clearer license info in

[2.1.7] - 2021-03-08


  • #57 highlight js works again, reduced list of supported languages by highlight, and tried to remove favicon requests

  • #58 gerund of 'to be' is 'being', not 'bing'

  • #55 'to be' formally added to the list of irregular verbs in english-verbs-irregular (though is not not used to conjugate 'to be', as it is an auxiliary)

  • issues on Lambda version deployment

[2.1.6] - 2021-03-07


  • some security warnings by updating libraries versions


  • license for documentation files is now CC-BY-4.0

[2.1.5] - 2021-02-20


  • with a fixed random seed, output was not the same whether renderDebug was activated or not

  • in French, si il becomes s’il (as well as si ils which becomes s’ils, but there is no other case)

[2.1.4] - 2021-01-30


  • bug #47: dates were not properly protected

[2.1.3] - 2021-01-17


  • configuration and doc for Vercel pkg to generate an .exe file for the server

  • governance in


  • .npmignore cleanup

  • wrong schema to test input in Lambda

  • some dependencies update

[2.1.2] - 2020-12-29


  • Italian contractions implemented: di ildel, su lasulla

  • pug lint of yeoman boilerplate project

  • some more exceptions on French plurals


  • in French, support of de vs des when having an adjective: de bons restaurants

  • specific French plurals module rosaenlg-pluralize-fr forked from pluralize-fr

[2.1.1] - 2020-12-26


  • yeoman generator to easily bootstrap RosaeNLG projects

  • patreon funding

  • in API, randomSeed is now automatically present in the output


[2.1.0] - 2020-12-10


  • new parameter renderDebug to follow the rendering path in the html output; see new debugging manual

  • performance monitoring in the CI


  • #26: valueToSorP(val) was naive; now rules are language specific (in English 0 degrees, while in French 0 degré)


  • antora-ui, antora-playbook and docs-site, which were used to manage documentation publication using Antora, are now in main monorepo; old separate repos are archived

[2.0.0] - 2020-11-29

moment, which was used to format dates, was replaced by date-fns, essentially to reduce the size of render only browser bundled packages.

You must update dateFormat everywhere you used it following date-fns format.

Also, util.moment not available no more. If you used it, alternatives are:

  • import moment in your node project and inject moment yourself in util

  • or prepare dates upstream from generating texts (and avoid moment in templates)


  • issue templates on GitHub

  • standard guides:,,, etc.

  • Observable HQ integration doc

  • doc on synonyms explaining best approach to generate all alternatives



  • render only browser packages are smaller (about 1/3 gain).

  • date-fns is now used to format dates instead of moment.

  • util.moment not available no more.

  • n2words is packaged more finely to reduce package size.