Release Notes

This section contains the release notes for CodeScene.

CodeScene 4.5

The public announcement of the key 4.5 feature (Code Health KPIs) is available at codescene.com.

The main features and improvements in CodeScene 4.5 are:

  • Code Health: Introduce three separate Code Health KPIs: 1) hotspots code health, 2) average code health, 3) worst performer code health. The new metrics are available in the UI (dashboard), PDF reports, and the REST API. Read more in Code Health – How easy is your code to maintain and evolve?.

  • Delivery Performance: interactive views that can be filtered on a given time span.

  • Jira cost trends: Outliers are detected and removed to improve data quality when using the Estimated Cycle Time model.

  • REST API: expanded with endpoints for user management.

  • All improvements up to CodeScene 4.4.28 (see below).

4.5.1

  • REST API: New endpoints for getting, creating, updating and deleting teams and for getting, updating and deleting developers.

  • Disable google repo and local path project creation in empear/codescene docker image

  • Bug fix: GitHub app integration now handles renamed and deleted files correctly

  • More granular status badges: Code Health and System Mastery badges can now be published for every architectural component in the project separately

  • GitHub app integration: The check results now contain a delta analysis summary.

  • Goals: remove stable No Problem files from the visualizations and the Worst Performer code health KPI.

CodeScene 4.4

The public release notes with screenshots and examples are available at codescene.com.

The main features and improvements in CodeScene 4.4 are:

  • Integrate code coverage results.

  • Integrate static analysis results from SonarQube.

  • Expanded REST API for project creation.

  • Improved PDF reports. The old PDF reports for Architect and Manager have been replaced by reports that are better aligned with the CodeScene use cases. The old reports are still served to users subscribing to them, but we recommend changing to the new reports. In particular, we recommend the Trends and Alerts report for weekly subscriptions.

  • Support the Apex (Salesforce) programming language.

  • Slack integration: receive delta analysis warnings on a dedicated Slack channel.

  • Jira issue numbers can now be extracted from GitHub PR messages and branch names.

  • Introduce a cache for the Full Code Health Scan to improve the performance.

  • Team specific views: filter the interactive analysis views (hotspots, social) by development team and/or authors. Highly recommended in team retrospectives.

4.4.28

  • Major Change: Introduce three separate Code Health KPIs: 1) hotspots code health, 2) average code health, 3) worst performer code health. The new metrics are available in the UI (dashboard), PDF reports, and the REST API. Read more in Code Health – How easy is your code to maintain and evolve?.

  • Delivery Performance: interactive views that can be filtered on a given time span. Outliers are detected and removed to reduce noisy data.

  • REST API: New endpoints for getting roles list, active authentication providers list, authentication provider role mapping list and posting new role mapping to authentication provider.

4.4.27

  • REST API: New endpoint for getting developer settings list, see more: developer settings

  • Jira trends by cycle time in development: improve the precision. This is done by identifying issues that have a transition to “In progress” _after_ the last commit related to that issue. We then fall back on using the date of the first commit as starting point to recover part of the cycle time.

  • Git Submodules: bug fix to allow submodules with nested submodules. Previously the analysis failed to update the submodule’s repository. NOTE: requires at least Git 2.32, which is included in our docker image.

  • Update license server URL from portal.empear.com to portal.codescene.com

  • Project Configuration: Defaults for settings with large impact on analysis times are now configurable through env vars

4.4.26

  • REST API: When add repositories to a project an architectural component will be generated as well, see more: add-git-repository-url’s

  • Log git processes running on the machine in case we encounter a stale index.lock file.

  • Multiple project collaborators can now be added by specifying principals separated by semicolons.

4.4.25

  • Improvement: if a Git process dies in the middle of a mutating command, it could leave behind a stale index.lock which makes the fails future opertions. With this improvement, CodeScene detects the situation and attempts a repair.

  • REST API: New endpoints for managing users which access codescene instance, see more: users

  • Bug fix: The GitHub App PR integration now sets check status properly again.

4.4.24

  • Goals: Respect the configured threshold for code health alerts in goals too. That is, don’t fail a goal when the code is still above the minimal accepted level (default: code health of at least 9).

4.4.23

  • REST API: New endpoint projects/{id}/update/configuration/json to update project configuration, see update-project-configuration

  • PR Integration: Older style Azure http repo URL:s (visualstudio.com) are now supported.

  • OAuth2 Authentication config tweak to support PingID - Team Name Field can now reference a field that’s a simple string, not just a JSON array. The string will be interpreted as a name of a single group, or multiple comma-delimited groups. See OAuth2 Authentication Provider

4.4.22

  • Change the name of the template for custom code health rules so that it matches the required naming convention (code-health-rules.json).

  • Bug fix: PR integrations now uses last common ancestor rather than tip of target branch as baseline, thus avoiding confusing results when the same files are modified in both places.

  • Bug fix: PR integration results for files that don’t exist on the branch selected in CodeScene are now correct.

4.4.21

  • PR Integration: Comments are now set to active on Azure only if there is a delta analysis warning.

  • Apply global code health rules to the presentation in the virtual code review too. Cleaner view.

4.4.20

  • REST API: New endpoint projects/{id} to delete a project, see delete-project

  • Bug fix: GitLab PR hook now works properly with target branch names containing slashes.

4.4.19

  • System Map: Aggregated metrics are now provided when selecting folders in the system map.

  • Bug fix: PR integration now handles multiple repos with the same name under the same owner properly.

  • Bug fix: Custom Code Health rules are now correctly used during delta analysis.

  • Bug fix: Make sure the risk description matches the presented Delivery Risk in the branch analysis.

4.4.18

  • Bug fix: Delete cloned repositories when project creation over REST API fails.

  • Bug fix: Don’t include non-deterministic refactoring targets in the report hostpot list.

  • Bug fix: Add environment variable CODESCENE_DB_ENABLED_TLS_PROTOCOLS with default value set to TLSv1,TLSv1.1,TLSv1.2.

4.4.17

  • Bug fix: Always assume remote repo URLS when creating project over REST API and having a fixed repo root set.

4.4.16

  • Bug fix: Azure PR hook now works properly when using visualstudio.com https url as default.

4.4.15

  • Bug fix: Saving project configuration was broken in 4.4.14.

  • Bug fix: Custom CodeScene Host URL is now stored for all PR integrations

  • Documentation: add a CodeScene Terminology to define our metrics and concepts.

4.4.14

  • Pull Requests: Support Delta Analysis for PRs onto branches other than the main configured branch, e.g. long lived feature branches.

  • Code Coverage plugin: Support for C# coverage formats (dotCover, OpenCover, nCover)

  • REST API: The projects/new endpoint parameter gitremotelocalpath is renamed to local-path-for-remotes

  • Bug fix: Fixed analysis and result roots are now handled properly when creating project over REST API

4.4.13

  • Terminology/UI: clarify the usage of the developers configuration. Use Former Contributors rather than ex-devs.

  • Code Health: parse complex C pre-processor directives wrapping function declarations.

4.4.12

  • Customizable code health: This feature introduces customizable code health rules. The custom rules are treated as code and persisted inside your Git repositories. Read about the feature in Adapt Code Health to your Coding Standards.

  • Delta Analysis: The delta analysis now uses the value set for “Code Health Level for Alerts and Quality Gates” when checking Code Health of new files.

  • Bug fix: All plugins were disabled in the docker image.

  • Bug fix: Repository root and analysis result paths are now handled properly on import.

4.4.11

  • Pull Requests: PR comment threads on Azure DevOps are now in Active state by default, and can now be Resolved as manual review comments.

4.4.10

  • Pull Requests: Renamed “PR Check” to “Delta Analysis Result”, the contents are the same.

  • Pull Requests: Streamlined markdown rendering to be the same for all providers, small rendering changes will occur in the comments for BitBucket and Azure users.

4.4.9

  • Pull Requests: Flag modified Critical Code as an risk in the delta analysis to get reviewer attention.

  • C language: handle functions that have optional signatures depending on pre-processor definitions.

  • Bug fix: Results cache for improving analysis times was not properly used.

4.4.8

  • Bug fix: Delta analysis now analyzes branches with merge commits correctly.

  • Delta analysis API: Extend delta analysis API with a branch head parameter for analyzing branches while excluding merge commits.

  • Author statistics: handle the edge case where a new dev makes their first commit and it’s only non-code content.

4.4.7

  • Bug fix: The report configuration page was sometimes empty in a Tomcat deployment.

  • Bug fix: Code review findings in nested Python functions were in some circumstances attributed to the wrong function.

4.4.6

  • PM Integration: Support labels as work types for Jira Server.

4.4.5

  • Azure PRs: handle the case where a modified file has been removed from a main branch merged into the PR branch. Improves the quality gates by removing false positives.

4.4.4

  • REST API: add a Location header to the create project response. Extend the new project response with ID and REF so that a user can navigate directly to the created project.

4.4.3

  • Pair Programming author and commit message patterns will now be matched recursively, making it possible to find multiple authors with a single capture group.

  • Add a “Combine authors field and commit body to deduce pairs” option to the Team/Developers project configuration page. This supports scenarios where there may be multiple authors attributed to a commit through a combination of the Git author field and comments in the commit message.

4.4.1

  • Bug fix: On the X-Ray Results page the “View Function Code” link did not work for paths that contained special characters.

CodeScene 4.3

The public release notes with screenshots and examples are available at codescene.com.

We want to thank you all for the input, feedback, and feature requests! We’ve done our best to act upon it and reflect your feedback in this new release.

The main features and improvements in CodeScene 4.3 are:

  • Quality gates and pull request impact: visualize the trends, actions and impact of CodeScene’s PR integration. Documented here: Pull Requests: Statistics, Actions, and Impact.

  • New Virtual Code Review design: describe the metrics, motivate why it is important, and present possible remedies. Code health degradations and improvements are shown in a consistent format in the same style as any other review findings.

  • Team and Developer configurations are now global entities that can be shared between projects. This means that similar team, developer and alias settings do no longer have to be separately configured for every project.

  • Introduce a customizable hotspot view. Combine different metrics into custom visualizations, see Hotspots.

  • Redesign Slack notifications (not backwards compatible!). The configuration is now much simpler and includes only high-level alerts (Danger, Warning, Info) and analysis events (error or ok). The existing notification templates have been dropped (a backward incompatible change). The notification messages also include helpful links with more details about a particular finding.

New major features marked as Beta Status:

  • Full Code Health Scan of a complete codebase. Visualize the result as part of the interactive maps. Read about the feature and its constraints in Full Scan Code Health. Fully functional, but lacks performance optimizations (to be added in 4.4).

Other improvements include:

  • Code Health change: we have re-calibrates the code health scores based on more data and the separation of Brain Methods from Complex Methods. Note: your scores will most likely be slightly different after the update. Historic scores are automatically adjusted.

  • Include links from PR comments to a rich view + the full analysis inside CodeScene.

  • PR Integration: only comment on pull requests when we have something to say (default, overridable in project config).

  • Full support for C++ 2020 features.

  • C++, Code Health: Parse nested logic that crosses conditional compilation paths (pre-processor).

  • C# 9 support for records and extended pattern matching.

  • Run as non-root in docker container. From now on, new CodeScene releases will be provided for the empear/codescene docker image on Docker Hub. That image runs CodeScene as a dedicated non-root codescene user. For migration instructions, look here.

4.3.19

  • C++ pimpl idiom: support parsing functions in local nested class definitions.

4.3.18

  • Pair programming configuration: allow the two options (authors from author field vs authors from commit body) to be configured independent of each other.

4.3.17

  • New interactive feature to filter the hotspot map by code health values. Filter to only view complex hotspots.

4.3.16

  • Bug fix: Correct paths to edit global Teams/Dev configurations in Tomcat deployment.

4.3.15

  • REST API: present the code health trends using decimal numbers for higher precision.

4.3.14

  • PR Integration: Update the PR Integration configuration UI to show all required parameters on the form by default. Introduce an Advanced Settings panel for all optional provider overrides.

  • PR Integration: Introduce a CodeScene Host URL override setting. If your Git provider needs to communicate with your CodeScene installation using a different name than specified in the System Configuration settings page, you can provide an alternate host and path prefix to use.

4.3.13

  • REST API: the create project endpoint now has all parameters except the Git URLs as optional. This makes it possible to automate the CodeScene project creation without having to specify start dates, etc.

4.3.12

  • Adapt the analysis progress bar to the new UI components (fixes a bug with hidden progress bar).

  • Custom Reports: schedule custom reports over all accessible projects

4.3.11

  • REST API: expand the API with info on author- and team-fragmentation (i.e. coordination needs in code).

  • Key Personnel reports: don’t present sub-systems without relevant metrics (improvement).

4.3.10

  • Bug fix: the management overview report wasn’t send via email. Fixed.

  • Restructure the reports section to provide a better categorization of the report options.

  • Jira issue numbers can now be extracted from GitHub PR messages and branch names.

4.3.9

  • Reports: MAJOR CHANGE: The old PDF reports for Architect and Manager have been replaced by reports that are better aligned with the CodeScene use cases. The old reports are still served to users subscribing to them, but we recommend changing to the new reports:

    • Technical Health Overview: A complete report over Hotspots and Code Health on both file- and architectural-level.

    • Trend & Alerts: This report captures all alerts and warnings that are presented in the UI. Examples include violated goals and declining code health.

    • Key Personnel and Knowledge Distribution: Identifies gaps in the knowledge distribution, including lack of system mastery due to former contributors.

  • Bug fix: make sure that a code health degradation in function arguments is presented in the detailed delta analysis view.

4.3.8

  • Remove the configuration of risk trends and early warnings from the Branch Analyses and CI/CD Process project settings as the risk rating is replaced by Recommended Review Level.

  • REST API: new endpoint for commit activity trends (revisions + authors as a weekly trend).

  • Programming languages: use case insensitive matching to determine the type of file (e.g. .c and .C are treated the same).

4.3.7

  • Performance optimizations for full code health scan.

  • Improve the diagnostics presented in the UI in case of duplicated Git submodules in the same project.

  • Extend the REST API with a /metadata endpoint that lets users access the code health rules. Also fixes the severity field to present alert, warning, or improvement. Breaks backwards compatibility if you depend on the previous severity values.

  • Extend the REST API with an endpoint for triggering an analysis.

4.3.6

  • Bug fix to ensure correct API URL even with intermediate proxies (Pull Requests, delta analysis)

4.3.5

  • Support the Apex (Salesforce) programming language.

4.3.4

  • Slack notifications for delta analysis warnings. You can now subscribe to notifications whenever a _quality gate_ (a violated goal or code health degradation) fails.

  • Correct parsing of Python 3.6 string interpolation functions.

  • Introduce a progress bar in the UI for running analyses. Highlight (visually using red color) analyses that take longer than expected to complete so that users can detect stale analyses.

CodeScene 4.2

The public release notes with screenshots and examples are avilable at codescene.com.

CodeScene 4.2 expands the architectural component editor with a feature that auto-generates component definitions from your directory structure. This makes the architectural analyses more accessible, so you can now easily view code health trends for whole sub-systems and services, and also detect team coordination issues and knowledge silos at a high level.

We have also expanded CodeScene’s delta analysis with a detailed code review of new files with lower code health. The delta analysis is typically used as a quality gate integrated with pull requests in GitHub/BitBucket/GitLab/Azure Devops. This helps you detect potential problems early when they are still affordable to fix, and the added code review makes the findings actionable. Under the hood, CodeScene REST API for the delta analysis has been expanded with a new element for the review of new files (see CI/CD Integration with CodeScene’s Delta Analysis for details if you have a custom delta analysis integration).

The other visible change is that CodeScene now detects hotspots that improve in code health, and present a summary directly on the analysis dashboard.

Other improvements include:

  • Terraform: support the X-Ray analysis of Terraform hotspots and calculate cyclomatic complexity.

  • Branch Analysis: present the total lead time for the first commit on branch until time now for unmerged branches. Use this metric to detect stale branches.

  • Allow the Architect role to delete projects too. This makes sense since the Architect role can create projects.

  • Present analysis warnings and commit/issue details in the Scope => Analysis Data section.

NOTE: This release also includes _all_ the features and improvements that have been iteratively released in the 4.1.x releases listed below.

4.2.12

  • C# 9 support for records and extended pattern matching.

4.2.11

  • New Virtual Code Review design: describe the metrics, motivate why it is important, and present possible remedies. Code health degradations and improvements are shown in a consistent format in the same style as any other review findings.

  • Code Health change: we have re-calibrates the code health scores based on more data and the separation of Brain Methods from Complex Methods. Note: your scores will most likely be slightly different after the update. This will – most likely – impact your code health scores compared to older releases.

  • Distinguish between Brain Methods and Complex Methods in the code review; they are not the same.

  • REST API: expose a weighted average Code Health _if_ the hotspot full scan option is enabled.

  • Team and Developer configurations are now global entities that can be shared between projects. This means that similar team, developer and alias settings do no longer have to be separately configured for every project.

4.2.10

  • Experimental feature: support a Full Code Health Scan of a complete codebase. Visualize the result as part of the interactive maps. Full scan results are included in the REST API as well as the custom reports using code health. Read more about the feature in Full Scan Code Health.

  • Bug fix for qualified C++ namespaces that are referenced locally (X-Ray).

4.2.9

  • Document the Slack integration.

4.2.8

  • C++, X-Ray and Code Health: Support all modern C++ 20 features.

  • C++, Code Health: Parse nested logic that crosses conditional compilation paths (pre-processor).

4.2.7

  • Team analysis: present the percentage of code modified in the context of the analysis period. The Primary Team metric depends on the sliding window length for team analyses. This change clarifies the analysis period directly in the visualizations.

4.2.6

  • Per-project configuration for Slack notifications. You can now tune slack notifications for every project separately. That is you can define a custom recipient (channel) for every project as well as the set of “events” that should trigger the notification.

  • Handle PR integration for different branches in the same repository. Delta analysis is now performed only if the CodeScene project is configured to analyse the target branch. This is useful for setting up multiple projects analysing different target branches in the same repository.

4.2.5

  • Run as non-root in docker container. From now on, new CodeScene releases will be provided for the empear/codescene docker image on Docker Hub. That image runs CodeScene as a dedicated non-root codescene user. For migration instructions, look here.

  • Support Microsoft’s C++ Unit Test framework for C++ (Code Health and X-Ray support for unit tests).

4.2.4


  • Bug fix: ensure that the oldest author date is chosen as the suggested Git mining start date in all scenarios.

4.2.3

  • Introduce a customizable hotspot view. Combine different metrics into custom visualizations, see Hotspots.

  • Redesign Slack notifications (not backwards compatible!). The configuration is now much simpler and includes only high-level alerts (Danger, Warning, Info) and analysis events (error or ok). The existing notification templates have been dropped (a backward incompatible change). The notification messages also include helpful links with more details about a particular finding.

  • PR Integration: only comment on pull requests when we have something to say (default, overridable in project config).

  • Delta analysis: replace the risk prediction with a recommended review level. NOTE: this change deprecates part of the JSON response in the REST API, see CI/CD Integration with CodeScene’s Delta Analysis.

4.2.2

  • Architectural components editor: filter/search and sort architectural components. Redesigned components presentation for better readability, including components that were changed but not committed.

  • Introduce X-Ray and Code Health for the TCL programming language.

  • Remove the Brooks’s Law related alerts since they are non-actionable and sensitive to certain branching strategies.

  • Issue cost aggregations and cost distribution over time has been improved.

  • Jira and GitHub PM data fetching now fetches data only for issues actually found on commits, leading to shorter analysis times.

  • An option to run PM data fetching queries in parallel has been introduced for Jira and GitHub.

  • Don’t warn for no issues if pm data is not configured

  • Provide a guide for how to integrate CodeScene: CodeScene Usage Pattern: Workflows, Users, and how to successfully roll-out CodeScene.

4.2.1

  • Prefix Python functions with their enclosing class name (if any) to avoid confusion in the X-Ray. This fix handles functions with the same name, but located in different classes inside the same file.

CodeScene 4.1

CodeScene 4.1 includes several improvements to scale the UI to ultra-large codebases. We also provide new options for integrating more complex life cycles via Jira and GitHub issues, as well as direct support for GitHub Checks as a quality gate. Finally, CodeScene 4.1 also supports a new deployment option that lets you host CodeScene’s database in a SQL Server of your choice.

4.1.23

  • Pull Requests: present a virtual code review of new files with low code health.

  • REST API, skills inventory: present contribution percentage using 4 decimals to cover minor contributors too.

  • Code Health: display one or two decimal places on main project page, analysis dashboard and status badges.

4.1.22

  • Bug fix for parsing Jira issue costs.

4.1.21

  • REST API: new endpoints to expose skills inventory related features (programming language experience and contribution distribution).

4.1.20

  • Delta Analysis: Track moved and renamed content in the delta analysis.

  • Delta Analysis: Remove the now obsolete warning for new/modified code that couldn’t previously be checked against the baseline. The rename tracking solves this.

  • Project Creation: Clarify the options and data sources when creating a new project (UI improvement).

  • Keep up the good: inform on hotspots that improve their code health.

  • Fail an analysis when a repository update fails: new project configuration option, disabled by default.

  • Present details on the number of fetched and matched issues (Jira, Trello, GitHub, etc.) in the Scope => Analysis Data section.

  • Correct the screenshots for the Branch Analysis. Had old 3.x screenshots.

4.1.19

  • Support GitHub App integration with pull requests from forks.

4.1.18

  • Bug fix for parsing Java class literals in a property context.

  • Document external SQL DB performance context.

4.1.17

  • Support GitHub App integration for GitHub Server, not just cloud.

4.1.16

  • Improve external (MySQL) DB installation and migration docs.

4.1.15

  • Fix UI alignment for tables inside the analysis views.