# Changelog for Teamscale 8.2

Release Announcement

Check out the Release Newsletter for Teamscale 8.2.

Java 17 Required (since Teamscale 7.7)

As of Teamscale 7.7, running the Teamscale server requires a Java Runtime Environment, Version 17 or later.

Changed startup on non-Docker Linux installations (since Teamscale 7.7)

As of Teamscale 7.7, Teamscale is no longer executed using nohup on non-Docker Linux installations. This requires manual intervention:

  • If you are using systemd to manage Teamscale as service, you have to change the startup type from Type=forking to Type=simple in the Teamscale systemd unit. Remember to reinstall the service.
  • For custom linux setups that depend on nohup, start Teamscale like: nohup ./teamscale.sh &.

In general, we strongly recommend running Teamscale on Linux with Docker.

Changed Teamscale systemd service type (since Teamscale 7.7)

As of Teamscale 7.7, the Teamscale systemd service type must be updated to type=simple, instead of the previous type=forking

Improved administration experience (since Teamscale 7.7)

Teamscale 7.7 features several changes that improve the default administration experience.

  • Breaking: Teamscale is no longer executed using nohup on non-Docker Linux installations. If nohup is required for your setup, start Teamscale like: nohup ./teamscale.sh & However, we strongly recommend running Teamscale on Linux with Docker or as Service.
  • The default location of storing backups is a folder named backup relative to the process working directory. Existing instances are not affected and the location previously configured will be set upon backup import.
  • The default location of cloning remote Git (or SAP) repositories is a folder named repo relative to the process working directory. Existing instances are not affected and the location previously configured will be set upon backup import. The option has been moved to Admin / Global Settings / Git.
  • The following JVM arguments are now always specified and can be removed from JVM_EXTRA_ARGS in jvm.properties: -Djco.session_timeout=60 -XX:-OmitStackTraceInFastThrow -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM
  • The Teamscale temporary directory is now configurable with the TEAMSCALE_TEMP environment variable. If you previously specified a custom temporary directory using -Djava.io.tmpdir=..., we recommend removing this JVM argument and using the environment variable instead. The directory may be relative to the process working directory and is created if it does not exist.
SAP Java Connector required for importing ABAP® code (since Teamscale 7.7)

As of Teamscale 7.7, exporting ABAP® code from SAP systems requires a manual installation of the SAP Java Connector (SAP JCo) 3.1 or later. For detailed information on the installation process, please refer to Installation of the SAP Java Connector (JCo).

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

# Version 8.2.1 latest

Download Teamscale v8.2.1 (ZIP)
August 16th, 2022

# Fixes

  • Line coverage metric was not calculated correctly
  • NullPointerException in ArtifactoryContentUpdater in case of concurrent modification of stored artifacts
  • Redundant "Teamscale Info" header in Jira issue annotations
  • S3 connector did not collect all items in large buckets
  • TGA coverage sources chooser was inconsistent with latest upload in some rare cases
  • Number of loadable custom checks per location was wrong on System Information page
  • URLs did not contain branch name for default branch which made them inadequate for sharing
  • Tests that did not exist in the selected partitions were still shown in the Test Metrics view with count zero
  • Counting the number of committers did not take commit type and aliases into account
  • Selection of integrated GitHub app was undeterministic when two apps had the same id but different URLs

# Improvements

  • Backup minimizer now supports branch include and exclude patterns

# Version 8.2.0

Invalid line coverage metrics in version 8.2.0

Teamscale 8.2.0 contains a bug that leads to Teamscale not calculating the coverable lines for many files (namely, it will only consider the first 10 files of each commit). This leads to invalid line coverage metrics, which in turn can have unexpected consequences like missing files in the arbitrary treemaps. Due to this, we decided to take version 8.2.0 offline.

Version 8.2.1 (due on 16th August, 2022) will contain a fix for this behavior. If you already installed version 8.2.0, the fix will only work if the affected projects are reanalyzed.

Bug Fixes
  • 8.2.0 contains all fixes from previous versions released on and before August 9th, 2022
  • For brevity, only new features are included in the changelog

# Major Features

  • ABAPLint and its dependencies are now shipped/bundled in Teamscale
  • ABAPLint analyses use the ABAP version of SAP systems
  • Include **.abap_ddic files and exclude generated interfaces in ABAP analysis profile by default
  • Test-case extraction for function-based and class-based unit tests from the MathWorks testing frameworks
  • Support for parsing portable .NET PDB files
  • Support for parameters field in Testwise Coverage V2
  • More detailed finding messages and properties for checks from jQAssistant

# Web UI

  • Configuration wizard for the Teamscale Upload tool
  • Check Explorer displays options for quality indicators and groups of analysis profiles
  • Unified and improved searching feature, including search in treemaps and a new Advanced code search view
  • Ctrl + Enter hot key to accept rationale for tolerations and false positives dialog
  • Test Gap information now available within Pareto view

# New Checks

  • Cross-language check that detects the potential masking of exceptions thrown from finally blocks
  • Cross-language check that detects the potential discarding of exceptions when returning from finally blocks.
  • Categorized 42 new SonarLint checks

# Administration

  • Monitoring of Teamscale threads through navigable thread titles
  • Filtering of services on API Reference page
  • Instance comparison detects changes in project configurations
  • Documented standardized default directory layout for artifact storage schemas (S3/Artifactory)