= Release notes
:description: This pages describes the main new values, improvements, technical updates and other changes that have been brought to this latest Bonita main version.

[#renaming]

== Democratization of process automation technology!

This version of Bonita offers significant improvements and new values, among which the clarification of both *Enterprise* and *Community* editions:

=== Bonita Community

The open source edition of the platform including all capabilities required to develop and deploy process automation projects. The platform is based on Bonitasoft's genuine approach to low-code and clearly separates visual programming vs coding capabilities to drive collaboration and simplify project governance.

=== Bonita Enterprise

The commercial edition of the platform to address core and critical process automation use cases. This edition adds capabilities to Bonita Community to secure, scale, monitor and continuously improve process automation projects. The Enterprise edition is bundled with a customer success subscription that provides full project lifecycle support and services from development to operations.

=== The changes

This means an unprecedented number of features <<feature-transfer,were added in Community>>, so users can achieve the target goals. Alternatively, some values, linked to the goals of Enterprise, have been <<feature-transfer2,moved from Community to Enterprise>>. +
As a direct benefit, upgrades/downgrades operations between Community and Enterprise editions will be simplified. Both operations still require the re-installation of the targeted platform but there is no need for project re-development anymore. +
More information https://www.bonitasoft.com/Offering[here]

[#feature-transfer]

=== Create state-of-the-art and successful automation projects with the Community edition

Bonita has always been a highly open-source project, and we strongly think that it is the best to create a great and extensible platform. +
These are the features you will find in the Community edition of Bonita 2021.1:

* Git plug-in in the Development Suite: teamwork and versioning control
* Multi environment management: configure for CI, Testing, UAT, Staging, or Production environments
* All connectors (SAP, Office, Salesforce, UI Path) and all advanced connector wizards (email, web service, database, Twitter)
* All editors with simplified UIs (Rest API Extension, application descriptor, BDM access control, easier theme editing)
* Translation asset in the UI Designer: translate pages, forms, and layouts, of have them translate by business team members
* Widgets (save form, rich text area, chart, data grid (advanced table))
* Responsiveness: create pages and forms for multiple screen sizes
* Fragments: reuse groups of widgets in multiple pages of forms, with just a different configuration
* Search keys: allow users to search their cases with business data

[#feature-transfer2]

=== Full power to the Enterprise edition

To ensure consistency with Community vs Enterprise concepts, in 2021.1, we have moved from Community to Enterprise edition the following capabilities:

* PurgeTool to manage Bonita Platform scalability. The tool allows to purge finished (archived) process instances from a Bonita Runtime environment.
* Maintenance releases. From now on, maintenance releases are only available to customers (Enterprise users). Community users will benefit from all fixes done on a minor release in the next minor release.
* JMX metrics publisher, monitoring log files and API dynamic security capabilities will be removed from Bonita Community 2021.2 and will be part of the set of Enterprise features related to security and monitoring themes respectively. As a matter of clarification, operational logging capabilities of the platform will remain in the Community edition.
Moreover, the Enterprise offering now encompasses the availability of Bonita Continuous Delivery, our powerful tool to deploy Living Applications on subsequent environments during the initial lifecycle of the Bonita project, and for every improvement or evolution.

=== The version name

So, how should we name this version? Not 7.12 because of all those changes, and all the following ones, but not 8.0 either, as it does not embed backwards incompatible APIs or any other breaking changes.
And because of its new clear concepts, Bonita will now follow a special type of \#CalendarVersioning, with a YEAR.NUM pattern.
So we are proud to present the new (and fresh) Bonita 2021.1!
As for the Maintenance versions, they will be taggued yyyy.#-mmdd like 2021.1-0212 for the maintenance release of Feb 12th, based on the first minor release of 2021.
New releases will continue to be rolled out on a 6-month cycle to provide new values.
And the technical components of Bonita will keep their semantic versioning numbers, that you should not see too often.

== Now, for the brand new values added

[NOTE]
====

image:images/tv.png[videos]  Discover what is new in Bonita 2021.1 thanks to these short videos in https://www.youtube.com/playlist?list=PLvvoQatxaHOOcS6mu3PUFmVFd1lItLaXs[English], https://www.youtube.com/playlist?list=PLvvoQatxaHOPWv6rMQPNIxzZjW6BNg75K[French], or https://www.youtube.com/playlist?list=PLvvoQatxaHOMepAeo0jDrIR9hHfzK1NPn[Spanish]!
====

[#administrator-app]

=== New Bonita Administrator Application available

As Bonita Portal is turning into Living Applications, to give you more flexibility and opportunities of customization, you now have two applications to try. +
After the xref:user-application-overview.adoc[Bonita User Application] in 7.11, give a try to our new xref:admin-application-overview.adoc[_Bonita Administrator Application!_].
You can get it from Bonita Studio Welcome page, in the _Resources_ tile.
Starting now, you can use it as is, but you can also customize the pages that have been recreated with the UI Designer, or create your own Administrator Application from a handy starting point.
It replicates the current Administrator Portal profile, except for the _Analytics_ page, available in the Enterprise edition.

image:images/tv.png[videos]  Get an insight of this new value in this video in https://www.youtube.com/watch?v=R0-hnCy7Weg&list=PLvvoQatxaHOOcS6mu3PUFmVFd1lItLaXs&index=4[english], https://www.youtube.com/watch?v=gUwxFM6AfvQ&list=PLvvoQatxaHOPWv6rMQPNIxzZjW6BNg75K&index=4[french], or https://www.youtube.com/watch?v=fNQ-0hFTyxs&list=PLvvoQatxaHOMepAeo0jDrIR9hHfzK1NPn&index=4[spanish].

[#maintenance-compatibility]
=== Development Suite supports multi-maintenance versions

For a given YEAR.NUM version of the development suite (Studio and UI Designer), you can now seamlessly work on projects that have a different maintenance version (but the same version).
For example: if your Studio is in a later version of 2021.1, you will be able to work on all 2021.1 projects without migrating the project or being blocked.

[#simplified-script]

=== Simplified Expression editor

Writing a script expression has never been easier with the reviewed expression editor. You can drag and drop variables and quickly access operators.

[#admin-app]

== Improvements

=== Development suite changes

==== Warning before the migration when cloning a project

If you are cloning a repository branch that required migration then you will be informed of the need for migration before it is actually done. This allows you to cancel the operation and change the branch if needed.

==== Project Problem view and Project validation

A new view is now available in the Studio to see all the project issues and warnings. It is also possible to validate a project through the contextual menu.

==== Dark mode theme for the Studio

In the "Appearance" section of the Studio settings, you can now change the theme. You have two possibilities: light (default) and dark.

==== Multi-selection for REST API and Theme build

You can now select several REST APIs or themes to build in the Studio

==== Displaying the fragments and custom widgets full name in the UI Designer

When editing a UI Designer artifact, you can now see the full name of the available fragments and custom widgets in a new tooltip. Previously, fragments and custom widgets with long names were truncated, making their selection cumbersome.

==== Google Calender New authentication method

The google connector can now use JSON tokens to authenticate.

==== Java REST API Extension

It is now possible to create REST API Extensions in Java.

==== Autocomplete Widget returned value

Within the autocomplete widget, you can select a returned value different from the displayed value, opening for new use-cases.

=== Runtime changes

==== New Monitoring metrics available

Notably two new hibernate metrics: `hibernate.cache.query.plan` respectively `hit` & `miss`, to help troubleshoot performance problems.
How to activate this metrics is documented xref:runtime-monitoring.adoc[here].

[#fault-tolerance-mechanism]

==== Fault tolerance mechanism

It was already possible to ensure the high availability using a xref:overview-of-bonita-bpm-in-a-cluster.adoc[clustered architecture],
Bonita Platform is now even more tolerant to incidents like database outages thanks to the brand new *Recovery mechanism*.

New properties added are:

[source,properties]
----
bonita.tenant.recover.consider_elements_older_than
bonita.tenant.recover.delay_between_recovery
----

See xref:fault-tolerance.adoc[Fault tolerance mechanisms] documentation page for more details.

[#SSO-create-users]

==== User creation on the fly for SSO Authenticated users

You can now configure Bonita to allow Bonita Engine to create user accounts on the fly as soon as they have been previously authenticated in their SSO (SAML or Kerberos).
Find more information on how to configure it xref:single-sign-on-with-saml.adoc[here].

image:images/tv.png[videos]  Get an insight of this new value in this video in https://www.youtube.com/watch?v=VsEybo_TU08&list=PLvvoQatxaHOOcS6mu3PUFmVFd1lItLaXs&index=3[english], https://www.youtube.com/watch?v=VxahUIUJpMo&list=PLvvoQatxaHOPWv6rMQPNIxzZjW6BNg75K&index=3[french], or https://www.youtube.com/watch?v=Ls_x2q46mtQ&list=PLvvoQatxaHOMepAeo0jDrIR9hHfzK1NPn&index=3[spanish].

==== REST API and portal login

The redirect parameter is now optional when logging in to the REST API using `/bonita/loginservice` as well as when logging out using `/bonita/logoutservice`. +
This means it is no longer needed to put redirect=false in the request to log in/out using the API.
However, previous login requests with a redirect URL will continue working as the redirect parameter is optional. +
If you use a customized login page to log in to Bonita portal UI *and* your page don't send any `redirectURL=<targetBonitaURL>` parameter to the login service, *then* you need to make sure your page send a parameter `redirect=true` in the request to the login service.
Same thing if you have a logout link in a custom page that does not pass a `loginUrl` or a `redirectUrl` parameter.

==== Application layout

If you use Bonita layout version 5 or a customized version of it in your applications, make sure you upgrade to version 6 when migrating. Otherwise, the logout button will not redirect to the login page when clicked due to the above changes on the login/logout service.

==== Search keys

As part of the reinforcement of our Open Source DNA, Search keys can now be defined and used in the Community edition. +
Take a look at the xref:define-a-search-index.adoc[search keys documentation] to learn more about it.

==== BDM (Business Data Model) class generation

In Bonita 2021.1, we changed the way ID's are generated when you deploy a (new version of a) Business Data Model. +
Previously, the strategy to generate table ID's of BDM objects was left to Hibernate to decide. It could be a database SEQUENCE, an auto-incremented column, ... +
Now, the specific implementation is explicitly set on each ID column during the BDM class generation. It is however different
from one Database vendor to another (a database SEQUENCE for Oracle and PostgreSQL, an auto-incremented column for MySQL and MS SQL Server). +
Note that no change is required from you, and upgrading to Bonita 2021.1 does not affect your already generated BDM until you actually redeploy it (next time you update it).

== Technical updates

=== Libraries updates

==== Since 2021.1

* Groovy updated to 2.4.20
* Micrometer updated to 1.6.1

==== Since 2021.1-0702 (2021-07-02)

* Spring framework: `5.2.9.RELEASE` -> `5.2.15.RELEASE`
* Spring boot: `2.3.4.RELEASE` -> `2.3.12.RELEASE`
* Jackson: `2.11.2` -> `2.12.3`
* Javassist: `3.18.1-GA` -> `3.27.0-GA`
* XStream: `1.4.15` -> `1.4.17`
* Ehcache: `2.10.6` -> `2.10.9.2`
* javax.servlet-api: `3.0.1` -> `3.1.0`
* org.apache.taglibs: `1.1.2` -> `1.2.5`

==== Since 2021.1-0811 (2021-08-11)

* jakarta.servlet.jsp.jstl 1.2.5 -> 1.2.6
* jakarta.servlet.jsp.jstl-api 1.2 -> 1.2.7

==== Since 2021.1-0915 (2021-09-15)

* com.thoughtworks.xstream: `1.4.17` -> `1.4.18`
* postgresql driver: `42.2.5` -> `42.2.13`

==== Library removal

* Xmlbeans

=== Support Matrix

Bonita now supports Red Hat Enterprise Linux (RHEL) and CentOS 8.2 version

== Feature deprecations and removals

=== Deprecations

==== Bonita Portal transformation

Bonita Portal is being transformed into Bonita Applications. When Bonita Applications are ready, Bonita Portal will be removed. Developers and users will need to learn how to stop using the Portal and start using Bonita Applications instead. This change will allow Bonita and its users to get free from Google Web Toolkit (GWT) technology and offer opportunities for customization.
Indeed, some Portal pages (built with GWT) are being totally recreated with our own UI Designer. They will be customizable. Other pages (those that were already using another technology than GWT) are being wrapped and will not be customizable.
Moreover, as any Living Application, Bonita applications will be extensible to add any page the users need. More details in the upcoming versions of Bonita.
Until then, we strongly advise not to create Custom Portal Profiles anymore but applications instead. When Bonita Portal will not exist anymore, the existing Portal Custom Profiles will need to be migrated into Living applications.

==== Java 8 support

Bonita 2021.1 (7.12) is the latest version fully compatible with java 8 in production and development environment. JRE or JDK 11+ will be required to run. Bonita 2021.2+ won't be operated on Java 8.

==== Multi-tenants architecture

This option to manage different entities (end-customers or internal departments/subsidiaries) is now deprecated. +
We strongly recommend to use multiple instances of Bonita Runtime for every separate entity, or to subscribe to Bonita Cloud with as many Runtimes as there are required entities. +
Support is still provided for customers who already use a multi-tenant architecture for their Bonita on-premises installation.

=== Removals

==== IE11 support

Internet Explorer 11 is *not supported anymore* through the Bonita Platform. +
The web browsers supported by Bonita 2021.1 are Mozilla Firefox, Google Chrome and Microsoft Edge.

==== Legacy third party format importers

In the Community edition, XPDL and jBPM importers have been removed. +
In Enterprise edition, Visio and Aris importers have been removed. +
Use BPMN 2 importer for model exchange with third-party editors.

==== LDAP synchronizer Docker image

A standalone docker image that package the LDAP Synchronizer was released under the name `quay.io/bonitasoft/bonita-ldap-synchronizer`

== Bug fixes
=== Fixes in Bonita 2021.1-1122 (2022-11-22)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-4426 - Fix Type lost on condition after variable removal

[WARNING]
====
Bonita Studio 2021.1-1122 version can crash at start time on MacOS with the Intel architecture. The issue has not be detected on previous nor on future versions. Those facing the issue, can use Bonita Studio 2021.1-0920 instead. 
====

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-145 - Fix User creation on the fly when Role doesn't exist
* RUNTIME-626 -	Fix Waiting events of Start events not created when process is deployed using BCD and has a .bconf file
* RUNTIME-752 -	Fix Error 404 resulting in blank task list
* RUNTIME-1431 - Fix Instantiation REST service Exposing the groovy script behind an exception
* RUNTIME-1434 - Fix Custom user information truncated in administrator app
* RUNTIME-1447 - [Security] Update several dependencies for 2021.1 (7.12.13)
* RUNTIME-1459 - Fix LDAP Synchronizer: BonitaSubscription-7.12.12-LDAP-Synchronizer.sh/bat scripts missing in 7.12.12 Tomcat bundle/Studio
* RUNTIME-1476 - Fix Default dynamic permissions: process deployers, process initiators and process managers should access GET bpm/process
* RUNTIME-1527 - Fix Platform API resources access should not need an API session along with the platform session

=== Fixes in Bonita 2021.1-0920 (2022-09-20)

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-211 - Fix access to a non existing token in an app raise a 403 instead of a 404 
* RUNTIME-992 - [Security] Update several dependencies for 2021.1 (7.12.12)
* RUNTIME-1156 - Fix BConf file deployment is broken for non existing processes
* RUNTIME-1408 - Fix slow REST API extension requests due to a java sycnhronized block

=== Fixes in Bonita 2021.1-0307 (2022-03-07)

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-885 - [Security] Issue with authorization mechanism
* RUNTIME-925 - [Security] Update several dependencies

=== Fixes in Bonita 2021.1-0202 (2022-02-02)

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-292 -	clean Invalid Sessions concurrency issue
* RUNTIME-794 -	Blank page when Refreshing the Adminitrator Monitoring page after Pause & Resume of the tenant

=== Fixes in Bonita 2021.1-1116 (2021-11-16)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-4121 - Bonita Studio gets its workspace corrupted when switching projects
* STUDIO-4126 - Process execution errors: bcd-dependencies 7.11.5 generates a .bar different from Studio 7.11.5
* UID-432 - When opening a pop-up with a widget selected in the whiteboard, the key bindings could get unexpected errors

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-45 -	Narayana / ARJUNA : Frequent warning messages in log files
* RUNTIME-590 -	Method onPrepareStatement with PostgreSQL breaks the search case insensitivity

=== Fixes in Bonita 2021.1-0915 (2021-09-15)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-4109 - LA-Builder requires SP dependency in its classpath

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-229 -	Missing content-type header in several REST API responses
* RUNTIME-271 -	Portal: Archived cases query fails with 'operator does not exist' error when filtering on process name
* RUNTIME-479 -	Update OpenSSL version in Docker images
* RUNTIME-497 -	Integrate jattach inside official docker image

=== Fixes in Bonita 2021.1-0811 (2021-08-11)

==== Fixes in Bonita Development Suite (Studio and UI Designer)
* STUDIO-4043 - errors while importing .bos in 7.12.4 studio
* STUDIO-4046 - Invalid diagram image name generation
* STUDIO-4066 - java.lang.NullPointerException at build when wrong variable entered in script but not shown in validation
* STUDIO-4086 - Expression editor inserts the wrong operator ' =<' instead of '< =' in groovy script

==== Fixes in Bonita Runtime (including Portal)
* RUNTIME-301 - User sees error 500 trying to access a living app after BPM paused and resumed
* RUNTIME-425 - I want to use the LDAP Synchronizer without using the platform administrator

=== Fixes in Bonita 2021.1-0702 (2021-07-02)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* UID-165	- When modifying and saving an asset, pressing SUPPR removes the selected widget
* UID-369	- Property type changes of target widgets are not mapped when using Switch feature
* UID-453	- Responsiveness: Help in editor help is not displayed


==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-326 - Reduce unneeded information in Docker start logs

=== Fixes in Bonita 2021.1-0617 (2021-06-17)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-3948 - Git clone should not display migration warning message when not causing breaking changes
* STUDIO-3953 - Improve LA-Builder build performence
* STUDIO-3965 - Active organization preference is not stored
* STUDIO-3979 - multiInstantiator variable cannot use the Java setter operator in operation
* UID-298 - Error when entering a description for a fragment
* UID-362 - Import custom widgets does not import assets
* UID-425 - Japanese locale correspondence table is wrong
* UID-431 - Layout title metadata displayed and persisted instead of the living app display name when the living application link is shared
* UID-439 - Issue exporting and importing a custom widget with assets
* UID-440 - dataTable does not sort date-related columns when source is "Variable"

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-33 - Impossible to install a valid BDM after an attempts to install an invalid BDM
* RUNTIME-212 - Process manager typo into dynamic-permissions-checks(-custom).properties file
* RUNTIME-293 - Session fixation protection breaks some SAML features
* RUNTIME-297 - start-bonita.sh can't be launched from outside of bundle directory


=== Fixes in Bonita 2021.1-0408 (2021-04-08)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-3757 -	SAP connector cannot create data
* STUDIO-3840 -	Project switch doesn't work when Application editor is opened
* STUDIO-3843 -	Performance issue with groovy autocomplete on windows
* STUDIO-3844 -	git clone failing with misleading error
* STUDIO-3875 -	Issue with "Switch project" function
* STUDIO-3880 -	[Investigate] Editing domain can be null on an opended diagram
* UID-413 -	BDM "exploration" failing when the description is on several lines, or contains double quotes

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-131 -	Error 500 when accessing BPM services page
* RUNTIME-137 -	REGRESSION: BDM deployment errors are not raising the actual Hibernate exception root cause
* RUNTIME-148 -	LDAP Synch: problem while resolving an LDAP group member makes synchronization fail and exit
* RUNTIME-154 -	REGRESSION: BDM deployment fails with unclear error after migration to 7.11 + on Oracle. On other db vendors, some table constraints (foreign keys...) are duplicated

=== Fixes in Bonita 2021.1-0218 (2021-02-18)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-3766 - Missing scroll bar on BDM editor queries table
* STUDIO-3800 - Validation error in a process when the call Activity does not have a version
* STUDIO-3819 - Documentation generation is missing task contract inputs
* STUDIO-3830 - Performance decreases direly as the number of diagrams and process definitions in the project increases
* STUDIO-3835 - Expression dialog is slow to open
* UID-364 - When the first fileUpload widget is removed from a collection, the new first widget still displays the file chosen in the removed item

==== Fixes in Bonita Runtime (including Portal)

* RUNTIME-50 - LDAP Synch: LDAP group objectclass check should be case insensitive
* RUNTIME-62 - Only finished gateway should be selected as a recover candidate
* RUNTIME-63 - Different xstream 1.4.14 and 1.4.13 versions between Bonita 7.11.4 and 7.12.0
* RUNTIME-69 - LDAP Synch: NullPointerException during manager synchronization makes synchronization fail and exit

=== Fixes in Bonita 2021.1 (2021-01-28)

==== Fixes in Bonita Development Suite (Studio and UI Designer)

* STUDIO-3630 - More log messages are needed to debug the SAP Connector
* STUDIO-3694 - User password is not retrieved from the active organization when logging in Portal/App

==== Fixes in Bonita Runtime (including Portal)

* BS-17167 - Live update of connector fails after BDM redeployment
* BS-18685 - Portal's task REPLAY says failed connector will be re-executed but it is not true if task's prev_state_id=4 (ready)
* BS-19410 - Failed Flownodes after a database server restart
* BS-19453 - no state found after AbortedFlowNodeStateImpl for flow node of type SBoundaryEventInstance
* BS-19455 - Performance: 10 sec SQL request on ARCH_FLOWNODE_INSTANCE with 13500000 rows
* BS-19497 - NullPointerException is generated after replaying a call activity in a failed state
* BS-19534 - no state found after CancelledFlowNodeStateImpl for flow node of type SBoundaryEventInstance CANCELLING
* BS-19538 - Cancel of process instance fails because MULTI element cancelled before all children call activities are cancelled
* BS-19543 - Cannot create case because hibernate_sequence table or sequence is missing after migration to 7.11
* BPO-307 - Process manager can assign a task and execute a task on behalf of a user which is not associated to the process in the actor mapping with our without Dynamic authorization checking
* BPO-643 - Not all processes get disabled when multiple ones are selected in Portal - Administration - BPM - Processes page
* BPO-645 - Erroneous space at the end of property value breaks the standard authentication allowed functionality
* BPO-648 - Load more limitation when result is multiple of number per page
* BPO-655 - LoginServlet redirect param should be optional and default to false
* BPO-662 - Expanding/collapsing the form resets input data
* BPO-664 - Security risk: API/formsDocumentImage executes injected script
* BR-454 - Sometimes CallActivity are left Completed without target process
* RUNTIME-50/BR-621 - All LDAP group objectclass checks are now case-insensitive.

== Known issues

=== Email connector

The rich text editor used to edit an email message does not work on Linux since the `libwebkit2gtk-4.0-37` package has been updated to `2.32.0+`. Last known working version of the package is `2.28.1-1`. Linux users can use the plain text editor or a script expression to edit their email's message body.


