Skip to content

Update Notices for Teamscale 9.6

Deprecated feature: bgRFC protocol for background full sync with SAP ABAP systems

From version 9.6, the option to execute full syncs with SAP ABAP systems in the background using the bgRFC protocol is deprecated and will be removed in Teamscale 9.8. Please use the default option of scheduling a batch (BTC) job instead. For further information please refer to the documentation

Renamed some Prometheus Monitoring Service metrics

Some of the metrics exposed by our Prometheus Metrics Service have been renamed in version 9.6, in order to be compliant with the best practices regarding naming. For further information on how you might need to change your configuration, please have a look at our documentation.

Security: Reverse proxy related feature toggle was removed

Reverse proxy configurations have to be updated for version 9.5. From version 9.5, Teamscale is more strict in handling path rewrites from reverse proxies to ensure consistent behavior for all exported links. The feature toggle -Dcom.teamscale.proxy.https-termination=true was removed. Use X-Forwarded-Proto: https in the reverse proxy configuration instead. For further information on how you might need to change your nginx configuration, please have a look at our documentation on Configuring Reverse Proxy.

Updated system requirements

As of version 9.4, the minimal system requirements for web browsers have been updated to:

  • Chrome version 108+
  • Firefox version 101+
  • Edge version 108+
  • Safari version 15.4+

The oldest supported version for the IntelliJ plugin has been updated to version 2020.3.

Deprecated feature: XPath-based entity selection

From version 9.4, custom checks using XPath selection should be updated since using XPath for selecting entities has been deprecated. The entity selection in the custom checks should be replaced by Java code. Please contact Teamscale support if you need help with updating your custom checks.

Content Security Policy changed

From version 9.4, Teamscale's Content Security Policy (CSP) prevents embeddings in an <iframe> element of unknown origins by default. This is a proactive security measure to prevent clickjacking. To allow embeddings from other origins, you can set the com.teamscale.server.csp-frame-ancestors JVM property to a valid "frame-ancestors" CSP value. The default is 'self' https://dev.azure.com https://cqsegmbh.gallerycdn.vsassets.io https://*.visualstudio.com The last three origins ensure that the embedded parts of Teamscale's Azure DevOps Extension continue to work. Note that the JVM flag will completely overwrite this setting, including the defaults.

Permissions to create dashboard templates might be missing

In Teamscale 9.4 the CREATE_DASHBOARD permission was removed along with the "Dashboard Creator" role. Now all users have the permission to create dashboards by default again. Users might lose the permission to create dashboard templates, in this case it can be readded in the Admin > Roles view.

Removed feature: Avatar images via Gravatar

Due to privacy concerns, the ability to fetch avatar images via the external Gravatar service was deprecated since version 9.2 and was removed in Teamscale 9.4. Please upload your avatar directly to Teamscale.

Custom log configurations have to be updated

If you use a custom log configuration, as of version 9.3, you have to add new filters to still collect the Parse Log errors. Please contact Teamscale support for details.

New cache for AnalysisReportPersister since 9.4.14

To reduce the memory usage we restructured the code and introduced a new size based cache in the AnalysisReportPersister. This improved performance by roughly 2-3x and significantly reduces memory usage. By default, the cache is set to use a maximum size of 1GB, which should easily cover most cases. In case the cache size is not sufficient, a warning will be logged as part of the execution of AnalysisReportPersister. This includes a message on how big the cache should be and how to configure it. If your projects contain many (and large) external reports (such as test coverage, test executions or external findings), keep an eye on the logs, as a small cache will strongly hamper analysis performance.

Re-Analysis when Upgrading
  • When updating from 9.6.x, drop-in.
  • When updating from 9.5.x or earlier, a full re-analysis via backup is required.


What's New for Teamscale 9.6

What's New in Teamscale Notification

Starting this release, whenever a new version of Teamscale is deployed, the user gets notified about new features shipped with that version. Thereby, users learn about the newly released features as soon as they're available on their Teamscale instances, and they can make the most of what Teamscale has to offer.

Whats New Notification

Build Completeness Check for Merge Requests

Starting with this release, the GitHub and Bitbucket Server voting connectors can be configured to wait for specific build jobs before annotating the merge request with test gap data. That way Teamscale ensures the completeness of the available test coverage information before updating the merge requests, as well as, provide the user with a clear overview of whether more test data is expected to arrive from build pipelines or not.

The following features are included:

  • New connector options to configure the build jobs to wait for.
  • Test gap badge in the merge request now displays if Teamscale is waiting for more test data to arrive, and it's updated continuously to reflect the status of the relevant build jobs.

Build Completeness TGA Badge

  • Merge request detail view now displays the relevant build jobs and their current status, if configured.
  • Merge request detail view now indicates if more test data is expected to arrive from build pipelines.

Build Completeness Merge Request Detail View

For more information on how to configure the build completeness check for merge requests in your projects, please refer to our documentation.

Gitea Integration

Gitea has been added to the growing list of platforms with which Teamscale directly integrates. The following features are included:

  • Showing a summary of the Teamscale Findings that a pull request introduces to the code base as commit status report in the pull request view.

Gitea Status Report

  • Updating the pull request with Teamscale's finding and test gap badges in the pull request's description.

Gitea Badges

  • Ability to navigate from the pull request to Teamscale's Merge Request view for a more detailed overview.
  • Line comment annotations, where Teamscale findings are added as inline comments to the pull request's diff view.

Gitea Line Comments

Web Interface

  • New issue connector preview dialog showing the expected results for the configured branch and issue id extraction patterns.
  • State of the toggles for hiding default and unused analysis profiles is now persisted across the different views.
  • Checks now show which rule of the C++ Core Guideline they cover.

Quality Control: Reports

In this release, we have continued our efforts to make the reporting framework more flexible and capable of supporting different use cases.

Metric Treemap Slide

New Metric Treemap slide has been added to the growing list of slide types available. Its main features include:

  • Displaying the metric treemap for the selected code path.
  • Setting the treemap's color and area metrics based on a variety of available metrics.
  • Selecting the desired color for the treemap.
  • Ability to focus the scope of the treemap on a subset of files by configuring the included and excluded files options.
  • Adding finding badges with filtering options.
  • Ability to generate annotations for the treemap.
  • Direct navigation to any file from the treemap.

Report List View

  • Ability to filter reports according to the referenced projects via the project selector.

Static Analysis

Clone Detection

Starting this release, there is a dedicated finding group for intra-component clones, which allows focusing exclusively on clones within components. You can read more about detecting cross-component clones here.

Intra-component Clones

Integrated Tools

  • Integrated angular-eslint-plugin into Teamscale, thereby adding 64 new JavaScript/TypeScript checks.
  • Integrated eslint-plugin-security into Teamscale, thereby adding 14 new JavaScript/TypeScript security checks.
  • Updated pylint checks to version 3.0.3, thereby adding 28 new Python checks.
  • Support for external JQAssistant architecture findings reports for JavaScript/TypeScript.
  • AbapLint: Added support for cross-file analysis between project code and SAP standard code.

Requirements Tracing

New metrics are now available for spec items. These include:

  • Code Reference Count: provides the number of all code references for a given spec item query.
  • Code Reference Coverage: provides the percentage of the spec items that have at least one code reference.

Test Intelligence

  • Test Selection View: Suggested test budget is now automatically applied in the Prioritize Tests tab.
  • JS Profiler: The collector now provides statistics on the number of messages received.
  • TGA Badge in Jira can now be configured to use a fixed branch instead of the automatically selected one.

SAP® Integration

With the current cloud movement of the SAP ecosystem, ABAP projects are challenged to manage their transition towards ABAP Cloud. To support these teams, Teamscale is now able to import language version and release contracts of each ABAP object. Trend and treemap visualizations allow a comprehensive overview of the current state and progress over time.

ABAP Metadata Treemap

  • The model view now offers a "Show propagated types" toggle

Show propagates types toggle

New Checks & Check Options

ABAP

  • "Invalid message type" check.
  • "Avoid FOR USER addition within an AUTHORITY-CHECK statement" check.
  • "Avoid USER addition within a SUBMIT statement" check.
  • New option for "No write access to system fields" check to allow certain system fields.
  • ABAPLint Checks are now included and displayed with their readable names.

PL/SQL & ESQL

  • "Use CASE Instead of Complex IFELSE Blocks" check.
  • "IN OUT Parameter as OUT only" check.
  • "IN OUT Parameter as IN only" check.
  • "Unused variable in program Comprehensibility" check.

IDE Integrations

Eclipse plugin

New Check Descriptions tool window which shows the description of the check which created a particular finding.

Eclipse Check Descriptions Window

Administration & Operation

This release comes with a number of administrative features to make operating a Teamscale instance easier.

Services

  • Force Rollback Service: Added the option to rollback all branches.
  • New Merge Request Re-vote Service: Ability to re-vote on merge requests.

Project Configuration

  • Ability to configure a pre-selected branch from the Web UI to support Git projects without a designated default branch.

Additional Improvements

  • Repeated errors can now be collapsed to a single log entry in the worker log.
  • Instance comparison now supports the comparison of spec items.