LEOS Pilot 3.1.0

1 year ago

IMPORTANT Security disclaimer

Thursday 9 December 2021, a new critical 0-day vulnerability impacting multiple versions of the popular Apache Log4j 2 logging library was publicly disclosed. When exploited, it could result in Remote code Execution (RCE). The vulnerability is being tracked as CVE-2021-44228.


In the context of LEOS, log4J is not used directly, nonetheless, the library is present as dependency of explicitly used libraries / frameworks. These impacts over the following tools:

  • AKN4EU Utils: log4J included as dependency of spring-boot-starter-web
  • In Memory CMIS: log4J included as dependency of chemistry-opencmis

A security patch is now available here.

LEOS team


About LEOS


LEOS (Legislation Editing Open Software) is a software that was created under ISA2 Action 2016.38 Legislation Interoperability Tools - LegIT to address the need of the public administration and European Institutions to generate draft legislation in a legal XML format.


It is a legislation editor and this current release supports the drafting of the 'secondary' legislation of the EU law which has to be adopted under the Ordinary Legislative Procedure. Therefore, it covers the writing of Proposals for Directive, Decision and Regulation submitted by the Commission to the Council and the Parliament. If you want to find out more about this procedure, please read the European Parliament's article.


Given the high diversity of legislative traditions encountered across the Union and the different levels of modernisation, it was extremely difficult to provide a universal single turnkey ICT solution that adapts to each specific context. Even if a significant part of the business logic can be found embedded in the code, we design with the goal of delivering re-usable building blocks so LEOS is released Open Source as we believe that some parts of it could be reused and adapted by some other Public Administration having similar needs. For more information on the features, please check out our article here.


The code is available for free under EUPL licence (version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence")), and the development team paid attention to organise the code in a structured way to ease its reusability (modules, plugins…).  

For more information on the EUPL licence, please visit this link


What’s new?

The main differences compared to the previous version are:

  • Improved Annotations with new bulk actions and revisited logic for orphan handling as well as enhanced UI for better user experience;
  • New Search&Replace functionality with fine grained occurrences detection option, improved navigation over results and enhanced replace functionality;
  • Core XML handling library migrated to Xerces, resulting in revised Architecture, better code testing coverage and performance enhancements;
  • Enhanced collaborators management feature;
  • First iteration of new standalone export module that enables the extraction of HTML renditions given a .leg package;
  • Several bug fixes and enhanced editing experience;


More in detail:


Proposal Viewer

  • Management support for collaborators that belong to more than a single group;


  • New button to disable annotations popup;
  • New Bulk actions over annotations:
    • Multi selection of annotations;
    • Possibility to accept / reject / delete several annotations in bulk;
  • Improved orphan detection algorithm for suggestions;
  • Improved orphan contextualization for suggestions: include preceding and succeeding text to help the drafter to locate the exact placement;
  • New Comment feature for suggestions;
  • UI improvements on annotations panel:
    • Scrollable annotations pane;
    • New clear filter button;
    • CKEditor added allowing text styling and URLs to be added to comment annotations;
  • Annotation card display date format reviewed;

Annex Viewer

  • Show annex number on UI;

Document Viewer

  • New Search&Replace functionality:
    • New occurrences counter and possibility to navigate over occurrences;
    • New match case & whole words search features;
    • Possibility to replace single occurrence or all occurrences in one step;
  • New enriched Spellcheck & grammar checker;
  • Implicit save: improved trigger detection functionality to optimize user experience;

Table of Content

  • Improved user experience by allowing user to close details pane when selecting an element;

AKN4EU Utils

  • New export service available: export HTML Renditions;

Technical Tasks & Improvements

  • Ref2link updated to 1.2.0 version;
  • Migrated from VTD to Xerces library;
  • Navigation between editing instances with explicit need to save&close first;
  • CKEditor plugins placement reviewed: no longer overlaps preceding document text;
  • Performance improvements;
  • Interface rename: "Legal Text" to "Legal Act";

Bug Fixes

  • Editor
    • Table plugin revisited and fixed several corner cases that were making structure inconsistent upon save;
    • In case of triple click, edition box opened and the annotation toolbar was displayed;
    • Shortcut plugins behaviour consistency reviewed;
    • Fixed corner cases for navigation between CKEditor instances with double click functionality;
    • User was not able to delete all elements of mandate Article;
    • Removing heading of Article from CKEditor leaves empty node;
    • In specific corner cases, CKEditor was able to be saved with empty sub-paragraphs;
  • Proposal Viewer
    • After creation of a new proposal, independently if the chosen template, the heading would always be the same;
  • Annexes
    • Alinea of point (a) could not be edited;
    • Corner case issue fixed where annexes were lost when importing a new proposal;
    • Editor focus lost upon Level indent/outdent;
    • Corner case issue fixed where loading annotations on annexes was not performing correctly;
    • Show co-edition message on save fixed;
    • Soft enter was missing for Annex at paragraphs;
  • Annotations
    • Fixed corner case that would prevent annotations panel to open;
    • Removed "Disable annotations" button on Milestone Explorer;
    • Annotation: conflicts with requirejs;
    • Fixed issue: Users were able to create comments on Milestone explorer view under certain circumstances;
    • Notification of displayed annotations now working for posting groups (not only to Collaborators);
    • Author filter reviewed;
  • Milestone Explorer
    • Corner case issue fixed where annexes inclusion on milestone was not correct;
  • Document Viewer
    • Ref2link URLs styling fixes;
    • Fixed corner cases working with articles without heading;
  • Table of Content
    • Deleting point on moved list caused invalid numbering;
    • Moved list of points could not be moved back to original position;
    • Edition of TOC on annexes errors fixed;
  • Diffing feature
    • Styling issues fixed;
  • Versions management
    • Wrong list remained displayed after revert followed by save;
    • Recent changes list with invalid versions fixed;
    • Last edited time on versions synched with real last edition;

What’s gone?

  • Nothing this time.



We would like to thank our collaborators from Ref2Link project for providing us the Ref2Link version 1.2.0 

We welcome further contributions. So have your say! We count on your feedback.


Have a look at the LEOS 3.1.0 demo:

Get in touch

We are envisaging creating an open source community on software for legislation drafting, in order to share best practices, experiences, expertise, and why not code!
Should you be interested in joining our open source community, or you would just like to share with us some observations on our work, please contact us at


We are looking forward to hearing from you,

The LEOS Team