Changelog for Teamscale 9.2
Newer Release Available
Our current release is available here.
New Features in This Release
To learn more about the new features introduced in Teamscale 9.2, please refer to the Release Newsletter for Teamscale 9.2.
Deprecated feature: Avatar images via Gravatar
Due to privacy concerns, the ability to fetch avatar images via the external Gravatar service is deprecated and will be removed in Teamscale 9.4. Please upload your avatar directly to Teamscale.
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.
Re-Analysis when Upgrading
- When updating from 9.2.x, drop-in.
- When updating from 9.1.x or earlier, a full re-analysis via backup is required.
Version 9.2.8
Fixes
- Commit alerts were not shown in the Merge Requests detail view
- Opening the System Information view could cause an
InvalidClassException
in rare cases - Endless loop could occur in "No Ambiguous Language" check
- Eclipse Plugin: Findings for folders were not shown
- Eclipse Plugin:
BranchNotFoundException
occurred when fetching findings if the local branch did not exist as remote branch - Duplicated findings were generated for the same location in specification item checks ("No Ambiguous Language", "No Loophole", "No Subjective Language") in case of overlapping search terms
- Tooltips on treemap slides could be cut off at the window borders in presenter mode
- Opening files at the file system root in the Code view whose name started with
.
caused a "resource not found" error - Table in Tasks view was not sortable by the Findings summary column
- Architectures were not processed if they were deleted and recreated before the start revision
- Text in fields in the issue details view could overflow its container
- Links in the Instance Comparison view were not truncated properly
Improvements
- New check "Max Word Count Per Sentence" for specification items
Version 9.2.7
Fixes
- Instance Comparison: Missing toleration for finding on one of the instances was not detected as difference
- Recurring rollbacks led to duplicate post revision and post rollback cleanup triggers
- Rollback loops occurred in case of "File not found for revision" error
- Threshold selector in Metrics Table widget was not displayed correctly when error was displayed
- Linux cgroups were not respected when reporting used and available RAM in a Docker or Kubernetes context
- Findings for statement-based method length violations were duplicated if the method started with a comment
Improvements
- Instance Comparison: Removed irrelevant metrics from the comparison ("Change Count", "Findings Density", "Number of Findings")
- Improved findings description for "Methods should not be defined in a header file" check
- Improved loading time of the Merge Requests detail view
Version 9.2.6
Fixes
- Eclipse Plugin: Non-trivial resource-mapping prefixes configured in Teamscale config dialog were not applied correctly
- Deleted analysis profiles were still shown in corresponding selector in the Project Edit view
- Test method execution data was erased when uploading partial Testwise Coverage V1 reports
- Branch preview of the S3 connector did not correctly show the available branches
- Legend colors in the Delta > Change Treemap view did not match with the treemap colors
- Overly long paths could overflow in the Detailed Log dialog
- Objective-C object messaging statements were not reported as coverable
- Merge request detail view did not load for merge requests whose analysis was still in progress
ClangTidySynchronizer
blocked workers without doing any work- Backup import and export could fail due to a store inconsistency
Improvements
- Improved description for "Do not shadow built-ins" check for Python
- Dashboards: Project and path selector now shows a warning that the branch selector is only used during path selection, but is not stored
Version 9.2.5
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- All testwise coverage report results were dropped if one test path was invalid
- Word boundaries were not taken into account by some specification item checks
- Dashboard: Test Gap Treemap widget subtitles were sometimes hidden behind the treemap
- ABAP metadata files were visible in the affected files of a commit
- 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.2.4
Fixes
- Failure for
S3ChangeRetriever
when usingGoogleCloudLogAppender
- Pre-Commits did not get scheduled in some cases
- Editing a project with a "parent project" always required a reanalysis, even if nothing was changed
- Instance comparison ran out of memory for large comparisons
- ABAP Teamscale plugin exported too many ABAP Dictionary objects
- Permanent rollback message after deletion of coverage with no subsequent commits
- False positives for "Traceability Violation" check for Natural Language Requirements
- Reports:
AssertionError
on Finding Detail slide with code range and sibling - Dashboard: Scrolling did not work in the "Create dashboard from template" dialog
- Git garbage collection was not scheduled correctly
- False positives for "Own header should be included first" check in C/C++
- Reports:
AssertionError
for specific cases when opening slides - False positives for "Check the usage of merge blocks" check for Simulink
- "Simulink signal appearance" check (jmaab.db_0032) did not report overlapping lines if only one of them was horizontal or vertical
Improvements
- Improved logging in case SAP JCo library could not be loaded
Version 9.2.3
Fixes
- External Accounts view was slow on instances with many users and many external accounts
NullPointerExceptions
for specification item fields without a corresponding value- False positives for "Avoid unused private methods in Java" check when using private methods with some of JUnit Lifecycle annotations for Java
- Annotation label was rendered on the Test Gap Treemap slide even when it did not have any text
- Opening the Trend or Treemap dialog in the Metrics perspective froze the browser tab
- Reporting Editor: Finding category selection dialog for findings badge did not consider the report time frame
- Button text for actions in Project view was overflowing the button's boundaries
- Eclipse Plugin:
NullPointerException
when opening a resource which was not visible to Teamscale - False positives for "Comment should not contain //" check if there were strings between two slashes for Java
- False positives for "Comment should not contain /*" check if "/" existed at the end of the comment for Java
- Comments on Treemaps slides were not shown on PDF
- C/C++ dependency extraction was very slow
- Specification item code references from Python line comments were not counted correctly
- Exporting a quality report via Chrome's "print as PDF" feature did not work
- C/C++:
NullPointerException
in architecture analysis for include-directive corner cases - Automatic garbage collection maintenance trigger was not running garbage collections correctly
- Task Details slide: Finding markers in manually added code segments were sometimes off
- Clang-Tidy analyses timed out when file paths contained space characters
- False negatives for "Usage of For Iterator blocks" check for Simulink
Improvements
- Updated Visual Studio Plugin documentation
Version 9.2.2
Fixes
- Test Executions metrics table could not load in the absence of uploads
- Links on include directives were wrong for C/C++/Objective-C/Objective-C++
- Incorrect resolution of include directives arising from case mismatches with file names
- Highlighting of identifiers in code moved the code view to the right
- Parser error in Java when keyword
permits
was used as an identifier - Check Explorer could not display disabled checks
- C/C++ preprocessor failed for conditions with very large numbers
- External Report Uploads view could not be opened without "Edit Server Options" permission
- Opening findings from the Task Detail or Edit view used the same tab, discarding possible changes
NumberFormatException
while processing uploaded Gcov reports containing C++ namespacesNullPointerException
when resolving C/C++/Objective-C/Objective-C++ include-directives with macros- Big treemaps were shown blurry and cut off on the Dashboard perspective
- Pre-viewing repository files for ABAP Connectors did not work
- Some methods were erronously treated as covered by Bullseye reports
- False positives for "Suspicious usage of CALL system function" check in ABAP for excluded functions
- Retrospectives view did not warn when navigating away without saving
- Methods opened from the TGA treemap slides referenced wrong commits
IndexOutOfBoundsException
andLanguage not supported by Condition Parser
errors while uploading CTC++ reports- Check Explorer showed a blank page while fetching checks after adjusting languages or tools
- 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
- New check for ambiguous and subjective language in spec items.
- Documentation: Updated screenshots to new SAP GUI look and feel
- Documentation:
RAW_TESTWISE
report format - Improved loading performance of Metrics Trend Widget
- Improved page loading time of top navigation bar for very large projects
- Improved rendering of Delta findings view when a lot of findings were shown
- Improved logging of parsing errors for the option "Language Mapping" during pre-commit
Version 9.2.1
Fixes
IndexBasedArchitectureAnalysis
crashed with Out of Memory error- Reports list could not be sorted by Time Span column
- Spec item field highlighting did not work properly in some cases
- False positives for "Unreachable code after exit statement" check for Kotlin if Elvis operator was followed by
throw
- XCResult reports with test status "Expected Failure" could not be processed
- Architecture paths were not completely shown in treemap tooltips
NullPointerException
when rendering Simulink models containing mathematical equations- Project analyses were stuck in case Teamscale could not find file content for a specific Git revision
- Stalled clone analyses in rare circumstances
- Wrong header files were selected when using angle-bracket include directives in C/C++
NullPointerException
inCloneDetectionResultSynchronizer
- 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
- New "Avoid Symbols" check for spec items
- Documentation: Configuration of HTTP Proxy for Teamscale Findings Code Inspector (ATC) Check
- Documentation: Teamscale Integration for Visual Studio Code
- Improved C++ Parser performance on very large files
- Support prefixing Teamscale Prometheus metrics using environment variable
TS_PROMETHEUS_METRICS_PREFIX
Version 9.2.0
Bug Fixes
- 9.2.0 contains all fixes from previous versions released on and before October 4th, 2023
- For brevity, only new features are included in the changelog
Web UI
- Simplified Analysis Status in Architectures view
- Added Conformance column to the Architectures view which indicates if findings are created for violations and unmatched types
- Clicking a metric in the Metric Changes view in the Delta perspective now opens a dialog with the metrics trend and treemap
- Instance comparison clearly indicates, with a green icon, when a value only shows improvements
- Accessibility: Assessment status of metrics is also visualized by icons in addition to color
- Specification Item Analysis: Gaps in clones are now highlighted
- Improved layout of the task details and edit views
- Order of code snippets in tasks can now be adjusted
- Any selected checks and analysis groups in the Check Explorer are now persisted in the URL to allow links and bookmarks
- Findings Summary table widget now hides parts of findings badges with zero findings
- Reports list now shows date and time of creation and last update
Checks
- Comment Completeness analysis for Swift
- "Max Word Count Per Field" check for specification items
- "No Empty Required Fields" check for specification items
- "Read Table With Subsequent Memory Assign" check for ABAP
- "Catch of Generic Exception" check for ABAP
- "Boolean Importing Parameter" check for ABAP
- Improved descriptions for ABAPLint checks which include the corresponding SAP Clean ABAP Style Guide whenever applicable
IDE Integrations
- IntelliJ Plugin: Status indicator in Findings view now indicates the state of the findings instead of the state of the server connection
- New native Visual Studio Code extension
Continuous Integration
- New command-line tool teamscale-build for use cases in CI/CD pipelines, such as compressing coverage reports or converting coverage reports to testwise coverage
Tests
- Support for test execution reports from the "Boost.Test" library
Administration
- Names of SAP settings in Admin > Settings are now more concise
- Prometheus metrics now include job queue size, state of the scheduler, the analysis state of each project and the number of days before license expiration
- External Accounts table now includes a Last Changed column
- Changes in SAP ABAP System Connection settings now trigger an immediate update