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.propertiesin the installation root directory. Use the fileteamscale.propertiesin 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.pathis no longer supported. Use the environment variableTEAMSCALE_CONFIGto specify a separate configuration directory or pass the license using theTS_LICENSEenvironment 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
TransportExceptionerrors inGitChangeRetrieverdue 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
CheckProcessorerrors 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
InternalServerErrorin 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
StyleCopFindingsSynchronizercrashed 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
whenclause - False positives in dead store analysis for C# discards
- Comment ratio metric mistakenly took architectures into account
IllegalArgumentExceptioninAssignment of variable to itselfcheck due to certain TypeScript function declarationsNullPointerExceptionoccurred during the dead store analysis in rare casesNullPointerExceptionoccurred during backup importOutOfMemoryErrorinDeleteExternalAnalysisResultTriggerwhen deleting huge commitsOutOfMemoryErrorinIntegrateImportedAnalysisResultsTriggerwhen overwriting huge reportsTestGapSynchronizerwas 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
Findbugsreports withFindSecBugsfindings are now supported- Integration of
Mypystatic 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
