Release Notes

This section contains the release notes for CodeScene.

CodeScene 5.4

CodeScene 5.4 comes with the full 4 factors dashboard. We introduced the new project dashboard in 5.3, and this release replaces the main dashboard with the 4 factor model. This lets you get a quick overview of your product portfolio, highlighting and comparing projects along multiple dimensions.

CodeScene's main dashboard combines the current status with key trends.

Fig. 253 CodeScene’s main dashboard offers a high-level overview of the current status with key trends for all projects.

The 4 factor model is still in Beta, meaning you have to opt in. We have one more feature – a product portfolio – pending for the 6.0 release.

Read all about the new 4 factor support in From Code to Delivery: the 4 factors model.

5.4.2

  • Bug fix: Turn off the option for fetching data from Pull Requests where it was incorrectly enabled automatically in the PM Integration settings.

  • Bug fix: Python X-Ray: support dictionary unpacking in list comprehensions.

  • Bug fix: Role mappings on global level are now saved correctly.

5.4.1

  • Bug fix: Db migrations now work properly for all supported db engines.

CodeScene 5.3

CodeScene 5.3 introduces our 4 factors dashboard – a new way of visualizing software development. These for 4 factors represent the intersection of code and people. All factors are visualized together with actionable recommendations (focus areas) and feedback as part of the team’s existing workflows.

CodeScene works like a fitness app for software development: identify improvement areas, visualize progress, and get real-time recommendations.

Fig. 254 CodeScene works like a fitness app for software development: identify improvement areas, visualize progress, and get real-time recommendations.

Further, these new 4 factor dashboards are highly interactive. This means that you can filter by team so that each team gets their own personalized dasbhoard. CodeScene also lets you toggle the time span to inspect how a particular factor – e.g. code health, knowledge, or delivery – has evolved over time relative to the baseline. This makes the 4 factors dashboard a perfect fit for retrospectives and planning sessions.

The 4 factors dashboard is available as a Beta, and we keep the existing dashboard as an alternative during the beta phase. The next major release will provide a projects overview page that reflects the 4 factors.

Read all about the 4 factors in From Code to Delivery: the 4 factors model.

5.3.18

  • PM Integration: Ticket id extraction from pull requests is now supported for Azure, BitBucket, BitBucket Server, GitHub and GitLab.

5.3.17

  • PM Integration: GitHub Enterprise Server is now supported

5.3.16

5.3.15

  • Bug Fix: Fix the pdf report generation that was broken in version 5.3.12.

  • Non proxy hosts can now be specified through the env var CODESCENE_PROXY_IGNORE_HOSTS

  • CodeScene will now log in JSON format if env var CODESCENE_LOG_JSON is set to true

5.3.14

  • Bug Fix: Ticket ids with JIRA project keys containing numbers were not extracted properly since 5.3.4.

5.3.13

  • Upgrade swagger-ui to new version

5.3.12

  • Upgrade dated third-party dependencies to newer versions.

  • Add a new debug flag for logging database queries (only MySQL and embedded H2 db) It can be enabled via env var CODESCENE_LOG_DB_QUERY=true. For more information, see Logging database queries (MySQL or embedded H2 db).

5.3.11

  • REST API: Update endpoints for managing project badges, see more: project-badges

  • PM Integration: The functionality for mapping commits to issues referred in pull requests that was disabled in 5.3.5 is now available again.

5.3.10

  • Bug fix: allow custom code health configuration of the Constructor Over-Injection smell via the UI.

5.3.9

  • Fixes a bug where the 4 factor UI could crash on malformed diagnostic data.

5.3.8

  • Fixed a bug where CodeScene was not able to save longer time series to MySQL.

5.3.7

  • Bug fix for rendering hotspot code health trends on old, outdated analysis results.

5.3.6

  • PR Integration: new setting for regex that excludes branches from Delta analysis

  • REST API: GET PR Integration configuration endpoint now returns additional (previously missing) properties, bitbucket-server-build, bitbucket-server-report, bitbucket-server-annotations, gitlab-discussions, azure-annotations, azure-active-status, bitbucket-annotations

  • REST API: POST PR Integration configuration endpoint now allows additional configuration properties, bitbucket-annotations, gitlab-discussions, azure-annotations, azure-active-status, bitbucket-server-build, bitbucket-server-report, bitbucket-server-annotations

  • Support for Ruby 3.x: CodeScene recognizes Endless Methods, Fibers, and the new pattern matching syntax. Also detects .rbs files used for static analysis definitions.

5.3.5

  • Virtual Code Review: Link all single function code health issues to the code. Click the links in the issue description to navigate to the source code.

  • Fixes issue with GitLab API URL expecting a / at the end of URL

  • Show CodeScene version in the footer on the home (projects) page

5.3.4

  • Show CodeScene version information to the login page, just below the logo.

  • Team-Code Alignment Explorer: filter out insignificant dependencies to make the visualization easier to interpret.

  • Fixes issue with Webhook installation to old GitLab versions failing

  • Fixes issue with Azure PR Integration ignoring Proxy settings

  • Fixes issue with Bitbucket Server annotations accumulating when same commit is analysed by PR Integration multiple times

  • REST API: Add new endpoints for managing authentication providers: get and update authentication provider, see more: authentication providers

5.3.3

  • Deprecate Java versions older than JDK 11 - users should upgrade at least to JDK 11 or, ideally, to JDK 17+.

  • Upgrade docker image to OpenJDK 17 - the previous Java version was 11; JDK 17 comes with numerous (performance) improvements

  • REST API: New endpoints for managing project badges, see more: project-badges

  • PR Integration: Proxy settings now apply properly to PR Integration.

5.3.2

  • A fix for a bug with context path when running in Tomcat

  • A fix for a bug with authentication tokens not working with older GitLab versions

5.3.1

  • Enable 4 factor dashboard.

CodeScene 5.2

From version 5.2 CodeScene starts to look for performed refactorings during the analysis process. These are used to highlight good practices and encourage further improvements to code health. They can be found in the new section “Performed Refactorings” as well as in the Virtual Code Review. Note that this feature is only enabled if CodeScene is running in Docker.

  • Language support: parsing support for the new generics in Go

  • Documentation: added guide to assist migrating from JAR to Docker

  • REST API: The version in use is v2. Version v1 is deprecated and will be removed in the next major release.

  • REST API: New endpoints for managing git repositories, see more: add-git-repositories and edit-git-repository-branch

  • REST API: The endpoint Add git repository url’s is deprecated and will be removed in the next major release.

5.2.19

  • C++: full support for trailing return value syntax.

5.2.18

  • UI Bug fix: Remove an incorrect button from the Teams/Developers configuration.

5.2.17

  • Team analysis: The full list of teamless authors is now available in a separate view

5.2.16

  • UI: Redesigned analysis menu, allowing more vertical space for the main content of analysis views.

  • Bug fix: Deleting role mappings over the REST API now works properly for root projects.

5.2.15

  • Reporting: Add support for STARTTLS in mail server configuration - this is useful when using smtp.office365.com (it doesn’t support standard ‘Implicit TLS’ encryption option which was the only one available in CodeScene before).

  • PR Integration: The BitBucket Server PR integration now sets Build Status and adds a Code Insight Report with annotations.

  • PR Integration: Add a setting for controlling how the Azure comment thread status is used.

  • Code Health: Calculate and present the 3 code health KPIs for each architectural component.

5.2.14

  • Bug fix: Apply fix for Azure API calls failing with some Azure DevOps Server versions

  • Delivery Effectiveness: Add statistics on the average commit size (LoC) to each data point.

5.2.13

  • PR Integration: The Azure PR integration now adds review comments on specific lines.

5.2.12

  • REST API: There is now a new role for giving users read access to the REST API.

  • Housekeeping: The delta analysis result views are no longer limited by the analysis housekeeping timespan, meaning that links to results are now valid for 12 months.

  • Authorization: The Full Read-Only role now has access to PR statistics and offboarding simulator.

  • PR Integration: The BitBucket PR integration now sets Build Status and adds a Code Insight Report with annotations.

  • PR Integration: The GitLab PR integration now adds Discussions to specific file locations.

  • PR Integration: The Gerrit PR integration now adds a Review with comments on specific lines.

  • The deprecated collaborators feature has been removed. Project that used it will no longer be subject to access restrictions based on collaborator settings.

  • A deprecation notice has been added to the older GitHub PR integration. Projects using it should be reconfigured to use the newer GitHub App integration.

5.2.11

  • Bug fix: Importing very large project configurations now works properly.

  • Documentation: Update PR Integration -> BitBucket Server token permission requirements.

  • Groups: The most used authentication provider is now preselected when doing group mapping.

5.2.10

  • Bug fix: Delta analysis for updated GitLab merge requests is now fired correctly again.

5.2.9

  • Bug fix: The SSH key functionality for groups no longer relies on having an ssh-agent running.

  • Bug fix: The Trello PM integration now fetches data for archived cards.

5.2.8

  • The deprecated Repo tool support has been removed. Repo tool projects will be automatically deleted when migrating.

  • Reporting: Add CodeScene project name to the report email subject.

5.2.7

  • PR Integration: The GitHub App config can now be updated without having to upload the private key again.

5.2.6

  • PR Integration: The treshold for detecting absent change pattern is now configurable.

  • Bug fix: Oauth2 login in Tomcat deployments now works again.

5.2.5

  • Bug fix: Fix a failing DB migration script affecting customers updating from version 5.0.5 or earlier to version 5.2.1 or later.

  • Bug fix: Fixed an issue that made plugin data not show up on the Virtual Code Review page.

5.2.4

  • Bug fix: stability improvements

5.2.3

  • Improvement: make the team analysis maps easier to use by only presenting files that have relevant work. That is, files that were modified during the sliding window configured for team analyses. All files that weren’t modified during the team analysis time span are now easy to filter out by increasing the commit filter in the visualizations.

  • PR Integration: For the GitHub App Integration, annotations can now be produced for all degradations and improvements found during delta analysis.

5.2.2

  • Bug fix: Fix GitHub App Integration that was broken in 5.2.1.

5.2.1

  • Improvement: deterministic choice of main author in case multiple people have an equal amount of contributions to the code. In that case, the main author will the one with the latest contribution; recency of change tend to contribute to increased understanding of the code.

  • Bitbucket PR Integration can now post Builds and Code Insights Report if configured

CodeScene 5.1

CodeScene 5.1 introduces project groups as a way to organize projects and manage permissions for related projects.

Other improvements include:

  • Code health: unified the code health impact for Large and Complex methods so that it’s more intuitive. NOTE: this can have a minor impact on your existing code health KPIs.

5.1.12

  • Improvement: present all improved hotspots on the dashboard, even if they have a goal assigned. This makes sure that the team sees all code health improvements.

5.1.11

  • Bug fix: fixed the issue when analysis cache is stored on a cifs mounted volume

  • Simplify: remove the configuration for social network threshold. Note that a new visualization is pending that allows you to interactively filter.

5.1.10

  • Bug fix: BitBucket PR integration no longer requires token with account scope.

5.1.9

  • Bug fix: database migration script fix.

5.1.8

  • Bug fix: The configured branches for analysis are now persisted in db and will thus will remain the same if recloning.

  • Bug fix: SSH key generation for groups now works properly in all environments.

5.1.7

  • Bug fix: A problem with too many open files during analysis due to not closing them properly has been resolved.

5.1.6

  • Analysis; An updated cache mechanism improves analysis times. Note that all Code Health scores will be recalculated once when running the first analysis after upgrading.

  • Bug fix: Tutorials are now available to users with no root-level access too.

  • Custom code health: make it possible to disable warnings for String Heavy Function Arguments.

5.1.5

  • Bug fix: Analysis now works when running in a Windows environment again.

  • UI: Improve labels and legends on some graphs

  • UI: The “Complexity Growth by Architectural Component” graph has been removed

5.1.4

  • PM Integration: The cache mechanism for PM data is now properly enabled.

5.1.3

  • The log level of a noisy warning from the delivery performance module has been changed to debug.

5.1.2

  • PM Integration: A cache mechanism has been introduced. This makes it possible to shorted analysis times by only fetching the data that has been updated since the last analysis.

5.1.1

  • Rust support: full code health support for the Rust programming language.

  • Architecture: visualize code health in the architectural component hotspots map.

  • Code review: Improve the description and refactoring recommendations for Large Assertion Blocks within test suites.

  • All authenticated users can now login (but get no project access if having no valid role)

CodeScene 5.0

CodeScene 5.0 introduces a new look and feel. The new identity revolves around our vision to “give code an intelligent voice” and reinforces the idea of CodeScene being there as an extra team member, guiding you toward great software and teams.

5.0.8

  • A continuous JFR (Java Flight Recorder) is started by default when using our Docker image - see our Advanced Diagnostics & Profiling guide for more details.

  • CodeScene docker image does no longer stores application logs into the /codescene/codescene.log file inside the container.

5.0.7

  • The developer and test leader roles can now access the delta analysis endpoint.

  • Cost trends can now be displayed as rolling averages to make it easier to interpret the trend.

5.0.6

  • Remove submodule support, migrates existing projects using submodule support by adding submodules as repositories to the project

  • Architectural views show statistics for files not in any component as No Component component

  • System Map file metrics now show calculation timespans where applicable

5.0.5

  • Add refactoring sample diffs to the Virtual Code Review, illustrating how to address some of the code health issues we report on.

  • Improve System Map filter sliders (Code Health and Commits)

5.0.4

  • Bug fix: Azure PM integration no longer fails analysis when encountering PRs with no description

5.0.3

  • Code health: report the total number of code health issues in each category. We used to stop at top 5.

  • Re-weight the code health scores: many complex methods are punished slightly harder. As a user, you might see lower code health scores in case of overly complex hotspots. Note that this change also invalidates the existing code health cache, meaning the first analysis after the upgrade will take a bit longer to complete.

5.0.2

  • Bug fix: X-Ray that was broken for Java 1.8 in 5.0.1 works properly again

  • Bug fix: REST API endpoint for updating project now works before an analysis has run

5.0.1

  • REST API: New endpoints for managing project PR integration, see more: pr-integrations

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.11

  • Bug fix: Default roles for OAuth2/LDAP now work properly again.

4.5.10

  • Internal refactorings and minor improvements.

4.5.9

  • Code Health: improved algorithm for Bumpy Road code smell detection. User impact: code with deep nested logic and bumpy roads might get slighly lower scores depending on severity.

  • Bug fix: When create a new project using Rest API the git submodules will be ignored, you can change that by setting “include-submodules-in-analysis”: true in the post payload

4.5.8

  • PM Integration: GitHub Enterprise is now supported.

  • Bug fix: Projects having PM data configuration with no projects/boards selected now complete analysis successfully.

4.5.7

  • Adds a special log config var CODESCENE_LOG_HTTP_BODY (‘true’ or ‘false’ (the default)) for logging HTTP request/response bodies which can be useful for temporary debugging of tricky issues. To have an effect, it also requires the log level to be DEBUG or TRACE.

  • Python code health: do not count mandatory arguments (self and cls) as excess function arguments.

4.5.6

  • Defect trend visualizations have been removed and are now presented as work type trends. The work type trends are now available at all levels even without PM integration.

4.5.5

  • Code review optimization: quick on-demand code review of any file when Full Code Health Scan enabled. NOTE: this optimizations will invalidate the code health cache. The first analysis after an upgrade will be slower, but after that the cache kicks in again.

  • Tutorials: updated with new CodeScene videos. Click on the Tutorials in the top menu bar to explore the videos.

4.5.4

  • Dart language: add support for @required annotations to parameters.

4.5.3

  • Bug fix: Dart language: update string handling and support required parameters.

4.5.2

  • Bug fix: Chrome no longer autofills Pull Request and Project Management integration password fields.

  • Remove the deprecated Demo Feature. No longer supported.

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.