Changelog for Teamscale 6.4
Newer Release Available
Our current release is available here
Changed permissions when running Teamscale in Docker
- 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
- 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.4.x, drop-in.
- When updating from 6.3.x or earlier, a full re-analysis via backup is required.
Version 6.4.10
Fixes
- State of collapse buttons of the left and right sidebars was inconsistent in some cases
- False positives for "Non-void function should return a value" check in C++
- False positives for "Top-level class name" check in C++ when class names were preceded by namespaces
- "Methods should not have arrays as arguments" check generated findings for
main
functions in C++ - Right mouse click on a finding in the findings table did not open the context menu in IE 11
Improvements
- New option in "Do not declare anything in restricted namespaces" check to add allowed class template specializations (e.g.
std::hash
)
Version 6.4.9
Fixes
- False positives for "Null pointer dereference" check in Java
PatternSyntaxException
in "Own header should be included first" check if the file name contained regex symbols- Adding a code snippet to a task failed if a branch had been manually selected for the snippet
- When updating an assessment, the architecture editor lost all matched types for a component if the component had the same name as the architecture
- CMocka testsuites were ignored when uploading JUnit reports to Teamscale
- Importing of identical external metric descriptions failed with an exception
- IntelliJ plug-in:
NullPointerException
during IDE start up after update to IntelliJ 2020.3.1
Version 6.4.8
Fixes
- The difference to baseline link in the Findings Detail view was never shown
- The Issues metric page provided no way to add a new issue metric
- Nesting Depth Assessment metric was incorrectly calculated in the presence of nested lambdas
FindingsTracker
had very long run times- Lines with C++ macros were omitted in Line Coverage metric calculation
Version 6.4.7
Fixes
- The Architecture Editor sometimes showed assessments even when showing them was disabled
- The Architecture Editor did retrieve assessments multiple times for a single change of the model
- Policy visibility in the Architecture Editor was not correct after setting a component to public
NullPointerException
in Task Detail slide if the task contained a finding that was removed by file deletion- The layout of code snippets on the Task Detail slide was broken when using long titles
- Users could not edit their own dashboards in some cases
Version 6.4.6
Fixes
- The percentage values in the Test Gap Trend Chart widget sometimes did not add up to one hundred percent
- Collapsing a component in the architecture editor created new policies instead of combining existing ones whenever possible
- When expanding a collapsed component in the architecture editor, the policies were sometimes shown in the wrong position
- Errors in some dashboard widgets due to missing metrics from the threshold profile
Version 6.4.5
Fixes
- Communication with Bitbucket servers failed if self-signed SSL certificates were used
- Blacklisting too many findings for the same file caused Teamscale to allocate all system resources
- Reimporting old reports sometimes led to a broken report editor
- When creating reports from a template the owner property was not correctly set
- Dashboards could not be deleted if they contained invalid JSON
- The content of Issue Table widgets was rendered outside the bounds of its container
- Legend in the Assessment Pie Chart widget was showing redundant
0
values - Searching for a type in the architecture editor did not correctly highlight collapsed components
- Using the remove and control keys in the architecture editor's comment field affected the architecture components
- Architecture editor did not remember the filter settings
OpenCover
andClover
were not offered as available test coverage tools in the analysis profile configuration- SVN merges were not correctly recognized in rare cases, leading to stalled analysis progress
- Merge Requests page showed a link to reconfigure the project even if the user did not have project edit permissions
- Method length analysis for JavaScript code sometimes failed with a
NullPointerException
- Misaligned metric values in the Summary table in the right sidebar when viewing the code of a file
- Misleading error message in case of an invalid default branch in a git-based repository connector
- Artifactory connector sometimes incorrectly analyzed revisions that were older than the configured start revision
Improvements
- Improved performance in the report editor for reports with many slides
Version 6.4.4
Fixes
- Re-importing unprocessed external upload sessions led to multiple rollbacks
- Test coverage was not merged correctly in some cases
- Test coverage which has been merged transitively across multiple branches led to a red error page in the Method History view
- Binary files were analyzed if they were mistakenly included in the connector patterns
- Preprocessed if-statements without curly braces in C/C++ sometimes caused errors in the
DataFlowFindingsSynchronizer
- The Hide and Show settings in the architecture editor were not applied to collapsed components
- The focus of a component in the architecture editor was lost on selecting a policy
- False positives for
Redundant parentheses
check in Python - Creating a project via a service call without specifying the commit-analysis granularity was no longer possible
- Architectures with spaces in their names could not be imported
- Some dashboards could not be imported
- Editing a task set its last updated timestamp to zero
Improvements
- The architecture editor's Exclude component option now has search-and-type functionality
- The performance of regex validation in the architecture editor has been improved
Version 6.4.3
Fixes
- Findings perspective could not be opened in some cases
- Architecture analysis did not consider dynamic ES6 imports
- Excluded component mappings were not updated after renaming architecture components
- Excluded component entries were not sorted
- Affected lines for architecture findings were not shown in the finding details view
- An architecture-overlap warning was sometimes mistakenly displayed
- Validation of architecture component names was overly restrictive
- Architectures were not saved in case only a comment of a component was changed
- Hide/Show state was inconsistent after switching to edit mode in the architecture editor
- False positives in long method analysis in JavaScript
- False positives for "C++ naming conventions" check for constructor declarations
- Task status filter got stuck in an inactive state once all statuses were unchecked
- LDAP group members were lost after a sync of the group.
CheckProcessor
errors when analyzing ABAP code- Initial dashboards created while creating a project did not use the provided alias leading to errors
- IntelliJ plug-in: The Project Mappings Settings page did not work due to an
AssertionError
- NetBeans plug-in did not show Teamscale's settings page in the properties of Gradle projects
Improvements
- IntelliJ and NetBeans plug-ins are now disabled for new projects by default to avoid redundant notifications
Version 6.4.2
Fixes
- Repeated line comments for structure findings whose associated metric details had changed
- Testwise coverage was not shown when opening a file via an architecture path
- False positives for "Avoid using c-style arrays in C++" check flagging
char[]
used for string constants - False positives for "Avoid conditional expressions of the form if (true..." checks in case of complex expressions
- Connector option Ignore Yellow Findings For Comments did not have any effect
- Switching default branches in Git connectors could lead to unwanted side effects and missing commits
- Creating an external upload session based on a Git revision failed in case of missing credentials
ESLintFindingsSynchronizer
failed withESLint could not find plugin
message when using custom ESLint configurationNullPointerException
when parsing Simulink models with unsupported port types- Scheduled maintenance triggers were skipped when Teamscale was under high load
Improvements
- Documentation for the
teamscale-upload
Jenkins plugin
Version 6.4.1
Fixes
- Rollbacks occurred due to write overlap
- Trends in the Issues page started on January 1st 1970
- Single Metric Trend Chart widgets showed no trend
- False positives for "Statements in Conditional Expression are equal" check for C/C++ in case of macro expansions
- Upload dates for external data changed in case of reanalyses or rollbacks
- Changes to the field Finding Creation in the architecture editor were sometimes overwritten
- The font size of block quotes in task descriptions was too big
- User or group filter dropdowns in the Activity perspective were initially empty
- Sorting the table in the Files page in the Test Gaps perspective did not work
Version 6.4.0
Major Features
- Analysis granularity configuration
- Support for importing
SonarQube
Quality Profiles (Java, JavaScript, Kotlin and PHP) - Test Gaps perspective: New Unlinked Changes page showing changes with test gaps, which are not linked to any issue
Web UI
- Code view: Line coverage can now be filtered by partitions
- Activity perspective: New detail view for test coverage upload commits
- Activity perspective: Commits can now be filtered using the text in commit messages
- Baselines can now be added or edited directly from the widget settings dialog
- New toggle to hide default or unused profiles in the Analysis Profiles page
Architecture Editor
- Sub-components can now be collapsed
- Ability to sort the mappings list either lexicographically or based on the number of matches
SAML Integration
- Support for encrypted assertions and generating metadata XML for IdP
- New option to specify SAML IdP metadata via URL
- Improved error messages in case of SAML authentication issues
Languages and Tools
- JavaScript/TypeScript analysis: Support for
.jsx
and.tsx
file extensions - C/C++: Any preprocessor directives can now be used in the default-directives box in the analysis profile
- Simulink Model Advisor: Findings are now generated for failed analyses from the report
- Simulink Model Advisor: Support for some legacy checks
- SAP integration: Coverage from SAP tests can now be retrieved per test
New Checks
- "Comments should not contain nested comments" check (Objective-C & Python)
Administration
- New analysis profile option allowing
Clang-Tidy
C++ checks to be executed for C code as well - Ability to export analysis profiles, project configurations, dashboards and threshold profiles in JSON format