Sonargraph Release Notes ======================== Build 11.6.1.8206_2021-09-30 =========================== New Features ------------ - Sonargraph - When transferring an Architectural view into production, the user can now choose to create ignore architecture violation resolutions when Findings defined in the Architectural view ignore architecture violations. - Arcs in the Architectural view containing ignored architecture violations are now shown with a dash-dot pattern. Selecting an arc the Properties view shows details, such as 'Number Of Parser Dependencies', 'Number Of Parser Dependencies Violating' and 'Number Of Parser Dependencies Violating Ignored'. Improvements ------------ - Sonargraph - When creating manual artifacts in the Architectural view using the Artifact Filter page a new section 'Additional matching info' has been added showing important information of the selected retriever, determined by the selected pattern type. When using for example the retriever '[Java] Extends Class' the matching base classes are shown. - When searching elements in the Architectural view with the Search dialog the containing elements are shown when selecting one of the found elements in the list. - Updated underlying SWT user interface library fixing 2 glitches on 'macOS Big Sur': - Sometimes labels in trees were not fully shown. - Error markers in wizards were not updated correctly. Bug Fixes --------- - Sonargraph - Fixed an error in the Architectural view applying patterns of manual artifacts leading to wrong assignment. - Fixed proxy authentication problems on Windows when multiple authentication schemes are offered. Build 11.6.0.694_2021-09-16 =========================== Bug Fixes --------- - Sonargraph - Fixed potential 'NullPointerException' in dashboard. - Fixed assertion error (Parameter 'retriever' of method 'AssignableFilter' must not be null) when transferring an Architectural view into production using automatic filter artifacts. Build 11.6.0.693_2021-09-15 =========================== Improvements ------------ - Sonargraph - Improved speed of filter matching in Architectural view. - Added Java attribute retriever 'JavaExtendsImplementsInterface' to match all interfaces implementing and all non-interfaces extending an interface (usable in the architecture DSL and the Architectural view). Bug Fixes --------- - Sonargraph - Fixed possible 'StackOverflowError' in resolution similarity matching. - Corrected exclusion of lines shorter than configured minimum line length in duplicate code analysis. - Fixed some errors in C# 9 parsing. - Fixed proxy authentication problems for proxies offering multiple authentication schemes. - Fixed https problems due to outdated certificate store. Build 11.6.0.692_2021-09-09 =========================== Improvements ------------ - Sonargraph - Improved speed of focus operations in Architectural view. - Improved speed of undo/redo in Architectural view. Bug Fixes --------- - Sonargraph - Fixed a false syntax error when parsing certain C# 9 switch statements. - Fixed a 'NullPointerException' in the C# parser related to 'init' properties. Build 11.6.0.691_2021-09-02 =========================== Bug Fixes --------- - Sonargraph - Fixed a regression error ('NullPointerException') in C,C++ analyzer. Build 11.6.0.690_2021-09-01 =========================== Improvements ------------ - Sonargraph - When incrementing the analyzer execution level only the necessary analyzers that haven't been already run are started. NOTE: This only applies when no analyzers are currently running. Interrupting an analyzer execution by setting a new analyzer execution level will cancel all analyzers an re-run all corresponding analyzers. NOTE: When decrementing the analyzer execution level nothing immediately happens. The newly set analyzer execution level is used when the analyzers are run the next time. Bug Fixes --------- - Sonargraph - Allow http for communication with license server. - Fixed an assertion in the C,C++ analyzer. Build 11.6.0.689_2021-08-28 =========================== Improvements ------------ - Sonargraph - Improved speed of cycle analysis. Bug Fixes --------- - Sonargraph - Do not show ignored architecture violations (by Findings) in Architectural Violations view. Build 11.6.0.688_2021-08-21 =========================== Improvements ------------ - Sonargraph - Improved speed of 'Finish Java model modification' processing. Bug Fixes --------- - Sonargraph - Fixed initial draw of Treemap view on Windows. Build 11.6.0.687_2021-08-19 =========================== Bug Fixes --------- - Sonargraph - Fixed an error in relative path detection due to different string encodings when adding a root directory setting up the workspace. - C#: Fixed a problem with assembly handling introduced in the last release. Build 11.6.0.686_2021-08-12 =========================== Improvements ------------ - Sonargraph - Now it is possible to refresh system files only by using 'System->Refresh System Files' as alternative to perform a full refresh via 'System->Refresh'. - Improved detection of Git root. If only a single root directory exists this can now also be a Git root. - Last used systems can now be opened from 'System' view. - C#: It is now possible to analyze systems targeting .NET 5.0 and .NET Core frameworks. See chapter "3.8. C# Configuration" in the user manual for details. - C,C++: Unbound components can now be declared as 'external' using the 'CPlusPlusSystemSettings.xml' file located in the 'Settings' system sub folder, by specifying a filter using include and exclude patterns matching the relative path of the underlying files. Currently this file has to be edited on disk. Using 'System->Refresh' or preferably 'System->Refresh System Files' changed content will be read and applied. Bug Fixes --------- - Sonargraph - Include info about Python cycle groups in 'Software System' view. - Fixed potential 'ArrayIndexOutOfBoundsException' when creating a tree-map. - Fixed an assertion that sometimes occurred when there was no Git repository or the repository was empty. - Fixed potential invalid/unknown element assertions for C,C++. - Eclipse Plugin - Sonargraph Properties view now shows the correct information for the selected source file. Build 11.5.0.685_2021-08-02 =========================== Bug Fixes --------- - Sonargraph - Fixed 'NullPointerException' when closing a software system with an opened Exploration, Graph or Dependencies view (regression error). Build 11.5.0.684_2021-07-30 =========================== Bug Fixes --------- - Sonargraph - Fixed several small memory leaks affecting only the Standalone application. - Fixed error in handling of excluded elements in Architectural view leading to an assertion error when applying a focus. Build 11.5.0.683_2021-07-29 =========================== Improvements ------------ - Sonargraph - Improved expand/collapse speed in Architectural view. Bug Fixes --------- - Sonargraph - Python: Fixed 'ConcurrentModificationException' in Parser. - Python: Fixed an error that would cause external Python modules to be considered internal. - Python: Excluded the '.eggs' directory from Python refresh. - Python: Fixed comment detection. - Python: Fixed duplicate code detection. - C++: Fixed assertion error 'No work items left' when reloading a command capturing file during refresh. - Java: Fixed an error in the method signature parser leading to not correctly shown generic type information. - Fixed 'NullPointerException' when retrieving properties for a selected element when refreshing a software system. Build 11.5.0.682_2021-07-21 =========================== Improvements ------------ - Sonargraph - Improved Java method names using generics. Bug Fixes --------- - Sonargraph - Improved C# parser not to report syntax errors on certain switch expressions. - Fixed some misleading C# warning messages. - Fixed 'NullPointerException' in Python parser. - Fixed problem with C/C++ snapshot loading. Build 11.5.0.681_2021-07-19 =========================== Improvements ------------ - Sonargraph - Reduce the boost for 'Importance Severity' in the issue ranking algorithm to improve the balance between 'importance' and 'urgency'. Bug Fixes --------- - Sonargraph - Fixed problem in Java parser that would lead to syntax errors if 'record' is used as an identifier. - Fixed assertion error in the C/C++ component creation process. Build 11.5.0.680_2021-07-15 =========================== New Features ------------ - Sonargraph - The 'System' view has been re-designed and now also displays trend info for metrics and issues, if a baseline is activated. - The 'Ranking' view identifies the most relevant problems to be fixed by calculating scores for detected issues. See the user manual for details, chapter 8.2.1 "Identifying the Most Relevant Issues to Fix". - The status line contains now a widget that is always visible and that indicates if analyzers are still running. - The Cycle view highlights added cyclic elements for a worsened cycle group, if a baseline is activated. - The Script API now allows access to the authors information of source files. A script to detect conflicting team modifications has been implemented as an example analysis (Core/DetectModificationsByConflictingTeams.xml). Bug Fixes --------- - Sonargraph - C#: Fixed potential assertion error 'Dependency already added'. - C#: Fixed several parser problems that would lead to false syntax errors. Compatibility ------------- Java 11 is now the minimum version required for Sonargraph, Sonargraph-Build, and all plugins (Jenkins and SonarQube Plugin). Build 11.4.1.679_2021-07-07 =========================== Bug Fixes --------- - Sonargraph - C#: Fixed bug in C# module configuration that led to a 'NullPointerException' in the 'C# Modules Configuration' dialog. - C#: Fixed bug in processing of complex types. Build 11.4.0.678_2021-07-02 =========================== Bug Fixes --------- - Sonargraph - Fixed bug in 'System Diff' analyzer that could cause the omission of added issues. - Fixed bug on quality gate condition wizard that prevented setting the 'type of check' for baseline issue conditions. - Eclipse Plugin - Fixed potential 'ConcurrentModificationException'. - Fixed potential exception in CycleGroupsView when refreshing system files. Compatibility ------------- In case you use quality gates, baselines created with this version might not be processible with older versions. Build 11.4.0.677_2021-06-18 =========================== Bug Fixes --------- - Sonargraph - Fixed potential 'concurrent modification' exception when importing modules while analyzers are running. - Fixed assertion error (Parameter 'task' of method 'endSubTask' must not be null) if refreshing a software system is cancelled. - Fixed assertion error (No self references) when generating a UML diagram. Build 11.4.0.675_2021-06-09 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error (Number of steps already defined) if software system needed to be reloaded during refresh. - Fixed assertion error (Same instances) in cycle analyzer infrastructure. - Fixed assertion error (Parameter 'sourceFiles' of method 'add' must not be empty) in cycle analyzer infrastructure when analyzing byte code (Java) containing invalid 'source' attributes. Build 11.4.0.674_2021-06-04 =========================== New Features ------------ - Sonargraph - A checked architecture file (DSL) can now be shown as an UML component diagram. Simply select a checked architecture file and use 'Show in Architecture Diagram View' from the context menu (right click). Pressing F1 (context help) on the Architecture Diagram view gives detailed information about the view. Bug Fixes --------- - Sonargraph - Fixed possible 'NullPointerException' in cycle analyzer infrastructure. - Fixed possible 'ConcurrentModificationException' in cycle analyzer infrastructure. Build 11.3.0.673_2021-05-28 =========================== New Features ------------ - Sonargraph - C# 9 is now fully supported. Bug Fixes --------- - Sonargraph - Fixed assertion error (Parameter 'child' of method 'getUniqueExistingChild' must not be null...) when using the 'New C/C++ Module(s)...' wizard with an empty system. - Fixed 'Invalid value: diff.algorithm=minimal' in analyzer 'ScmMetrics'. - Fixed 'element not found' error that occurred during snapshot writing for a C/C++ project. Build 11.2.0.672_2021-05-21 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error ('size' must be greater than 0) when loading a treemap for a C,C++ system. - Fixed normalization of 'height' value in 3D treemaps resulting in buildings with same height regardless of their corresponding value. - Fixed problem with Turkish locale that would not allow Sonargraph to start properly. Build 11.2.0.670_2021-05-13 =========================== Bug Fixes --------- - Eclipse Plugin - Fixed installation. Build 11.2.0.669_2021-05-12 =========================== Bug Fixes --------- - Sonargraph - Fixed possible 'NullPointerException' in text search in 'System Diff' view. - Fixed 'NullPointerException' in the C# parser. - Fixed assertion error (An already loaded treemap must have valid properties) on deleting workspace elements. - Fixed auto resize in 3D treemap. - Fixed bug in pattern migration logic. Resolution matching in 'System Diff' is now better for older baselines. - C#: Fixed assertion error 'Parameter version2 of method compare must not be null'. - Eclipse-Plugin - Fixed missing bundle dependency. Build 11.2.0.668_2021-04-30 =========================== New Features ------------ - Sonargraph - 3D treemaps, aka software cities are now available. You create a 3D treemap the same way you create a 2D treemap by right click on the folder "Treemaps" in the "Files" tab. By selecting a metric for "height" you will automatically create a 3D treemap. - Sonargraph now supports the JVM version of Kotlin in the scope of the Java language provider, i.e. you can mix Java and Kotlin code under the same root directory. Since Sonargraph gets most of the dependencies out of the byte code, Kotlin inline functions might cause incomplete dependency models. - The Spring Microservices Plugin detects dependencies between web resources and their callers. See the user manual, chapters 15.2 (Spring Microservices Plugin) and 16 (Investigating Microservice Dependencies) for details. - New script 'Core/FindWebResourcesAndCalls.xml' to list the detected web resources and callers. This list can then be used to visualize their dependencies. - New script 'Core/ValidateRootDirectories.xml' to detect potential Sonargraph workspace configuration problems. Improvements ------------ - Sonargraph - C# assembly loading has been modified, so that only the newest external assembly is referenced. This reduces the number of warnings about unresolved elements. Bug Fixes --------- - Sonargraph - Fixed an internal error in the C++ parser. - Fixed an issue that would break the model consistency in C/C++. Build 11.1.0.667_2021-04-22 =========================== Bug Fixes --------- - Sonargraph - Fixed at least 1 scenario leading to a 'ConcurrentModificationException' when working with the Architectural view and visible Parser Dependencies (in/out) views. - Fixed assertion error (Not included:...) when transferring an Architectural view into production containing delete refactorings. - Fixed assertion error in wizard 'New C/C++ module(s)...'. Build 11.1.0.665_2021-04-15 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error (Unexpected class in method 'create') when refreshing a project containing C# and Java modules. - Fixed unnecessary 'Module Settings Changed' warnings when loading C,C++ system with modules that have been imported from Visual Studio. This fix may lead to another 'Module Settings Changed' warning after the update but it should occur much less afterwards. - Eclipse Plugin - Ignore modules with misplaced root directories. Improvements ------------ - Sonargraph - Added script Core/ValidateRootDirectories.xml to identify misplaced root directories. - Improved performance and fault tolerance of the C,C++ parser. Build 11.1.0.664_2021-04-09 =========================== Bug Fixes --------- - Sonargraph - Fixed regression error in analyzer infrastructure leading often to an assertion error (Wrong state 'CANCELLED') in different analyzers. - Fixed problem in resolution of C,C++ model elements via fully qualified names. Improvements ------------ - Improved diagnostics for internal errors in the C,C++ parsing process. Build 11.1.0.663_2021-04-07 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error (Wrong state 'CANCELLED' for: SCRIPT_RUNNER) when creating a report. - Fixed a model consistency problem for C,C++. - 'size_t' is now configured correctly for the Microsoft C,C++ compiler family. Build 11.1.0.662_2021-04-02 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error regarding an "unknown object" in the snapshot writing phase. - Eclipse Plugin - Fixed assertion error (Wrong state 'CANCELLED' for: DUPLICATE_CODE_METRICS). Build 11.1.0.661_2021-03-23 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error when triggering a "Save As ..." using an Explorer license. - Fixed assertion error ('provider' of method 'getArchitectureFilterName' must not be null) when performing a refresh of a C,C++ system with an opened Architectural view. - Fixed some false C# parser syntax error issues. - Resolved some issues with C# dependency resolution. - Fixed model consistency problem for C++. - Fixed assertion error when overwriting existing baseline. - Fixed potential assertion error when creating baseline ('no issue found for resolution'). Build 11.1.0.660_2021-03-10 =========================== Improvements ------------ - Sonargraph - Updated C/C++ parser to the newest EDG 6.2 release. Bug Fixes --------- - Sonargraph - Fixed assertion error ('Already added as replaceable') when using 'Move Elements...' in the Architectural view. - Fixed assertion error when renaming a Java type (refactoring) in the default package. - Fixed assertion error when downloading a report from Sonargraph Enterprise as system baseline. - Resolutions for duplicate code blocks are now correctly transferred on system 'save as'. - Fixed a bug that would break the usage of baselines for certain C/C++ systems. - Fixed several bugs in the C# source and assembly parser. Compatibility ------------- - Due to an internal refactoring of the 'Average Complexity' computation, the corresponding language dependent analyzer will be reported as removed and the 'Average Complexity Analyzer' reported as added in the system diff. Build 11.1.0.659_2021-02-19 =========================== Bug Fixes --------- - Sonargraph - Developers' aliases are no longer cleared if system settings dialog is closed without having selected the 'Developers Management' node. - Eclipse Plugin - Fixed potential 'NullPointerException' when opening a workspace and having a baseline applied. - Intellij Plugin - The latest Intellij versions are now supported. Build 11.1.0.658_2021-02-09 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error (Unexpected class in method 'processProgrammingElement') when refreshing a system with an opened Architectural view. - Eclipse-Plugin - Fixed startup problem. Build 11.1.0.657_2021-02-01 =========================== Bug Fixes --------- - Sonargraph - Fixed 'NullPointerException' when creating a 'move', 'rename' or 'delete' refactoring. - It is now possible again to create new 'ignore' resolutions. Build 11.1.0.656_2021-01-28 =========================== New Features ------------ - Sonargraph - It is now possible to pass and reveal the current selection between Sonargraph and the Eclipse plugin. Chapter 17.3., 'Collaboration between Sonargraph and IDE', provides more details. - New metric 'Issue Density', calculated as 'number of error or warning issues * 1000 / source element count' to identify source files or modules involved in a lot of issues. - Source and Markers view now show issues for files files participating in duplicated code blocks or contributing to cycle groups via outgoing dependencies. - The issue collector used for the treemap generation also takes the issue participation into account. The participation in duplicated code block and cycle group issues is also collected. - Added 'Issue Density' as color source on source file and component level to treemap generation. - Added script metrics as color source on source file and component level to treemap generation. - Added additional component level metrics as color source to the treemap generation. - C#: Option to import Visual Studio solution file filters for creating a C# system or modules. - C#: Support for processing Visual Studio project files via 'dotnet msbuild'. - Added support to manage a list of developers working on a system. Their names can be used when selecting the 'Assignee' for a resolution. The SCM analyzer fills the list automatically with the existing author names. Aliases can be defined manually. Improvements ------------ - Support to reveal an issue via context menu in the Issues view. - Search dialog now shows additional info for a selected element. Build 11.0.0.655_2021-01-21 =========================== Bug Fixes --------- - Sonargraph - Fixed assertion error in C/C++ parser. Build 11.0.0.654_2021-01-15 =========================== Improvements ------------ - Sonargraph - Properties view and Element Metrics view now handle selection events better. - C#: Skip projects of type 'solution folder' when importing from Visual Studio solution. - Treemap view now offers auto resize. - C# Parser improvements and support for the C# 8 null forgiving operator. Bug Fixes --------- - Sonargraph - Fixed potential assertion error 'Unhandled changeDetail Modified' for System Diff. - Non-visible Treemap views are now closed on system close. - Fixed an assertion error in the C++ parser. Build 11.0.0.653_2020-12-23 =========================== Improvements ------------ - Sonargraph - Works better now on MacOS 'Big Sur'. Bug Fixes --------- - Sonargraph - Fixed assertion error (Node is not visible) when creating a previously deleted node in the Architectural view. - Fixed assertion error ('nextExternalLeafNode' of method 'applyDeleteRefactoring' must not be null) when deleting (refactoring) nodes in the Architectural view. - Fixed RuntimeException in PMD plugin. Build 11.0.0.652_2020-12-15 =========================== Bug Fixes --------- - Sonargraph - Fixed 'NullPointerException' when opening system configuration dialog with Explorer license. - Fixed assertion error 'We assume commits to be ordered descending by time'. - Fixed assertion error 'Parameter fileOrDirectory of method calculatePath must not be null'. - C/C++: Fixed assertion error that occurred when adding a module with system wide options via wizard. - Eclipse-Plugin - Fixed ticket request to correct license server. Build 11.0.0.651_2020-12-12 =========================== Bug Fixes --------- - All products - Fixed inactive SCM analyzer. - Sonargraph / Eclipse-Plugin - Fixed class loading problem after updating product via update site. Build 11.0.0.650_2020-12-12 =========================== New Features ------------ - Sonargraph - Added metrics derived from the source code management system's change history: - File changes (30d, 90d, 365d) - Code churn (30d, 90d, 365d) - Code churn rate (30d, 90d, 365d) - Number of authors (365d) - These metrics can also be visualized with our treemaps. - Currently only git is supported, more SCM systems will be added. - Added average max indent metrics for source files, classes, modules and system. - The 'Issue Collector' used as color source for treemap generation now also supports severities of issues. - In addition to the the 'Issue Collector' we added 13 source file metrics that can now be used as color source. - The Architectural view now allows to drill down to programming elements (e.g. classes, methods, fields, ...). - Support for additional 'local' baselines. These should be used, if the baseline is only applicable for the local machine. See chapter 13 'Examining Changes' for details. Improvements ------------ - Sonargraph - When using a 'Dark' user interface theme on Linux Sonargraph was not usable. This has been corrected. Bug Fixes --------- - Sonargraph - Fixed 'IllegalArgumentException' (Comparison method violates its general contract!) when calculating the System Diff. - Fixed 'AssertionError' (Only 1 constant expected for IStateData 'FOCUS_MODE' but was: 0) when deleting an include pattern of the production code filter with an opened C/C++ Component Construction view.