Welcome | Get started | Dive into Lino | Contribute | Topics | Reference | More

2024

This is the 2024 change log for Lino. Learn how to read and maintain this document in Documenting changes.

2024-04-30

New feature Job providers with multiple workplaces for Lino Welfare Châtelet (#5567). New database fields jobs.Job.workplace and contacts.Company.job_provider. New slave table WorkplacesByProvider in the detail view of a job provider.

2024-04-25

Internal optimizations: the lino_xl.lib.contacts.Partner model now inherits from Commentable. This fixes #5578 (Amici says 'Household' object has no attribute 'is_comment_private'). Optimized Plugin.__repr__().

2024-04-24

Fixed several bugs that caused the background task runner to get stuck. pm linod now also starts a log server when linod.use_channels is False.

Database needs migration because lino.modlib.linod.SystemTask and lino_xl.lib.invoicing.Task have a new field name.

2024-04-22

Done #5565 (Replace "Project" by "Topics" in Noi). Fixed a database design bug in lino_xl.lib.topics: New model lino_xl.lib.topics.Tag, and lino_xl.lib.topics.Interest no longer has an owner field. InterestsByController has become TagsByOwner, InterestsByPartner has become TagsByTopic. Topic is no longer a BabelNamed. The Interesting mixin has been renamed to Taggable. The topics.partner_model can now be None, which means that there is no Interest model, use cases are Lino Tera and Lino CMS.

2024-04-15

Fixed #5553 (Invalid panel spec. start_invoicing_1 POST null). The lino_xl.lib.invoicing plugin now creates a single menu command "My invoicing plan" instead of creating one command per invoicing task.

Started documentation about Single-row tables.

2024-04-08

Lino now supports the new Estonian VAT rate. (Not already since Januar because there is no production site yet in Estonia). Changes are visible in eevat : Estonian VAT declarations. Side effect: lino.mixins.periods.DateRange.get_period_text() is now more generally available as lino.mixins.periods.rangetext() and used by lino_xl.lib.vat.

2024-04-07

New actions reset_password and verify_user. The "Verify" action on lino.modlib.users.User is now named verify_me. New database field lino.modlib.users.User.verification_password. Interesting to note how lino.modlib.users.User.verify_me inherits from lino.modlib.about.About.verify_user and how they do almost the same in different situations.

The react.UserSettings view no longer sets require_verification and code_expiry.

2024-04-05

Renamed model linod.BackgroundTask to linod.SystemTask. Requires database migration.

2024-04-02

Optimize background tasks: add possibility to have multiple task classes (django models); run separate task classes in separate coroutines.

2024-03-30

The ChangesByMaster and ChangesByObject tables are now available on every watched model as toolbar button (). For this to work, applications must call lino.modlib.changes.watch_changes() from setup_actions rather than from do_site_startup. Side effects: Renamed Plugin.on_site_startup to Plugin.pre_site_startup. The watch_all_changes() feature has been removed because it was not used. Moved lino.utils.watch to lino.modlib.changes.utils. Updated documentation pages: When Lino starts up, changes: Keep track of changes in the database, watch -- Watching database changes and More about plugins.

2024-03-27

I renamed Site.get_installed_apps() to Site.get_installed_plugins() and Site.get_apps_modifiers() to Site.get_plugin_modifiers(). A technically simple change to improve readability for newcomers. But it will require local settings.py files to get updated. Lino raises an ChangedAPI exception if you forget to do it.

2024-03-26

New field User.nickname and users.with_nickname. The CreateAccount action is now presented in the admin_main.html, and its dialog no longer shows the third-party auth providers because we have them in the SignIn action.

2024-03-25

Renamed lino_xl.lib.sales to lino_xl.lib.trading because it can be used for any trade type, not only for sales. Requires database migration.

2024-03-24

Fixed #5520 (Recent comments shows comments to tickets that the user cannot see). In lino.modlib.comments.Commentable, get_comments_filter() has been changed to add_comments_filter. New database field lino_xl.lib.groups.Group.private. The ar argument to lino.core.actors.Actor.get_request_summary and lino.core.model.Model.get_request_summary can now be a BaseRequest.

Noi no longer adds a group owner to (database field Group.user has been removed). And the view parameter subscriber has been removed.

2024-03-17

Some subtle optimizations in Lino core: Default value for lino.core.actors.Actor.summary_sep changed from "<br/>" to ", ". New keyword argument max_width for TableRequest.show(). React renderer still used mjames icons for renderering actions even when a PrimeIcon icon exists. Clickable links sometimes had no style="text-decoration:none".

2024-03-14

New method lino.core.site.Site.get_config_value() for #5497 (SITE.site_config is sometimes None on asgi server).

2024-03-10

Resurrection of the commondata package. They had been sleeping for many years because the original idea assumed that people who know the data would site down and write Python code. A first example is commondata.countries. Because commondata was a namespace package and no longer is, you need to manually uninstall the old commondata packages by removing commondata*-nspkg.pth from your site-packages directory.

2024-03-08

A developer in Uruguay started an internship, so we added Uruguayan demo data in cosi4 : a Lino Così for Uruguay.

2024-02-26

Added the new plugin :mod:'lino_xl.lib.sources' (#5214).

2024-02-14

Automatically run invoicing plans as background tasks (#5399). Replace InvoicingAreas by lino_xl.lib.invoicing.Task

2024-01-24

rename StorageState to ProvisionState

2024-01-23

New field lino_xl.lib.products.Product.pieces_per_unit

2024-01-14

Add the lino_xl.lib.nicknames plugin.

2024-01-11

Review socket file of log server ():ticket:5379).