Sonargraph Release Notes
========================

Build 15.5.0.156_2025-10-10
===========================

Improvements
------------
- Sonargraph-Build
    - We reduced the Java runtime requirement from Java 21 to Java 17 
      for Sonargraph-Build, after that was requested by multiple 
      customers.
      
      
Build 15.4.3.155_2025-10-02
===========================

New Features
------------
- Sonargraph
    - We added a new cycle group metrics view that can be accessed from
      the cycle view context menu. It shows the coupling metrics of the
      elements involved in the cycle group. In particular we added two
      coupling scores. One scores the overall coupling contribution, the
      other scores classes who would benefit from the introduction of
      an interface. It is recommended to add interfaces for classes with
      the highest interface scores. That would help to reduce the coupling
      inside of the cycle group. It might even break up a larger cycle 
      group into smaller fragments.
      
      
Build 15.4.2.154_2025-09-29
===========================

Bug Fixes
---------
- Sonargraph
    - The C,C++ solution file importer now properly recognizes external 
      include directories defined in the .vcxproj files. Moreover the
      CL option /external:I is now also translated correctly.
      

Build 15.4.2.153_2025-09-23
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed an assertion error in the Visual Studio C++ project importer.
    - Fixed a StackOverflowError caused by cyclic architecture DSL rules.
    
    
Build 15.4.2.152_2025-09-19
===========================

New Features
------------
- Sonargraph
    - Added support for Java 25.
    
    
Build 15.4.1.151_2025-09-16
===========================

New Features
------------
- Sonargraph
    - Added new sheets for exported refactorings to Excel. The new sheets list
      refactorings in a way that it is friendly for AI coding assistants to use.
      There is one sheet per refactoring type, e.g. move/rename etc.
    - Added "Export Dependencies to Excel" feature for the exploration view
      and the architectural view.
      
      
Build 15.4.0.150_2025-09-04
===========================

Bug Fixes
---------
- Sonargraph
    - Dependencies to forward declarations of enums in C,C++ are now converted
      to 'by name' dependencies, which are not architecture relevant and also
      do not show up in the exploration view.
    - C,C++ friend functions in templates created dependencies for every 
      instantiation from the location of the template declaration. This created
      misleading dependencies and is now fixed.


Build 15.4.0.148_2025-07-28
===========================

Bug Fixes
---------
- Sonargraph
    - tsconfig.json files with Java style comments could not be parsed by
      Sonargraph. This is now fixed.
    - Fixed 'NullPointerException' in user interface interaction involving the 
      class 'WorkbenchViewSelection'.
    - 'New' dependencies in C,C++ were wrongly categorized as 'Template parameter 
      type' dependencies. This is now fixed.
    - 'Delete' dependencies in C,C++ were categorized as 'New' dependencies, also 
      fixed.
    - In C,C++ we changed dependencies to forward declarations of classes. They 
      will now all point to the class definition  and not to the forward declaration.
      The dependency type is recategorized as a 'By Name' dependency, if the class
      definition is not visible in the compilation unit. 'By name' dependencies are
      not architecture relevant and therefore also do not show up in the exploration
      view and are not used for the architecture check. The old way could lead to 
      misleading dependencies depending on the place of the forward declaration.
    - Template parameter type dependencies caused by local variables now show the
      correct line number (C,C++).

      
Build 15.4.0.148_2025-07-28
===========================

Bug Fixes
---------
- Sonargraph
    - Switch statements or expression guarded by "when" were not parsed properly
      by the Java parser.


Build 15.3.0.146_2025-07-23
===========================

New Features
------------
- Sonargraph
    - We added an integration for Spring-Modulith. Now Sonargraph is able to generate
      architecture DSL for Spring-Modulith applications based on the 
      application-modules.json file generated by Spring-Modulith. Requires
      Spring-Modulith 1.4.2 or higher. Check the manual for details.

Improvements
------------
- Sonargraph
    - Added usage information to Authors Management property page (formerly Developer
      Management property page).

Bug Fixes
---------
- Sonargraph
    - Fixed 'ArrayIndexOutOfBoundsException' in Authors Management property page.
    - Fixed several minor interaction errors in Authors Management property page.


Build 15.3.0.144_2025-07-16
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error ('relativePath' must not be empty) when opening the System Diff
      property page.


Build 15.3.0.143_2025-07-14
===========================

Improvements
------------
- Sonargraph
    - Baseline configuration entries are shown on system open.
    - Baseline configuration entries can be enabled/disabled/deleted in the System Diff view's
      Configuration tab.
    - Do not show the entry of the 'Pattern Based Cycle Ignore Filter...' wizard in every context
      menu.

Bug Fixes
---------
- Sonargraph
    - Fixed 'NullPointerException' when executing the 'Pattern Based Cycle Ignore Filter...' wizard
      when the 'Parser' model is selected.
    - Architecture (DSL) files were sometimes mistakenly reported as modified in the System Diff view.
    - Creating a local baseline in the Baselines directory did not show the baseline in the Files view.

- Sonargraph IntelliJ Plugin
    - Fixed error leading to unresponsiveness of License Server dialog.
    - Use https to access the default license server. 


Build 15.3.0.141_2025-07-02
===========================

New Features
------------
- Sonargraph
    - Added a new pattern based cycle ignore filter. With this filter it becomes possible to ignore cycle 
      groups based on a set of include and exclude patterns. For example using the include pattern '**/domain/**'
      you could ignore all cycles between domain classes. The new features is documented in chapter 9.3.1 of
      the Sonargraph manual.
      

Build 15.2.0.140_2025-06-11
===========================

New Features
------------
- Sonargraph
    - Added new analyzer 'Logical Toplevel Element Cycles'. This analyzer must explicitly be activated
      in the corresponding configuration property page.
      Logical toplevel elements (shown in the namespaces view) are the logical equivalents to the physical
      components (shown in the navigation view). They are the smallest assignable units used when creating
      logical Architecture (DSL) aspects. 
      Logical toplevel element cycles that share the exact same parser dependencies as component cycles are
      marked as a duplicate and do not create issues. Logical toplevel element cycles potentially
      increase the entanglement metrics.
      NOTE: For a system using a language that does not support a logical model the analyzer will remain inactive!

Improvements
------------
- Sonargraph
    - The directory cycle detector for C,C++ now only considers directories that contain at least one source file.
      Cycles between include directories and source directories are frequently just "virtual" cycles caused by
      the way Sonargraph builds components out of header files and source files.
      	  
Bug Fixes
---------
- Sonargraph IntelliJ Plugin
    - Fixed a assertion error correlated to transmitting selections to Sonargraph.


Compatibility
-------------
- 3 metric names have been changed to made them consistent with the general naming scheme.
  This affects the names in the Excel report(s) and wherever metric names are shown in Sonargraph standalone:
    - Number of Components/Sources -> Number of Components
    - Number of all C,C++ Directory Cycle Groups -> Number of C,C++ Directory Cycle Groups
    - Number of all C,C++ Namespace Cycle Groups -> Number of C,C++ Namespace Cycle Groups

- The calculation of 4 metrics has been adapted:
	- Entangled Code (%), Entangled Code, Critically Entangled Code. 
	  Those metrics are now calculated based only on component cycles (system and module scope) and logical
	  toplevel element cycles (system and module scope) if the analyzer is activated. Before they also included
	  source files involved in package/namespace cycles. This means that yoi can usually expect lower values
	  for those metrics. 
    - Relative Entanglement
      We calculate the relative cyclicity for components and top level elements (if the analyzer is activated) and
      calculate the average value of the two values.
	  Then we calculate the relative cyclicity for packages/namespaces (if available in the language and there is
	  more than one element) and the relative cyclicity for directories (if available in the language and there is
	  more than one element) and then take the average of those two values.
	  The first average is considering primary cycles, while the second one can also be based on cycles, that can
	  be solved by just re-arranging code.
	  Relative entanglement is calculated as the weighted average of those two values with a 60% weight for the primary
	  cycles and a 40% weight for the secondary cycles. Lower values are obviously better. The worst value is 100%.
	- This article describes why we decided to change those metrics: 
	  https://blog.hello2morrow.com/2025/06/changes-to-the-sonargraph-dashboard


Build 15.1.2.138_2025-05-30
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed a regression bug leading to a 'NullPointerException' in the C,C++ refresh job.
    
    
Build 15.1.2.136_2025-05-29
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error in the C,C++ refresh job.
    - Modified C,C++ component constructions to avoid creating components just because
      a header and the source have the same name. For that to happen both files must now
      be in the same directory. Please note, that this is a rare border case. Mostly
      component construction is based on the relationships between declarations and
      implementations.
      
      
Build 15.1.2.135_2025-05-24
===========================

Bug Fixes
---------
- Sonargraph
    - When switching from a local baseline back to a previously enabled system baseline the system
      diff was not recomputed. 

- SonargraphBuild
    - Baseline information is no longer written into and/or read from system.properties, baselines.rud
      and localBaselines.rud files. Those were located in the temporary corresponding Sonargraph product
      systems directory (i.e. xxx/hello2morrow/Sonargraph/Build/systems/xxx).
      Order to determine the applied baseline:
        (1) Explicitly configured local baseline from the configuration of the used build client
        (2) Enabled system baseline defined in the used System definition
        (3) None


Build 15.1.1.134_2025-05-13
===========================

Improvements
------------
- Sonargraph
    - If the additional source root detection based on the TypeScript project configuration
      files fails in the Angular plugin at least the corresponding parser model source roots
      are used and the error is logged and shown to the user.

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error (Diagram already created for) when creating an architecture diagram
      for a checked Architecture (DSL) file.


Build 15.1.0.133_2025-05-01
===========================

Improvements
------------
- Sonargraph
    - Added TypeScript analyzers 'Directory Cycles (System)' and 'Directory Cycle
      Metrics (System)'.
    - Updated the EDG C,C++ parser to the newest version.
    - In Java we now add package-info.java to the model. That might add new 
      dependencies if there are package annotation, which also could lead to changes 
      in package cycles.

Bug Fixes
---------
- Sonargraph
    - Fixed an assertion error (Not enabled: COLLECT_INCOMING_PARSER_DEPENDENCIES)
      when updating the content of the Parser Dependencies View (In) on a selection
      changed event.


Build 15.0.6.132_2025-04-25
===========================

Improvements
------------
- Sonargraph
    - Updated bcel.jar in the Spotbugs plugin from 6.5.0 to 6.6.1 to resolve a
      vulnerability.       

Bug Fixes
---------
- Sonargraph
    - Fixed at least 1 scenario leading to an assertion error ('sourceFile' not valid)
      in the Architecture Source File view when refreshing a system containing modified
      architecture (DSL) files. 
- SonargraphIntelliJ
    - Fixed 'ClassNotFoundException' on initialization.
    - Fixed threading issue.
    
    
Build 15.0.6.130_2025-04-22
===========================

Improvements
------------
- Sonargraph
    - The MacOS version of Sonargraph is now notarized by Apple, i.e. you do not need 
      to give special permissions for running Sonargraph.
      
      
Build 15.0.6.128_2025-04-11
===========================

Improvements
------------
- Sonargraph
    - Updated the C# Roslyn parser to the newest version.
    
Bug Fixes
---------
- Sonargraph
    - Fixed at least 1 scenario leading to a 'ConcurrentModificationException' when displaying
      dependencies with the Parser Dependencies views of an Exploration/Architectural view.
    - Fixed an 'IndexOutOfBoundsException' for the TypeScript source viewer.


Build 15.0.6.127_2025-04-04
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error (Map of artifacts to nodes must contain artifact) when saving 
      modified Architecture (DSL) files.      
- SonargraphEclipse
    - Fixed assertion error (Parameter 'toolItem' of method 'performCanExecute' must not
      be null).


Build 15.0.6.126_2025-03-27
===========================

Bug Fixes
---------
- Sonargraph
    - Selecting elements in Navigation, Logical Namespaces and Files views did no longer 
      fire an element selection event enabling other views to show corresponding data
      of the selected elements (regression error).


Build 15.0.6.125_2025-03-26
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed another scenario that could result in negative metric values for 'Extended
      Cyclomatic Complexity' for TypeScript.
    - Changing the scope in the Logical Namespaces view did not work reliably.


Build 15.0.6.123_2025-03-24
===========================

Bug Fixes
---------
- Sonargraph
    - For TypeScript the metrics extended cyclomatic complexity and modified extended
      cyclomatic complexity could have had negative values. This is now fixed.
    - For C,C++ the directory fragments in path names were not compared correctly
      for file systems with case-insensitive file names.
    - For the initial setup of TypeScript projects we required a 'tsconfig.json' file.
      Now we allow any file ending with .json as the project descriptor file.  
  

Build 15.0.6.122_2025-03-20
===========================

Improvements
------------
- Sonargraph
    - Improved component dependency detection of Angular plugin.
    - For C,C++ we now check, if a source file is also included by an #include directive. In
      that case we will add a "Potential Error" to the parser log and also write the issue
      into the log file. 


Build 15.0.6.121_2025-03-16
===========================

Improvements
------------
- Sonargraph
    - Added convenience method to INamedElementAccess of the Script API to retrieve assigned
      children recursively:
        public List<? extends INamedElementAccess> getChildrenRecursively();
    - Added missing programming element metrics to Exploration/Architectural Metrics view for
      physical and logical views:
        - 'Other' number of programming elements that are not types, methods, fields.
        - 'Programming elements' total number of programming elements.
        - 'Other (external)' number of external programming elements that are not types, methods, 
           fields.
        - 'Programming elements (external)' total number of external programming elements.
    
Bug Fixes
---------
- Sonargraph
    - Fixed 'NullPointerException' when accessing the children (getChildren()) of an
      instance of ILogicalProgrammingElementAccess in the Script API. 


Build 15.0.6.120_2025-03-13
===========================

Improvements
------------
- Sonargraph
    - C,C++ programming elements (classes, routines, ...) in anonymous namespaces are 
      now included in the logical model (shown in the Namespaces view).
    - The number of C,C++ parser daemons can now be increased to up to 32.
    - If a C,C++ component contains source files from several directories this component
      has to be split. As an improvement we now consider header file directories to 
      decide to which of the split up components a header file belongs.
    - Added convenience method to IArtifactAccess of the Script API to retrieve assigned
      element including child artifacts (recursively):
        public List<IAssignableElementAccess> getAssignedElementsRecursively();
    

Bug Fixes
---------
- Sonargraph
    - Fixed an assertion error ('nextToArtifactNode' of method 'isExpandToArtifactsPossible'
      must not be null) when requesting the context menu on a selected dependency (arc) in
      the Exploration/Architectural view.
      
      
Build 15.0.6.119_2025-03-11
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error (Parameter 'fqNamePart' of method 'addLogicalProgrammingElement'
      must not be empty) when creating the logical model in C,C++ after a refresh.


Build 15.0.6.118_2025-03-10
===========================

New Features
------------
- Sonargraph
    - Added 'Expand to Artifacts' to Exploration/Architectural view.
    - Added 'Collapse to Artifacts' to Exploration/Architectural view.

Improvements
------------
- Sonargraph
    - The scope setting in the Namespaces view is persisted in the user
      preferences. The Module scope is now the default.
    - The Angular plugin now at least uses the source root directories
      contained in the TypeScript parser model.

Bug Fixes
---------
- Sonargraph
    - Fixed an error when creating a logical Exploration view based on an
      architecture (DSL) file using C# leading to an assertion error
      (e.g. parameter 'leaf' of method 'addIn' must not be null) applying
      a focus transitively operation.
    - Excluding a subset of a partial type group in C# with the Production Code
      Filter led to an inconsistent logical model (shown in the Namespaces view). 
      This led to a subsequent assertion (e.g. parameter 'leaf' of method 'addIn'
      must not be null) error when using focus operations in an Exploration view
      based on a logical architecture model defined in a checked Architecture
      (DSL) file.
    - When selecting nodes in the Exploration/Architectural view with 
      incoming violations the Focus dialog will also offer the 'Dependencies'
      section.
    - Fixed assertion error ('Parameter 'nodes' of method 'createDependencies'
      must not be empty') when no more nodes are left in Exploration/Architectural
      view.
    - Fixed 1 scenario leading to a NullPoinerException (Cannot invoke
      "java.util.Map.values()" because "this.m_toToOutgoingDependencies" is null)
      when updating the Exploration/Architectural Metrics view.
    - Fixed access to logical programming elements of assigned elements of the 
      architecture model in the Script API. 


Build 15.0.5.117_2025-03-02
===========================

Improvements
------------
- Sonargraph
    - Improved performance in Exploration/Architectural view of expand/collapse for
      bigger systems.
    - Only re-calculate Exploration/Architectural view metrics when selection changes.
    - In editors, tables and the Properties view pressing cmd+a (Mac) or ctrl+a
      (Windows/Linux) selects all content.

Bug Fixes
---------
- Sonargraph
    - Fixed assertion error (Unhandled architecture model) creating an artifact in a
      logical Architectural view.
    - Deleting a namespace/directory in 'Flat' mode will no longer delete
      sub namespaces/directories in the Architectural view.
    - Fixed an error when updating an Exploration view based on an architecture (DSL)
      file using C# leading to an assertion error (parameter 'leaf' of method 'addIn'
      must not be null) applying a focus transitively operation.
    - Focus 'Additional' now also respects the settings of 'Dependencies' and 
      'Dependency Types'.
     

Build 15.0.5.116_2025-02-20
===========================

Bug Fixes
---------
- Sonargraph
    - Improved Java parser to properly recognize the new Java 21 record patterns in
      switch statements.
    

Build 15.0.4.115_2025-02-19
===========================

Bug Fixes
---------
- Sonargraph
	- Improved Java parser to properly recognize the new Java 21 type based switch syntax.
	

Build 15.0.4.114_2025-02-14
===========================

New Features
------------
- Sonargraph
    - Added metrics to Exploration/Architectural Metrics view:
        - 'Source element count (fully analyzed)' for physical and logical views. 
        - 'Source element count (issue ignoring)' for physical and logical views.
        - 'Lines of code (fully analyzed)' for physical views.
        - 'Lines of code (issue ignoring)' for physical views.
    
Improvements
------------
- Sonargraph
    - 'Alphabetical', 'Lines Of Code' and 'Source Element Count' sort in Exploration/Architectural view
       now all group artifacts and non-artifacts.


Build 15.0.4.112_2025-02-10
===========================

New Features
------------
- Sonargraph
    - Added 'Angular' plugin. This plugin can be enabled for TypeScript systems and tries
      to detect and add component dependencies.

Improvements
------------
- Sonargraph
    - 'Alphabetical' sort in Exploration/Architectural view now groups artifacts and
       non-artifacts.
    - The Update dialog now shows what the update process is doing.

Bug Fixes
---------
- Sonargraph
   - On Linux the logback.xml (logging configuration) could not be located correctly,
     depending on how Sonargraph was started.
   - Fixed SWTException (Widget is disposed) in Update dialog.


Build 15.0.3.111_2025-01-31
===========================

Bug Fixes
---------
- Sonargraph
	- Fixed an assertion error in the C,C++ parsing cycle.

	 
Build 15.0.2.109_2025-01-22
===========================

New Features
------------
- Sonargraph
    - Exploration/Architectural view now offers additional sort modes 'Alphabetical',
      'Lines Of Code' and 'Source Element Count'.
    - Locations of snapshot and export related actions are now stored in the context
      of a system (i.e. when exporting images in the context of a system the last 
      location used for the system is offered as default). 

Improvements
------------
- Sonargraph
    - Issues and Workspace views can now be closed.
    
Bug Fixes
---------
- Sonargraph
	- Fixed buffer overflow error in the Git data retriever caused by an extremely
	  long commit message.
	  

Build 15.0.2.108_2025-01-13
===========================

New Features
------------
- Sonargraph
	- Now all dependencies in the C++ component construction view can be exported to Excel.
	  Just right-click in the unoccupied area of the view to bring up the context menu.
	  
	  
Build 15.0.1.107_2025-01-09
===========================

Improvements
------------
- Sonargraph
    - Improved speed of SCM Metrics analyzer.
    - License requester always uses https (instead of http).
- SonargraphBuild
    - SonargraphBuild downloader now uses https (instead of http).

Bug Fixes
---------
- Sonargraph
	- Fixed assertion error (Parameter 'modules' of method 'create' must not be empty) when
	  updating a tree map on system refresh.
	- Fixed 'NullPointerException' when opening a system with an already opened system that 
	  is going to be closed with a selection of a logical namespace.


Build 15.0.0.106_2024-12-06
===========================

New Features
------------
- Sonargraph
    - Available for Linux AArch64/ARM64.
    - Available for Mac OS AArch64/ARM64.

Improvements
------------
- Sonargraph
    - Architecture assignment info now is also shown in Properties view when selecting logical 
      programming elements in logical system scope Namespaces view.
    - Author properties shown in Properties view are sorted by time period length.
    - Supported languages and description of Sonargraph plugins are shown on plugin preference pages.
    - Auto-update can now be turned of in the 'Help' menu.


NOTE: The Sonargraph platform uses Java 21. A Java 21 runtime is required!


Build 14.0.1.868_2024-12-05
===========================

Bug Fixes
---------
- Sonargraph
	- For C# sometimes generic parameter dependencies were not recognized properly. This is
	  now fixed.

IMPORTANT INFORMATION:

  In the next few days we will release Sonargraph 15.0.0 (including all it's clients and plugins).
  It has undergone a lot of internal rework. All used libraries have been updated and the internal
  module structure has been streamlined. Sonargraph now uses Java 21 and requires Java 21 to be
  executed. Sonargraph will now also support Linux AArch64/ARM64 and Mac OS AArch64/ARM64. 
  
  It will not be possible to auto-update from Sonargraph 14.x (and older) to 15.x. A fresh install
  will be needed. The corresponding download for your platform can be found as usual on our web site
  here: https://www.hello2morrow.com/products/downloads.
  
  The new update sites will be:
  - https://eclipse.hello2morrow.com/Sonargraph.site for Sonargraph (auto-update)
  - https://eclipse.hello2morrow.com/SonargraphEclipse.site for the Sonargraph Eclipse plugin 
    
   
Build 14.0.1.867_2024-11-25
===========================

Improvements
------------
- Sonargraph
    - Added 'Source Element Count' metric to Architectural/Exploration Metrics view.
	- Added 'CSharpIsEnum' attribute retriever to Architecture DSL, check manual for details.

Bug Fixes
---------
- Sonargraph
	- Fixed a problem with internal fully qualified names for TypeScript. This prevented a 
	  generated report (xml) file to be read successfully.
	- Fixed 'IllegalArgumentException' (HistogramBin():  startBoundary > endBoundary.) when
	  creating a Histogram.
	- Fixed 'NCCD' (John Lakos) metric calculation leading to invalid float values (NaN).   


Build 14.0.1.866_2024-11-14
===========================

Bug Fixes
---------
- Sonargraph
	- Fixed assertion error (AssertionError: maxValue >= minValue) when creating a Histogram.
	- Fixed stack overflow error for TypeScript attribute retrievers. 


Build 14.0.1.865_2024-11-07
===========================

New Features
------------
- Sonargraph
	- Added 4 attribute retrievers for TypeScript: TypescriptImplementsInterface, TypescriptExtendsClass,
	  TypescriptTypeof and TypescriptFileName. Please find the details in the documentation.
	  
Bug Fixes
---------
- Sonargraph
	- Fixed assertion error (Unexpected call: getLogicalModuleScopeRecursiveElementRefactoringDescriptor) 
	  when opening an Exploration view on a 'logical' Architecture file (DSL) for a TypeScript system.
	  TypeScript does not have a logical domain. The statement 'model "logical"' is now ignored and 
	  generates a warning.


Build 14.0.1.864_2024-10-29
===========================

Improvements
------------
- Sonargraph
	- If an internal TypeScript module is also found under the external 'node_modules' directory,
	  the external variant will be merged into the internal version.

Bug Fixes
---------
- Sonargraph
	- Fixed assertion error (XML System object must not be null!) when using undo/redo of a system
	  file modification in a C# system.

	  
Build 14.0.1.863_2024-10-18
===========================

Improvements
------------
- Sonargraph
	- Improved logging in the 'Architecture Check' to hunt down a spurious 'NullPointerException'.

Bug Fixes
---------
- Sonargraph
	- Fixed assertion error ('nextRecursiveElementCreationDescriptor' of method 'loadArchitecturalView'
	  must not be null) when trying to create a logical Architectural view for TypeScript. In TypeScript
	  no logical domain exists. The logical Architectural view creation is no longer available in the
	  corresponding wizard dialog.


Build 14.0.1.862_2024-10-02
===========================

Improvements
------------
- Sonargraph
	- TypeScript source files can now be moved/renamed (refactorings).
	- The metric 'number of methods' is now available for TypeScript and Python.

Bug Fixes
---------
- Sonargraph
	- Fixed layout of product information in About dialog on Linux.
	- Fixed assertion error (Same points) in Cycle view.
	- The C# parser now should also work on Mac's with an Arm64 processor.
	- Fixed a stack overflow problem in the TypeScript parser.
	
	
Build 14.0.1.861_2024-09-24
===========================

Bug Fixes
---------
- Sonargraph
	- Fixed a regression bug in the TypeScript analyzer.


Build 14.0.1.860_2024-09-13
===========================

Improvements
------------
- Sonargraph
	- Decorators are now properly added as dependencies for TypeScript.
	- Better resolution of ambiguous TypeScript dependencies when namespaces and 
	  elements of the same name as the namespace are involved.
	  
	  
Build 14.0.1.859_2024-09-13
===========================

Bug Fixes
---------
- Sonargraph
	- Fixed 'NullPointerException' in C# solution import wizard.
	- Replaced commons-text-1.9.jar with the newest version 1.12 due to a vulnerability.
	

Build 14.0.1.858_2024-08-29
===========================

Bug Fixes
---------
- Sonargraph
	- Fixed assertion error (already contains child) in background task when analyzing 
	  package cycles adding an element to a detected cycle.
- SonargraphEclipse
    - Fixed assertion error (unexpected class) in delta refresh.


Build 14.0.1.857_2024-08-23
===========================

Bug Fixes
---------
- Sonargraph
	- Corrected the positioning of 'added' signs of newly added nodes (using a baseline)
	  in the Cycle view applying the circular layout. 
	- Enforced the selection of a root directory for the Python system creation wizard.
	- Fixed an assertion error that occurred when TypeScript directory dependencies were 
	  analyzed in a Graph view.


Build 14.0.1.856_2024-08-09
===========================

Improvements
------------
- Sonargraph
	- Updated Roslyn libraries (C# parser) to the newest version.
	
Bug Fixes
---------
- Sonargraph
	- In C,C++ we now resolve symbolic links for internal header files. That avoids
	  phantom duplicates of header files found via symbolic links.
	- Fixed an assertion error that would occur when creating a graph view from the
	  architecture view of a Python project.
	- Double clicking a dependency in the Cycle view sometimes left the viewer
	  unresponsive.


Build 14.0.1.855_2024-08-02
===========================

New Features
------------
- SonargraphBuild
	- Added dynamic report goals for Python and TypeScript (Maven and Gradle). Now you
	  can create a report by just specifying a source root directory. For Python you can
	  also add a virtual environment.
	  
Improvements
------------
- Sonargraph
    - Made several small modifications to the Cycle Breakup algorithm to achieve a balance
      between performance and quality of the found break up set. This might result in small
      deviations from the previously found break up sets. Sorry for any inconvenience this
      might cause.

Bug Fixes
---------
- Sonargraph
    - Fixed a regression error that would not allow multiple elements to be selected and open
      an Exploration view based on all those elements (only 1 would be used).
    - The TypeScript preference dialog now works properly if NodeJS can't be found.
       
    
Build 14.0.0.854_2024-07-23
===========================

Improvements
------------
- Sonargraph
	- Now it is possible to select a NodeJS executable in the TypeScript preferences.

Bug Fixes
---------
- Sonargraph
    - Ignoring violations or deleting violating dependencies in an Exploration view based
      on an Architecture (DSL) file did affect violations produced by all checked Architecture
      (DSL) files and not only the ones produced by the file the Exploration view was based on.
      This has been fixed. 
    - Fixed another error that would prevent the Cycle Breakup algorithm from finding
      the minimal breakup dependency set.
    - Using 'File->Save As...' to a different directory made source control metrics unavailable.
      Now it works as expected.


Build 14.0.0.853_2024-07-17
===========================

Improvements
------------
- Sonargraph
	- The Exploration/Architectural view now uses the cycle breakup set to order
	  the nodes in cycles.
	- Highlighting edges in the Cycle view triggered by the edge selection in the 
	  corresponding Cycle Breakup view no works faster. 

Bug Fixes
---------
- Sonargraph
    - Fixed another error that would prevent the Cycle Breakup algorithm from finding
      the minimal breakup dependency set.
    - C comments in tsconfig.json files will not create problems any longer.


Build 14.0.0.852_2024-07-09
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed several issues in the TypeScript parser and model builder.


Build 14.0.0.851_2024-07-08
===========================

Bug Fixes
---------
- Sonargraph
    - Fixed some issues with interpretation and parsing of the tsconfig.json file
      for TypeScript systems.
    - Fixed a 'NullPointerException' when parsing a TypeScript system.
    - Fixed an error that would prevent the Cycle Breakup algorithm from finding
      the minimal breakup dependency set.
    - The bin size in the Histogram was not calculated correctly when a lower threshold
      was defined.


Build 14.0.0.850_2024-07-04
===========================

New Features
------------
- Sonargraph
    - TypeScript support added. TypeScript based systems can be created based on
      tsconfig.json files.
      NOTE: You need a working Node.js installation to be able to parse TypeScript
            source code.

Improvements
------------
- Sonargraph
	- The product information in the about dialog can be copied.

Bug Fixes
---------
- Sonargraph
	- Selecting a dependency in the Cycle Breakup view now also updates the Parser 
	  Dependencies views if connected to the corresponding Cycle view (since the 
	  dependency is also revealed in the corresponding Cycle view).
	- When a Cycle view is updated due to a modification the connected Cycle Breakup
	  view is reset. This avoids showing incorrect (stale) information.