Changelog for Teamscale 6.2
Newer Release Available
Our current release is available here
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-privileged 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 Objective-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