Changelog for Teamscale 5.9
Newer Release Available
Our current release is available here
Changed System Requirements
- As of Teamscale 5.6, running the Teamscale server on Windows requires the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 to be installed.
Update from Older Version
- When updating from 5.9.x, drop-in.
- When updating from 5.9.8 or earlier, update to at least 5.9.12.
- When updating from 5.8.x or earlier, a full re-analysis via backup is required.
Version 5.9.15
Fixes
AssertionError
inExternalAnalysisResultsChangeRetriever
due to race condition when uploading external results- A lot of time spent on many workers during periodic job scheduling
Version 5.9.14
Fixes
- Debug service
/force-rollback
sometimes failed - Legacy service for .NET trace uploads did not use the correct partition
- False positives for "Non-void function should return a value" check in C++
- Wrong data was shown in the Project Configuration perspective in case a project's alias was the same as another project's ID.
- Search service threw
IndexOutOfBoundsException
in some cases - Legacy badge services did not work with Azure Devops Extension
Version 5.9.13
Fixes
- False positives for "Redundant parentheses" check in Python
- Location of ternary operator findings was sometimes incorrect
Improvements
- Artifactory connector now logs a warning if no files matching the name or path search patterns were found
Version 5.9.12
Fixes
- Architectures with constraints could not be loaded
- Linking to the Test Gaps perspective with a preselected issue metric did not work
Version 5.9.11
WARNING
- Do not upgrade to this version from 5.9.8 or earlier, upgrade to 5.9.12 or later instead
Fixes
GitLabMergeRequestAnnotationTrigger
produced errors due to missing regionsGitChangeRetriever
got stuck in Git garbage collection- Merge request finding churns showed findings that had already been removed on the target branch
AnalysisReportPersister
failed with the message "Status object missing but should have been created before!"- Issue finding summaries in Jira and issue details in Teamscale did not ignore tolerated / false-positive findings
- Architectures in invalid states could still be saved
- Empty files were being downloaded when viewing the changelogs from Teamscale's built-in Documentation
- AzureDevOps cross-repository pull requests have not been ignored
Version 5.9.10
WARNING
- Do not upgrade to this version from 5.9.8 or earlier, upgrade to 5.9.12 or later instead
Fixes
- Model Advisor reports could not be parsed
- C++ header files were not considered as dependencies when referred to using Windows paths (with backslashes)
- C++ type extraction during architecture analysis always treated paths in a case-insensitive manner
- Python dependencies were incorrect if an
__init__.py
file was added after initial analysis - False positives in "Unused Private Method Check" when using
final
variables in Java - Project configurations with validation errors were not saved when choosing to Save Anyway
- Intellij Plugin: Warnings for invalid mapping configurations were not shown
Improvements
- The element churn service (
element-churn
endpoint) is now public API
Version 5.9.9
WARNING
- Do not upgrade to this version from 5.9.8 or earlier, upgrade to 5.9.12 or later instead
Fixes
- Teamscale Bitbucket Cloud app could not be installed in some cases
- System Execution view did not display the project name and commit for running triggers
- Deletion of reports uploaded via repository connectors was ignored
- False positives for "Empty blocks" check in C++
- TFS connector failed with "Adding node that is already added" error in very rare cases
- False positives in comment completeness analysis in Python caused by single-quote and double-quote docstrings
- Users with "User Manager" role were unable to view imported users or groups
- Order of architecture constraints was not preserved upon save
- TGA treemap widget displayed wrong error message for an invalid path
Version 5.9.8
Fixes
- Locally checked out Git clone grew to enormous size
- False positives for "Don't hide exception stack trace" check when using nested catch blocks
- It was possible to configure multiple projects to vote on the same repository
- Adding multiple architecture constraints was inconvenient if the list of constraints was very long
Improvements
- Test execution-count metrics now default to "higher is better"
Version 5.9.7
Fixes
ArchitectureUploadStateCleanupTrigger
caused unnecessary rollbacks- External uploads with
Accept: text/plain
headers were rejected by the legacy report upload services - False positives for "Test class naming convention" check in Java
- False positives for "Every line starting with
#
has to be a valid preprocessing directive" check in C++ in case of#warning
preprocessor directives
Version 5.9.6
Fixes
- Python coverage was sometimes incorrectly applied to too many statements
NullPointerException
inGitChangeRetriever
in certain cases- Incorrect test-gap percentages were displayed in issue list
- Importing large numbers of users and groups was slow
- Jira Integration: Duplicated entries in the Teamscale Info table in Jira issues
- PHP parsing errors in case of single line comments ending with
?>
- False positives for "Avoid unused private fields" check in Java when fields were annotated with certain Java annotations (e.g.
@Inject
,@Mock
, etc.) - False positives for "Throw of generic exception" check in Java
- "Incomplete metric entry" errors were logged in the Service Log when using branch coverage metrics
Improvements
- API for TGA percentage service (
/test-gaps/percentage
) and repository timestamp by revision service (/revision/{revision}/commits
) is now public - Best practices for static code analysis are now documented in the user guide
- How to record test coverage for Java with Docker is now documented in the user guide
Version 5.9.5
Fixes
- Some projects were stuck in state "rollback analysis" after deletion of external uploads
- Findings that were deleted and re-added after a baseline were reported as new
- TGA treemaps were not clickable after a link has been opened
- Selecting multiple but not all coverage sources yielded no coverage at all
- Testwise coverage report could not contain paths with prefixes not known to Teamscale
- Objective-C header files were sometimes considered to be C/C++ code
- Artifactory connector died when failing to extract a revision
DataBindingException
when using Atlassian Crowd Server configuration and running on Java 11+- Dashboard analysis progress showed
undefined
for aliased projects - Rule browser mistakenly required permission to edit analysis profiles
- Path selection dialog did not render long paths well
- Deep links to the documentation always redirected to the documentation's start page
- Documentation on "Testwise Coverage" linked to wrong page
Version 5.9.4
Fixes
- Slide's input options could not be edited after exiting presentation mode
- Visual Studio plug-in did not correctly display timeout errors
- Changing the project's credentials was not possible after force-deleting the configured credentials
- Downloading Test Gap information and Issue Trend data as CSV files did not work
- Eclipse plug-in: Offline installation was not possible under certain circumstances
- Viewing the history trend and treemap for the "Line Coverage" metric in the Tests perspective did not work
- The total number of tasks was not displayed in the task list view's header
- False positives for "Multiple statements in same line" check in TypeScript
- False positives for "Destructor should be declared
noexcept
" check in C++ - False positives for "Switch statements should not contain unexpected constructs" check in C++
- False positives for "Interface comment missing" check in Python in case of lambdas as default parameters
- False positive "Interface comment missing" findings were generated for local classes in Java
Version 5.9.3
Fixes
- Visual Studio plug-in caused IDE start-up errors
- Full text search in Teamscale documentation was broken
- Malformed ZIP files in Artifactory sometimes caused unnecessary rollbacks
- Importing testwise coverage reports via repository connectors was not working
- False positive nesting depth findings in Python in case of lambda arrays
- Incorrect calculation of metric distribution delta in Metric Distribution Pie Chart widget
- Eclipse plug-in: The current branch was incorrectly displayed as
master
, when Fetching findings from Pre-Commit was enabled - Architectures with slashes
/
in their names could not be deleted - Architecture uploads without an explicit format failed with a
NullPointerException
- Jira connector validation failed for projects whose key and project name were equal
- Parsing errors in IEC-61131 code
Improvements
- Improved performance when processing custom check results
- New configuration option in "Empty blocks" check allowing empty constructors
Version 5.9.2
Fixes
- Backup import via Web UI did not work
DeleteExternalAnalysisPartitionTrigger
sometimes got stuck- Python architecture analysis detected incorrect dependencies if a built-in module was shadowed
- False positives for "Unused private method" check in C# when the only call was within a constructor
- "Avoid special characters in
javax.ws.rs.QueryPara
' annotation parameters" check did not consider fields - Certain preprocessor directives could result in poor performance of checks
- External-credentials account selection dropdown did not follow UI conventions
- A validation failure for external credentials prevented saving credentials even if they later validated successfully
- Dashboards edit view showed empty Filter Options and Summary sections
- Baseline rating did not apply to file review rating if older manual ratings existed
- Spurious bars were shown in the Findings Summary Bar Chart widget
- Editing Findings Summary Bar Chart widget required read permission on analysis profile
- External report upload in UI ignored all but the first file in case multiple reports were uploaded
Improvements
- Teamscale documentation now supports full-text search
- Database for temporary storage systems is configurable (default switched to LevelDB)
Version 5.9.1
Fixes
- Legacy
add-non-code-metrics
project service was mistakenly removed - SAML login caused 404 Not Found HTTP error for index.html
StackOverflowError
inDataFlowFindingsSynchronizer
- Improved error message when uploading JavaScript source maps without having the CQSE JavaScript Profiler enabled
IndexOutOfBoundsException
for "Callingequals()
/toString()
on array" check in Java- Dashboard Sharing view did not open when list contained any dashboards from a deleted user
- False positive for "Multiple declarations in statement" check in TypeScript
- Event log view mistakenly showed columns for warnings and errors that always had 0 entries
- Fixed some cases of wrong findings in changed code in findings badges
Improvements
- Jira projects can now be specified by Jira project key or project name
Version 5.9.0
Major Features
- New metrics in the Test Execution table
- Ability to focus on components in the architecture view
Merge Request Integration
- Aggregation of structure findings on method level before commenting
- Aggregation of findings of the same type before commenting
Web UI
- Line Coverage metric is now shown in the Test perspective
- Report slide titles now support markdown
- "Interface comment missing" findings now indicate which entity (e.g. class, method, etc) is missing the comment
- Ability to copy the IDs of multiple findings in the Findings perspective
- Metrics perspective now supports permalinks
New Checks
- "Ensure method pairs are called" check (Java)
- "Arithmetic operation on text literal" check (ABAP)
Administration
- Analysis profile option to extend code search to include all tokens
- Analysis profile option to allow only simple ternary operators
- New option to automatically create Teamscale users after successful SAML login
- Branch names can now contain
.
in Multi-version filesystem connector - "Preserve empty commits" option is now enabled by default in repository connectors
- Ability to include/exclude fields marked with specific annotations from the "Unused private field" check