# Changelog for Teamscale 6.0
Check out the Release Newsletter for Teamscale 6.0.
Deprecated REST XML Interface
- New: 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
- New: 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.
- New: 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.
- New: Custom check JAR files can be deployed in a directory relative to the working directory and installation directory.
- Removed: Searching for a Teamscale configuration file
teamscale-config.propertiesin the installation root directory. Use the file
teamscale.propertiesin one of the config directories.
- Removed: 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 variable
TEAMSCALE_CONFIGto specify a separate configuration directory or pass the license using the
TS_LICENSEenvironment variable if you cannot place the license in one of the config directories.
- Removed: The administrative service to read and write configuration files via the Web API (
config-files) has been removed.
Changed System Requirements
- New: As of Teamscale 5.6, running the Teamscale server on Windows requires the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 to be installed.
Update from Older Version
- When updating from 5.9.x or earlier, a full re-analysis via backup is required.
# Version 6.0.3 latest
30th June, 2020
- External credentials could not be deleted if one project referred to a non-existing credential entry
- Filter for Architecture Changes in the Activity perspective did not apply to architecture files stored in the repository
NoSuchElementExceptionduring TypeScript architecture analysis
- No-overlap warning was shown in architecture editor despite overlaps between nested components
- Move indicator for widgets did not work correctly
- Jira integration added table rows multiple times
- Highlighting wasn't working when comparing clones
- False positive for "Field is never read" check in C# when the field was only used in a default parameter
- Modifying baselines in a Finding Churn widget did not have any effect
- False positives in "Avoid using ternary operators" check for TypeScript when using nullish coalescing (
??) or optional chaining (
- False positives in "Annotation in JUnit test class missing" check
- C++ naming convention regexes did not allow
- Eclipse Plug-in:
NullPointerExceptionwhen fetching findings for a project that does not exist
# Version 6.0.2
23rd June, 2020
Fixes from Teamscale 5.9.9 and earlier are also included in this release.
- C/C++ Macro parameters that start with a preprocessor directive caused
- GitChangeRetriever was very slow for very large repositories
- SonarLintRunner got stuck sometimes due to a deadlock
- Values displayed in TGA trend charts were not consistent with those displayed in TGA treemaps
- Label n/a was not correctly positioned in some tables
IndexOutOfBoundsExceptionin "Multiple Statements Per Line" check in TypeScript caused by top-level lambda expressions
- False positives for "Avoid changing the loop variable in a
forloop" check in Java
# Version 6.0.1
16th June, 2020
Fixes from Teamscale 5.9.8 and earlier are also included in this release.
- "The value of parameter 'foo' is never used" findings spanned the entire parameter list instead of just the line where the offending parameter was defined
- Repository was in permanent rollback when encountering commit messages of the form "Integrate pull request [...]"
- Code-review findings can now be presented on the Findings Details slide
# Version 6.0.0
9th June, 2020
# Major Features
- SonarLint Integration
- Clang-Tidy Integration
- New Merge Requests view
- Dark sidebar and UI improvements
- Redesigned navigation layout and views
- Tasks perspective: Ability to add code snippets into tasks
# C/C++ Preprocessor
- Redesigned preprocessor with improved analysis precision for C/C++
- Links from include directives to included file, if it can be resolved
- UI visualization of preprocessor expansions
- Ability to read preprocessor information (e.g. defines, include paths, etc.) from cmake compilation database
# Architecture Analysis
- Architecture analysis for GOSU
- New Subsection slide
- Finding Detail Slide: Ability to set the line range for the code snippet
# Web UI
- Issue Test Gaps view: Ability to enter and save custom issue queries
- Method history view: New method comparison tab
- "Navigate to Issue" dialog now supports auto-completion
- Architecture editor: Components can now be added to a component either as a regex or subcomponent
- Finding detail view: Button to navigate to the next or previous finding
- Finding detail view: Finding-relevant guidelines (e.g. Misra, Autosar, etc.) are displayed
- Project list view: Status labels now link to the projects' Activity perspective
- Findings Churn widget: Widget size can now be manually adjusted
- Worker log view: Repeated worker log entries can be collapsed
# New Checks
- "String interpolation argument number" check (Java)
- "Catch of NullPointerException" check (Java, C#)
- "Do not repeat the name of a class in its members" check (Java, C#, C++)
- "Avoid changing the loop variable in a
forloop" check (Java, C#)
- "Do not use SuppressMessageAttribute" check (C#)
- "Do not lock on
this" check (Java, C#)
- "Avoid using
outon parameters" check (C#)
- "Avoid using
refon parameters" check (C#)
- New metric: Number of flagged findings
- A warning is displayed in case the default admin username and password are enabled