# Changelog for Teamscale 8.4

Newer Release Available

Our current release is available here.

Release Announcement

Check out the Release Newsletter for Teamscale 8.4.

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

Teamscale Integration for IntelliJ now requires the corresponding server to be at least Teamscale 8.3

If you cannot upgrade the server, please use version 8.3.x of the Teamscale Integration for IntelliJ.
Older versions are available from the Jetbrains Plugin Marketplace (opens new window)

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

# Version 8.4.14

Download Teamscale v8.4.14 (ZIP)
January 31st, 2023

# Fixes

  • Architecture edit button was always visible, even without edit permissions
  • Voting on Bitbucket Cloud merge requests did not work in some cases
  • Artifactory content was no longer imported in rare cases
  • JiraIssueSynchronizer could get stuck indefinitely in very rare cases
  • False positives for "Comments should not contain nested comments" check when having trailing slash in Java block comments
  • False positives for "Null pointer dereference" check for C# when conditions contained multiple null checks

# Improvements

  • Improved findings descriptions for "Test for NaN correctly" and "Method returns null but return type is Optional" checks

# Version 8.4.13

Download Teamscale v8.4.13 (ZIP)
January 24th, 2023

# Fixes

  • Teamscale crashed when loading a custom check JAR failed
  • Outdated plugin user data in Teamscale was not cleaned up properly
  • Accessing the Activity perspective resulted in expensive API calls to code collaboration platforms
  • Missing whitespaces for some comments on merge request voting statuses
  • System Information view broke when showing active users
  • Top-level const and var statements in Go were considered coverable
  • Warning for "too many inline comments" was added for BitBucket merge request even if code insights were used
  • Commit for creating a code review finding showed too many affected files
  • IntelliJ Plugin: Findings were fetched for files which were not open in the editor
  • Eclipse Plugin: ABAPLint findings disappeared from the editor after a few seconds

# Improvements

  • Support for BitBucker Server versions before v5.15

# Version 8.4.12

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

# Fixes

  • Architecture Editor: Policy create mode could sometimes not be deselected
  • Method coverage was shown as over 100% in some cases when multiple line coverage metric groups were configured

# Improvements

  • Improved performance for general coverage report parsing
  • Improved default layout and scrollability for declaration of accessibility web page

# Version 8.4.11

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

# Fixes

  • False positives for "Types shall be explicitly specified" check for C/C++
  • Findings Detail view: Different rules from the same guideline covered by one check were shown in one line

# Improvements

  • Improved description for "Anonymized code download" feature in Code view for potential caveats
  • Improved findings description for "Constructor Call Without Encoding" check

# Version 8.4.10

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

# Fixes

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

# Improvements

  • Improved documentation on reanalysis

# Version 8.4.9

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

# Fixes

  • False positives for "Methods should not be defined in a header file" check for C++
  • 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.4.8

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

# Fixes

  • False positives for multiline URLs in comment analysis
  • Issue search view was broken
  • Naming convention analysis for Simulink did not correctly analyze name of in-/outports of bus elements
  • Intellij Plugin: Renaming of a file did not create a precommit
  • Copying to clipboard failed in insecure contexts
  • Snapshot backups for RocksDB storage backend did not work

# Improvements

  • Improved documentation on licensing model

# Version 8.4.7

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

# Fixes

  • Merge Requests view was broken in some cases
  • List of parsing errors was not expandable in Code view
  • 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.4.6

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

# Fixes

  • Importing more than 20000 work items from TFS/Azure DevOps failed
  • Committer counting did not resolve <Lastname>, <Firstname> committer names to corresponding users
  • Importing analysis profile with existing name silently overrode the old one
  • False positives for "Multiple initializations of array element" check in C/C++ when using enum items as array-index designators
  • IntelliJ Plugin: "Consult the documentation" link shown during settings migration was unavailable when indexing
  • IntelliJ Plugin crashed when old configuration files were misconfigured
  • "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

  • Updated minimum required version of NodeJS for Abaplint in the documentation
  • Improved error handling in case ESLintFindingSynchronizer fails due to missing files

# Version 8.4.5

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

# Fixes

  • IntelliJ Plugin: Context menu in editor gutter was not shown for lines containing multiple findings
  • IntelliJ Plugin: Finding messages were not rendered using markdown
  • NetBeans Plugin crashed with a NullPointerException
  • Backup view did not display warning for missing license
  • 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

# Improvements

  • Improved documentation regarding test code path patterns

# Version 8.4.4

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

# Fixes

  • False positives in dead store analysis for C# when lambda function was provided as a parameter
  • Malformed legacy settings crashed the IntelliJ Plugin
  • Test Coverage Tools documentation contained a broken link
  • Eclipse Plugin: Upload Projects for Pre-Commit Analysis action sometimes disappeared from the main menu
  • 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

  • Teamscale understands now external reports produced with help of Pylint, up to version 2.16. This update introduces ca. 80 new Pylint checks, including possible bugs and security-relevant checks.
  • Display names were unified in the list of active committers

# Version 8.4.3

Security Improvements

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

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

# Fixes

  • Badge for merged findings was displayed with incorrect colors
  • Missing findings for the Java comment analysis
  • ABAP: Repair numbers were not considered for "ABAP modification" check
  • Incorrect parsing of coverable lines in Cobertura report
  • IntelliJ plugin: Creation of many "Loading findings" tasks on branch change
  • Qt Creator plugin: Known findings were incorrectly flagged as new during precommit analysis
  • 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

# Improvements

  • Improved performance for JiraIssueUpdatePostAnalysisTrigger

# Version 8.4.2

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

# Fixes

  • Metric Value widgets were broken for issue paths
  • Precommit did not consider "Prepend repository identifier" option in project connectors
  • Git project validation was broken for Windows paths
  • Some Simulink models could not be shown due to info.labelOnBlock.text is undefined error
  • False positive for JavaScript function naming conventions
  • 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 the 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
  • Improved documentation on performing instance updates

# Version 8.4.1

Security Improvements

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

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

# Fixes

  • ABAP: StorageException on Windows when importing data with very long paths
  • 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

  • UI improvements for test selection based on risks
  • Improved performance for general coverage report parsing and LCOV in particular

# Version 8.4.0

Bug Fixes
  • 8.4.0 contains all fixes from previous versions released on and before November 1st, 2022
  • For brevity, only new features are included in the changelog
Download Teamscale v8.4.0 (ZIP)
November 1st, 2022

# Major Features

  • SAML Group synchronization during login
  • Color-blind mode for Test Gap Analysis treemaps and trends
  • Automatic proposal of test selections based on risks
  • Time budget definition for test selections with the Test Impact Analysis API

# Web UI

  • Pause and unpause analysis for all projects
  • Check Explorer now linkable based on selected programming languages and tools
  • Horizontal scrolling in Report Code slides
  • Pareto Ranking CSV export now also contains the duration of each test
  • Pareto Ranking now shows the total progress of the computation
  • Already viewed findings are now marked as such in the Findings view
  • Reports to be used as templates have their end dates as new start dates
  • List with parsing issues in the Code view now show links to the appropriate lines
  • "Recent branches" in branch chooser now also contains branches the current user recently committed to
  • Visibility of columns is configurable in the Findings view
  • Test Gap Treemaps can show the uploads it is considering
  • Feedback can now be provided for Teamscale docs
  • New link to "Freshdesk Support Portal" in the help menu

# New Checks

  • Kotlin support for Return in finally block check
  • Cross-language check for nonsensical binary operations for C#, C/C++, Java, Typescript, Python and Kotlin
  • Detection of throwing of generic exceptions such as RuntimeException, Exception, or Error
  • Analysis of ABAP standard objects code modifications

# IDE Integrations

  • Pre-commit view of Eclipse plugin now shows Category/Group/Lines columns

# Administration

  • Sonarlint checks executed by Teamscale are now configurable
  • SVNConnector: Local paths without file:// are now allowed
  • Better statistics about usage of different Teamscale Integrations