Update Notices for Teamscale 2024.9
Download Teamscale 2024.9
Teamscale 2024.9 is now available for download here.
2024.9 Update Teamscale Server to Java 21
Starting with version 2024.9, the Teamscale server will require Java 21 to be executed.
Action required: In case you are not using a Docker-based deployment, please make sure to update the JRE used for executing Teamscale to Java 21.
2024.9 Update teamscale-dev
to Java 21
Starting with version 2024.9, the platform-independent download (teamscale-dev.zip
) of teamscale-dev
will require Java 21 to be executed.
Action required: In case you are not using the self-contained platform-dependent teamscale-dev
download (teamscale-dev-windows-x86_64.zip
, etc.), please make sure to update the JRE used for executing teamscale-dev
to Java 21.
2024.9 Deprecated feature: Timespan-based threshold configurations
From version 2024.9, the Timespan-based threshold configurations section of the "Threshold Configuration List" project option is deprecated. This change does not affect the project default threshold configuration. The functionality causes inconsistencies when combined with certain other features and is rarely used. It will thus be removed in version 2025.3.0.
2024.8 Disabled Legacy API: Update .NET Profiler, ADO Plugin & REST API calls
From version 2024.8 the Legacy API has been disabled by default, and we plan to completely remove it with 2025.1 (or later).
Action required: Make sure you update the Teamscale .NET Profiler, Teamscale Plugin for Azure Dev Ops or scripts that interact with Teamscale's Legacy REST API to their newest versions.
To temporarily re-enable the Legacy API (in case you cannot upgrade a part of your setup yet), you can set the system property com.teamscale.legacy-api.enabled
to true
.
Teamscale will show a warning banner to administrators if usages of the Legacy API have been detected since the last instance restart. You will find the used legacy services in the System -> Service Log view.
2024.7 Deprecated feature: "Pretty Print" file action in code view
From version 2024.7.0 the ability to generate a pretty-printed representation of a file was removed. The feature was not working reliably for all programming languages and at the same time was rarely used.
2024.7 Bitbucket Server Integration: Support for "Source branch updated" webhook event
From version 2024.7, Source branch updated has been added to the list of the webhook events needed for Teamscale's Bitbucket Server integration to work.
Action required: If you create the Bitbucket repository webhooks manually, then please update your current webhooks to include the Source branch updated event as described here. If not, then the webhooks will be updated automatically by Teamscale.
2024.7 Updated Minimum Bitbucket Server Version
From version 2024.7, the minimum required Bitbucket version for Teamscale's Bitbucket Server integration has been updated and raised to 7.0.0. Teamscale's pull request integration features are no longer available for Bitbucket Server instances older than 7.0.0.
9.8 Removed feature: bgRFC protocol for background full sync with SAP ABAP systems
The option to execute full syncs with SAP ABAP systems in the background using the bgRFC protocol has been deprecated since version 9.6 and is no longer available with Teamscale 9.8. Please use the default option of scheduling a batch (BTC) job instead. For further information please refer to the documentation
9.6 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.
9.5 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 stricter 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.
Re-Analysis when Upgrading
- When updating from 2024.9.x, drop-in.
- When updating from 2024.8.x or earlier, a full re-analysis via backup is required.
What's New for Teamscale 2024.9
GitLab Merge Request Integration
In this latest release, Teamscale delivers exciting improvements to GitLab merge request integration, focusing on expanding functionality.
Build Completeness Check
The build completeness check feature, is now available for GitLab. With this release, GitLab voting connectors can be configured to wait for specific build jobs before annotating merge requests with test gap data. This ensures that Teamscale only updates merge requests once the test coverage information is complete, providing users with a comprehensive overview of pending test data from build pipelines.
This update adds configuration options for specifying which build jobs to wait for, ensuring that test gap badges accurately reflect if additional test data is pending. The merge request detail view will also now display the status of relevant build jobs and indicates whether further test data is expected, updating dynamically as build jobs progress.
For detailed instructions on configuring build completeness checks for merge requests in GitLab projects, please refer to our documentation.
SSH Support
Teamscale now offers support for cloning GitLab repositories using SSH, enhancing its capabilities for environments where HTTPS access is deactivated due to strict security guidelines. Previously, the GitLab connector supported only HTTPS, but with this update, it now allows repository access through SSH.
As a result, GitLab merge requests can continue to be fetched and annotated by Teamscale, ensuring uninterrupted source code analysis within secure environments.
Web Interface
We continuously strive to improve the user experience with Teamscale. As a result, the new release comes with many improvements in the web UI.
- Issue-based Metric Treemap: Ability to navigate from the treemap to a detailed view of issues affecting files, providing direct insights into whether files are impacted by similar or widespread issues.
- Findings Table: A new column is now shown for architecture violations displaying the affected architecture model.
- Check Explorer: Checks for the C language are now mapped to individual rules from the MISRA C:2012 guideline document.
- Merge Request Details: New button allowing the CSV export of data from the metrics table.
- Automatic linking has been added allowing non-code metrics with file location information to navigate directly to the corresponding code view.
Static Analysis
Semgrep Engine & GitLab SAST Rules Integration
Teamscale has enhanced its static application security testing (SAST) by integrating the open-source Semgrep engine along with the Gitlab SAST ruleset. This integration introduces 300+ security checks for major programming languages such as C, C++, C#, Go, Java, JavaScript, TypeScript, Kotlin, Python, and Swift.
The implementation processes changes internally and incrementally, removing the need for an internet connection. This update marks a significant step forward in offering extensive security analysis within Teamscale.
Swift: Compiler Control Statements Support
Teamscale's Swift preprocessor has been updated to support Swift compiler control statements, thus reducing false positives in code analysis related to conditionally compiled code. In addition, a dedicated section in the check explorer has been introduced, allowing configuring Swift compiler control statements, similar to handling C++ macros.
This enhancement improves the accuracy of code analysis for Swift projects by correctly interpreting compiler control statements, providing a more reliable assessment of code quality.
ABAP: Comment Completeness Support
Teamscale now recognizes ABAP Doc comments as interface comments for ABAP, enabling accurate comment completeness analysis. This enhancement aligns with current guidelines such as Clean ABAP and offers improved documentation metrics for all ABAP systems supporting ABAP Doc.
To configure which entities should require an interface comment in your project, please refer to our documentation.
Dart Test Coverage
- Teamscale now identifies coverable statements in Dart, along with the integration of test coverage data in LCOV format. This enhancement enables precise analysis of test coverage for Dart projects.
New Checks & Check Options
ABAP
- "Usage of released APIs (Cloudification Repository) - Tier 1" check to detect the usage of deprecated, not to be released or not to be released stable APIs.
C/C++
- "Long Strings" check to detect long strings that could affect the binary size after compilation.
- New option for "Ignoring Possible Null Pointer Dereference" check to ignore possible null pointer dereference after
malloc
.
Java
- New option for "Avoid unused private methods" check to configure annotations which indicate, that a method is excluded from the check.
IntelliJ Plugin
- Dedicated icon has been introduced for
.teamscale.toml
IDE configuration files to visually indicate their mapping to Teamscale.
Administration & Operation
- Teamscale now features an automated cleanup tool that deletes open upload sessions older than 30 days, with customizable intervals available. This enhancement optimizes storage and improves system performance by removing outdated session data.
- Teamscale now exposes a Prometheus metric for the number of REST calls to 3rd party tools like GitLab or GitHub.