# Changelog for Teamscale 8.3

Newer Release Available

Our current release is available here.

Release Announcement

Check out the Release Newsletter for Teamscale 8.3.

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

Minimal Docker version `20.10.10` (since Teamscale 8.3)

Since Teamscale 8.3.0, at least version 20.10.10 of Docker is required.
Run docker version to check the installed version.

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

# Version 8.3.19

Download Teamscale v8.3.19 (ZIP)
January 17th, 2023

# Fixes

  • Method coverage was shown as over 100% in some cases when multiple line coverage metric groups were configured

# Improvements

  • Improved default layout and scrollability for declaration of accessibility web page

# Version 8.3.18

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.18 (ZIP)
January 10th, 2023

# Fixes

# Improvements

  • Improved findings description for "Constructor Call Without Encoding" check

# Version 8.3.17

Download Teamscale v8.3.17 (ZIP)
January 3rd, 2023

# Fixes

  • Adding a trailing slash in the GitHub repository server URL caused a reanalysis of the project

# Version 8.3.16

Download Teamscale v8.3.16 (ZIP)
December 27th, 2022

# Fixes

  • Merge requests were synchronized too often after rollbacks
  • Line coverage values close to 100% were erroneously rounded up
  • NullPointerException in RepositoryContentUpdaterUtils leading to analysis being stuck

# Version 8.3.15

Download Teamscale v8.3.15 (ZIP)
December 20th, 2022

# Fixes

  • Copying to clipboard failed in insecure contexts
  • Snapshot backups for RocksDB storage backend did not work

# Improvements

  • Improved documentation on licensing model

# Version 8.3.14

Download Teamscale v8.3.14 (ZIP)
December 16th, 2022

# Fixes

  • Proxy settings using wildcards could break outgoing HTTP connections
  • Navigating in -issues- and -spec-items- paths added duplicate entries in the path selector when multiple queries had the same name
  • False positives for "Use of enclosing braces, partial array initialization, multiple initialization of array elements" check in C/C++ when using nested structs with trailing commas

# Version 8.3.13

Download Teamscale v8.3.13 (ZIP)
December 13th, 2022

# Fixes

  • "Add all findings" button in Code view sometimes opened the selected task in the current browser tab
  • Eclipse/IntelliJ/NetBeans Plugin: Get Key button opened wrong web page when server URL included a port
  • Some HTTP clients did not respect JVM proxy settings
  • Annotation of merge requests failed on Bitbucket Server instances older than 5.1.5
  • Code review findings could not be resolved after referred file was changed
  • ArrayIndexOutOfBoundsException in the ABAP preprocessor while preprocessing Function call
  • ArrayIndexOutOfBoundsException caused by storage issues during Teamscale shutdown
  • False positives for "Missing braces for block statements" check when using C++ standard attributes [[likely]] and [[unlikely]]
  • MergeRequestSynchronizer was executed for every rollback, leading to poor performance in some cases
  • Dashboards view sometimes broke with the error "Element with ID main does not exist"
  • Coverage information was missing in case of out-of-order external uploads

# Improvements

  • Improved error handling in case ESLintFindingSynchronizer fails due to missing files

# Version 8.3.12

Download Teamscale v8.3.12 (ZIP)
December 6th, 2022

# Fixes

  • IndexOutOfBoundsException in "Statements in Conditional Expression are equal" check for C/C++
  • Findings that were reintroduced were not tracked correctly
  • Annotation edit popups on Test Gap Treemap (TGA) slide stayed open when switching slides
  • Treemap tooltips sometimes went out of browser window bounds
  • Collecting SAP coverage from manual tests failed when one referred project did not exist

# Version 8.3.11

Download Teamscale v8.3.11 (ZIP)
November 29th, 2022

# Fixes

  • Code search did not consider text filters
  • Date display for false positives and tolerated findings in findings list showed "Invalid Date"
  • Anonymous blocks on top level in C/C++ could not be parsed
  • False positives for "Every line starting with '#' has to be a valid preprocessing directive" check in C files with Doxygen
  • False positives for "Check model appearance settings", "Restriction for inport and outport names" and "Port block name visibility" checks in the context of Simulink bus element in/out ports
  • Synchronizing LDAP groups with more than 1.500 users failed
  • Back button did not work in the Dashboards view
  • SAP system committers were not excluded from active committers
  • Users were not resolved via committer name "Lastname Firstname"
  • Callouts were not clickable after copying a report
  • PolarionSynchronizer was slow for large number of documents and work items
  • Voting status of merge requests were displayed as "Skipped" if Teamscale only commented but did not vote

# Improvements

  • Display names were unified in the list of active committers

# Version 8.3.10

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.10 (ZIP)
November 19th, 2022

# Fixes

  • Creation of external metrics required installation of .NET
  • Pre-Commit showed findings in excluded files
  • Updated Apache Mina SSHD dependencies to fix CVE-2022-45047 (opens new window)
  • Temporary connection loss could result in a red error page without user interaction
  • Changing a dashboard widget and then renaming it, resulted in a loss of all changes
  • Queries for specification items in the Requirements perspective could fail under rare circumstances
  • False-positives for "Null pointer dereference" check

# Version 8.3.9

Download Teamscale v8.3.9 (ZIP)
November 15th, 2022

# Fixes

  • Path prefix option was not respected for JaCoCo coverage report uploads
  • JavaScript parser did not support TypeScript object types in the parameters of lambda expressions
  • jQAssistant finding messages were not well-formatted
  • Processing of ABAP files was slow in some cases
  • Eclipse plugin: Assessments were not shown in sidebar tooltip
  • Baselines could be deleted if they were renamed multiple times
  • Simulink: Blocks of type "Step" stored by newer Matlab version were shown without icons
  • Simulink: Loading dictionaries failed for buses
  • Simulink: Signal label propagation in SimulinkOutputDataTypeExtractionStep could end up in an infinite loop for some cases
  • Swiftlint: Findings were not removed for some deleted files
  • Null pointer analysis did not recognize Objects.nonNull
  • Projects could be stuck in "reanalyzing" state when connectors could not be validated
  • GitHub Webhooks and login did not work if the GitHub instance-URL did not end with a slash
  • Initial import commits were incorrectly considered as unlinked changes in Test Gap Analysis
  • Non-date start and end revisions were displayed incorrectly in Project Configuration view
  • Gitlab merge requests sometimes failed to update when Test Gap Analysis was turned on

# Improvements

  • Bitbucket Server: Added option to ignore webhooks initiated by the user itself to reduce server load

# Version 8.3.8

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.8 (ZIP)
November 8th, 2022

# Fixes

  • Security: Updated OpenSSL in docker image to mitigate CVE-2022-3602 (opens new window) and CVE-2022-3786 (opens new window)
  • System health warning "Memory assigned to JVM (-Xmx) exceeds available RAM" was shown although enough RAM was available
  • Commit Detail view took very long to load in some cases
  • Links in "Test Gap" CSV export did not scroll to the method locations
  • "Test Gap" CSV export did not consider Hide unchanged methods parameter
  • E-Mail notifications could no longer be sent
  • Kotlin parser did not support value modifier for classes
  • Snapshots in the Instance Comparison view, created by other users, were not visible
  • LDAP groups with more than 1.500 users could not be synced

# Improvements

  • Improved performance for general coverage report parsing and LCOV in particular

# Version 8.3.7

Download Teamscale v8.3.7 (ZIP)
October 31st, 2022

# Fixes

  • Comments could not be added to Finding Detail report slides when they were part of an old backup
  • Backup import failed due to "The git cloning directory path is not a writeable path"
  • Trivial getter/setter methods in ABAP where not correctly filtered from the Test Gap Analysis
  • Commit Detail view took very long to load in some cases
  • False positive for "Missing interface comment" check for Kotlin
  • False positive for "Unused variable or parameter" check for C# when using type patterns
  • Findings update was slow for ABAP objects in Eclipse plugin
  • Edit buttons were cut off in the External Findings view for findings with long names
  • NullPointerException in PolarionSynchronizer

# Improvements

  • Intellij plugin: Better error handling for invalid TOML file entries
  • Support for "structure only" architectures
  • Permalink button in Metrics Table view is now easier to spot

# Version 8.3.6

Download Teamscale v8.3.6 (ZIP)
October 25th, 2022

# Fixes

  • False positives in "Assignment of a variable to itself" check in Java due to the record identifier classified as a keyword
  • IntelliJ plugin did not show assessment in sidebar tooltip
  • Rendering of Finding Detail slides failed due to JavaScript error
  • Windows UNC paths caused an IllegalArgumentException when using multi-version file system connectors
  • NullPointerException in NotificationTrigger for commits with no affected files
  • Dashboards with multiple projects showed finished analysis indicator if the selected branch did not exist for the respective projects
  • GitLab threads, that were resolved by a user, were marked as "unresolved" if the finding was still in the code

# Improvements

  • jQAssistant: Global findings without source element are now created
  • ABAP parser exits gracefully if the parsed code is invalid
  • Support 0x% specifier in "Log macro formatting string correctness" check
  • Service to get a list of active committers for a set of primary project IDs

# Version 8.3.5

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.5 (ZIP)
October 20th, 2022

# Fixes

  • OutOfMemoryError when analyzing very large git repositories
  • False positives in "Logical block performs numerical operation with non-boolean data type as input" check for Simulink

# Improvements

  • Support for comments was added for the Finding Detail slide
  • More lines of code are displayed on the Finding Detail slide when comparing with a sibling finding
  • Updated Apache Commons Text dependency to version 1.10

# Version 8.3.4

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.4 (ZIP)
October 18th, 2022

# Fixes

  • Activity perspective was broken for projects using ABAP connectors
  • Selecting test cases with no duration broke the Test Selection view
  • Bitbucket Cloud connectors could not be created for Bitbucket workspaces with more than one repository
  • False positives for C# naming conventions for properties and attributes
  • "Minimum Change Creation Date" option in Gerrit connector did not allow relative dates
  • TSLint was still shown as a selectable tool in the analysis profile editor
  • IntelliJ plugin: No error was displayed when fetching findings for a project unknown to the Teamscale server
  • Parsing JSX did not work correctly when render properties contained comments
  • False positives in "Avoid usage of implicit int" check for C/C++
  • Certain triggers failed when Teamscale was retrieving a new commit while executing them
  • Issues view links to affected files erroneously activated the timetravel
  • Test Gap Treemap slide reloaded the treemap graphic even when unrelated fields were modified
  • Issues view showed precommit changes in the Commits summary
  • "Throw of generic exception in CS" check had default enablement YELLOW instead of RED
  • False positives in "Calling equals()/toString() on array" check
  • Switch-label probes were not supported in Bullseye coverage report parser
  • Some treemaps were cut off at the bottom

# Improvements

  • Added comment completeness analysis for Visual Basic
  • Login with GitHub now requires that the user is a member of the GitHub organization

# Version 8.3.3

Download Teamscale v8.3.3 (ZIP)
October 11th, 2022

# Fixes

  • Visual Studio plugin: Unable to execute pre-commit on solutions containing WiX projects
  • False Positives in "Adding list object to itself not recommended" check for Java
  • Checks for the detection of exception throwing produced duplicate findings for lambda expressions
  • Bitbucket Cloud connectors could sometimes not be configured correctly
  • Project connector options suffixes did not show tooltips on hover
  • File extension .cls was not recognized as a Visual Basic file
  • NullPointerException in DataflowHeuristicBase due to handling of local functions in C#
  • Test Gap Treemap displayed duplicate methods for issue
  • Eclipse plugin: Wrong project-id led to cryptic error message when uploading files for precommit
  • False positives in "Entry versus propagation for signal labels" check for Simulink
  • False positives in "Equality check with boolean literal" check for C# in case of nullable booleans
  • False positives in "Control flow depending on system variable" check for ABAP
  • Double-quoted string literals in Matlab were not recognised
  • Adjustment of SAP Code Inspector findings produced wrong warnings in the worker log
  • Clone finding description section showed file path instead of actual description
  • Implicit members in Swift were parsed incorrectly leading to wrongly detected long methods
  • Artifact store connections logged excessive warnings
  • Simulink Annotation block position was computed incorrectly for mdl files
  • False positives in "Statements in Conditional Expression are equal" check for Objective-C due to code comments
  • Internal ESLint configuration did not detect built-in ES6 types
  • The Open Method link in TGA Treemaps sometimes led to the Compare tab instead of the Method history tab
  • NullPointerException in TestMetricsAndContentSynchronizer

# Improvements

  • Improved UI experience in the Pareto test list
  • Improved color scheme of test details tree map

# Version 8.3.2

Download Teamscale v8.3.2 (ZIP)
October 4th, 2022

# Fixes

  • Checkboxes for detailed instance comparison were not shown
  • Gradle example in the documentation did not work
  • ABAP AMDP statement was not excluded correctly
  • Parsing JSX files did not work correctly with render properties
  • In some cases, empty fields in connector configurations were automatically overwritten with their default values when editing them
  • False positives for "Avoid usage of implicit int" check in C/C++
  • False positives for "Missing header protection" check in C/C++
  • Description of the "Cross-client database access" check in ABAP contained a broken weblink
  • Tables in Tests by Spec Item and Spec Items by Test views were not sortable
  • Exclusion rules in Simulink Model Advisor reports were parsed as findings

# Version 8.3.1

Security Improvements

This version contains security improvements. If possible, please update to at least this version.

Download Teamscale v8.3.1 (ZIP)
September 27th, 2022

# Fixes

  • Test selection view was flickering after the first text input
  • Tolerated icon in findings list occupied too much space
  • C# auto properties were not considered to be coverable
  • Escaping was incorrect in Pareto CSV download
  • Issue queries were only applied after pressing enter twice if the query has been selected via autocomplete with a mouse click
  • TGA treemap showed an inconsistent tooltip when opened for a subpath of the system
  • Path prefix parameter for JaCoCo coverage uploads was not working correctly
  • Large numeric metrics were displayed as NaN in metrics table if abbreviation was deactivated
  • False-positives for check "Method and class field have the same name" check for explicit interface implementation in C#
  • False positives for "Allow only forward jumps" check in C when using C++ reserved keywords as destination label
  • Typescript call signatures were not parsed
  • IllegalArgumentException in "Duplicate Set Elements" check
  • Missing files in analysis in cases were a fork overlapped with an already existing branch from a different repository
  • Reports: No loading indicator was displayed when switching or modifying slides
  • Mapping between issues and findings did not work correctly when analysis granularity was enabled
  • PolarionSynchronizer could fail due to rare race-condition
  • Code References and Test References columns were always empty in the Requirements Tracing view
  • Specification item code references were bound to low-level code entities (e.g. local variable, statement)
  • Polarion: Specification items in recycle bin were not deleted from Teamscale
  • Reports: Missing error message if the finding of a findings detail slide could not be found

# Improvements

  • Reduced loading time for "unlinked changes" banner in Issues view
  • Improved error message in case the TreeMapWidget could not be displayed
  • Improved error message in Delta and _ Merge Request_ view when selected branch could not be found
  • Paginated external uploads table is now easier to navigate through
  • Security: Input fields no longer send data to third parties for spell checking (Google/Microsoft)

# Version 8.3.0

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

# Major Features

  • Simulink: Added Support for Matlab's "flexible port placement" Feature
  • Code Collaboration Platforms: Improved Bitbucket Cloud Connector
  • Code Collaboration Platforms: The Commit Message Issues connector can now use parts of the commit message as issue subject
  • C-Preprocessor Languages: Proper handling of C/C++ header files in incremental analysis
  • C# tests using the MSTest testing framework are now extracted from test code and shown in the Tests view of the Metrics perspective
  • Artifactory/S3 external data is integrated into referenced code commit

# Web UI

  • Commits on Code Collaboration Platforms can now link to Teamscale activity views
  • Merge requests on Code Collaboration Platforms can now link to Teamscale merge request views
  • The Audit File Summary perspective now include number of files
  • Users can now interactively select tests to perform the pareto ranking on
  • Bar chart slide has a new option for hiding/showing target threshold
  • Creating a new task from findings now opens a new tab to edit the task
  • You can now select a group for delta analysis
  • Dashboards Favorites list

# New Checks

  • Objective-C check that detects for loops that should be changed to while loops
  • Objective-C check that detects unreachable code
  • Cross language check for constant conditions
  • C/C++ check for detecting C++ code with C file extensions and Objective-C check for detecting code with C/C++ file extensions

# IDE Integrations

  • IntelliJ plugin uses new configuration format (.teamscale.toml)

# Administration

  • Support for setting a credentials process for S3 connector through a server option
  • Support for personal access tokens for Jira Server and Data Center
  • Performance impact section for C++ profilers now available in documentation
  • Add a default token transformation of assertNotNull to avoid NullPointerException
  • Analysis profiles can now be edited in the check explorer