Changelog for Teamscale 6.0
Newer Release Available
Our current release is available here
Newsletter
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.properties
in the installation root directory. Use the fileteamscale.properties
in 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.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. - Removed: The administrative service to read and write configuration files via the Web API (
config-files
) has been removed.
Changed System Requirements
- 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 6.0.x, drop-in.
- When updating from 6.0.1 or earlier, update to at least 6.0.5.
- When updating from 5.9.x or earlier, a full re-analysis via backup is required.
Version 6.0.11
Fixes
- Pre-6.0.x URLs for individual tasks (
tasks.html#details/{project}/?id={id}
) did not redirect to their 6.0.x replacements
Version 6.0.10
Fixes
- Finding marker lines were rendered discontinuously in code views
- Files not included for voting in Gerrit were still commented on
- Multiple ABAP exports running in parallel caused duplicated files in repository
- Comparison of user names in the Instance Comparison view was case-sensitive
Version 6.0.9
Fixes
- Parser failures on certain Javascript string templates caused incorrect file metrics
- Diff to button in the Findings Detail view led to a red error page
- Some Code Inspector findings in ABAP code were mistakenly removed
Version 6.0.8
- Clone detection didn't work for line-based text files
- Multiple views did not work when a project alias was set
- Manually-added code snippets displayed incorrect code versions for removed findings
- Performance regression in
SonarLintRunner
TestImpactSynchronizer
calculated impacted tests unnecessarily, i.e., even if no testwise coverage was present
Version 6.0.7
Fixes
- Jira integration added table rows multiple times for projects with aliases
- Performance Metrics dialog sometimes did not show correct data
- IntelliJ Plugin: IDE UI became unresponsive and slow when Render documentation comments option was set
- IntelliJ Plugin:
NullPointerException
when refreshing findings for a file that could not be found locally - Red error page was shown when choosing a sub-path for test-executions metrics
- False positives in dead-store analysis in C++
- Findings details for removed findings showed the current file content instead of code at the removal timestamp
- Preview Repository Files dialog sometimes displayed incorrect results
- Merge request updates were not processed if the analysis results were not available yet
Improvements
- Faster loading of the Activity perspective
Version 6.0.6
Fixes
IllegalArgumentException
in SonarLint's HiddenFieldCheck- Long branch names were not correctly displayed or aligned in the Merge Requests view
- systemd service file was referring to a non-existing PID file
Improvements
- Better logging for the matching of notification rules and the notification emails sent to users
Version 6.0.5
Fixes
- Architectures with constraints could not be loaded
- Some actions in Teamscale did not work after a version upgrade due to conflicting cookies
- Some characters in finding messages were incorrectly escaped as HTML entities
Version 6.0.4
WARNING
- Do not upgrade to this version from 6.0.1 or earlier, upgrade to 6.0.5 or later instead
Fixes
- Coverage from label in code view showed wrong date in some cases
- Baselines were not correctly copied when creating a new report from a template
- Parser errors for some Typescript functions and types
- Newly created dashboards were not visible sometimes
- Service errors when creating new external credentials
- Nested template strings in Typescript were not handled correctly
- Metrics Threshold configurations could not be deleted
- Links to issues in the Activity perspective did not work in some rare cases
- Legacy service for posting task comments (
/comment-task
) did not work - Renaming of dashboards did not work
- False-positive naming convention findings for exported variables in TypeScript
- Architecture code mappings order was not stable
- External report uploads produced warnings about files missing from the index
Improvements
- Architecture code mappings are now appended to the beginning of the Mappings list
Version 6.0.3
WARNING
- Do not upgrade to this version from 6.0.1 or earlier, upgrade to 6.0.5 or later instead
Fixes
- 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
NoSuchElementException
during 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:
NullPointerException
when fetching findings for a project that does not exist
Version 6.0.2
WARNING
- Do not upgrade to this version from 6.0.1 or earlier, upgrade to 6.0.5 or later instead
Fixes
- C/C++ Macro parameters that start with a preprocessor directive caused
StackOverFlowError
- 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
IndexOutOfBoundsException
in "Multiple Statements Per Line" check in TypeScript caused by top-level lambda expressions- False positives for "Avoid changing the loop variable in a
for
loop" check in Java
Version 6.0.1
Fixes
- "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 [...]"
Improvements
- Code-review findings can now be presented on the Findings Details slide
Version 6.0.0
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
- JavaScript architecture analysis now supports ES6 and CommonJS (nodejs) import/export syntax
- Architecture analysis for GOSU
Reports
- 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
for
loop" check (Java, C#) - "Do not use SuppressMessageAttribute" check (C#)
- "Do not lock on
this
" check (Java, C#) - "Avoid using
out
on parameters" check (C#) - "Avoid using
ref
on parameters" check (C#)
Administration
- New metric: Number of flagged findings
- A warning is displayed in case the default admin username and password are enabled