Changelog for Teamscale 6.3
Newer Release Available
Our current release is available here
Changed permissions when running Teamscale in Docker
- New: 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 toteamscale
.
Versions older than 4.0.0 are no longer supported
- New: As of Teamscale 6.3, importing data from versions earlier than 4.0.0 is no longer supported
Changed System Requirements
- As of Teamscale 6.2, running the Teamscale server requires a Java Runtime Environment, Version 11 or later.
Deprecated REST XML Interface
- As of Teamscale 6.0, Teamscale's REST XML interface has been deprecated. Accordingly, any existing scripts should be migrated to the new public API.
Changed loading of configuration files and locating relative paths
- 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.
Update from Older Version
- When updating from 6.3.x, drop-in.
- When updating from 6.2.x or earlier, a full re-analysis via backup is required.
Version 6.3.9
Fixes
- Opening a dashboard via a link sometimes did not work
- Subviews in the left sidebar were not shown if all projects were still in initial analysis
- False positives for "Avoid usage of implicit int" check in C++
Improvements
- CSV findings export now includes information about flagged findings
Version 6.3.8
Fixes
- Teamscale would not retrieve any files from an SVN repository if the default start revision was after the repository's latest revision
- Preview Repository Files for the SVN connector did not work in non-branched mode
- Warnings in the Dashboard perspective did not show project names in some cases
- Some tables in widgets were incorrectly formatted
- The Pre-Commit Results view of the Eclipse and Netbeans plug-ins did not show any loading indicator when opened while a pre-commit analysis was in progress
Version 6.3.7
Fixes
- Settings dialog of Findings Churn widget imported from an older Teamscale version could not be opened
- Switching between the Reports and Tasks pages caused an assertion error
- Code snippets in the Finding Details slide in a Report contained unexpected line breaks when being printed as a PDF
- Code snippets in the Finding Details slide in a Report could not be printed as a PDF if they were longer than a single slide
- False positives for "Null pointer dereference" check for lambdas in C++
- Tooltips of red Model Advisor findings contained superfluous new lines in Firefox
- Simulink paths could not be resolved if they contained multiple colons
- Some warnings for external uploads where not logged in the worker log
Version 6.3.6
Fixes
TransportException
errors inGitChangeRetriever
due to connection timeouts caused by slow Git servers- Numeric Metric Value widget sometimes rendered text outside its bounds
- Execution Treemap incorrectly considered coverage uploaded before the set baseline timestamp
- The Issues page in the Test Gaps perspective was very slow in case of a large number of issues
- Sorting of issues in the Issues page in the Activity perspective did not work
- Entering full-screen mode and exiting repeatedly caused the report presentation to crash in the Reports page
- Downloading metric trend data as CSV in the Metrics perspective failed
CheckProcessor
errors in case of operator overloading in C++- Saving an edited project configuration despite validation errors was not possible
- Misleading error message was displayed when importing projects with Github connector without network access
- Loading spinner was not properly aligned in some dialogs
Version 6.3.5
Fixes
- Task filters in the Task view are sometimes carried over incorrectly between different projects
- Reports edit view crashed when exiting fullscreen mode while the analysis was still in progress
- Scheduler crashed in rare cases due to an inconsistency
- False positives for "JavaScript naming conventions" check for constructors
- False positives for "Multiple statements in single line" check in C++
- Syntax highlighting in compare view was broken under special circumstances
- Method History view showed wrong origin method names in "method moved/renamed" messages
- Xodus database crashed at startup during acquisition of environment lock
- "Do not use __Require macros" check was also running for non-C++ code
- A rendering error in a slide was able to crash the entire report editor
Version 6.3.4
Fixes
- Closing Trend & Treemap dialogs, before all data were loaded, caused a red error page
- Task status filter behaved inconsistently when switching between different combinations too quickly
- Paths in Treemap tooltips were sometimes too long
- False positives in dataflow analysis in C# due to null coalescing operator
??=
- Excluding components in architecture modeling did not work for nested components
- Finding Detail view showed unexpected type and no description for "Array should not be partially initialized" finding
- Analysis profile containing ESLint rules could not be imported
- Azure DevOps web hooks could not be created if other service hooks existed
- IntelliJ Plugin: In-memory changes were not saved to disk before a Pre-Commit was performed
Version 6.3.3
Fixes
- The affected files and the test gap treemap in the Issue detail view included changes which have only been merged from another branch
- Finding toleration was not applied to the correct date after a backup import
- Tooltips were not closed when switching between different dashboards
- Changing the status of a task led to an
InternalServerError
in certain conditions - C/C++ enums in methods were not parsed correctly
- False positives in "Non-empty switch clauses have to be terminated unconditionally" check with C fallthrough attributes
- Gitlab server permissions were not validated during project creation
- "Consistent Storage Class Modifiers" findings were not linked to any siblings
- C/C++ unused parameter annotation was not recognized if it contained a line break
- Metrics view did not show correct delta for small changes in the clone coverage metric
- Architecture analysis logged too many warnings about overlapping components
- Test executions were not merged anymore
- Metrics view table was unreadable if the window was too narrow
- Eclipse plug-in allowed findings, introduced on the temporary pre-commit branch, to be flagged as tolerated or false-positive
- Dataflow annotation indices in the Finding detail view were incorrect if multiple files were affected
Improvements
- IDE Plugins: Deleted files no longer count towards the server's pre-commit file limit
- Dataflow finding descriptions were improved
Version 6.3.2
Fixes
- Review status for a file that was changed after the last review was not updated
- Objects used as function parameters in AngularJS methods were incorrectly parsed
StyleCopFindingsSynchronizer
crashed when encountering files exceeding the Windows filename length limit- False positives in naming conventions analysis for TypeScript parameters
- Triggering a re-analysis after changing an analysis profile validated the old analysis profile instead of the updated one
- The findings marker was sometimes rendered on the wrong code snippet lines in the Task Detail slide
- Unnecessary scrollbars were displayed in the treemap and trend history dialogs
- Labels for issue states were sometimes rendered incorrectly
- Wrong redirection for some legacy tasks perspective URLs
- False positives for "Each variable should be declared on a separate line" check in C# in case of tuple typed properties
- Incorrect test gap churn percentage was displayed in the Files and Issues views in the Test Gaps perspective
- Multiple views and pages did not load in Internet Explorer
- Dropdown menus were sometimes not wide enough in Internet Explorer
- Permanent offline warning was shown in the report editor in Internet Explorer
- Report editor had unnecessary scrollbars in Internet Explorer
- IntelliJ did not respect local encoding when uploading source files for pre-commit analysis
- Dashboard names containing a slash were not fully displayed
- Cloud icon caused a UI glitch in the delete architecture dialog
Version 6.3.1
Fixes
- The Numeric Metric Value Widget showed value and trend with different numeric precision
- "Non-virtual destructor" check for C++ did not accurately implement the Autosar ruleset
- False positives for "Catch of generic exception" check in C# when using the
when
clause - False positives in dead store analysis for C# discards
- Comment ratio metric mistakenly took architectures into account
IllegalArgumentException
inAssignment of variable to itself
check due to certain TypeScript function declarationsNullPointerException
occurred during the dead store analysis in rare casesNullPointerException
occurred during backup importOutOfMemoryError
inDeleteExternalAnalysisResultTrigger
when deleting huge commitsOutOfMemoryError
inIntegrateImportedAnalysisResultsTrigger
when overwriting huge reportsTestGapSynchronizer
was very slow for certain commits
Version 6.3.0
Architecture Editor Enhancements
- Architecture editor now allows to reference and exclude other components in code mappings
- Architecture editor now supports focusing on components and their transitive dependencies
- Components can be dragged after exiting policy creation with
Esc
- Component properties view now indicates overlapping regexes with a warning icon
- Components created from orphans are automatically resized to fit entire name
- Special handling for single component result queries in the architecture editor
- Ability to search for types in the architecture editor
Test Gap Analysis
- Test Gap percentage and number of Test Gaps are now both displayed in the Files and Issues views in the Test Gaps perspective
- Test Gap analysis now considers changes which have been introduced in merge commits
- Partitions can now be assigned labels to allow selecting multiple partitions at once in the coverage selector
Web UI
- Project and branch selectors now remember recently viewed items and display them first
- Task comments now support Markdown
- User who tolerated a finding is now displayed in the findings table
- Context menu actions in the findings table allowing easier filtering
- New filter options in the findings table
- Resource history view now supports filtering of commits
- Merged coverage entries are now shown in the Method history view
New Checks
- "Type inference should be used for lambda parameters" check (Java)
- "Do not put multiple statements in a Lambda expression" check (Java)
- "Do not use parallel streams" check (Java)
Tools Support
Findbugs
reports withFindSecBugs
findings are now supported- Integration of
Mypy
static type checker for Python
ABAP
- ABAP version of connected systems is now logged and optionally included in usage data
- Support for RFC-enabled functions in taint propagation analysis
Administration
- User search has been extended to include searching in group names
- "Unused variable or parameter" check now allows filtering of protected methods