# Changelog for Teamscale 6.2
Newer Release Available
Our current release is available here
Newsletter
Check out the Release Newsletter for Teamscale 6.2.
Changed System Requirements
- New: As of Teamscale 6.2, running the Teamscale server requires a Java Runtime Environment, Version 11 or later.
Deprecated REST XML Interface
- As of Teamscale 6.0, Teamscale's REST XML interface has been deprecated. Accordingly, any existing scripts should be migrated to the new public API.
Changed loading of configuration files and locating relative paths
- 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 fileteamscale.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 variableTEAMSCALE_CONFIG
to specify a separate configuration directory or pass the license using theTS_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.
Update from Older Version
- When updating from 6.2.x, drop-in.
- When updating from 6.1.x or earlier, a full re-analysis via backup is required.
# Version 6.2.11
# Fixes
- Metrics perspective overview did not load in cases where the URL was overly long
- The Edit Baseline button in the Baselines view did not work in some cases
- ESLint was only executed on the first file of a changeset
# Version 6.2.10
# Fixes
- SQL Plus Scripts in combination with PL/SQL caused scanner and parser errors.
# Version 6.2.9
# Fixes
TestImpactSynchronizer
logged errors about missing method IDs for some paths- In some scenarios, tolerated findings were lost after rebasing or using GitHub's squash and merge operation
- Semicolons after the head of a method in Objective-C were not parsed correctly
NullPointerException
when uploading empty PCLint reports
# Version 6.2.8
# Fixes
NullPointerException
during trust store validation in case the password was missingIndexOutOfBoundsException
inTypeIndexSynchronizer
for malformed dependency declarations in JavaScript codeNullPointerException
inGerritFindingBlacklistTrigger
- Findings in changed code were not reported for commits that did not have any added or removed findings
- Unsetting multiple slides as draft in copied reports prevented loading the slides' contents
- Slow performance of
CodeChangeIndexSynchronizer
in rare cases - Dashboard perspective did not work properly when using Internet Explorer
- Red error page was displayed when trying to edit role assignments of analysis profiles containing special characters in their name
- Comment analysis failed in case of trailing global variables
- IntelliJ plug-in warned about incomplete configuration even when the plug-in was disabled
- Eclipse/IntelliJ/NetBeans plug-ins showed an uninterpolated
{0}
in some error messages
# Version 6.2.7
# Fixes
- False positives for "Interface Comment Missing" check in C# in case of XML documentation comments
- False positives for checks for forbidden C/C++ functions as object initialization was misinterpreted as function call
- Variables in C++ with the name
concept
orfinal
were not parsed correctly - Fortran statements starting with
format
calls were not correctly parsed - Dataflow findings from Clang or taint analysis showed
undefined
rather than dataflow-step indices - Some statements were wrongly detected as (non)coverable for new C++ constructs
- The dialog for importing user groups always showed an 404 error
- The error messages when using a custom trust store were confusing
- Clicking trend arrow in Metrics Table widget led to error for non-priviledged users
- Icons (clock icon, plus icon) were overlapping in the navigation bar
- Teamscale stopped scheduling because of a corrupt database when using Xodus database
- Missing triggers could lead to stalled projects
- A trailing slash in the URL field of the Visual Studio plug-in's server editor resulted in validation errors
# Version 6.2.6
# Fixes
- False positives for "Interface comment missing" check in C++ in case of using Doxygen-style comments
- False positives for "Null pointer dereference" check in C when assigning
0
to a dereferenced pointer - False positives for "Unused variable or parameter" check in C++ when assigning pointer or reference variables
- False positives for commented-out code analysis in Java when using
@see
- False positives for "Avoid unused private fields" check in Java when using C-style array declaration
- Errors about unexpected tokens in
DataFlowFindingsSynchronizer
for some C# files TestExecutionMerger
ran for several hours when analysing a Gerrit repositorySonarLintRunner
failed with anIllegalArgumentException
for file names with special charactersSonarLintRunner
failed while analysing some JavaScript filesSonarLintRunner
executed checks that were not enabled in the analysis profile- Simulink naming convention checks were failing due to a
NullPointerException
- Uploads with nonexistent revisions resulted in a
NullPointerException
- System Quality Overview slide sometimes incorrectly displayed positive or negative trends for metrics with no change
- Findings that were marked as False Positives or Tolerated were still counted in the finding badges in the issue detail view
- JavaScript error caused an endless spinner to be shown in the Activity perspective in case of commits with an empty message
- The Set all severities to button in the Configure Analysis Group dialog was not changing the severities of filtered quality indicators
- Choosing a different project in the Method history or Resource history views caused an error
- The
version
parameter was ignored when uploading Istanbul-based coverage - Netbeans plug-in: Changing the server name in the server editor was not possible
- Eclipse/IntelliJ/NetBeans plug-in: Open in browser button sometimes opened an unresolvable URL
# Version 6.2.5
# Fixes
- Branch selector in Dashboards perspective was not shown for projects with aliases
- Using the Branch transformation option in a TFS connector led to
IndexOutOfBoundsException
and missing file content - If a project analyzed both Objetive-C and Matlab, all .m files were attributed to one language
AnalysisReportSorter
logged errors about encountering invalid lines in coverage data- False positives for "Non-void function should return a value" check in C++ when
noreturn
method attribute was used - False positives for "Avoid unused private methods in C#" check when using NUnit
TestCaseSourceAttribute
- Metric history CSV download for Metrics Trend Chart Widget was not working due to the error: "Additional paths are only supported for a single metric"
- Input field for the Required interface comments option of the Comment completeness analysis group was too small
- "Calculating trend..." spinner when opening a TGA treemap was misplaced
- Incorrect parsing of some Simulink models in the 2020a Matlab format
# Improvements
- New How-To for setting up coverage profiling for Java
- Improved error handling for fatal errors in WorkerThread
# Version 6.2.4
# Fixes
- Merge requests were not analyzed for GitHub projects due to authentication issues
- The Test Gaps > Issues view did not load when the previously selected issue metric no longer existed
- Issue queries with invalid attributes did not show an error
- The code view for non-code metrics showed an error when coverage was enabled
- False positives for "Function types should be in prototype form" check in C++
- False positives for "Switch statement is incomplete" check in C++ in case of
[[noreturn]]
method attribute - False positives for "Avoid unused private methods" check in C#
- False positives for naming conventions in C# when directly assigning an expression using a
<
or>
operator - False positives for "Unused private field" check in Java, when a field was used in parameter annotations
- False positives for dead store analysis in case of array literals
- Java code contained within PL/SQL code interpreted incorrectly
- Missing user feedback when changing the Shadow Mode setting
- Link to inaccessible dashboard led to a white page instead of descriptive error page
- Partially deleted projects resulted in "Storage schema not found" errors
NullPointerException
during pre-commit analysis in Visual Studio Plugin
# Version 6.2.3
# Fixes
- JGit library caused
RejectedExecutionException
errors in repository change retrievers in some cases, leading to broken projects - Repository Changes page in the Delta perspective did not show moved or copied files
- False positives for "Multiple declarations in same statement" check in TypeScript in case keywords were used as object keys
- Typescript parser errors
- Fetching Testwise coverage data slowed down the loading of the code view
- JavaScript scanner did not handle Unicode whitespace characters
- No error message was displayed in case uploading of reports via web UI failed
- False positives for "Non-void function should return a value" check in C/C++
- Commit values in the Active Workers table in the Execution Status view were always shown as
<none>
- C++ structs inside of methods were incorrectly parsed
- False positives for "Methods should not have too many parameters" in Objective-C due to parser errors
- LDAP import of users and groups failed
- The width of the threshold tooltip in the Threshold Configuration view was too narrow
- The Diff to button in the finding details view led to an error page, if the file or finding did not exist at the selected point in time
- Newlines in the content field of uploaded non-code metrics were not respected
- Eclipse plug-in: Findings view showed a misleading message for findings flagged as tolerated or false positives
# Version 6.2.2
# Fixes
- Import of backups containing older C/C++ analysis profiles failed
- Azure DevOps TFVC (TFS) connector did not retrieve any files when using a branch path suffix parameter
- Import of analysis profiles without custom checks enabled failed
- Missing feedback when providing wrong SSL certificate alias in teamscale.properties
- Failed archive downloads in an Artifactory connector led to empty commits, which removed previously uploaded external results
- False positives for "Do not repeat the name of a class in its members" check in case of C++ destructors
- Deleting the worker log for maintenance jobs failed with a
StorageSchemaException
- False positives for "Avoid using ternary operators" check in TypeScript in case of optional chaining
- False positives for "Avoid unused private methods" check in Java in case of Java annotations and inner sibling classes
- Non-null assertion operator caused parsing errors in TypeScript
NullPointerException
in the Findings Churn widget when editing the findings filter for a project with an invalid analysis profile- GitChangeRetriever performance issues
- Service log was flooded with redundant "Duplicate architecture path for source path" warnings
- Manual LDAP user synchronization was not possible due to a JavaScript error
- Cross-annotation configuration in Test Gap widgets included projects without test coverage
- Buttons to flag findings were ordered inconsistently in the different views
# Version 6.2.1
# Fixes
- TestImpactSynchronizer used a lot of RAM for some code commits
- Clone detection did not work for XML files
- Missing warning about active time travel when navigating to architecture editor
- False positives for "Empty blocks" check in Java in case of anonymous classes inside of lambda expressions
- Length of clones in C++ code was incorrectly calculated if the clones contained lambdas
- False positives for "Method returns null but return type is Optional" check in Java
IOException
in LOCAnalyzer when analyzing Simulink data dictionary files- Using the backspace key to change mappings in the architecture editor sometimes caused the component to be deleted instead
- Rollbacks were triggered if artifacts irrelevant to the analysis were deleted from the Artifactory
- Findings sometimes appeared twice in the Findings perspective
# Version 6.2.0
# Major Features
- Reports: New Task Detail slide
- Architecture Analysis for Kotlin
# Web UI
- Enhanced rule browser
- Metrics Bar Chart widget: New option allowing sorting by metric values
- Activity perspective: New filter option to exclude commits merged from other branches
# Languages and Tools
- Simulink: Support for the new 2020a Matlab format
- Support for the
go cover
code-coverage format - Support for new C/C++ checks from PC-lint version 9.00L
# New Checks
- "Terminal operation expected at end of Stream" check (Java)
- "Multiple subsequent parameters of same type" check (C/C++)
# Administration
- Added option to exclude files from being voted on for the Gerrit connector
- Added option to parse issue IDs from branch names, in addition to commit messages