# Changelog for Teamscale 8.0

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).

SNI Hostname Verification (since Teamscale 7.4)

As of Teamscale 7.4, the internal Jetty web server executes SNI hostname verification by default. If you encounter an error "Invalid SNI" when accessing Teamscale, please contact our support (opens new window)

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

# Version 8.0.2 latest

Download Teamscale v8.0.2 (ZIP)
May 24th, 2022

# Fixes

  • Backups with enabled SonarLint C# checks could not be imported
  • Requirements Tracing and Issues pages contained a single dangling semicolon
  • The ternary operator (?:) was not parsed correctly in C# when using expression-bodied methods
  • ABAP system ID was not logged for asynchronous ABAP imports
  • Check descriptions in the Analysis profile editor could appear hidden in the background
  • Using await before foreach statement in C# was not parsed correctly
  • Static local functions in C# were not parsed correctly
  • Project admin access for project creator was not transferred when changing the public ID of a project
  • Obsolete finding discussions in Gitlab merge requests were sometimes not resolved
  • Check for nested comments was running very long for JavaScript files with inline source maps
  • False positives for "Variable assigned to itself" check when using C# object initializers
  • In rare edge cases methods were incorrectly shown as untested even though they were covered after their last modification
  • Voting did not happen when the "Partitions Required for Voting" option was enabled and the uploaded external data was empty
  • Some widgets could not be added to dashboards if the project had a lexicographically smaller alias
  • UnsatisfiedLinkError in TFS connector
  • Objective-C preprocessed code was not ignored in the "Statements in Conditional Expression are equal" check
  • Some branches were considered covered even if no coverage reports were uploaded
  • C# property initializations were not parsed correctly
  • Users could alter the avatar images of other users
  • ESLint configuration files other than json, yml or yaml have to be allowed explicitly (e.g. JavaScript files, which are executable)

# Improvements

  • Added new default directives to the C/C++ analysis profiles (does not affect existing profiles)
  • Improved security against path traversal and DoS attacks

# Version 8.0.1

Download Teamscale v8.0.1 (ZIP)
May 18th, 2022

# Fixes

  • Backup import failed with "Unknown configuration item" when importing Java projects
  • Line numbers of SAP code inspector findings were wrong in class private or protected sections

# Version 8.0.0

Bug Fixes
  • 8.0.0 contains all fixes from previous versions released on and before April 26th, 2022
  • For brevity, only new features are included in the changelog
Download Teamscale v8.0.0 (ZIP)
April 26th, 2022

# Web UI

  • Issue perspective: stored issue queries on the right sidebar can now be filtered
  • Issue perspective now contains a link to the Test Gap perspective to quickly review test gaps for issues of the currently selected issue query
  • Issue perspective now provides a dialog to easily navigate to a specific issue
  • Commit Details view of an aggregated commit now includes the commit messages and revisions of the aggregated commits
  • Commit Details view now displays the upload timestamp of coverage upload commits
  • Architecture editor can now be set to only show incoming or outgoing dependencies
  • Test code in Metrics and Test Gap tables is now marked green
  • Delta perspective for test gaps now provides a partition selector
  • Method History view now has an additional tab showing the issues referenced in the commit history
  • Time travel now supports the input of revisions obtained via GitHub
  • Trends in dashboard widgets can now easily be removed via a button

# New Checks

  • "Avoid Jumbled Loop Variable Modifications" check (C++/C, C#, Java, JS/TS, PHP, Swift, Groovy, Objective C, Go)
  • "HttpClient instantiated in using statement" check (C#)
  • Updated Clangtidy support from version 10 to 13.01

# Issues and Requirements Tracing

  • Jira connections with identical settings are now transparently cached across project boundaries
  • Issue ids are now matched to the corresponding Teamscale issue regardless of casing
  • List of issues can now be exported with corresponding test gap data
  • RTC requirements tracing: links between work items can now be imported

# Testing

  • Support for testwise coverage execution units
  • Pareto ranking is now performed asynchronously on the server
  • Pareto ranking: the number of selected tests is now shown
  • Public API for getting a list of methods executed by a test case

# Code Collaboration Platforms

  • Voting on merge requests and annotating them with badges can now be configured independently from each other
  • Configuration of multiple GitHub organizations is now supported

# Reporting

  • Task Detail slide now supports macro expansion for code snippets
  • Test Gap Treemap slide now allows setting annotations for components

# IDE Integrations

  • Visual Studio: improved pre-commit selection dialog

# Administration

  • Instance comparison can now check for differences in TGA data
  • SAML login errors now contain additional information
  • Option "Use Teamscale's default crypto key" is now hidden if no other key is configured