# Changelog for Teamscale 7.8

Newer Release Available

Our current release is available here.

Release Announcement

Check out the Release Newsletter for Teamscale 7.8.

Changed backup behavior (since Teamscale 7.8)

Starting with Teamscale 7.8 automatic backups are enabled by default with sensible defaults. In addition, the default location of storing backups changed to a folder named backup relative to the process working directory.

Existing instances are not affected and previously configured settings will be restored upon backup import. In that case it is recommended to enable automated backups if not configured yet.

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.

  • 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 7.8.x, drop-in.
  • When updating from 7.7.x or earlier, a full re-analysis via backup is required.

# Version 7.8.19

Download Teamscale v7.8.19 (ZIP)
August 9th, 2022

# Fixes

  • False positives for "Comments should not contain nested comments" check in Python when comments contained URLs with #

# Improvements

  • Support for setting a credentials process for S3 connector through a configuration property

# Version 7.8.18

Download Teamscale v7.8.18 (ZIP)
August 2nd, 2022

# Fixes

  • JsonSerializationException in LoadAndIntegrateSapTestwiseCoverageTrigger
  • License was not valid on the last day of the license period
  • Rendering the verification matrix blocked UI for multiple seconds on huge data sets
  • Teamscale added badges to merge requests that had no relevant changes

# Version 7.8.17

Download Teamscale v7.8.17 (ZIP)
July 26th, 2022

# Fixes

  • Font color UI glitch in left sidebar

# Improvements

  • Updated dependencies in docker image to latest version

# Version 7.8.16

Security Improvements

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

Download Teamscale v7.8.16 (ZIP)
July 19th, 2022

# Fixes

  • Contents of some dashboard widgets were not properly adjusted after browser window resize
  • Treemap in Commit Details view did not show up sometimes
  • "Too much data to show" error displayed when viewing large treemaps
  • Delta view of merge requests could not be opened in a new tab
  • Parsing errors for annotations on Java arrays
  • HDL Code Advisor checks could not be parsed from a Model Advisor report
  • Ordering and searching Simulink findings by location were not working properly
  • Badges were not shown for GitHub pull requests that had no findings
  • Connectors were shown as part of repositories they did not belong to
  • New commits were sometimes not analyzed if there were no commits during the initial analysis
  • NoSuchPullRequestException for merge requests in Teamscale that have already been deleted in Bitbucket
  • False positive for "Assignment of a variable to itself" check in Swift

# Improvements

  • Updated Node.js to the latest version to fix potential remote code execution

# Version 7.8.15

Download Teamscale v7.8.15 (ZIP)
July 12th, 2022

# Fixes

  • Git repository synchronization failed if the default branch was removed
  • Teamscale did not vote on GitHub pull requests without any findings
  • Rollback was unnecessarily postponed after specification items were manually cleaned
  • NullPointerException in SwiftLintOutputParser
  • Metric File Distribution widget could not show specification items metrics if there were multiple folders for one part of the path
  • IndexOutOfBoundsException in "Bad assignments" check for Objective-C
  • ArrayIndexOutOfBoundsException in BitbucketServerMergeRequestSynchronizer after multiple retries
  • False positives for "Assignment of variable to itself" check for multi-line assignments in Swift

# Version 7.8.14

Download Teamscale v7.8.14 (ZIP)
July 5th, 2022

# Fixes

  • Race condition in ESLintFindingsSynchronizer could lead to missing npm modules and corresponding worker log errors
  • Missing code location column in table on Test Filter view
  • GitHubMergeRequestSynchronizer could run indefinitely
  • False-positives for "Assert statement without ID" check for ABAP
  • False-positives for "Avoid usage of implicit int" check for C/C++
  • Rare NullPointerException in ArtifactoryContentUpdater when updating existing archives in Artifactory
  • Number of specification items did not correctly account for multiple changes for the same item in merge requests
  • Projects or branches in the "recent" section of the selection dropdown where not shown in the full list below
  • Branch of the revision was not selected when time travelling to it
  • Connector status was green even when the default branch was deleted on the server
  • Tooltip text size for tree maps was dependent on the screen resolution

# Improvements

  • Better performance of GerritChangeRetriever for large amounts of Gerrit changes

# Version 7.8.13

Download Teamscale v7.8.13 (ZIP)
June 28th, 2022

# Fixes

  • Polarion fields for linked work items were mixed up
  • S3 connector failed due to malformed authorization header
  • High memory consumption when multiple external reports were uploaded or changed at the same time

# Version 7.8.12

Download Teamscale v7.8.12 (ZIP)
June 20th, 2022

# Fixes

  • NullPointerException in TestHistorySynchronizer
  • "Enable Findings Badge for votes" option for merge request annotations was disabled when updating from previous versions
  • "Statements in Conditional Expression are equal" check was falsely applied to pre-processed C++ code
  • Excessive synchronization with remote git repository
  • Tooltip links for the submenu on the Delta view were broken when the left sidebar was collapsed
  • Task details view for resolved findings was showing the current code instead of the code causing it
  • NullPointerException in ContainerSynchronizerBase for corner cases of non-code metrics

# Version 7.8.11

Download Teamscale v7.8.11 (ZIP)
June 14th, 2022

# Fixes

  • False positives for "Null pointer dereference" check in C/C++ for loops
  • System info page showed a red error banner on certain Linux systems
  • Comments in Quality Task slides did not support Markdown
  • Visual Studio plugin: Reverting changes of a pre-commit analysis did not remove the respective findings
  • Bitbucket: Teamscale was sometimes not voting on merge requests during high traffic

# Version 7.8.10

Download Teamscale v7.8.10 (ZIP)
June 7th, 2022

# Fixes

  • Ternary operators in initialization lists in C++ were not parsed correctly
  • Null-conditional operators in C# were incorrectly handled in case expressions of switch statements
  • External pylint reports could not be parsed if spaces were missing
  • NullPointerException in TestHistorySynchronizer
  • Adding a branch with the same name as a branch rename target led to inconsistencies
  • Storage directory size was incorrectly computed in MB instead of GB
  • Disabling the backup options "include pending external analysis result sessions" and "include git labeling information" had no effect
  • TGA treemaps and Changed Files in the Delta perspective showed too many files when the name of the selected folder was a prefix for another sibling folder
  • Specification item queries using codeReferences or testReferences were not usable on dashboards
  • NullPointerException about skipped post revision triggers due to missing analysis state
  • Quality goal settings were not preserved when changing the file path for the Findings and Metrics perspectives
  • In some cases text could overlap the Treemap widget
  • C# switch expressions were not handled correctly in dataflow analyses

# Improvements

  • Speed up for scheduling of external analysis triggers
  • Better initial loading time for Test Filter view
  • Better documentation for the creation of GitLab webhooks

# Version 7.8.9

Download Teamscale v7.8.9 (ZIP)
May 31st, 2022

# Fixes

  • AssertionError in TypeIndexSynchronizer due to missing support for ABAP enhancement objects from abapGit repositories
  • Branch coverage detection failed for branches with only a single line of code

# Version 7.8.8

Download Teamscale v7.8.8 (ZIP)
May 24th, 2022

# Fixes

  • 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
  • Line numbers of SAP code inspector findings were wrong in class private or protected sections
  • 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

  • Improved security against path traversal and DoS attacks

# Version 7.8.7

Download Teamscale v7.8.7 (ZIP)
May 17th, 2022

# Fixes

  • AssertionError for unrecognized foreach macro in C++
  • AssertionError for ABAP when a SYNTAX-CHECK argument was named like a keyword (e.g., "message")
  • NullPointerException in "Post-Operator in return statement" check
  • False positives for dead store analysis when using C# tuple syntax
  • Pareto chart did not show ticks on the x-axis in some cases
  • Error in SwiftLintRunner if project did not contain any Swift files
  • StackOverflowError for recursively nested Simulink models
  • Clone coverage metric was not correct for C/C++ files using macros
  • Teamscale-SCI Integration: Space characters in ABAP function group names caused Bad Request errors

# Improvements

  • In the Metric Percentage widget, a different path can now be selected for the denominator metric

# Version 7.8.6

Download Teamscale v7.8.6 (ZIP)
May 12th, 2022

# Fixes

  • TFS library error in TfsContentUpdater
  • False positive clone findings in C++ header files for re-declared virtual functions
  • Pre-commit jobs led to exceptions in the scheduler during rollbacks
  • Coverage path mapping was sometimes incorrect when multiple coverages referred to the same file name
  • External reports were not imported from repositories (e.g., Artifactory, S3)
  • Struct members were erroneously detected as unread variables
  • Polarion: Relationships between specification items were not updated reliably in specification item table and queries

# Version 7.8.5

Download Teamscale v7.8.5 (ZIP)
May 10th, 2022

# Fixes

  • Upload dates of external uploads were incorrect when imported from backup
  • Architecture analysis created many false positive dependencies for C# projects
  • Quality goal settings were not considered for findings treemap in Findings List view
  • C# parser error when using default operator
  • Large rollbacks could lead to OutOfMemoryErrors when using Xodus storage backend
  • Misleading error message was displayed when unknown attribute was used in a numeric aggregation function (e.g. size()) in issue queries
  • C++ naming convention findings were displayed for Objective-C code
  • Errors in Clang-Tidy execution for C, C++ and Objective-C when using relative include paths
  • False positives for "Each variable should be declared in a separate statement" check in Objective-C++
  • RFC authorization issues when using the SAP JCo library

# Improvements

  • Show better explained message instead of alarming NoSuchFileException during computation of storage directory size
  • .NET Profiler: Upload Daemon now sends distinct user agent header for Teamscale uploads

# Version 7.8.4

Download Teamscale v7.8.4 (ZIP)
May 3rd, 2022

# Fixes

  • IndexOutOfBoundsException for "Duplicate Set Elements" check for empty set in Swift
  • IndexOutOfBoundsException in "String interpolation argument number" check
  • False positives for commented out code in C# when using empty summary block or keywords in the comment (e.g. object)
  • Finding locations of commented out code findings were offset for classes with an InitializeComponent method
  • Wrong dependency was extracted in the C# architecture analysis when classes with the same full qualified names existed in multiple Visual Studio projects of which only one was visible
  • NullPointerException in the TestCaseExtractionSynchronizer when a test implementation was no longer known
  • OutOfMemoryError in FindingsTracker on large deltas
  • Group filter broke when filtering by groups containing a backslash
  • False positives in "Check the display attributes of block names" check for HDL Coder library blocks
  • IndexOutOfBoundException in SimulinkDimensionalityResolver
  • False negatives in "Avoid using C-style arrays" check when using .cc file extension
  • Using out as a label with goto statement in Objective-C was not parsed correctly
  • Preprocessor directives that contain unbalanced quotes were not parsed correctly
  • Specification items were not deleted from Teamscale when they were deleted from Polarion
  • Line comments limit was not working for Gerrit connectors
  • GerritFindingBlacklistTrigger threw NoSuchElementException in rare cases
  • TestMetricsAndContentSynchronizer ran very long in some cases
  • TfsWorkItemSynchronizer did not adher to the "Retry-After" reply header in case of many outgoing requests
  • IllegalThreadStateException when waiting for external processes in rare cases
  • SAML login was not working if authentication response contained additional parameter (e.g. RelayState)
  • Eclipse plugin: Server names with special characters (white spaces, slashes) could not be saved
  • Import of code inspector findings from SAP systems did not work reliably
  • Merge request comments were not deleted when comment limit was exceeded
  • Gerrit votes were skipped in certain scenarios

# Version 7.8.3

Download Teamscale v7.8.3 (ZIP)
April 26th, 2022

# Fixes

  • False positives for "Avoid unused private methods" check in Java
  • False positives for "Redundant parentheses" check in Python when returning a generator expression
  • Visual Studio was frozen during pre-commit
  • Visual Studio plug-in: Pre-commit was not offered for projects, solutions or solution folders
  • C# "expression-bodied" methods and properties were considered to be non-coverable
  • Selection of nested partitions was not persisted when all sub-partitions were selected
  • Too many similar logs when processing report uploads
  • Deleted files in Artifactory could lead to infinite analysis loop
  • Gosu: Top level functions with return values were not parsed correctly
  • False positive clone findings for Objective-C methods copy, copyWithZone and isEqual
  • Code Comparison page was sometimes not able to load the code for one revision
  • Filtering findings by path had no effect in the Findings perspective
  • Visual Studio plug-in: The Findings view only showed "Loading findings..." if Teamscale was not configured for the associated solution
  • False positives for "Switch statements should not contain unexpected constructs" check in C++
  • BOM characters in JavaScript files caused scanner errors
  • MergeRequestSynchronizers tried to synchronize merge requests from other connectors in the project
  • AWS S3 backups could not be deleted
  • Concurrent uploading of multiple external analysis results blocked the creation of other sessions in some circumstances

# Improvements

  • Artifactory: Improved content retrieval performance for large changesets
  • Improved findings description of "Octal constants usage" check
  • Improved findings description of "Non-empty switch clauses have to be terminated unconditionally" check

# Version 7.8.2

Download Teamscale v7.8.2 (ZIP)
April 19th, 2022

# Fixes

  • Images on Image slide rendered poorly when exceeding the slide's height
  • False positives for "Non-virtual destructor" check in C++ on classes with deleted destructor
  • False positives for "Multiple statements in single line" check in PL/SQL when using aggregate functions
  • StackOverflowError in TypeScript parser when reserved keywords were used as parameter names in lambda type guards
  • Code blocks in finding descriptions were not rendered consistently
  • Backups could not be exported to AWS S3
  • Coverage data exported by XCode 13.3 couldn't be parsed
  • Metrics for issues or specification items were not reliably updated due to caching

# Improvements

  • Improved documentation on how to install the Eclipse, IntelliJ, NetBeans, and Visual Studio plug-ins when offline
  • The Gerrit repository connector now uses robot comments for Teamscale findings instead of regular comments

# Version 7.8.1

Download Teamscale v7.8.1 (ZIP)
April 12th, 2022

# Fixes

  • Add baseline button in time picker dialog was shown when user did not have Edit Baselines permission
  • False positives for "Check unused data in Data Dictionary" check in Simulink
  • False positives for "Unused variable or parameter" check in C# when using multiple discards _1, _2, etc.
  • False negatives for "Check for Usage of Gain Blocks" in Simulink in corner cases involving the Auto default storage class
  • T-SQL code clones were not detected
  • Download Ranking as CSV button in Pareto ranking view offered invalid CSV
  • IndexOutOfBoundsException in "Names must not only differ in casing" check
  • An internal server error occurred when updating the project configuration of projects using the parent project feature
  • Opening the Issue Details page for a ticket did not work when all the ticket's findings were flagged as tolerated or false positive
  • Check Explorer and Analysis Profiles views ignored user-defined check descriptions
  • Eclipse/IntelliJ/NetBeans plug-ins ceased to work if license was expiring soon
  • The C# unsafe keyword was treated as coverable
  • Computation of Pareto ranking was started as soon as the view was opened, potentially impacting performance

# Improvements

  • Improved description of "Assignment to wider type" check in C/C++

# Version 7.8.0

Bug Fixes
  • 7.8.0 contains all fixes from previous versions released on and before March 15th, 2022
  • For brevity, only new features are included in the changelog
Download Teamscale v7.8.0 (ZIP)
April 5th, 2022

# Web UI

  • Check Explorer can now show descriptions of analysis profiles
  • Test Metrics view: Test Implementations and Test Executions are now separated into their own tabs
  • New function codeLocation for test query search
  • External Reports upload view now supports pagination
  • Findings CSV export in the Findings perspective now includes whether a finding has been resolved or not
  • Included clone alerts into merge request line comments
  • Architecture Editor: Code Mappings of parent components are now respected in child components for newly created architecture models
  • Added support for announcing events

# New Options

  • Immutable macro definitions can now be added in the analysis profiles
  • Enabled source-library connector options for Simulink projects

# New Checks

  • Approximately 200 new checks available for Swift
  • "Duplicate Set element" check for C/C++, Java, JS, Kotlin, Python, Swift
  • Added Support for SonarLint for C#
  • Added Support for SwiftLint

# Testing

  • C# tests using the NUnit testing framework version 2 and 3 are now extracted from test code and shown in the Tests view of the Metrics perspective
  • Upload of test execution reports is now supported for the testing framework NUnit versions 2 and 3

# IDE Integrations

  • Visual Studio: Now supports blacklisting of false positive findings

# Administration

  • Automatic daily backups at midnight are now active by default to prevent data loss
  • New Teamscale instances now, by default, store backups in a "backup" folder in the working directory