This is the 2023 change log for Lino. General information about how to read and maintain this document in Documenting changes.


Done #4801 (Insert images into arbitrary places using memo commands). Details see Luc's blog. Data migration: in your restore.py uncomment the line that loads comments_mention.py. The lino.modlib.memo.Mention objects will be created by pm checkdata -f.


The lino_xl.lib.working plugin now supports sub-sessions: when a user works on two tickets at the same time (has two sessions open), and when one of them encompasses the other, then the encompassing session automatically subtracts the duration of the sub-session. New database field Session.computed_duration

invoicing.Item now has a meaningful allow_cascaded_delete.


New option --simulate for the pm dump2py command.

Fixed #4780. A site maintainer can now switch the front end without changing the database structure. Plugins can now deactivate themselves. The lino.core.plugin.Plugin class has two new methods deactivate() and is_active(). When a plugin is inactive, its database models exist but otherwise almost everything, including its actors, becomes non-existent. The tinymce and extensible plugins now deactivate themselves in their on_init() method when the default_ui is not extjs.