Changelog for Teamscale 8.7
Newer Release Available
Our current release is available here.
Teamscale Integration for IntelliJ now requires the corresponding server to be at least Teamscale 8.3
If you cannot upgrade the server, please use version 8.3.x of the Teamscale Integration for IntelliJ.
Older versions are available from the Jetbrains Plugin Marketplace
Clang Tidy: Updated to Version 15
Non-docker installation using the Clang Tidy integration must update their Clang Tidy installation to version 15.
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.
Removed feature: "Desktop Notification"
The 'Desktop Notification' feature was removed from Teamscale as of version 8.6.
Re-Analysis when Upgrading
- When updating from 8.7.x, drop-in.
- When updating from 8.6.x or earlier, a full re-analysis via backup is required.
Version 8.7.19
Fixes
- 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
Version 8.7.18
Fixes
- Add to Jira issues option could not be configured separately for each Jira issue connector in the project
- Backup import from other instance failed with
OutOfMemoryError
- Eclipse plugin: ABAP CDS objects were not supported
Version 8.7.17
Fixes
- False positives for "Methods should not be defined in a header file" check for C++
- Branch transformations sometimes led the default branch to be excluded from the analysis resulting in an error
Improvements
- Improved instance comparison performance for test gap analysis
- ABAP Metadata files are now included per default in ABAP connectors
Version 8.7.16
Fixes
ClassCastException
with custom field types inPolarionSynchronizer
SpecItemIndexCleanupTrigger
did not clear the specification items correctlyConcurrentModificationException
inTestHistorySynchronizer
- Dashboards perspective was broken if users had deleted dashboards marked as favorite
- Voting connectors did not include submodules configured with SSH URLs
- Static methods in Objective-C were not parsed correctly
- GitHub validation for public repositories reported no errors if the access token was not valid
- Importing backups with external uploads twice could trigger rollbacks also on the second backup import
Version 8.7.15
Fixes
- External reports uploaded to SVN revisions were stuck in Queued state when analysis was still in progress
- ABAP metadata files were visible in the UI
- Activity > Commits view: Findings churn of merge commits excluded the findings introduced by the merge commit
Version 8.7.14
Fixes
- Referencing stored issue queries that use the
baseline
function threw parsing errors - Teamscale ran out of heap memory due to huge amounts of processed external uploads marked for deletion
- External uploads in an external storage backend were kept during a project copy
- Check Explorer: Missing checks and misplaced options
- When creating reports from templates, project names and dates were not automatically adjusted
Version 8.7.13
Fixes
NullPointerException
inCodeChangeIndexSynchronizer
when processing line-based text files- Analysis granularity was enabled after saving a project configuration without modifications in some cases
Improvements
- Improved logging for response to webhooks for unknown repositories
Version 8.7.12
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Git tags could not be selected as start and end dates for reports
- "Unwanted method calls" check could not detect function calls with namespace prefixes for C/C++
- Merge requests could not be annotated if the instance base url was invalid
- Azure DevOps line comments sometimes did not show the whole code line
- Links to the compare view from older Teamscale instances did not work if URL prefix was configured
- Security: Existing sessions were not invalidated after password change
- Project Edit view: When configuring a Jira connector, the edit button for the custom fields did not work
- Report Title Slides: Custom images were incorrectly deleted as part of regular database maintenance
- Requirement links in the Code view were not hoverable
Version 8.7.11
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Specification item details view did not show code references
- Findings in the commit details view were not shown for commits with coverage information
- Security: Authenticated Teamscale administrators, under certain circumstances, were able to execute code on Teamscale’s host system CWE-78
Version 8.7.10
Fixes
JiraIssueSynchronizer
failed with the error "Unable to determine old object" after a rollback- Git clone failed if the
HEAD
of the remote repository pointed to a non-existing reference - Bullet points in markdown lists were not shown in the check explorer and finding details
- Links to the compare view from older Teamscale instances no longer worked
- Files opened via an architecture did not show any findings in the code view
PolarionSynchronizer
blocked workers if concurrency limit was applied- Events in C# were not parsed correctly
- Commit filter did not correctly aggregate user filter and group filter
Improvements
- Web UI no longer requires internet connection
Version 8.7.9
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Data flow analysis for C broke on K&R-style function definitions
NullPointerException
when using requirement connectors and tolerated specification item findings- Missing markers of ABAP dataflow findings in Findings view
- Search did not support architecture paths
- Dashboard view scrolled to top of the page after editing a widget
- Project and path were not updated immediately after change in the Preferences view
- Sidebar expand/collapse affected all browser tabs
- Server responses containing session cookies could be cached server-side under rare circumstances
- Non-coverable lines were marked as coverable in Objective-C
- Searching for files with a file path did not yield any results
- Error in C/C++ dataflow analysis, when using conditionals nested directly in
switch
case
anddefaults
without braces - Removed unnecessary filter options in the Method History and Resource History views
Improvements
- Improved description for "Hard-coded password" check
- Improved description for "Avoid unused private methods" check
- Improved description for "Non-ASCII characters" check
- Improved performance of Simulink Analysis
- Reduced redundant warning logs in Simulink projects
Version 8.7.8
Fixes
- Swift
enum case
was not parsed correctly ifenum
was specified in a single code line - Yellow colored text used for metric values in the Metrics perspective was hard to read
- Overflow in Impacted tests table in Issues view when using very long test names
Version 8.7.7
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Syntax coloring of filtered text did not work correctly for LINE language
- GitLab line comments were sometimes not resolved
- teamscale-cli:
IllegalArgumentException
when usingpre-commit --only-uncommitted-changes
without changed files - Error "Expected an identifier after type null" in C# dataflow analysis
- Eclipse plugin: Changing branches was not possible
- Simulink:
ClassCastException
in signal analysis when models referenced each other recursively - Impacted tests sometimes included tests which did no longer exist
- Updated SnakeYaml (CVE-2022-1471)
- Test executions were sometimes merged incorrectly if there were no uploads on feature branches
Improvements
- Architecture analysis: Improved performance of C/C++ dependency computation
- Documented necessary permissions for Polarion connection
Version 8.7.6
Fixes
ClassNotFoundException
when using platform-specificteamscale-cli
on Git repository- C/C++ preprocessor expansions were not displayed correctly in the code view
- Naming convention check for C ignored patterns defined in analysis profile
- IntelliJ plugin:
AlreadyDisposedException
when pre-commit results arrived after editor had already been closed - IntelliJ plugin: Finding markers in the editor gutter obstructed change indicator
- IntelliJ plugin: Memory leak when files with many findings were opened repeatedly
NullPointerException
during analysis of specification items- Atlassian Crowd: Users from nested groups were not imported
- Code highlighting and indentation for Python were incorrect
- False positives for "Empty blocks" and "Missing Interface Comment" checks for compact constructor in Java
- False positives for "Unused variable or parameter" check when using arrow functions in C#
- False positives for "Function types should be in prototype form" check for function definitions with commented-out parameter names
NullPointerException
inTestHistorySynchronizer
- The code view in the Findings details view did not scroll to the finding location for dataflow findings in large files
Improvements
- Hardening of NGINX default configuration (CORS, HSTS, TLS) in Teamscale Docker Deployment
- Configuration of the CORS policy is now possible via system properties
- Improved rendering performance for time picker dialog for large instances with many projects
Version 8.7.5
Security Improvements
This version contains security improvements. If possible, please update to at least this version.
Fixes
- Treemap buttons were not interactable in Merge Requests view
- False positives for "Unused parameter" check in C# when declaring operators
IllegalArgumentException
in "Require var keyword in case type defined on right side" check- TLS configuration contained weak cipher suites
- False negatives for "Unused variable" check in Java when using
var
AzureDevOpsSpecItemsSynchronizer
failed reading link roles in rare cases- Time picker took a long time to open if many projects with git tags were available
IllegalStateException
in "Repeated subcondition" check in Python when usingis
keyword- Possible
UnsupportedOperationException
when retrieving usage data NullPointerException
when processing external analysis reports- False positives for "Null pointer dereference" check in C/C++ when using conditions with casts
- False positives for "Redundant parentheses" check in Python when using walrus operator (
:=
)
Improvements
- New system property to limit concurrent executions of external processes (e.g. Clang-Tidy, SwiftLint, Cppcheck, etc.)
- Guarded multiple API endpoints
Version 8.7.4
Fixes
- IntelliJ plugin: Teamscale settings page did not load in IntelliJ 2023.1
- Admin settings configured via
admin-settings.json
were not validated - The Removal tab in the finding details view of a newly resolved code review finding showed an error about a missing commit
NullPointerException
inDataFlowFindingsSynchronizer
- The end line of gapped clones was off by one
- Gapped clone detection reported incorrect gap counts
- Metrics path links for issues, e.g. in widget titles, led to Metrics > Files instead of Metrics > Issues
- Specification items were lost in Teamscale if the title of the specification space was changed in Polarion
- Simulink: Default names of
Bitwise
blocks were not correctly handled when determining the visibility of block names - Specification Item Analysis: "Excessive test step" check counted too many words in case of invisible characters
Improvements
- Enhanced documentation for secure nginx configuration
Version 8.7.3
Fixes
- Eclipse plugin: Pre-Commit menu items were not shown under Teamscale in the menu bar
- Platform-specific installations of teamscale-cli did not support TLS with Elliptic Curve algorithms
- C# operator with tuple could not be parsed
- When "All projects" was selected in the Dashboard perspective, multi project dashboards could display data for different branches
- False positives for "Avoid unused private fields (Java)" check when using records
- False negatives in nesting depth analyzer when using a macro invocation statement in Objective-C
- Users were not redirected to original target URL after SAML login
- The specification item table in the Merge Requests detail view was displayed out of bounds
- C# dataflow analysis did not support null checks using
is
andis not
- Gapped clone detection did not respect the configured minimum clone size
- Exporting a Quality Report via Chrome's "Print as PDF" feature did not work
- Bitbucket Cloud merge requests with 100 - 1000 new findings were not annotated
NullPointerException
inJiraIssueSynchronizer
NullPointerException
during startup when using database sharding- Azure DevOps Pull Request integration voting comments had type
unknown
instead ofActive
ArtifactoryContentUpdater
andS3ContentUpdater
sometimes stopped processing commits when artifacts were not found- Polarion integration fetched unnecessary data from Polarion server resulting in "Serialized response is too long" errors in the Polarion server logs
- Merge requests were not correctly updated when S3 and Artifactory coverage uploads were added to analyzed Git commits
- Quick edit changes to dashboard widgets were not saved in some cases
- Finding Details slide comments did not support Markdown
- Test Gap Trend Chart showed incorrect data
- Errors in
StructuringAnalysis
andElementHistoryUpdater
about missing metrics or files when using multiple repository connectors
Improvements
- Improved documentation of teamscale-cli tool
- Simulink: Improved precision of intersection calculation in "Check for Stateflow transition appearance" check
- Simulink: Included transitions in subviewers in some analyses
- Improved loading behavior of Projects list view
Version 8.7.2
Fixes
- Dashboards were duplicated when importing backup multiple times
- Admins were not able to see all dashboards
- Non-applicable submenu items in Delta perspective were shown for a short time for merge requests and group deltas
- IntelliJ plugin: Assertion error when updating the fetch-state status bar widget
- Creating baselines from Git tags failed due to
TypeError
- IntelliJ plugin: Instant pre-commit analysis showed false-positive and tolerated findings
- Reports: Images were not centered on image slides
- Reports: Markdown slides did not render bullet points
- False positives in some C++ checks due to
#import
directive - Objective-C Shallow Parser:
const
after type declaration caused parsing error OutOfMemoryError
while importing large amounts of Polarion work itemsNullPointerException
while processing some external uploadsTestGapSynchronizer
failed withIllegalStateException: Duplicate key
in some casesNullPointerException
while creating store-size dumps at Teamscale start-upOutOfMemoryError
while importing issue and specification items during initial analysis- Findings Churn and Findings Count widgets showed different number of findings
- Jira annotations overwrote each other if multiple projects voted on the same Jira ticket
NullPointerException
while updating test execution data for merge commits in rare cases
Improvements
- Improved description for "Names must not only differ in casing" check
- Documentation: Included command for running fio in Windows
- Documentation: Teamscale search capabilities
Version 8.7.1
Fixes
- Link for new code review finding led to error page
- Teamscale-cli printed pre-commit findings in random order
- Taint Analysis failed badly when being configured for unsupported languages
NullPointerException
in "All declarations shall use same signature" check in C++ when analyzing lambda declarationsOutOfMemoryError
when downloading Test Gap information of treemaps- Duplicate project names in "Path and project" selector
- False positives for "Avoid usage of implicit int" check in C/C++ when declared type contained commas
- Objective-C Shallow Parser:
const
after type declaration caused parsing error - IntelliJ Plugin:
NullPointerException
when fetching findings if the given project ID was malformed NullPointerException
in C Preprocessor when retrieving contents of missing header filesDateTimeException
during ABAP full and incremental synchronizations- Unformatted code in Task Detail slides
Improvements
- Xodus Backend: Transaction length monitoring now configurable and turned-off by default
- Improved performance of "User or Group" selector in the Project Role Assignments view
- Documentation: Updated the download link for the Windows version of Fio
Version 8.7.0
Bug Fixes
- 8.7.0 contains all fixes from previous versions released on and before March 7th, 2023
- For brevity, only new features are included in the changelog
Web UI
- Polarion: Support for polling "Planned In" as a custom field (for Polarion Server version starting 3.20.2)
- C# tests using the XUnit testing framework and the XUnit.BDD extension are now extracted from test code and shown in the Tests view
- Added option to display findings count in-place in Bar Chart widget
- Time-travel now also works with Git tags
- Findings marked as a false positive no longer show up in the Code view
- Dashboards no longer need to have unique names, which allows the same dashboard name to exist in multiple groups
- Improved color-blind mode colors to increase contrast to borders inside Test Gap Treemaps
- Review Rating: Separate colors for "No Review" and "In Rework"
Check Explorer
- Filter for displaying only "new" checks
- Enable/disable analysis groups
- View disabled groups while editing an analysis profile
Analysis
- Improved performance of JaCoCo report parsing
New Checks
- "Non-empty switch clauses have to be terminated unconditionally" check for Objective-C
- "Usage of the var keyword" for Java
- Added "Ignore Parentheses around tuples" option to "Redundant parentheses" check for Python
Intellij Plugin
- "Open in Web Browser" does now open on selected line
- Findings can now be fetched for out-of-project files
Administration
- Backups can now be imported directly from other instance
- New debug dumper for Git connections
- Live code snippet analysis
- Compact Coverage converter CLI for pre-parsing reports
- Added permissions to configure which users can create dashboards and dashboard templates
- System Information page now shows number of supported checks