# Changelog for Teamscale 7.1

Newer Release Available

Our current release is available here.

Release Announcement

Check out the list of features and improvements for Teamscale 7.1.

REST XML Interface Removed (since Teamscale 7.0)

As of Teamscale 7.0, its REST XML interface (deprecated since Teamscale v6.0) has finally been removed. This affects only the legacy REST API; the new, versioned API is not affected. You have hence two options:

  • The preferred long-term solution is to migrate to the new, versioned REST API, i.e., to use REST endpoints like …/api/v7.0.0/….
  • A temporary solution is to keep using the legacy REST API but always send an Accept: application/json request header and accept JSON rather than XML responses. Note, however, that the legacy REST API will be deprecated and subsequently removed, too.
Changed Voting Behaviour for Bitbucket Server Integration (since Teamscale 6.7)

As of Teamscale 6.7, the Enable Voting option in the Bitbucket Server connector will only add the findings badge to the pull request description. Please enable the Enable pull request review option, if you want Teamscale to also review pull requests.

Changed Permissions when Using Docker Image (since Teamscale 6.3)

As of Teamscale 6.3, Teamscale is no longer executed as the root user in the Docker container, but as user teamscale (UID=1000). Please make sure to either allow this user to access the mounted directories and files or add a user mapping to your docker-compose file, e.g. user: technical-user, which refers to a user whose permissions should be mapped to teamscale.

Java 11 Required (since Teamscale 6.2)

As of Teamscale 6.2, running the Teamscale server requires a Java Runtime Environment, Version 11 or later.

Changed Resolving of Configuration Files (since Teamscale 6.0)
  • As of Teamscale 6.0, all configuration files are loaded using the same logic. In particular configuration files in the process working directory take precedence over ones in the Teamscale installation.
  • Relative paths specified in configuration files will always be resolved to the working directory. The working directory usually equals the installation directory unless explicitly changed.
  • Custom check JAR files can be deployed in a directory relative to the working directory and installation directory.
  • Searching for a Teamscale configuration file teamscale-config.properties in the installation root directory. Use the file teamscale.properties in one of the config directories.
  • Searching for a license in the installation root directory, or a directory specified by the Java system property teamscale.license.path is no longer supported. Use the environment variable TEAMSCALE_CONFIG to specify a separate configuration directory or pass the license using the TS_LICENSE environment variable if you cannot place the license in one of the config directories.
  • The administrative service to read and write configuration files via the Web API (config-files) has been removed.
Re-Analysis when Upgrading
  • When updating from 7.1.x, drop-in.
  • When updating from 7.0.x or earlier, a full re-analysis via backup is required.

# Version 7.1.12

Download Teamscale v7.1.12 (ZIP)
7th September, 2021

# Fixes

  • False negatives in ABAP taint analysis when using multiple append statements
  • False positives for "Consistent storage class modifiers" check in C++ due to parsing errors in attribute types

# Version 7.1.11

Download Teamscale v7.1.11 (ZIP)
31st August, 2021

# Fixes

  • Some project services were incorrectly shown as deprecated in the documentation

# Version 7.1.10

Download Teamscale v7.1.10 (ZIP)
24th August, 2021

# Fixes

  • The Test Gap Issues Table was initially empty when the option Only Issues with Test Gaps was selected
  • Rare merge scenarios in Gerrit led to missing changeset branches and rollbacks
  • External uploads (e.g. findings, coverage, etc.) were not carried over when files were moved/copied
  • Creating a dashboard from a template only replaced the project but not path
  • Difference view in Findings Detail slide of reports was broken when printed in PDF from Google Chrome
  • Lauterbach Trace32 report parser marked never-executed functions as covered
  • Font size, label format and legend location in Metrics Trend Chart slide were inadequate

# Improvements

  • Improved web UI loading speed for instances with a lot of projects

# Version 7.1.9

Download Teamscale v7.1.9 (ZIP)
17th August, 2021

# Fixes

  • NullPointerException in CodeToSpecItemReferenceMappingSynchronizer
  • Gerrit branches were not included by default
  • Instance comparison didn't show information about the included and excluded projects
  • Enabling and/or disabling voting options via clicking on the icons in the projects table did not work

# Version 7.1.8

Download Teamscale v7.1.8 (ZIP)
10th August, 2021

# Fixes

  • Database sharding did not distribute projects as expected
  • False positives in null pointer analysis of some method calls in C++
  • Changing both the project's alias and any connector option while editing a project caused an error
  • Old backup cleanup did not work on Windows
  • Order of projects in the system logs and backup export and import views was random
  • IndexOutOfBoundsException in TestCaseExtractionSynchronizer when extracting parameterized tests in Python code
  • NullPointerException errors in GerritAnalysisResultUploadTrigger

# Improvements

  • Some Tasks views now have a branch chooser allowing the users to check if the task's findings have been resolved on a particular branch

# Version 7.1.7

Download Teamscale v7.1.7 (ZIP)
3rd August, 2021

# Fixes

  • Branch selector for the Issues table did not work correctly
  • Test gap summary of the Issues table was not shown correctly for the empty default query
  • Accessing a dashboard showed an empty page because of ClassCastException
  • Architecture editor: Policies hidden for specific components re-appeared when selecting another component
  • Architecture editor: Excluded component did not exclude types matched to subcomponents
  • Delta perspective used filtered commits for determining alerts
  • Available metrics for threshold configuration were incomplete when using ESLint in analysis profile
  • Metrics table was not updated after changes to threshold configuration
  • IndexOutOfBoundsException in TestCaseExtractionSynchronizer for Pylint test cases
  • Project creation button was enabled during long running validations for create/edit operations
  • Paths with common prefixes were not handled consistently in the Delta perspective
  • Method history indicator interrupted findings marker on the sidebar in the Code perspective
  • Instance comparison produced thousands of requests during comparison creation
  • "Comment Completeness" Analysis for Kotlin never yielded any findings
  • Sequence of default colors in Metric Trend slide didn't restart when all metrics were deselected
  • Delta perspective was slow when comparing against HEAD

# Version 7.1.6

Download Teamscale v7.1.6 (ZIP)
27th July, 2021

# Fixes

  • Execution status failed to open because of NullPointerException resulting from unresolved projects
  • Backups of shadowed projects were imported incorrectly
  • Metric table widget did not warn about path and threshold configuration mismatch
  • Code was not indented correctly when printing reports through Print View
  • AssertionError in "Avoid variable assignment to itself" check for nested lamda expressions in JavaScript
  • Branch preview pattern when creating a project was case-insensitive
  • Task count in Tasks tab of Finding Details view was incorrect
  • Issue and specification item query used previous value of custom fields when the field was removed or set to empty
  • Merge request discussions in GitLab were marked as 'resolved' multiple times, which can lead to unnecessary emails being sent by GitLab
  • Task detail slide displayed an error when its task contained a finding without an explicit code fragment
  • False positives for "Unused Methods" check for Java in the case of overridden methods of Serializable interface
  • Editing a baseline sometimes deleted the baseline instead
  • Parsing certain optional types in TypeScript resulted in a StackOverflowError
  • Original URL was not remembered after login with single sign-on

# Improvements

  • Clarified documentation of "repository" parameter in upload services
  • Tests detection patterns are now also being applied outside of code comments

# Version 7.1.5

Download Teamscale v7.1.5 (ZIP)
20th July, 2021

# Fixes

  • Intellij Plugin: NullPointerException occurred when the store of server states was empty
  • Teamscale incorrectly analyzed the history of some SVN merges leading to endless content retriever crashes in very rare cases
  • Dashboards shared on project-level could not be accessed
  • TFS/Azure DevOps user-to-group assignments got lost after automatic group synchronization when internal IDs of groups changed
  • ESLintFindingsSynchronizer encountered errors for methods without an explicit return type
  • Architecture analysis was slow for PHP projects
  • GerritAnalysisResultUploadTrigger failed with different NullPointerExceptions when computing affected specification items
  • False positives for "Exception stacktrace is lost" check in case of string interpolation in C#
  • Task URLs in task notification mails were incorrect
  • NullPointerException in Simulink models with Demux blocks
  • Test coverage from Clover reports was assigned to wrong files in case multiple files in a project had the same name
  • Migration of TokenElementService caused NullPointerException in Teamscale Integration Plugin for Visual Studio
  • When Commit Granularity was enabled, files which were deleted on a feature branch were not always removed in a target branch after merge

# Version 7.1.4

Download Teamscale v7.1.4 (ZIP)
13th July, 2021

# Fixes

  • Intellij plug-in: ClassNotFoundException occurred at startup in IDE EAP version 2012.2
  • Some PyLint findings were missing in case they were imported via a backup from an older Teamscale version
  • False positives for "Each variable should be declared in a separate statement" check in TypeScript
  • False positives for "Declarations should be a part of a namespace" check in C++ for the main function
  • External credentials could not be created for connectors with SSH protocol
  • Project creation and update was slow when many projects with voting connectors existed on the instance
  • Findings with single token locations were sometimes filtered in the IDEs
  • Scheduler logged "Critical error during project discovery" errors

# Version 7.1.2

Download Teamscale v7.1.2 (ZIP)
29th June, 2021

# Fixes

  • The order of commits in the Merge Requests view was reversed
  • The list of projects configured with a particular analysis profile incorrectly displayed all available projects upon page update (or page refresh)
  • The treemap & trend dialog in the Test Gaps perspective didn't work in some cases
  • Navigating to the details of a merge request which no longer exists on the instance led to a JavaScript error instead of displaying a helpful message
  • NullPointerException in CppDefUseHeuristic when parsing C++ parameters
  • Certain Git structures could lead to missing file additions or deletions when using analysis granularity
  • False positives for "Array initialization" check when using designated array initializations in C++
  • False positives for "String interpolation argument number" check in Java
  • False positives for "Assignment of variable to itself" check in Swift
  • Querying custom fields for emptiness did not work in Spec Items view
  • GTest function names were not recognized correctly or handled consistently between test framework detection and impacted requirements
  • UI glitches in Verification Matrix
  • Adding a new spec item/issue metric was not reflected in the path picker directly
  • Potential execution errors during project configuration changes due to internal race condition.
  • Sometimes random services took way longer than usual to create a response
  • Debug rollback log always showed zero rolled back commits

# Improvements

  • Improved logging in PolarionSynchronizer for unresolved custom fields

# Version 7.1.1

Download Teamscale v7.1.1 (ZIP)
22nd June, 2021

# Fixes

  • Recreation of deleted repository connectors in project configuration led to incomplete analysis
  • Validation of a single project sometimes took longer than necessary for instances with many projects
  • Fatal error was encountered when Teamscale was forced to stop while processing external analysis results
  • Findings were removed from merge requests in some circumstances, e.g., when a finding was marked as excluded
  • Top-level files were not rendered as links in Architecture Editor view's Mapping list
  • The new C++ Hexadecimal Floating-Point literals were not correctly handled
  • The Changed Files view on Delta perspective showed an empty page after computing delta
  • False positives for "C# Naming Convention" check
  • Could not export a Metric Threshold Configuration due to wrong URL encoding
  • CSV export option was mistakenly shown in the TGA trend widget's action menu
  • Errors reported while importing Analysis Profiles for Simulink Model Advisor
  • Ratio metric deltas were not shown as percentage in System Quality Overview slide
  • Visual Studio Plugin: Pre-commit processing could not handle configuration files that were linked into a Visual Studio project
  • IntelliJ Plugin: NullpointerException during Pre-Commit when using SVN externals in a project

# Version 7.1.0

Download Teamscale v7.1.0 (ZIP)
15th June, 2021

# Major Features

  • New Test Reference Count and Coverage metrics for Spec Items
  • Improved Merge Requests page

# Merge Request Integration

  • Feedback is now provided in Gitlab as to why a finding-related discussion was resolved

# Web UI

  • Method history view is now reachable from the code view
  • Method history view now shows the tests executing the method
  • Compare view now provides an option to show line coverage

# Analysis & Tools

  • C# refactoring detection now includes type refactorings from and to var
  • Support for Lauterbach Trace32 coverage report

# Administration

  • New Artifactory option allowing filtering of archives per revision based on simple name