Another major version of Polarion is now available – Polarion ALM 22 R1
In this release, we deliver greatly improved source code traceability, as well as several productivity improvements, based on the feedback from our customers who use our solutions every day.
Significant enhancements were done to the following:
- Commit Traceability – New scalable architecture of source code change traceability allows you to link changes from thousands of branches to Polarion Work Items with minimal network utilization.
- Simulink Connector – A brand new Simulink connector provides a superb user experience with the embedded Polarion UI within the Simulink and an advanced feature set.
- Productivity Improvements – Easy on the user with type-specific custom fields for Live Documents, or retaining the Work Item selection when switching the Live Document filter.
Let’s take a deep dive into all improvements the new release brings.
Improved Commit Traceability
We rethought how Polarion connects to external repositories and tracks the changes made to your code.
The new Commit Traceability feature uses Apache Kafka as an intermediary Data Exchange Tool to locally store all metadata for the commits made to the connected repositories. Each Polarion cluster node then uses the data from Kafka to build the index and get new changes – making the whole process 10% to 60% faster than the original solution.
(Index and Reindex)
(Fetch + Re/Index)
|100x local Git, 500K revisions||2 min||6 min||20 min||60%|
|GitHub, 300K revisions||40 min||3 min||60 min||28%|
|GitHub, 1000K revisions||190 min||27 min||not possible to process||–|
|4x SVN, 2000K revisions||48 s||42 min||50 min||14%|
We introduced a new, External Repository Aggregator (ERA) service to manage external repository connections. The ERA service acts as a single point of contact, supports thousands of repositories for a single Polarion instance, and supports the most popular repository providers (SVN, Git, GitHub, GitLab, and Bitbucket) in all their versions and flavors.
With ERA as the single point of contact, the whole system is much more efficient, decreasing the network load because there are no longer multiple Polarion nodes trying to communicate with each external repository at once.
The big feature of ERA is the support for Hooks/GitHooks/WebHooks together with Health Polling.
Up until now, every Polarion node polled all connected external repositories for updates every 5 seconds. For example, with 100 connected repositories and 7 nodes in a Polarion cluster, this totaled over 12 million requests per day.
The hooks are configured on the external repository side and are used to let ERA know that there has been a change. This allows us to not use periodic polling as the primary source for getting information about new updates. Instead, we can increase the polling period from 5 seconds to hours and use it as a “health” feature that occasionally checks for changes missed due to network issues or system outages.
Using hooks with health polling set to 1 hour with 100 connected repositories and 7 Polarion nodes in the cluster totals 4900 requests per day. (The system makes almost 2500x fewer requests, just 0,04% of the original amount.)
|Health polls per day|
(60 min interval)
|Polls per day – hooks|
(repos * commits)
|New polls per day|
(health + hooks)
|Old solution polls|
per day (7 nodes)
|Heavy||50||100||1 200||5 000||6 200||6 048 000||975x|
|Mid||100||25||2 400||2 500||4 900||12 096 000||2468x|
|Light||450||1||10 800||450||11 250||54 432 000||4838x|
|Total||600||126||14 400||7950||22 350||72 576 000||3230x|
ERA also supports simultaneous connections to multiple branches of each connected repository. This avoids the need for local clones of specific remote repository branches. (A requirement up until now.)
The tracked branches can be specified as a static list or dynamically loaded by ERA based on a regular expression (RegEx) that defines a pattern of branch IDs that should be automatically picked up.
This dramatically improves the usability of the Commit Traceability feature for use cases like working in feature branches when developing your new functionality. All commits for all features can now be visible in Polarion even if the work on a feature is still in progress and it’s done seamlessly without any administrative overhaul.
Tracking multiple branches from the same repository only increases the number of processed external revisions by the commits unique to the tracked branches. Once a commit is merged to the master, it no longer appears for other branches. This allows us to effectively track multiple branches from the same repository without negatively impacting scalability and performance.
Type-specific custom fields for LiveDocs
The new version allows you to configure different custom fields for specific Document types so that only relevant custom fields are available for each Document. It is possible to configure custom fields for “All Types“, which are then configured for all Document types on top of the type-specific ones.
Keep Work Item selection when switching Document Filter
Live Documents have been enhanced so that you can keep your working context by retaining the Work Item selection when switching between filtered read-only and full edit mode of a Live Document.
Navigation via Linked Work Items in Document Editor
We unified the rendering of Linked Work Items in the Work Item Presentation layout in the Document, with the existing behavior of Linked Work Items in the Work Item Properties sidebar.
- Clicking on a Linked Work Item that is sitting in the same Document will select the target Work Item and scroll it into the view.
- Clicking on a Linked Work Item that is sitting in a different Document will open that Document, select the target Work Item and scroll it into the view.
- Clicking on a Linked Work Item that is not in a Document will open the Work Item details in a new browser tab.
This functionality makes the navigation via trace links easy from within the Document context, without the necessity to navigate via the Work Item Properties sidebar.
- The “Stay logged in” functionality can be optionally disabled via a polarion property if administrators want to force their end-users to always use their credentials for login for increased security. “Stay logged in” only applies to authentication via the local users file, or LDAP. Not via the single sign-on authentication using SAML, or OAuth 2.
- Adding a custom logo to the login screen now replaces the Siemens logo instead of displaying both logos.
- The custom field type Duration is available in Collection and Test Record Custom Field administration.
Open Services for Lifecycle Collaboration (OSLC) Support
When you hover over an OSLC link in the Work Item Properties sidebar, a rich text supported window from the remote system’s UI appears.
We also made it possible to create OSLC links between LiveDocs located on two different Polarion instances or a container of requirements (like a module) on another remote system.
We made the following usability and compatibility improvements to Polarion’s OSLC support:
- The Selection and Creation dialogs from an OSLC provider are now resizable within Polarion.
- Polarion 22R1 was updated to use the latest OSLC libraries to ensure maximum compatibility with remote systems.
- OSLC links now display the Teamcenter Item ID, Rev ID, and Name when using the Teamcenter/Polarion linked data integration. (Instead of just the Name.)
Personal Access Tokens for authentication in the Webservices API
Personal Access Tokens allow you to authenticate users or service accounts via the Webservices API (and later in the REST API) securely, by avoiding the storage of usernames and passwords in external tools. Users can create their own Personal Access Tokens with specific expiration dates, or revoke the tokens manually.
License monitoring via Java Management Extensions
Polarion license utilization can be easily monitored via the new License statistics MBean that exposes license usage information via the Java Management Extensions API, or so-called JMX. The JMX is a standard Java technology that enables the easy plugging of these statistics into enterprise monitoring tools like Zabbix, or Kibana, or allows viewing these statistics with tools such as Java Management Console.
Active Load Balancing in the Cloud
Active load balancing ensures the correct balancing of users across the Polarion application nodes in a cluster. Users need to be re-balanced especially when Polarion application nodes in the cluster are added, removed, or restarted.
Active load balancing requires that the user’s login session is shared across all the nodes in the cluster. Previously, the technical implementation of this functionality relied on Multicast technology, which was not available with many cloud providers, so we updated the session replication implementation to unlock active load balancing in the Polarion clusters deployed in the cloud. We highly recommend setting up active load balancing for any Polarion cluster.
Performance and Scalability
The most notable improvement is related to the loading of objects that use custom fields of type object enumeration, i.e., Fields that list Polarion objects. All the object enumerations are now lazy-loaded into the editor, which significantly reduces the load time of affected objects.
Additionally, the algorithm for constructing a tree of Work Items has been enhanced to avoid deduplication of tree nodes when a certain tree size is reached in order to limit system resource utilization. The deduplication removes redundant root Work Items if the same Work Item is displayed in the lower levels of the tree.
Finally, the calculation and indexing of outline numbers in Document history has been switched off by default, in order to speed up historical indexing and reduce index size. Outline numbers in Document history can be enabled by a polarion property.
|Use Case||21 R2 [s]||22 R1 [s]||∆|
|Load Test Run No Cache||168||1||99,40%|
|Load Test Run Cache||14||0,6||95,70%|
From Polarion 22 R2, we will support only Java 17 for runtime, so the Graal engine will be used by Polarion by default.
The scripts are not fully compatible between the different engines, so we suggest you start validating and updating your scripts early.
Updates to Supported 3rd Party Systems and Components
- Added Debian 11 support
- Added support of PostgreSQL 13.4 which is now bundled in the Windows distribution
- Firefox support limited to ESR versions
New Documentation Guides
In order to make Polarion scripting easier, a new SDK Scripting Guide was introduced and provided in the Polarion distribution.
Since Polarion needs to be maintained long-term, we need to update the technology continuously and occasionally deprecate and remove old features. To keep our customers in the loop, we created a new Deprecation and Removal plan that lists all the depreciations and removals for the current release as well as a roadmap for the following Polarion release.
Notable Issue Fixes
A number of important issues have been addressed in this release. For example, the search in the historical Work Items table has been fixed to execute the search against the historical index to produce an accurate query result. Here are some further notable issue fixes:
DPP-225317 – Easy Linking: Memory leakage reported
DPP-224397 – White Label Error Page when activating Collaboration Feature using AWS LB
DPP-223026 – Coordinator runs out of memory because of multiplied login requests
DPP-223012 – Regression in 3.21.1 SAML: Polarion does not convert anchor links before they are sent to IdP
DPP-214163 – Regression in SVN 1.10+: History view of some documents fails with SVN exception “chunked stream ended unexpectedly„
DPP-203009 – Any changes in UI-data classes breaks the deserialization of already serialized objects
DPP-164731 – Cannot execute workflow action via drag&drop in Kanban board if the action requires description
DPP-122146 – unable to attach *.gz file to work item
DPP-96084 – NPE when selecting Work Item for bulk edit with insufficient permission
DPP-94261 – Rows in old table component are stuck in Loading… State
DPP-92597 – Filter is applied on head revision when viewing Document history
DPP-91617 – Table with no border in editor displays border in PDF Export
View the complete resolved issues list.
One last thing … New Polarion Connector for Mathworks Simulink
In the last “What’s new blog post for Polarion”, we mentioned that we were working on a new Polarion connector for Mathworks Simulink. Now, in time for this new Polarion 22 R1 release, we are pleased to announce that the new Polarion connector for Simulink is here in a dedicated blog post. For the first time, Polarion itself has been directly embedded into the Simulink desktop client to support a larger set of customer use cases and reduce inconvenient app context switching.
Version 22 R1 is a free update to all customers with a current maintenance subscription. You can download the update distribution at Support Center. Instructions for installing it are in the HOW_TO_INSTALL_THIS_UPDATE.txt file, bundled in the update distribution package. Please also review the Configuration.txt file, which describes changes that can affect existing Polarion installations.
If you would like to evaluate this release before updating your production installation, simply visit Polarion Trial Download, download the product, install it, and use the built-in 30-day evaluation license.
If you have any questions or comments, please don’t hesitate to contact us on the Polarion Community portal or through your Polarion technical support contact. On behalf of our entire team, thank you for using Polarion ALM.
Polarion ALM Product Management