We are really happy that we can announce the release of NAE version 5.0.0. Over time, many new features and functionalities were implemented into the application engine. The latest major release is essential for us and we have to share it with you! ? We haven’t made any release announcement yet. With this one, we will also present the biggest milestones NAE reached with other releases.

History of NAE releases

v1.0.0 – April 2017 The feature that v1.0.0 held is the first enterprise version of NAE. It was built using Spring boot as backend, AngularJS as frontend and MongoDB as one of the main databases. It is the same state-of-art architecture that we use even now. It was capable of executing Petriflow processes (Petri nets). By this time the first applications based on NAE were deployed by customers. Due to that not only executable Petriflow processes but also roles and data were implemented.

v2.0.0 – January 2018 Not long after the first version, v2.0.0 occurred for one simple reason. As you probably know Petriflow is a language that extends Petri nets. And what are extensions that differ Petriflow from Petri nets? Special types of arcs (inhibitor, read, reset), roles, data and actions. Arcs, data and roles were in the first version, but actions came in the second. Actions are small blocks of code or functions that can be associated with events of data variables, data fields and events of tasks. They are fired every time one of the mentioned events happens.

v1.0.0 and v2.0.0 of NAE brought all functionality that proved that Petriflow is a great BPM language, that is by default executable. You can read more about our R&D of Petriflow language here: https://netgrif.com/research/.

v3.0.0 – April 2019 By the time this version was released, NAE managed thousands of process instances created by clients in production. The necessity to quickly search data came alongside. Elasticsearch – another state-of-art technology – was implemented into the application engine. Migration of data and processes was also solved within this version. It was a business-driven requirement as well (original processes were redefined and their migration was inevitable)

v4.0.0 – July 2020 Netgrif Application Engine is a Java application providing a web portal. It is possible to create your own frontend on top of the NAE backend. It provides REST API endpoints that can be accessed by any web app. But with v4.0.0 we decided to recreate our frontend from AngularJS to Angular 9 and by that create the best possible representation of the NAE backend. Every view and service was recreated and improved with a new frontend. Also, representation for new data fields (Multichoice, Enumeration, File, Date-time, etc..) and data form views (paper view, etc.) were implemented. Not only that but also automated testing and automated documentation for the frontend and the backend was implemented.

v4.0.0-v5.0.0 – July ’20 – January ’21 In the last year our platform grew up so much that the time period between v4 and v5 needs more attention. The most notable functions implemented were: Rule engine (dynamic rules in Petriflow events), Task reference (data field that enables task’s form reusability), Case reference (data field that enables to save a reference to any case), File list data field, Advanced search and search mode on headers, PDF Generator, Enumeration/multi-choice as key-value maps, Automatic OpenApi3 documentation and many other. This release (v1,v2,v3 and v4 too ?) will have its own blog because there is so much much more to cover.


And finally v5.0.0 – February 2021! All languages and technologies making NAE architecture were updated into the latest versions. File field with content preview, Additional actions API for user management, JWT Authentication were implemented. Petriflow language was enriched by constructor and destructor events (two new types of events that hold actions), User list (data field that can hold a list of multiple users), User reference and negative roles (a false value in role reference permissions).  The main feature of v5 – the public view – is the breaking change. It provides anonymous access to views that are marked as public with no authorization needed, users can access tasks and cases without any login or registration needed. The public view can be implemented for case-view and task-view.