Changelog for Teamscale 7.0
Newer Release Available
Our current release is available here.
REST XML Interface Removed (since Teamscale 7.0)
As of Teamscale 7.0, its REST XML interface (deprecated since Teamscale v6.0) has finally been removed. This affects only the legacy REST API; the new, versioned API is not affected. You have hence two options:
- The preferred long-term solution is to migrate to the new, versioned REST API, i.e., to use REST endpoints like
…/api/v7.0.0/…
. - A temporary solution is to keep using the legacy REST API but always send an
Accept: application/json
request header and accept JSON rather than XML responses. Note, however, that the legacy REST API will be deprecated and subsequently removed, too.
Changed Voting Behaviour for Bitbucket Server Integration (since Teamscale 6.7)
As of Teamscale 6.7, the Enable Voting option in the Bitbucket Server connector will only add the findings badge to the pull request description. Please enable the Enable pull request review option, if you want Teamscale to also review pull requests.
Changed Permissions when Using Docker Image (since Teamscale 6.3)
As of Teamscale 6.3, Teamscale is no longer executed as the root user in the Docker container, but as user teamscale
(UID=1000). Please make sure to either allow this user to access the mounted directories and files or add a user mapping to your docker-compose file, e.g. user: technical-user
, which refers to a user whose permissions should be mapped to teamscale
.
Java 11 Required (since Teamscale 6.2)
As of Teamscale 6.2, running the Teamscale server requires a Java Runtime Environment, Version 11 or later.
Changed Resolving of Configuration Files (since Teamscale 6.0)
- 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.
Re-Analysis when Upgrading
- When updating from 7.0.x, drop-in.
- When updating from 6.7.x or earlier, a full re-analysis via backup is required.
Version 7.0.12
Fixes
- Merge request discussions in GitLab were marked as 'resolved' multiple times, which can lead to unnecessary emails being sent by GitLab
- Task detail slide displayed an error when its task contained a finding without an explicit code fragment
- False positives for "Unused Methods" check for Java in the case of overridden methods of Serializable interface
- Editing a baseline sometimes deleted the baseline instead
- Parsing certain optional types in TypeScript resulted in a
StackOverflowError
- Original URL was not remembered after login with single sign-on
Version 7.0.11
Fixes
- Test coverage from Clover reports was assigned to wrong files in case multiple files in a project had the same name
- Migration of
TokenElementService
causedNullPointerException
in Teamscale Integration Plugin for Visual Studio - When Commit Granularity was enabled, files which were deleted on a feature branch were not always removed in a target branch after merge
Version 7.0.10
Fixes
- Certain patterns in Git usage caused rollbacks in case analysis granularity was activated
- Teamscale failed to vote on gerrit changesets after marking findings as false positives or tolerated
Version 7.0.9
Fixes
- Different synchronizers sometimes crashed in case of path refactoring commits with changesets of over 500 files
- SAML login did not redirect to the correct target navigation hash
Version 7.0.8
Fixes
- Certain Git structures could lead to missing file additions or deletions when using analysis granularity
- False positives for "Array initialization" check when using designated array initializations in C++
- False positives for "String interpolation argument number" check in Java
- False positives for "Assignment of variable to itself" check in Swift
- Querying custom fields for emptiness did not work in Spec Items view
- GTest function names were not recognized correctly or handled consistently between test framework detection and impacted requirements
- UI glitches in Verification Matrix
- Adding a new spec item/issue metric was not reflected in the path picker directly
- Potential execution errors during project configuration changes due to internal race condition.
- Sometimes random services took way longer than usual to create a response
- Debug rollback log always showed zero rolled back commits
Improvements
- Improved logging in
PolarionSynchronizer
for unresolved custom fields
Version 7.0.7
Fixes
- Fatal error was encountered when Teamscale was forced to stop while processing external analysis results
- Findings were removed from merge requests in some circumstances, e.g., when a finding was marked as excluded
- Top-level files were not rendered as links in Architecture Editor view's Mapping list
- The new C++ Hexadecimal Floating-Point literals were not correctly handled
- The Changed Files view on Delta perspective showed an empty page after computing delta
- False positives for "C# Naming Convention" check
- Could not export a Metric Threshold Configuration due to wrong URL encoding
- CSV export option was mistakenly shown in the TGA trend widget's action menu
- Errors reported while importing Analysis Profiles for Simulink Model Advisor
- Ratio metric deltas were not shown as percentage in System Quality Overview slide
- Visual Studio Plugin: Pre-commit processing could not handle configuration files that were linked into a Visual Studio project
- IntelliJ Plugin:
NullpointerException
during Pre-Commit when using SVN externals in a project
Version 7.0.6
Fixes
- Pre-commit analysis on SVN projects in IntelliJ couldn't find a matching revision in Teamscale when externals were used
- Azure DevOps connector did not work when using personal access tokens for on-premise Azure DevOps Server
- TGA trend sometimes contained drops in the number of executable methods which were not related to the commit
- "No test coverage" warning was shown in the Test Gaps perspective, even if there was coverage
- JavaScript console errors when rendering the trend history chart
- Dashboard crashed with an error in case it was saved without containing any widgets referencing the selected project
- Branch patterns for Gerrit branches were not migrated to new format
- Users could not edit their names
- Private class fields in JavaScript were not supported
- Issue ID was not passed on correctly in legacy TGA badge service
- External findings export was broken
- Coverage uploaded for files with language Line-based text wasn't shown
- JavaScript source maps could not be parsed due to an
IndexOutOfBoundsException
- IDE plug-ins failed to adjust finding locations for dataflow and naming analysis findings
Version 7.0.5
Fixes
- Artifactory connector could cause OOM errors when importing large reports
- Users did not have edit permissions for their own passwords
- Loading spinner did not disappear after filtering for issues on the Issues page in the Test Gaps perspective
- SonarQube profile import showed an error in case all checks were supported
RepositoryException
was thrown when accessing repositories via SSH- Duplicated findings churn badges in the Activity perspective for merge commits
- Architecture bending points were editable in read-only mode
- Database cleanup service corrupted storage system in some circumstances
Version 7.0.4
Fixes
- Coverage from the Oracle HProf profiler was not processed correctly
- Findings Churn page in the Delta perspective could not be loaded if it included flagged findings which did not exist anymore
- Architecture analysis logged an unexpected warning about type overlap for C# partial classes
- Mishandled error when selecting no revision in revision picker
- Sharing a dashboard with a non-existing group led to a red error page
- False positives for "Use of enclosing braces, partial array initialization, multiple initialization of array elements" check when using partly initialized, nested arrays in C++.
- Architecture editor was broken with specific policy filter settings
- Finding highlighting in the IntelliJ plug-in overlapped with gutter marks for changed code
Improvements
- The IntelliJ plugin now uses the web browser configured in the Settings
- The description for the "Forbidden Standard I/O-Functions" check has been improved
Version 7.0.3
Fixes
- Group permissions were lost after renaming a group
- TypeScript's
override
keyword was not handled properly - SVN connector validation did not warn in all cases if Enable branch analysis was switched off for the whole repository
- Default test result for a recognized test was SUCCESS rather than UNKNOWN
- External analysis uploads failed to resolve new revisions from Gitlab
- Artifactory connector commits were not processed in the rare case where linked Gitlab commits had the same timestamps
- Teamscale was not correctly encoding slashes for some requests, leading to
HTTP 400
errors - Clang-tidy integration incorrectly resolved include paths in JSON compilation databases
- Branch paths were not encoded correctly for some BitBucket Merge requests
Version 7.0.2
Fixes
- 400 Bad Request errors were shown for certain valid URLs
- Findings for merge requests contained unexpected entries in multi-repository setups using shared branch names
- The
let
keyword was not handle correctly by the Swift parser - Previewing files for the SVN connector did not work when branching was disabled
- The partition name was sometimes appended to the upload message multiple times
- The
NotificationTrigger
was causing rollbacks - The
TestGapSynchronizer
took a long time to complete on larger systems - Clearing timetravel caused the code view to be rendered twice
- Delta perspective showed red error page when no branch was explicitly set
- False positives for "Multiple statements in single line" check on Kotlin usage declaration-site variance in variable declarations
- False positives for "Commented-out code" check on C++ comments containing the keyword "switch" too many times
Improvements
- Java 16 records are now supported
Version 7.0.1
Fixes
StyleCopFindingsSynchronizer
crashed when encountering files exceeding the Windows filename length limit- Rules page in the Findings perspective incorrectly displayed rules which were disabled for the selected project
- Metric Trend Chart widget showed incorrect values at the start date for issue and spec item queries in some cases
- Single Metric Trend Chart widget used
=>
instead of->
to define prefix replacement mappings - Project analysis sometimes got stalled when using pre-commit
- Project analysis sometimes got stuck rolling back indefinitely
- Login through SAML always redirected to the default page
- Subcharts were not correctly rendered inside Simulink stateflow charts in some cases
- Finding regex filter did not work properly when searching for finding types consisting of multiple words
- False positives for "Variable naming" check in IEC 61131-3 Structured Text
- Oversized image upload path fields in the Slide Settings for Image slides
Improvements
- Updated Jetty to fix various CVEs
- Architecture analysis: Improved user feedback in case multiple files with the same full qualified class name exist
Version 7.0.0
This version also includes all the fixes and improvements from Teamscale v6.7.6 and earlier.
Major Features
- New Requirements Tracing perspective
- External reports are now stored and can be downloaded from Teamscale
Test Case Extraction
- Extraction of test cases written with pytest and unittest
- Detected tests are now highlighted via icons in the Code perspective
- Test detail view now includes the extracted tests' comments
Merge Request Integration
- Voting and line commenting on merge requests can now be enabled and disabled for all repository connectors of a project with a single click
- Improved user feedback and error messages for SCM-Manager connector during project creation
Web UI
- New Metric Percentage widget displaying the ratio between two existing metrics
- New Latest Change Date widget displaying the date of the latest change of projects and repositories
- Ability to use path abbreviations in the legend labels of the Single Metrics Trend Chart widget
- Delta perspective now shows all the findings flagged as tolerated or false positive within the delta's timespan
- Custom check descriptions can now be added as Markdown files
- Path chooser no longer skips folders with one element
New Checks
- "Division by zero" check (C/C++, C#, Java, JavaScript/TypeScript & Python)
Simulink Support
- Support for Subsystem References
Administration
- Visual warning in case of out of memory errors
- Automatic refresh of project status in the project list view