Skip to content

Changelog for Teamscale 8.0

Newer Release Available

Our current release is available here.

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.

  • 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

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

Security Improvements

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

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

Improvements

  • Updated Apache Commons Text dependency to version 1.10

Version 8.0.20

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

Fixes

  • 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

Version 8.0.19

Download Teamscale v8.0.19 (ZIP)
September 19th, 2022

Fixes

  • RaexFindingSynchronizer failed due to missing DLL file
  • NumberFormatException when parsing JUnit reports which contained numbers using commas as decimal separators
  • Legacy Teamscale links did not redirect to their corresponding pages

Improvements

  • Tables on Tests by Spec Item and Spec Items by Test views are now sortable
  • Added support to disable Switch statement without default case check in case for switches over enums

Version 8.0.18

Download Teamscale v8.0.18 (ZIP)
September 13th, 2022

Fixes

  • False positives for "Each variable should be declared in a separate statement" check in C++ when using generic as the name of a function or class
  • False positives for "Multiple statements in same line" check in C++ when calling constructors with curly brackets
  • Introduction date in findings table was cut off on narrow screens

Version 8.0.17

Download Teamscale v8.0.17 (ZIP)
September 6th, 2022

Fixes

  • False positives for "Avoid usage of implicit int" check for C/C++
  • Link to specification item was included in the Merge Request view even if the item did not exist
  • Gerrit connector voted +1 in case of yellow findings and the option "Ignore Yellow Findings For Votes" enabled

Version 8.0.16

Download Teamscale v8.0.16 (ZIP)
August 30th, 2022

Fixes

  • C/C++: StackOverflowError in Dataflow analysis for switch without braces in lambda function
  • Objective-C blocks were incorrectly parsed
  • False positives for "Comment Completeness" analysis for C/C++ due to Doxygen comment identification
  • Large values formatted with SI prefixes were displayed with three decimal places in metric trend chart slides
  • SCM Manager credentials: Passwords with non-ASCII characters did not work correctly
  • S3 and Artifactory connectors ignored archive deletion events
  • Failures in CodeChangeIndexSynchronizer due to changes in shallow parser implementations
  • PolarionSynchronizer performed too many logins, leading to session problems

Version 8.0.15

Download Teamscale v8.0.15 (ZIP)
August 23rd, 2022

Fixes

  • NullPointerException in BitBucketServerMergeRequestAnnotationTrigger when merge request was deleted
  • Teamscale failed to update Bitbucket Server pull requests in case of out-of-date information and when someone replied to a comment
  • In reports, introduction diffs for some findings were not rendered
  • Clone compare slide did not correctly show clones for same file
  • False positives for "Commented-out code" check in Java
  • False positives for "Do not put multiple statements in a Lambda expression" check in Java
  • Gosu parser error in case of nested lambdas
  • Rendering of findings descriptions in the Check Explorer included too many line breaks
  • IntelliJ plugin: NullPointerException when fetching findings

Version 8.0.14

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

Fixes

  • 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.0.13

Download Teamscale v8.0.13 (ZIP)
August 9th, 2022

Fixes

  • JiraIssueUpdatePostAnalysisTrigger was unnecessarily executed even for pre-commit changes
  • Empty Jira update notifications were sent by Teamscale
  • Jira connector blocked analysis if many requests were sent in a short time frame
  • Analysis of Bitbucket project stopped due to many merge request annotation triggers and lots of activities on Bitbucket server
  • Voting failed in some rare branch scenarios
  • Slashes in the default branch name caused errors when using Git connectors
  • The .NET version check required an installed SDK although .NET Runtime should have been sufficient
  • False positives in JavaScript naming convention check for React components
  • Simulink: Root-level model findings popup was obscured by the browser's top bar and findings were not clickable
  • Preprocessor-generated tokens of C/C++ were handled wrong in several analyses
  • Some SVN forks were not correctly detected
  • False positives for check "Non-void function should return a value" in C++ in case of unresolved macros
  • False positives for "Comments should not contain nested comments" check in Python when comments contained URLs with #

Improvements

  • System view now displays committers of the last 90 days
  • Support for setting a credentials process for S3 connector through a configuration property

Version 8.0.12

Download Teamscale v8.0.12 (ZIP)
August 2nd, 2022

Fixes

  • Swift long method findings had wrong locations
  • "Save anyway" button did not save project after project validation error
  • Kotlin try/catch/finally constructs were not parsed correctly
  • abap-findings service missed findings from (transitive) includes
  • Activity > Issues view did not correctly handle clicking the "Show trend and treemap" button on invalid issue queries
  • 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

Improvements

  • Provide debug service to list/download/remove temporary files

Version 8.0.11

Download Teamscale v8.0.11 (ZIP)
July 26th, 2022

Fixes

  • C# analysis profiles could not be edited
  • BackupMinimizer did not delete temporary storage directory after its execution
  • Changing the project used by a widget redirected the user without saving
  • Widget path chooser did not work correctly when value was removed
  • When code review findings were enabled, opening a non-existing file led to a red error page
  • NumberFormatException in division by zero analysis
  • Uploaded external findings got lost in cases where analyses had not reached the target commit
  • Font color UI glitch in left sidebar

Improvements

  • Updated dependencies in docker image to latest version

Version 8.0.10

Security Improvements

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

Download Teamscale v8.0.10 (ZIP)
July 19th, 2022

Fixes

  • Annotating merge requests with line comments and findings badges could not be configured independently
  • NullPointerException in GerritAnalysisResultUploadTrigger
  • Global keyboard shortcuts did no longer work
  • hasParent() operator in issue queries always returned an empty result
  • Slow Teamscale backup import due to incorrectly configured Xodus database-memory setting
  • 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 8.0.9

Download Teamscale v8.0.9 (ZIP)
July 12th, 2022

Fixes

  • File regexes could not be deleted in Metric File Distribution widget
  • Saving a GitHub connector always caused re-analysis
  • 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

Improvements

  • Backup Minimizer only supported in-memory storage systems

Version 8.0.8

Download Teamscale v8.0.8 (ZIP)
July 5th, 2022

Fixes

  • Check Explorer: Deselecting all languages also removed all selected tools
  • Compare view scroll synchronization was inconsistent when scrolling horizontally
  • Sorting the rows in the Test Gaps perspective tables by 'Test Gap', 'Execution', or 'Churn' did not work correctly
  • 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
  • Improved wording for TGA badges in merge requests

Version 8.0.7

Download Teamscale v8.0.7 (ZIP)
June 28th, 2022

Fixes

  • Opening non-code metrics resulted in an "index out of bounds" error message
  • IEC61131-3 structured text .tu files were not parsed correctly
  • Java module definitions were not parsed correctly
  • Eclipse/Intellij/Netbeans plugin: Using "Open in Editor" in the Findings view didn't work after findings have been retrieved for an entire folder rather than a single file
  • Missing error message when using SonarLint for C# when .NET SDK 6 runtime was not installed
  • AbapLint findings were missing for function group and ABAP include extension class files
  • 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

Improvements

  • Reduced memory consumption for C/C++, as well as Objective-C projects

Version 8.0.6

Download Teamscale v8.0.6 (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 8.0.5

Download Teamscale v8.0.5 (ZIP)
June 14th, 2022

Fixes

  • Azure DevOps TFVC connector did not respect the http.nonProxyHosts flag
  • Autocomplete feature of password fields caused odd configurations in some input fields
  • Some findings were wrongly flagged as false positive or tolerated
  • AssertionError in SimulinkBuilder if two Simulink blocks had the same name
  • 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

Improvements

  • Optimized Delta perspective when used with an architecture path for components containing a lot of files

Version 8.0.4

Download Teamscale v8.0.4 (ZIP)
June 7th, 2022

Fixes

  • Description of Pylint report generation was not compatible with newer Pylint versions
  • Errors about overly long finding message from SAP Code Inspector imports
  • Code was not visible when a user did not have view permissions for another user who last reviewed a file
  • IllegalArgumentException could occur when building the custom check sample
  • 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 KB 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

  • Added anti-aliasing to Code City widget
  • 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 8.0.3

Download Teamscale v8.0.3 (ZIP)
May 31st, 2022

Fixes

  • Simulink: Stateflow transitions crossing states were not displayed correctly
  • Delta perspective did not handle cases consistently where paths had a common prefix
  • Swift keyword let was not parsed correctly
  • 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 8.0.2

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