‐ Code Quality Matters


Just getting started?

Take a look at our Getting Started Guide. It provides quick installation instructions to get you up to speed.


Take a look at our User Guide for more detailed information.

Extend Teamscale?

Take a look at our Custom Check Framework. It allows you to extend Teamscale with your own checks.

Knowledge Base & FAQ

Looking for documentation on Teamscale? Have a look at our online knowledge base.

Missing something or need further help?
Let us know using support@teamscale.com or the

Download Teamscale

Teamscale Server

Note that you need a license in order to run Teamscale. If you have no license yet, request an evaluation license.

Read the Getting Started Guide to learn how to setup Teamscale.

Teamscale is also available as Docker container.

Want to read the EULA first? Need help uninstalling?

IDE Integration

Get the most out of Teamscale using our IDE integrations:

Changelog: What's new?

Release 4.9

Version 4.9.5 - 19th March, 2019 (download)

Updated System Requirements: As of Teamscale 4.9, a Java Runtime Environment with Unlimited Strength Jurisdiction Policy is required. Updating your JRE may be necessary. Upgrade from older version: Full re-analysis via backup required
  • Fixes
    • Project alias was not correctly resolved in metrics perspective
    • IDE Plugins: Pre-commit analysis was not allowed when the Teamscale project had more than one source code repository configured
    • Metrics Table did now show treemap for issue metrics
    • NullPointerException in ABAPDependencyExtractor
    • "Switch statements should not contain unexpected constructs" findings were incorrectly generated in case of missing default clause
    • False positives for "Switch statements should be well formed" check in the context of C++ return statements in lambdas
    • Assertion error in data flow analysis
    • Parsing problems for Gosu lambdas and statements
    • Microsoft's "for each" C++ syntax was not recognized in dataflow analyses
    • Encoding problem in compare view links in the resource history view
    • Backup import error when multiple uploads existed for the first commit on a branch

Version 4.9.4 - 12th March, 2019 (download)

  • Fixes
    • JavaScript parsing errors caused StackOverflow errors in ContentIndexSynchronizer
    • False-positives for "value never used" analysis in the context of Java lambdas
    • Misconfiguration in the default logging configuration
    • Findings were collapsed by default in the task detail view
    • Findings treemap ignored time travel options
    • C parser did not recognize structs and arrays as parameter type in some function declarations
  • Enhancements
    • Reduced risk of OutOfMemoryErrors when uploading large external uploads

Version 4.9.3 - 7th March, 2019 (download)

  • Fixes
    • Avoid Log4j 2 error when logging configuration was not explicitly set
    • "Clear" button for baseline did not work under certain circumstances
    • BadRequestException when saving admin notification rules
    • Switching between Gravatar and uploaded image for user avatar did not work
    • User avatar was not cropped
    • Issue table widget ceased to work after renaming a dashboard
    • C++: "Switch statement without default case" check violated C++ Core Guidelines by generating findings for enums and enum classes
    • Simulink: Incorrect rendering for blocks referencing internal Simulink libraries

Version 4.9.2 - 5th March, 2019 (download)

  • Fixes
    • Parsing problem of Objective C methods
    • Handling of encrypted backups is now more robust in case of manual modifications
    • Errors in worker log: "Expecting metric value for edited path" and similar
    • Avoid "Attempted to append to non-started appender" message in logs
    • Problems parsing of C++ enum literals with a type
    • C/C++ parser can now recognize struct/union/enum local variables with declaration
    • JavaScript error when navigating to activity details
    • Selection of issue metric did not work in edit threshold configuration page
    • Naming convention finding for method spanned across the entire method body
    • Error during BitBucket connection (IllegalArgumentException)
    • Incorrect finding location for commented out code analysis
    • False-positive for unrelated member comment check
    • Issue details: Findings' paths were not truncated
    • Eclipse-Plugin: Could not load findings under Windows
    • Eclipse-Plugin: NullPointerException during pre-commit analysis when server ID was incorrect
    • Errors in DataFlowFindingsSynchronizer for certain programming language constructs
    • Findings for Redundant String literals check were not rendered correctly in case of HTML tags in literals
  • Enhancements
    • Issue findings badge correctly signals errors when necessary
    • Better support for Siemens SCL dialect of IEC-61131 structured text
    • Reduced risk of out-of-memory situations when creating support requests with large worker log

Version 4.9.1 - 27th February, 2019 (download)

  • Fixes
    • Teamscale crashed when using LevelDB under Windows
    • Startup failed if config directory was not found
    • Improved error handling in case of cryptography-support failure
    • C parser can now recognize arrays of strings and function pointers at top level

Version 4.9.0 - 26th February, 2019 (download)

  • Major Features
    • File-based Review Support
  • Web Interface
    • Code detail view: Show the architecture components the code file belongs to
    • Dashboards: Each user's last viewed dashboard is now remembered
    • Treemaps now support zooming
    • Tasks Perspective: Added a column with Findings summary to the Task List
    • System Perspective: System execution view now shows the date of oldest currently processed commit
    • Changed user search dropdown box to Semantic UI element
  • IDE Integration
    • IntelliJ Plugin: Users can switch between normal and pre-commit findings sources in findings view
    • Netbeans Plugin: Server limits are checked in the "Upload files for pre-commit analysis" dialog
  • Admin
    • Support for OpenCover coverage reports (also supported by coverlet and altcover)
    • Ability to configure separate coverage metrics for different test stages
    • Information about scheduling reasons for critical jobs is now available
    • Improved performance of project reanalysis and deletion for LevelDB storage back-end
  • ABAP
    • Name of SAP Code Inspector variant is now included in exporter log
  • Built-in checks
    • C/C++
      • Check for MISRA rule 8.1: "Types shall be explicitly specified"
      • Check for MISRA rule 8.8: "The static storage class specifier shall be used in all declarations of objects and functions that have internal linkage"
      • Check for MISRA rule 8.10: "An inline function shall be declared with the static storage class"
    • Java
      • Avoid useless operations on BigInteger/BigDecimal objects
    • Java & C#
      • Superfluous toString() calls on objects that are already strings
    • Java, C/C++ & C#
      • Check to detect whitespace anomalies, e.g., file doesn't end on a newline, tabs, trailing whitespace

Release 4.8

Version 4.8.7 - 19th March, 2019 (download)

Upgrade from 4.8.x: Drop-in, unless stalled analysis error occurs. Then a full re-analysis is required.
Upgrade from older version: Full re-analysis via backup required
  • Fixes
    • Rare crash in SVN Connection in case a branch included in an external was deleted and readded immediately
    • Slow loading of Metrics and Architecture perspectives when many architectures are present
    • Gerrit voting did not work when adding or removing tolerated or false positive findings
    • Permission check failed when developers navigated to code view

Version 4.8.6 - 12th March, 2019 (download)

  • Fixes
    • Assertion error when parent of external upload is not schedulable
    • Simulink: Clone "Compare" button failed, if block names contain leading/trailing newlines
    • Links to metrics perspective in metrics table didn't support highlighting for custom metric names
    • Javascript SourceMap decoder did not correctly handle segments with only 1 variable-length field

Version 4.8.5 - 5th March, 2019 (download)

  • Fixes
    • Coverage update missing in case of changed code file and identical coverage file
    • Unexpected rollbacks in Gerrit connector
    • Error when importing backup from 4.7.x
    • Javascript error in Multi Metric Trend Chart widget
    • Ownership Treemap Widget did not work with architecture paths
    • Parsing error in ABAP parser
    • Assertion error in "Non-void function should return a value" check
    • Compare view sometimes failed to load content
    • Navigating to finding in Code perspective in Firefox did not scroll to finding's line
  • Enhancements
    • Improved findings tracking for empty changes

Version 4.8.4 - 26th February, 2019 (download)

  • Fixes
    • Redirect bug in SAML authentication
    • NullPointerException in ExternalArchitectureUploadPersister
    • Commit shown twice in issue details view
    • C++ parser is now able to parse interface classes/structs as well as properties from .NET C++/CLI extensions
    • Could not select system version containing '#' in baseline selection dialog
    • Deprecation check confused annotation and method name
    • Missing ABAP coverage exports for option 'Include code coverage data in incremental exports, regardless of code changes'
    • Missing mail notifications for some commits
    • IndexOutOfBoundsException in CommentAnalysis
  • Enhancements
    • Better performance of metrics perspective in the presence of multiple architectures
    • Gerrit Change Retriever performance improved for large gerrit repositories
    • Better error handling in case code snippet cannot be retrieved in finding details view
    • IEC 61131-3 ST Parser now parses ACTION as method
    • Better error handling and logging for ABAP export from SAP systems

Version 4.8.3 - 19th February, 2019 (download)

  • Fixes
    • Stalled analysis with worker log error "no content found for revision"
    • Regex filter for downloading of logs
    • Non-admin users could not change their avatar
    • Non-admin users were unable to edit their profiles or view their groups
    • The Teamscale plug-in now always uses an external browser (Eclipse and NetBeans)
    • Simulink: Rotated switch block icons were not correctly displayed
    • Debug rollbacks are now always executed as quickly as possible
  • Enhancements
    • Improved performance of architecture analysis
    • IndexBasedArchitectureAnalysis is now run only if necessary

Version 4.8.2 - 12th February, 2019 (download)

  • Fixes
    • Show TGA treemaps of child issues even when parent issue has no changes
    • Fixed potential NPE in Scheduler
    • Could not create project permissions if they already existed for project alias
    • Added switch to allow weak SSL ciphers
    • External Uploads and Role Asssignment button was not greyed out for projects being deleted
    • JavaDoc analysis did not handle @param tags for generic type parameters correctly
    • NullPointerException in SAP-config migration
  • Enhancements
    • Improved performance of TestGapSynchronizer

Version 4.8.1 - 5th February, 2019 (download)

  • Fixes
    • Improved performance of clone detection
    • Arrow position in architecture editor now matches mouse position
    • Deleted baselines no longer block the UI
    • Disabling SSL verification is now respected by the TFS connector
    • The "Function types shall be in prototype form with named parameters" check is more robust now
    • Fixed false positives of null-pointer analysis on integers which are assigned or compared to 0 (C-like languages)
    • Fixed false positive for "Non-void function should return a value" check (C/C++)
    • Fixed false positive for "Array definition is not valid" check with arrays of structs (C++)
    • Fixed false positive for "Element should only be initialized once" check (C++)
    • Fixed loading of findings detail view (Simulink)

Version 4.8.0 - 29th January, 2019 (download)

Upgrade from older version: Full re-analysis via backup required
  • Major Features
    • Bitbucket Server Pull Request Integration
    • Gitlab Merge Request Integration
    • Simulink Clone Detection
    • Simulink Architecture Analysis
    • Objective-C Support
    • Data Flow Analysis for C/C++
  • Web Interface
    • Tests perspective: the selected partitions are now remembered per project
    • Resolved findings are now shown in Delta and Findings perspectives
    • Issues perspective: Live issue query validation
    • Issues perspective: New aggregated findings view per issue along with an issue-based findings badge
    • Activity perspective: Added explanatory tooltip to activity summary
    • Projects perspective: List of projects is now sortable
    • Architecture perspective: Architecture components now show comments as tooltip
    • Treemap links can now be opened in new tab
    • Hovering over the commit in Event- and Worker Log views now shows a readable timestamp
    • Auto-fill commit message and partition in report upload UI
  • IDE Integration
    • Blacklisted findings can now be classified as Toleration or False Positive (Eclipse, IntelliJ, NetBeans)
    • VS plugin: Cleanup status messages in Findings Window
    • NetBeans: Changes to the layout of the Findings view are now persistent (column widths, sort order, etc.)
  • Admin
    • Support for XCode/xccov Coverage format
    • Support for Clover Coverage format
    • SCOV coverage can now directly be fetched from the SAP system
  • Built-in checks
    • C/C++
      • Function types should be in prototype form with named parameters 
      • All declarations of an object or function should use the same names and type qualifiers
      • Check for multiple declarations of the same object/function
    • Java
      • Avoid unnecessary creation of BigInteger/BigDecimal objects
      • Type of exception should not be checked using instanceof
    • Avoid using HTML tags in strings (Java, C#)
    • Avoid marking fields as volatile (Java, C#)
    • Class named like Exception should inherit from Exception or subclass (Java, C#)
Show old releases