Update Notices for Teamscale 9.0
New Features in This Release
To learn more about the new features introduced in Teamscale 9.0, please refer to the Release Newsletter.
Deprecated feature: Issue id parameter in Test Gap Treemap widgets
The "issue id" parameter of the Test Gap Treemap widget is deprecated and will be removed in Teamscale 9.1. Please use the Test Gaps > Issues perspective instead.
Added parameter support for abapLint checks as of version 8.9
Analysis profiles which specify an abapLint configuration file need to be manually migrated. This can be done by importing the abapLint configuration file via the Analysis Profiles view. The import will create a Teamscale analysis profile with the settings from the imported abapLint configuration file.
Action Required: Updated default CORS configuration as of version 8.9
The default configuration was changed to not allow any CORS requests. If you are using the Azure DevOps Integration or integrate Teamscale dashboards within other websites (e.g. Jira), you have to manually change the CORS configuration. Please refer to Configuring CORS Settings for more information.
Removed support for Istanbul and CQSE JS Profiler as of version 8.8
The support for Istanbul and CQSE JS Profiler were removed from Teamscale as of version 8.8. You can use the new Teamscale Javascript Profiler instead.
Removed feature in the Eclipse Plugin: "Show Test Coverage"
The 'Show Test Coverage' feature was removed for the Eclipse Plugin as of version 8.7.
Clang Tidy: Updated to Version 15 as of version 8.6
Non-docker installation using the Clang Tidy integration must update their Clang Tidy installation to version 15.
Removed feature: "Desktop Notification"
The 'Desktop Notification' feature was removed from Teamscale as of version 8.6.
Re-Analysis when Upgrading
- When updating from 9.0.x, drop-in.
- When updating from 8.9.x or earlier, a full re-analysis via backup is required.
Version 9.0.18
Fixes
- Backup import and export could fail due to a store inconsistency
Improvements
- Improved description for "Do not shadow built-ins" check for Python
Version 9.0.17
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Security: Project ID resolution service returned IDs of projects not visible to the user
- Incompletely parsed node errors for
switch-case
statements in PowerShell in case of optional string quotes NullPointerException
when analysing non-program ABAP objects- CORS documentation showed incorrect example settings
Version 9.0.16
Fixes
- "Simulink signal appearance" check (jmaab.db_0032) did not report overlapping lines if only one of them was horizontal or vertical
Version 9.0.15
Fixes
- Clang-Tidy analyses timed out when file paths contained space characters
- False negatives for "Usage of For Iterator blocks" check for Simulink
Version 9.0.14
Fixes
- Validation of Git connectors with SSH URLs failed in some cases
- Support link in "About Teamscale" dialog was broken
- Azure DevOps integration: Findings marked as tolerated were not removed from pull requests
- Identical architecture uploads were not properly skipped
- External report uploads did not get scheduled in some cases
Improvements
- Improved logging of parsing errors for the option "Language Mapping" during pre-commit
Version 9.0.13
Fixes
- Missing findings for uploaded jQAssistant reports
- Issue hierarchy in the Issue Detail view displayed incorrect statuses for parent issues
- Architecture findings were not added to the correct lines in the Azure DevOps pull request diff view
- Teamscale created multiple users for single LDAP users with multiple UIDs
Improvements
- Support prefixing Teamscale Prometheus metrics using environment variable
TS_PROMETHEUS_METRICS_PREFIX
Version 9.0.12
Fixes
- Snippet Analysis had no error feedback if the file extension was not supported by the project
- Finding Detail slides could not be rendered in some cases if the code range of the slide did not include the location of a finding
- External uploads for projects with voting connectors failed if Teamscale had not yet fetched the Git revision passed in the upload request parameters
Improvements
- Improved performance of automatic Git garbage collection
- Improved error logging for HTTP 431 errors
- Improved error logging in case the local Git clone does not receive updates correctly anymore
Version 9.0.11
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Project option "Maximum upload age" for external uploads was not considered for .NET traces
- Path selector in Findings perspective contained path types which do not support filtering of findings
- Commits section in the merge request detail view did not display the correct findings churn for the commits
- Reports were sometimes not downloadable after uploading them to Teamscale
- Long merge request titles overflowed causing some buttons to be unclickable in the merge request detail view
- Security: Users could gain access to quality reports without permission
- False positives for "Multiple statements in same line" check for Objective-C++ in case of constructor initializer lists
- False positives for "Each variable should be declared in separate statement" check for Objective-C++ in case of lambdas defined as properties
IndexOutOfBoundsException
in "Hard-coded user name" check in ABAP- Finding messages in tooltips contained incorrectly escaped characters in some cases
- Header files in Objective-C were incorrectly classified as C files in some cases
- False positives for multiple checks, e.g. "Methods should not have too many parameters" check, for Objective-C++ with the
@property
keyword ShallowParserException
in TypeScript when leaving out the left operand in expressions with the|
or&
operator
Version 9.0.10
Fixes
- False positives for "Methods should not be defined in a header file" check for Objective-C when using
inline
andconst
keywords
Version 9.0.9
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- False positives for "Redundant parentheses" check in Python for
match
function calls in conditional statements - False positives for "Adding a list to itself" check in Java
- False positives for "Avoid using ternary operators" check for variables with array type
- Merge Requests view broke when clicking on a column header to sort the table
- Merge request details view showed wrong test gap percentage
- False positives for "Non-void function should return a value" check for functions with
auto
return type - Voting connectors did not include submodules configured with SSH URLs in some cases
- False negatives for "A compatible declaration shall be visible with external linkage" check for global variables
- Misleading message was shown in issue details view in case of flagged findings
- False positives for "Control flow depending on system variable (SY-...)" check in ABAP for conditional operator statements
- Security: Updating an external account URI was possible without providing the password
- False positive for "Unnecessary exit statement" check in C++ when using a macro before a break statement in a default section
- Wrong project could be shown in some situations when having multiple open tabs with different projects
- Automatic Git garbage collection ran even if the option was disabled
Version 9.0.8
Fixes
- False positives for "Interface Comment Missing" check for Java
StorageException
when changing the regex mapping of a group on the External Finding view- False positives for "Long Method" check in Objective C++ when using blocks
- Synched scrolling in clone compare view did not work with findings in the last line
- The automatic Git garbage collection maintenance did not run any garbage collections
- C# architecture analysis did not consider transitive project references for SDK-style projects
- Editing a project with absolute date in a field caused re-analysis when user had a time zone with a large offset
- Non-admin users with group edit rights could not access the group edit view
Improvements
- Reduced log level for unresolved issue references from error to warning
Version 9.0.7
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Error in
DataFlowFindingsSynchronizer
for C# when using tuple notation - Empty multiline strings in Swift were not handled correctly
- False positives for "Check code if/elseif/else patterns" check for Simulink
- C# architecture analysis did not consider transitive project references for SDK-style projects
- Bullseye Coverage Reports: Parsing error when adding
case
using macros - "unterminated regex literal" error message when parsing JavaScript
- Projects could not be filtered in "Select Users, Group or Project" selector
- Eclipse plugin: "Upload Projects for Pre-Commit Analysis" required all projects to be Teamscale enabled
- Links to specification items in Code view led to non-existing page
- Security: API token used for a remote instance comparison was visible to other admin users
- Check explorer: Wrong supported languages for some rules
- False positives for "Hard-coded user name" check for ABAP
- False positives for "Comments should not contain nested comments" check for "C/C++"
NullPointerException
when deleting multiple projects in a row- Findings Churn widget did not respect the "Findings Type" setting
- Voting on Bitbucket server merge requests did not work in some cases
- Reports: Test Detail slide misaligned comments for multi-line titles
- No jobs were scheduled in Teamscale when upgrading from a previous patch
Improvements
- Improved runtime for
InconsistentCloneChangeAlerter
for large files with many clones
Version 9.0.6
Scheduling broken in version 9.0.6
Teamscale 9.0.6 contains a non-drop-in change that breaks further analysis on the instance as Teamscale does not schedule jobs anymore.
Version 9.0.7 (due on 29th August, 2023) will contain a fix for this behavior. If you already installed version 9.0.6, please downgrade to 9.0.5 to fix the issue.
Fixes
- Using drag & drop to move metrics in the threshold configuration froze the browser tab
match
andcase
soft keywords were not parsed correctly for Python when used as identifiers- Architecture perspective did not show unmatched types
- "Language" metric in Metrics perspective had a comma at the beginning when referring empty folders or components
- Eclipse Plugin: Flagging findings as false positives did no longer work
ClassCastException
when opening the Metrics > Spec Items view- Permissions were inconsistent after LDAP or GitHub groups were deleted
- False positives for "Value assigned to variable ... is never read" check for C++
typedef
withstruct
was not parsed correctly for Objective-COutOfMemoryError
in instance comparison in some casesIndexOutOfBoundsException
for "Bad assignments" check for Objective-C- Project selector allowed switching to a different project in Finding Details view
- Copying projects with issue or requirements connectors failed if the "Copy all project data" option was disabled
- Project ID could not be changed when project validation failed
Improvements
- Improved description for "A compatible declaration shall be visible with external linkage" check
- Automatic garbage collection for Git connections is now configurable in the server options
Version 9.0.5
Fixes
NullPointerException
could occur when getting all users via the REST APINullPointerException
inAbapLintFindingsSynchronizer
- False positives for "Redundant parentheses" check for Python when using
match
orcase
as identifiers - False positives for "Comparison with NULL using
=
operator" check for Transact-SQL - Read caching in the storage system could cause
OutOfMemoryError
- Hidden
.metadata
files were shown in the search results - False positives for "Variable is assigned to itself" check for Kotlin if safe call operator was used
- Treemap annotations were not rendered on Test Gap Treemap slides if they would have overflown
- Applying a change to a slide then switching to another slide sometimes jumped back to the previous slide
Improvements
- Improved documentation of issue ID transformations
Version 9.0.4
Fixes
- False positives for "Null pointer dereference" check when using the method
GetValueOrDefault
in C# - UI error when navigating to Admin > Users
- Chart titles were missing in the Servic calls dialog in the System Information view
AssertionError
when importing backups in rare cases- Simulink data type inference did not terminate for some specific models
- Assigned lambdas in JavaScript/TypeScript were not considered as methods in TGA
- For some commits, the number of findings in the Commit Details view was incorrectly shown as zero
- Including submodules that used a default branch different from the one in the main repository did not work
Version 9.0.3
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Broken link to "Lauterbach Trace 32" tutorial videos
- Aggregate initialization of multi-dimensional arrays in C++ led to parser error
StackOverflowError
when parsing Bullseye coverage reports in case of C++ lambdas- UI sometimes automatically navigated back to Dashboard view
- Provide Feedback button in the documentation did not work
AssertionError
when parsing Bullseye coverage reports in case of some switch-case constructs- Merge Request view was misaligned in certain cases
- Long group names in instance comparison caused horizontal overflow
- Bullseye Coverage Reports: No coverage was imported when no control flow graph was available for the file
- SonarLint for .NET did not work with .NET 7 on Linux
NullPointerException
inArtifactoryGlobalArchiveContentIndexMaintenanceTrigger
- Architecture editor: Bending points added to implicit policies were not persisted
- Issue, Commit and Merge Request view could crash the tab in case of a lot of findings
- Group Edit view could not be opened if "Access Administrative Services" permission was missing
- C header files were sometimes incorrectly considered as C++ files
- Branch selection details were not carried over from issue list to issue details
- No warning was shown in case there was no testwise coverage in the Treemap tab in the Available Tests view
- Test Gap Treemap slide always used default branch for partition selection
- Analysis profile configuration options for abaplint were not considered in the analysis
- Editing users was not possible due to an error in the Edit user view
- Issue query input element in Issues view was too small
- Job Queue button in System > Execution Status view showed "undefined delayed" for the total number of queued jobs
- Backup export dialog did not retain selected projects when switching to another tab
IndexOutOfBoundsException
inDataFlowFindingsSynchronizer
forfor
loop with init statement in C++- Loading of global instance warnings could take multiple seconds
NullPointerException
for escaped carriage return character in Kotlin- App-based GitHub issue connector failed validation
- Toleration and false positive flagging was lost for Simulink findings on backup import
- Security: "Referrer-Policy" disclosed server name to external services
- Pre-Commit was not possible if the current branch was unknown to Teamscale
- Hiding the 'Tasks' column in the Findings table did not work
Improvements
- Improved imprecise name Treemap to Coverage Treemap for the tab in the Available Tests view
Version 9.0.2
Fixes
- Eclipse plugin: Navigation to Teamscale failed for ABAP objects
- User count warning was shown for fewer users than specified in license
- Dashboard import API did not allow updating an existing dashboard
- Teamscale could not import SAP system exports with very large object metadata files
- False negatives for commented-out code analyses in Java
- False positives for "Non-empty switch clauses have to be terminated unconditionally" check in C++
- ESLint native binaries were deleted during parallel execution of
ESLintSynchronizer
- IntelliJ plugin: Fetch finding widget indicated that findings were pending although no teamscale server was configured
- Architecture changes on a branch before project start revision were silently discarded
- Bitbucket code insights were not displayed by default if their corresponding lines were not shown in the pull request's diff view of changed lines
- Changing project in advanced code search reset the page
- Group Edit view showed role assignment of current user instead of selected group
Improvements
- Improved TGA .NET tutorial
- Simulink: Improved performance of data-type extraction
Version 9.0.1
Fixes
- Job Queue button on System > Execution Status view showed "undefined" for the total number of delayed jobs
- MATLAB files were sometimes erroneously detected as Objective-C files
- ABAP method definitions could not be properly identified for some checks
- Bullseye Coverage Reports: Parsing failed if
switch-case
contained a lambda expression - Bullseye Coverage Reports: Parsing failed for statements in lambda functions
- JaCoCo Agent wizard suggested weird package names when the project included non-JVM programming languages
- Snippet Analysis did not always update Representation tab
- In rare cases, if multiple files had the same name but different extensions, the architecture metrics were calculated incorrectly
- ABAP method names were not correctly parsed in some cases
- Requirements Tracing: Horizontal scrollbar was only available by scrolling to the bottom of the page in the Verification Matrix view
- Findings badge was not rendered correctly in Bitbucket pull requests
- Bitbucket webhook events scheduled merge request updates for wrong projects
Improvements
- "Why Teamscale?" link on documentation start page now points to correct article
- Gravatar usage can be disabled globally using feature flag
-Dcom.teamscale.disable-gravatar=true
Version 9.0.0
Bug Fixes
- 9.0.0 contains all fixes from previous versions released on and before July 11th, 2023
- For brevity, only new features are included in the changelog
Web UI
- Test Selection view shows a warning if prioritization has become outdated
- Test Selection view can now be restricted to file and architecture paths
- Legend for Test Gap treemaps
- Search box in the Projects view
- History button in the Architectures view to show the file history of an architecture
- New analysis profiles can now be created in the Check Explorer
- Check Explorer: New filters for checks to display only enabled or only disabled ones
- Merge Requests view now shows the creation dates and finding badges of merge requests
- Visualization for findings in fields of specification items and test cases
- Improved layout for the System Information view, backup import progress view and role assignment views
- Improved design, search and accessibility of documentation
- "Teamscale" is now displayed as page title in browser tabs for better accessibility
Tools
- Support for Codebeamer as a Requirements Management Tool connector
- SonarLint C# is updated to version 9.2
- Enabled CDS View checks in abapLint
- SwiftLint configurations can now be imported and converted to a Teamscale analysis profile
Analysis
- Specification items associated to test execution results can now be provided via Testwise Coverage V2 reports
- Cross component clone detection now provides new metric "Intra Component Clone Coverage"
- Support for top-level statements in C#
- Uploads using an external storage backend now behave like original REST API uploads and retain data on partitions that are not explicitly emptied or updated instead of discarding it
IDE Integrations
- IntelliJ plugin: Adjusted design of Gutter markers for Teamscale findings to new IntelliJ UI
- IntelliJ plugin: Columns in Findings tool window are now all left-aligned
Administration
- Last date of activity is now shown in Admin > Users view
- S3 repository connectors now also support
s3://
URIs - Incremental backup import now automatically creates new projects
- Usages of the legacy API will now be flagged as errors
- Improved storage efficiency of instance comparison snapshots and impacted tests