All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning
- Update links to demo website #2961
- Show tooltip with explanation for some metrics #2957
- Fix release tag #2954
- Prevent dark map on unhover #2959
- Zoom in/out time #2959
- Fix webpack build package being corrupt if zipped under linux by changing the compression path #2934
- Changed storing format for camera position within custom views and scenarios. Loading of created custom views or scenarios in old format will stop working in 2023 2880
- Add error messages for the user to "Add Scenario Dialog" #2928
- Switch reference and comparison file by button click in delta mode #2933
- Add display of changed files in delta mode (changed := metric values changed or list of applied metrics changed) #2890
- Load compressed files (cc.json.gz) via URL parameter #2917
- Fix SonarImporter requesting no metrics from SonarQube when the list of metrics was left empty #2913
- Exclude edge metrics from custom scenarios, when there are no edge metrics available. Before it was impossible to apply those custom configs #2928
- Fix of NoSuchMethodException due to a call of method
readNBytes()
that is not available in Java 9 with replacement callread()
#2930 - Keep selected metrics when excluding buildings #2935
- Update UI correctly when toggling between standard and delta mode #2937
- Modify build script for GitHub pages in order to provide zipped maps.
- Transform a metric gardener json file into a code charta json file, that can be correctly visualized #2675
- Restore previous selected files when switching back from delta to standard mode #2891
- Add more metrics that can be preselected when opening a cc.json file #2907 #2908
- Let file selection always show what is actual rendered within the map #2891
- Improve performance by slightly delaying node-name popups and removing unused functionality #2897
- Add a description for the statements metric #2883
- Select matching metric combination based on available metrics #2862
- Unify UI of buttons in toolbar #2857
- Fix resetting of color range within color settings panel #2877
- Fix resetting of colors in delta mode within color settings panel #2873
- Restore global settings on page load again #2878
- Fix 'undefinded' being displayed as a metric description when no description was available #2883
- Fix windows standalone builds #2881
- Migrate color settings panel to Angular #2873
- Fix packaging of standalone app for macOS and Windows #2847
- Fix dialogparser test of sourcecode parser#2860
- Fix analysis bug where importers would get stuck before file output #2854
- Use correct icon for height metric chooser again #2851
- Close height metric option instead of making it only invisible on close #2853
- Add missing documentation for ccsh filters and csv exporter #2831
- Add support for compressed files to all analysis filters and to
check
validation #2820
- Update Readme file #2837
- Default selected metrics on file changes when default scenario is not applicable #2828
- Remove old references to single mode states and actions #2574
- Rename multiple mode references to standard #2574
- Hide color metric range-slider in color metric options of ribbon bar in delta mode instead of disabling it #2797
- Display max value of selected distribution metric in file extension bar #2824
- Display max value of selected metric in all metric chooser of ribbon bar #2825
- Handle invalid input of range-slider correctly #2797
- Use real color range min value instead of 0 and take color range min value into account for calculating initial first third of positive color #2797
- Fix range-slider in case of min value equal to max value #2797
- Track not only changes to color metric options by slider but also by related input field #2797
- Migrate center-map-button-component to Angular #2809
- Migrate the following components to Angular: globalSettingsButton.component, dialog.globalSettings.component, layoutSelection.component, sharpnessModeSelector.component, maxTreeMapFiles.component, maxTreeMapFiles.service, hideFlatBuildings.service, resetCameraIfNewFileIsLoaded.service #2815
- Migrate area-settings-panel-component to Angular #2821
- Remove all mentions of regular
.cc
.json
.gz
file extensions from file panel and sidebar #2793
- Update slider of area metric options correctly on changes of related input field #2787
- Limit length of labels in legend panel #2804
- Prevent invalid input for margin in area metric options to be submitted #2799
- Introduce custom angular material theme #2784
- Migrate height-settings-panel-component #2790
- Fully migrate custom-config-component #2760
- Restrict upload in custom views menu to custom views. Custom views uploaded in the custom views menu are now allowed to have an arbitrary file suffix #2773
- Migrate reset-settings-button-component to Angular #2774
- Set files loaded via URL to multiple mode by default when delta mode is not selected #2769
- Display project name as file name (if not empty or blank) for loaded files via URL #2767
- Fixes floor labels being drawn next to the map if margin was changed after map height is unequal to 1 #2763
- Fixes floor labels being stuck inside folder geometry when scaling #2766
- Migrate metric-hovered-value-component to Angular #2752
- Focused gradient option for color metric. Only applies a gradient between the two set borders. #2750
- Mark SCMLogParserV2 as stable and deprecate SCMLogParser for Git 2725
- Rename SCMLogParserV2 to GitLogParser
- Rename SCMLogParser to SVNLogParser and remove git parsing
- Set initially correct attribute type of primary edge metric in attribute sidebar #2731
- Fix switching secondary metrics to median aggregation in attribute sidebar #2630
- Migrate add
custom config button
in ribbonbar to Angular #2736
- Show amount of added and removed files in attribute sidebar when delta mode is enabled and a folder is selected #2701
- Suspicious metrics and risk profile are calculated for all selected maps #2721
- Close search panel and ribbon bar dropdowns on every outside click #2692
- Fix GameObjects importer edge cases #2705
- Fix removing maps with long file names #2696
- Migrate search-bar-component to Angular #2686
- Design and add a new CodeChara Logo #2682
- Risk profile is now calculated for every occurring programming languages in selected file(s)#2679
- Fix loading of files without edge metric never finished #2680
- Refactor edge metric panel #2670
- Remove edge metric option 'none'
- By default, the first edge metric is enabled when map has edge metrics
- Disable edge metric panel when loaded map has no edge metrics
- Improve loading times by reducing the size of JavaScript files #2667
- Fix loading of files without edge metric never finished #2680
- Migrate loading gifs to Angular and remove now unused
isLoadingMap.service
#2668
- Parse and import GameObjects file structure into cc.json on upload #2646
- Fix flaky string comparison possibly due to puppeteer update #2659
- Fix show garbage bin next to the loaded maps #2647
- Run standalone version of CodeCharta in Node.js web target (and disable #1314), so that local storage is available #2637
- Add area metric option to invert the amount of area, which is used for the nodes #2626
- Add button to clear search field #2638
- New buttons for selecting attribute types #2631
- Migrate context menu with slightly new layout touch to Angular. Migrated version prevents rendering outside of view #1661
- Remove delay of keeping a building highlight permanently #2641
- Rename custom configs to custom view #2625
- Combine single and multiple mode into standard mode #2578
- Improve file validation handling and provide more descriptive import messages #2604
- Fix Image not shown in what is new dialog #2610
- Unfocus focused node only when map starts to load and not also when map has finished loading. This shouldn't change any behavior for the user [#2614](https://github.com/MaibornWolff/codecharta/pull/2614)
- User-friendly renaming for display quality options #2601
- Fix color of selected building in delta mode #2603
- Fix link to news page when clicking 'Know more' button changelog dialog #2602
- Fix Image not shown in what is new dialog #2610
- Migrate
unfocus-button-component
to Angular.
- Remove suspicious metrics from custom map configurations #2564.
- Add 'show/hide non-applicable CustomConfigs' button to Custom Configs menu #2591.
- Add 3D export feature for 3D printing #2561.
- Replace all color pickers in the context of ongoing Angular migration #2560.
- Fix showing names of custom configs properly #2557.
- Fix minor memory leak in context menu for code map buildings #2565.
- Migrate legend panel to Angular #2560.
- Fix delta values of secondary metrics not shown in delta mode within attribute side bar #2539.
- Use icon tag instead of font awesome icon #2537.
- Rename text for placeholder of metric chooser #2547
- Fix attribute type selector of primary edge metric not shown #2528.
- Identical files and files with identical file names but different hashes can be loaded #2548
- Remove
secondaryMetrics
from store and removesecondaryMetrics.service
as the data can be derived from selected node #2527. - Migrate
attribute-side-bar-component
to Angular #2527. - Switch from Webpack 4 Loaders to Asset Module to load icons properly with css-loader 6.x #2542.
- Remove notification dialog when deleting a custom config #2553
- Fix compressed files not being loaded (#2524)
- Improved the UI and usability of the Suspicious Metrics Feature (#2376)
- Fix showing labels when weighted gradient on yellow buildings in color metric options are enabled (#2511)
- Fix rounding of the sum of percentages in risk profile (#2393)
- Fix legend panel not having a background (#2422)
- Remove
nodeSearch.service.ts
andsearchedNodePaths
from store as they can be derived fromsearchPattern
(#2495). - Refactor where metric data are calculated (#2514).
- Migrate
attribute-type-selector-component
to Angular (#2519).
- Fix loading files from URL in Web Demo (#2494)
- Fix unwanted calculations of suspicious metrics when experimental features are disabled (#2471)
- Fix UI issues in the configuration panel (#2322)
- Fix tooltip of sorting order button in map tree view showing wrong sorting order (#2473)
- Calculate MD5 checksum when generating .cc.json files (#2411)
- Fix what's new section including the last opened version (#2447)
- Fix unfocus button text not showing correctly (#2439)
- Folders in the Folder structure view of the top left come now always before any files, regardless of the sort order.
- Fix color picker not being usable (#2439)
- Fix Changelog inconsistencies (#2425)
- Fix memory and performance issues related to drawing labels on floors/folders (#2348).
- Hides legend block if label description is not available and adds new metric descriptions (#2377).
- Adds feature to display building colors as a gradients (#2327).
- Fix broken file/node search #2389
- Fix changelog inconsistencies (#2425)
- Add metric descriptions to the frontend and show a translation next to the entry (#2330)
- An option has been added to the global settings to enable copying screenshots to clipboard instead of saving them in a file (#2326)
- Add changelog guidelines (#2358)
- A changelog dialog with the latest additions to CodeCharta appears on version update (#1315)
- Fix broken method call in screenshot feature.
- Improve changelog entries.
- Changing the background color and remove "outgoing" and "incoming" edges from the legend, if not applicable (#2330)
- Improve the user experience for the AI Feature "Suspicious Metrics and Risk Profiles" and enable it for any programming language (#2362)
- A changelog dialog with the latest additions to CodeCharta appears on version update (#1315)
- Add documentation for SCMLogParserV2 (#1349)
- Empty temporary label during hovering (#2328)
- Show the screenshot hotkey in the screenshot title (#2323)
- Improved rendering performance (#2345)
- Update GH-Pages and visualization dependencies (#2356)
- The "Color Metric Options" panel and "Legend" panel display the maximum value of the selected metric instead of infinite. (#1520)
- Mark color-section as unimportant in delta mode (#769)
- Small ui improvements added. (#1881)
- Numbers/Percentages always show in the distribution bar(#1540)
- Toggle between percentage and absolute numbers by clicking anywhere on the (expanded) distribution bar.
- The old expanded distribution bar is now accessible through a button.
- It is no longer possible to exclude all files on the map (#901)
- Custom metric scenarios which include the 'Color-Metric' (rloc) will now also save any changes made to the color scheme.
- Performance improvements when loading new files. (#1312)
- Imported files are now compressed by default. Use the -nc parameter to uncompress the files. (#1702)
- Export the current view as a png image by using "Ctrl+Alt+S" or clicking the corresponding button (#674)
- Show only labels of buildings according to a chosen color (#1347)
- New buttons to reset the color hex values and color metric thresholds separately (#1613)
- Metric aggregations now work as intended and are available from the sidebar when selecting folders (#1953)
- Opening new files does no longer remove old ones.
- It is now possible to rotate the map by rotating the view cube (#353)
- SonarImport: SonarQube 8.8 support. Older versions are still supported.
- Only show labels for building included in the search
- Color slider not initialized correctly (#1592)
- Improve descriptions (#1879)
- Excluding in delta mode is broken (#1578) (Inclusion and exclusion of files using wildcard searches in the flatten and exclude operations)
- Fix labels and lines missing a connection in some cases(#1716)
- Ribbons resizing when expanding (#1952)
- Fix breaking changes with newest three-js version(#1877)
- Hints for Global Settings (#1715)
- Indicate total nodes and excluded / flattened nodes in file explorer (#1880)
- Add path to node context menu (#1667)
- Made the header semi responsive (#1037)
- DevOps pipeline changes
- Fixed web visualization in github
- DevOps pipeline changes
- Disable unready AI function
- Fix linter errors
- Fix editorconfig
- DevOps pipeline changes
- Project naming for Docker deployment
- DevOps pipeline changes
- Render on demand (#1728)
- Memory leaks
- Added WebGL FXAA antialias & PixelRatio Options in order to achieve better resolution on high dpi displays(#1551).
There are 4 available modes:- standard mode: the pixel density is only applied to the small cube with standard browser aliasing
- pixel ratio without aliasing: no antialiasing is used
- pixel ration with FXAA: Nvidia FXAA antialiasing shader is used as an alisaing technique. this has better perfromance the standard browser aliasing aliasing
- pixel ration with MSAA: this is the best aliasing quality, slower then FXAA.
- Added GPU Stats (only in dev mode)
- Unfocus now respects the focus depth (#1099)
- Track anonymous usage data also for older CodeCharta API versions and fix some minor bugs.
- A new experimental feature has been added to track anonymous metadata of a currently loaded map.
- Neither the map name nor file names will be tracked but anonymous metric values and statistics like (average, min, max).
- The tracked data will not be sent to a server yet. Instead, it can be downloaded as a json file in the Global Settings for now.
- It is planned to send the anonymous data to a server in the future, so that we can collect tracking data automatically.
- Errors occurred in delta mode if names of root folders were different
- Switching maps in delta mode now shows the differences between the maps (#1606)
- Label over hovered building not shown for height Metric value of zero (#1623)
- CodeChartaStorage class has been introduced to dynamically store values either on disk (standalone version) or in the localStorage (web version). This is the first step to solve #684.
-
Allow opening files from local drive by double clicking on the buildings or clicking on their names (#1314)
- Only available in the standalone version!
- files are opened in associated third-party applications
- web-links are opened in a browser window
-
Allow customized color in the node context menu (#1556).
- fixed wrong max tree map visibility (#1624)
- fixed incorrect label placement on delta maps that share no common nodes (#1686)
- Allow color of buildings to be customizable in the ribbon bar and in the legend. Colors of edges are now customizable as well (#1533)
- Global settings not reverting to default ones (#1632)
- Maximum treemap files shown in squarified node (#1624)
- Wrong folder names and colors in legend when using the highlight folder feature (#1555)
- Temporary labels are placed at the wrong height for scaled buildings (#1618)
- Visible labels will disappear or placed lower for scaled buildings (#1619)
- Unnecessary break line for secondary metrics (#1093)
- Highlight label while hovering over building, draw a temporary label for hovered buildings that have none (#1529)
- Integrated streetlayout (#904) In street layout file nodes are displayed as buildings and directories are displayed as streets. A street layout has the advantage of a more apparent directory structure and stable positioning of nodes after metric changes. two different Street layout are integrated : - StreetLayout : as described above. - TMStreet : a combination of street layout and squarified layout.
- The button to see excluded buildings is now merged into the flattened button. Excluded and flattened buildings can now be seen by opening the building with the eye slash icon (#1543)
- Height scaling not applied to buildings (#1595))
- Fixed multiple label positioning/scaling bugs
- e2e flaky test (#1322)
-
Download and upload Custom Configurations is now possible (#1472)
- Open the Custom Configs menu in the toolbar on top of the map
- Next to the
plus
Button you can see two new buttons: Upload and download.- Download: If you already have added Custom Configs you can download them by clicking the download button.
- Custom Configs which are applicable for the currently selected map(s) will be downloaded as
.cc.config.json
files.
- Custom Configs which are applicable for the currently selected map(s) will be downloaded as
- Upload: Click the upload button and specify your Custom Config file (
<file-name>.cc.config.json
)- Already existing Custom Configs will be skipped.
- Different Custom Configs with same names will be renamed.
- Another way to upload your Custom Configs is to upload a
.cc.json
file together with one or multiple.cc.config.json
files using the defaultLoad .cc.json map
button in the upper left corner.
- Download: If you already have added Custom Configs you can download them by clicking the download button.
- The Configs are stored to the local storage of your browser.
- If a limit of
768KB
is exceeded you will see a warning when trying to add a new Custom Config. - You can click the displayed "download and purge" button to download/backup at least 6 months old Configs and then purge them from the local storage to make space for new ones.
- If we cannot purge any Configs, you might have to do that by your own by deleting specific Configs manually.
- If a limit of
- Increase possible margin size (#1490)
- change displayed margin value from % to pixel
- change dynamic margin value to a default margin value that should fit the map
- Re-enabled color selection for folders and on hover (#1544)
- Labels do not take delta height into account (#1523)
- The calculation of the map resolution scale factor was wrong (#1491)
- The factor is used to decrease the map resolution especially for big maps to avoid performance issues.
- Now only the selected maps will be considered for the calculation. Unselected maps will be skipped.
- Add the folder name onto the floor on the first 3 layers to get a better overview of the map (#1491)
- UX Improvements related to labels allowing for user interaction #1404
- Labels can be hovered, hovering their corresponding node
- Selecting a label will select the corresponding node
- Hovering a label will remove its transparency and move towards the user:
- If other labels obstruct the hovered label it will move to the front
- Increased the transparency of other labels; this makes it easier to distinguish the hovered label
- Increase the amount of labels to 250.
- Show file count of folders in Attribute-Side-Bar (#1255):
- Buildings are flattened when delta is active #824.
- Selected Building now stays highlighted when map is rotated #1498
-
A new option in the Global Settings allows to enable/disable experimental features #1318
- Click on the settings button in the upper right corner to open the Global Settings dialog.
- Activate/Deactivate the new option "Enable Experimental Features"
- The features will be shown/hidden accordingly
-
"CustomViews", the first experimental feature has been added #1318
- It must be enabled by activating the new option in the Global Settings dialog as mentioned before.
- You can save your current map configurations to replay/restore them later.
- A saved CustomView can only be applied for it's original map.
- This will enable you to be more efficient in analizing projects by switching between different CustomViews.
-
NodeContextMenu now contains option to keep buildings highlighted #1323
-
Fixed Folder algorithm supports nested (parent-child) Fixed Folders #1431
- Define children of a Fixed Folder also as Fixed Folders by adding the
fixedPosition
attribute manually in.cc.json
. - All children of a parent Fixed Folder must be fixed.
- Read the how-to guide for further information: https://maibornwolff.github.io/codecharta/how-to/fixate_folders_with_a_custom_cc_json/
- Define children of a Fixed Folder also as Fixed Folders by adding the
-
Improved search
- Not providing any star in the search bar from now on expects the input to
be a wildcard search. Thus, files are going to match paths that have
leading or following characters. E.g.,
oo
is going to match/root/foobar
. - To use the explicit former search mode, wrap the search entry in quotes as
in:
"oo"
. This would only match filenames that are exactlyoo
. - The search field accepts multiple search entries at once, separated by
commata.
foo,bar
is going to search for both*foo*
and*bar*
and marks all matched files accordingly. - It is possible to invert the search with a leading exclamation mark as in
!foobar
. That will match any file that does not match*foobar*
. It is only possible to invert the complete input, not individual search entries. - Whitespace handling changed to ignore leading whitespace.
- Not providing any star in the search bar from now on expects the input to
be a wildcard search. Thus, files are going to match paths that have
leading or following characters. E.g.,
-
Distribution metric #1188
- set rloc to default distribution metric, showing language percentages for real lines of code, if available. Else set to unary to show language distribution over files
-
Improved file sorting in the file overview of the search bar
- Numbers are sorted naturally
- Characters are compared with their base character (e.g.,
a
is now next toá
).
-
Label metric not shown by default anymore
- Disable highlighting buildings during map movement #1432
- File tree/flattened/excluded overlay visualization is buggy #1269
- EdgePreview on Map broken when selecting zero #1276
- Schedules and merge retries of dependabot dependency updates changed
- Mouse cursor flickering #1170
- Fix flipping map when clicking any option in the toolbar #1410
- Fix edge metric not working correctly
- Issue with first start without an internet connection not working#1266
- Issue with ribbon bar sizes for opened cards #1035
- Parsing feedback with progressbar and probable ETA for parsers and SonarImporter #847
- Mark node names and make the names clickable for nodes that have a link to them #1313
- Indicate the metric name next to a shown value in a new line on labels #1035
- Checkboxes to display metric names and values and to display node names on labels #1035
- Mark node names and make the names clickable for nodes that have a link to them #1313
- Label design #1035
- First start without an internet connection of standalone not working #1266
- Comparing a map in delta mode shows the correct differences
- This mainly applies to maps compared with itself while it also fixes some other minor miscalculations
- File extensions detection is improved
- Zooming in and out the map will now close the node context menu #1324
- Improved and simplified event handling in NodeContextMenu component
- Improved performance of multiple operations (e.g., delta mode).
- New EXPERIMENTAL SCMLogParser version
- Improved performance around 300% when parsing CodeCharta
- Improved memory usage
- Fixed issue with old parser creating incorrect nodes in CodeCharta #871
- ATTENTION: the parser is experimental, therefore some potential issues might remain, e.g. potentially an unhandled edge case when parsing node
- To use the new parser a reversed git log is needed, as well as a git file list, refer to
ccsh scmlogparserv2 -h
for additional information
- Color-Metric slider is set and activated in the map accordingly to the released sliderbutton #1319
- Deselcting a building will instantly dehighlight the buildings which were connected through edges #890
- Showing wrong edges when hovering a building after selecting one #1137
- Add active color metric to the top of the legend panel #1278
- SourceCodeParser: Java 14 Support #1277
- Metric-Settings-Panels closed when clicking an option inside the panel #1258
- Improve loading and rendering maps performance
- Improve overall performance for loading and rendering maps
- Improve error messages when a file can't be loaded with the URL parameters
- New API version 1.2 not set correctly in analysis
- Validation of unique filenames not checking for the complete path and instead throwing an error on duplicate filename
fixedPosition
as a new property in thecc.json
that allows to fixate folders in the map
cc.json
version updated to1.2
- Compressed `cc.jsons (.gz) not marked as accepted when selecting a file in the file chooser
- How-To: Fixate Folders in the
cc.json
- CC-Json-API changes
- Improve performance when switching to multiple or delta mode when edges are available
- Scenario with EdgeMetric is only appliable when EdgeMetric is existing for the Map #1201
- Starting standalone version results in infinite loading loop #1202
- Expanded metric selection will close when clicking anywhere outside of that selection #1036
- Cursor indicator for different mouse actions #1042
- Edge-Metrics sorted by name now instead of number of incoming and outgoing edges
- Number of incoming and outgoing edges not visible when hovering over a node #1095
- Highlighting buildings in multiple mode now works #956
- Opening NodeContextMenu in the tree-view marks the node until it is closed #1068
- Missing Sonarcloud metrics in demo
- Added note how to fix missing
sh
command issue when running integration tests on Windows
- NodeContextMenu will show up when releasing the right-mouse-button now #1027
- NodeContextMenu showing up after moving the mouse while holding right-mouse-button #1027
- Support for Tokei 12 new JSON schema #1103
- Rename master branch to main for a more inclusive naming #1117
- After loading an invalid file the filechooser pops up again, so that the user can choose a valid file #1021
- Quality gates on sonarcloud.io are red #879
- Moved developer guides to our gh-pages #986
- File chooser now accept ".json" files only to avoid accidentally loading incorrect files #1094
- Lots of tooltips #1030
- Blacklisting a building would sometimes not update the map #1098
- Changes made after opening the filechooser and closing it won't be applied #875
- Edge metric list not always updated correctly when loading a new file #1106
- Line between scenario indicator and remove button #1069
- Reduced transition time when opening or collapsing parts of the ribbon bar #1043
- Search Panel will open now when clicking in the search field and collapse when clicking somewhere else #1071
- Opening the same file again will now reload the file and reset the application #1032
- Improve render performance by persisting color conversions #1034
- Sorting in tree-view not being applied #1040
- Improved performance significantly when switching between single, multiple and delta
- Color-Range-Slider sometimes misbehaved when loading a new map or excluding buildings #926
- Custom scenarios can be created and saved through the scenario menu #675
- Importer and parser documentation can now be found on the github Website #954
- Output of sourcemonitor can now be compressed with the compression flag
- [Security] Bump angular from 1.7.9 to 1.8.0 in /visualization #995
- Support of compressed cc.json files. Files can be compressed in the analysis #848
- Improved performance of several importers #846
- Attribute-Side-Bar being invisible
- When hovering over a folder, all buildings inside it will be highlighted as well #694
- Rename the button Show-Complete-Map button to Unfocus #642
- Move the Unfocus button (visible when right-clicking a focused node) to the node-context-menu #948
- Generating a delta map with merged empty folders in between is now working correctly #730
- Reduced time when opening a new file #932
- [Security] Bump jquery from 3.4.0 to 3.5.0 in /visualization #944
- Error dialogs in case of validation or api version issues #610
- Improved overall rendering performance of larger maps by roughly 40% #836
- Median symbol for aggregated relative metrics #365
- AttributeTypes for tokeiImporter and SCMLogParser #365
- Ellipsis button in TreeView list when hovering a node to access context menu #780
- Show gray eye-icon next to the ellipsis-button to indicate a flattened node #780
- Attribute Type selector in the metric dropdowns for edges and nodes
- Metrics with AttributeType relative are now aggregated using the median #365
- Showing absolute number of files instead of relative number when hovering list item in TreeView #780
- Clicking a hovered list item inside the TreeView opens folders #780
- Color node name in gray when flattened #780
- Eye-icon in TreeView list to flatten a node #780
- Option to focus a node when clicking the node name inside the TreeView #780
- Consistency of AttributeTypes representation #365
- Wrong file description for tokeiimporter
- Improved search performance #837
- Dialog to select between different sorting options #388
- Button to reverse the current selected sorting #388
- Show file selection in toolBar after excluding or hiding a node instead of an empty toolBar #896
- Selectable metrics will only contain metrics from the visible maps
- Closing the attribute-side-bar by clicking somewhere in the map will now be triggered on mouse up instead of mouse down
- Search-panel opening for a short duration when importing a new file
- Fix vulnerability with nokogiri <1.10.8
- Loading Gif not displayed when preparing to render a new map #857
- Selecting zero files in Multiple mode will not trigger the 3D CodeMap creation
- Metrics in the dropdown menu now show the correct max value for the visible maps #876
- Replaced non standard
[[
in sh scripts #849 - Improved performance for loading a new file #836
- Marked Packages are loaded from files #798
- GC Overhead Limit (OutOfMemory Exception) during analysis of large SCMLogs fixed #845
- Support for camel and kebab-case for ccsh arguments #772
- RawTextParser for analysis #660
- IndentationLevel as metric for RawTextParser #660
- Show additional Pairing Rate of Selected Building, simultaneously to the currently hovered Buildings #736
- Options of the ccsh are now consistently in kebab-case #772
- Path prefix handling in tokeiimporter #841
- Project name parameters in the ccsh #773
- Deployment
- Performance of loading maps with edges improved #823
- Calculation of other Group for fileExtensionBar #768
- Remove focus of UI elements when they are not visible anymore
- Show the relative number of files a folder includes compared to the project in the TreeView #380
- Show the number of files a folder includes in the TreeView when hovering #380
- When the File Extension Bar is hovered, all buildings corresponding to that extension are highlighted #545
- Toggle between percentage and absolute values when clicking the file extension details section #545
- Sum hovered delta values for folders #781
- Replaced Blacklist Hide with Flatten option #691
- Flattened buildings are not hidden by default #691
- Bump @types/three from 0.89.12 to 0.103.2 in /visualization #453
- Bump angularjs-slider from 6.5.1 to 7.0.0 in /visualization #454
- Bump webpack from 3.12.0 to 4.41.2 in /visualization #436
- [Security] Bump angular from 1.7.7 to 1.7.9 in /visualization #800
- Progress indicator for SonarImporter #544
- New style for hovered metric values #696
- Redesigned slider labels in ribbonBar sections #696
- Shortened ribbonBar sections #696
- Missing pictures and broken links in docs #785
- SCMLogParser is now more resilient to unusual SVN commit messages #763
- New github-pages https://maibornwolff.github.io/codecharta/
- Sum symbol for hovered metric values only shows for folders #775
- Temporal coupling edges generated by SCMLogParser #622
- Downloaded files are no longer formatted #679
- Added highly and median coupled files metrics to non-churn metric list of SCMLogParser #622
- Moved nodePathPanel to toolBar and updated style #607
- Removed attributes from downloaded files that should not be there #679
- Sidebar with information regarding the selected building #527
- Sidebar closes when selected buildings is excluded #748
- Animation to show or hide the legend panel #527
- Expandable detail panel in lower left corner #527
- Removed option to maximize/minimize detail panel #527
- Autofocus and label size for focused nodes #747
- Selected buildings stays selected when settings are changed #748
- IllegalStateException when scanning single file in SourceCodeParser #573
- SourceCodeParser places files in the project root correctly into the hierarchy #574
- Open and close the ribbonBar sections independently with an updated animation
- Camera is now resetted correctly, when unfocusing #634
- Inputs of Color Range Slider now waits a second before it commits its values #676
- Fixed root folder name in TreeView after new map after loading new map #649
- Increased size of ribbonBar for big screens #644
- File-Extension-Bar will not display excluded nodes anymore #725
- Sanitize input for shelljs #600
- Bump jacoco from 0.8.1 to 0.8.4 in /analysis
- Checkbox in global Settings for disabling camera reset, when new map is loaded #685
- Pipe support for SourceCodeParser #716
- Pipe support for SCMLogParser #717
- Pipe support for SonarImporter #715
- Exclude and Hide options are disabled for empty and already existing search patterns #654
- Tokei Importer #538
- Prominent Notice that we use Sonar-jar #713
- Bump kotlin-reflect from 1.3.41 to 1.3.50 in /analysis
- Bump json from 20180813 to 20190722 in /analysis
- Bump rxjava from 2.2.9 to 2.2.12 in /analysis
- Bump assertj-core from 3.12.2 to 3.13.2 in /analysis
- Bump sonar-java-plugin from 5.12.1.17771 to 5.14.0.18788 in /analysis
- Edge Previews (Palm-Tree-Effect) #529
- Dropdown to select Edge Metric, including Edge Counter #529
- Edge Metric settings for Edge Height, Number of Previews & show only building with Edges #529
- Edge Visualization to better distinguish between incoming and outgoing edges #529
- Distribution metric is by default the same as area metric #689
- MapTreeView below searchBar opens the first level by default #690
- Focus metric search when opening metricChooser #693
- Edge Options in Context menu #529
- SourceCodeParser now skips custom metrics for files, if the syntax tree cannot be created
- Nodes with color metric equals 0 are colored correct again #677
- [Security] Bump mixin-deep from 1.3.1 to 1.3.2 in /visualization
- Search for metrics and an indicator for the highest value in dropdown #575
- Button to enable PresentationMode that uses Flashlight-Hovering #576
- Clarifying information which file is which in the file bar when in delta mode #615
- Replaced Scenario dropdown with button on the left of the metric sections #628
- New Metric in SourceCodeParser: Maximum-Nesting-Level #659
- Label hight adjustment now matches scaling of map #594
- SCMLogParser now guesses the input file encoding #614
- New Search Bar #526
- Number of Renames Metric to SCMLogParser #621
- Age In Weeks Metric for SCMLogParser #620
- ToolBar now shows partially cut-off controls if the window is too small #582
- Position of the legendPanel was moved to the bottom-right corner #633
- RibbonBar only opens the three metric section
- Moved Scenario-select to the right in order to use less space
- Moved loading-gif from ribbonBar to toolBar
- RibbonBar toggle button
- FileExtensionBar height to not show a bottom-margin in Chrome
- PointerEvents not being propagated when RibbonBar was extended
- Reduced memory usage of SCMLogParser to avoid OutOfMemory Exception #631
- [Security] Bump lodash.mergewith from 4.6.1 to 4.6.2 in /visualization
- [Security] Bump lodash from 4.17.11 to 4.17.13 in /visualization
- [Security] Bump fstream from 1.0.11 to 1.0.12 in /visualization
- Moved Button to reset the map to the center next to the view-cube #606
- Moved FileExtensionBar #527
- Burger Menu / SideNav #526
- Colors in File-Extension-Bar will be displayed in MS Edge and Standlone now #584
- Releasing will now remind the developer to manually add the release notes #533
- StructureModifier to remove and move nodes and set root of projects #547 / #181
- More informative log messages regarding the success of project merging #547
- Release Notes are not generated and added automatically to a release #533
- Margin will now be set correctly depending on whether dynamicMargin is enabled or not #602
- Automatically generates release notes from changelog and appends it to release #533
- Adds global settings-menu with settings from options panel and weblinks #528
- Moved File Settings from Ribbon Bar to new File Setting Bar #525
- Rename sample file codemap-nodes #587
- Hide checkbox to select white-positive-buildings in delta state #345
- Removes Options panel from sidebar #528
- Removes Weblinks panel from sidebar #528
- Removed URL-parameter info from sidebar #525
- Unary Metric will no longer be auto-selected when a new map is loaded #579
- FileExtensionBar to show file-distribution of chosen metric #495
- sum icon is now displayed on the left of the metric value #364
- Added Pop-up dialog before downloading file to set filename and see what data will be stored #523
- Fix set default ColorRange when resetting color section #560
- SVN log parser keeps track of renaming of files for metric calculation #542
- Entries with renaming information in SVN logs are attributed to correct file #542
- Unary metric will no longer be removed from the MetricChooser-Dropdown when a folder was excluded or hidden #548
- Changing margin and then file or mode will no longer freeze the application #524
- [Security] Bump tar from 2.2.1 to 2.2.2 in /visualization
- Added SonarJava to Source code parser #343
- Added exclude and defaultExclude options to SourceCodeParser #508
- Show loading-gif in ribbonBar when rerendering map
- Using Sonar Plugins for Source code parser, giving the Sonar Metrics #343
- Use debounced settings update instead of throttled
- Filename of downloaded file now contains time #484
- Fixed issue with too long line in ccsh.bat #506
- Prevent downloaded files from having multiple Timestamps #484
- Do not show loadingGif when cancelling the fileChooser #498
- Excluding a building now updates the maximum value of colorRange #355
- Bump angular-material from 1.1.9 to 1.1.14 in /visualization
- [Security] Bump jquery from 3.3.1 to 3.4.0 in /visualization
- Settings as URL parameters #470
- Fixed issue with trailing slash in URL parameter of SonarImporter #356
- Bump d3 from 4.13.0 to 5.9.2 in /visualization
- Bump sinon from 4.5.0 to 7.3.1 in /visualization
- Project Name can be specified for merge filter #394
- Throw a MergeException if project names do not match in MergeFilter #394
- Excluded buildings are no longer used for aggregated metric calculation #352
- Bump browser-sync-webpack-plugin from 1.2.0 to 2.2.2 in /visualization
- Bump @types/node from 8.10.19 to 11.11.3 in /visualization
- Bump html-webpack-plugin from 2.30.1 to 3.2.0 in /visualization
- Bump load-grunt-tasks from 3.5.2 to 4.0.0 in /visualization #444
- Bump ajv from 5.5.2 to 6.10.0 in /visualization #447
- Bump resolve-url-loader from 2.3.0 to 3.0.1 in /visualization #448
- Added buttons to select all/none/inversion of revisions/maps in multiple mode #391
- Merge filter can merge all files of folders #392
- Fixed bug that code map was not re-loaded when changing from multiple to single revision mode #396
- Fixed missing apiVersion in aggregated map #398
- Input Fields of color sliders adjust width according to content #409
- Bump nouislider from 11.1.0 to 13.1.1 in /visualization
- Bump typescript from 2.7.2 to 3.3.3333 in /visualization
- Bump @types/d3 from 4.13.0 to 5.7.1 in /visualization
- When entering Multiple Mode, all Maps/revisions are preselected
- Fixing non-existent metric aggregation on root-level when using multiple Files
- Hovering a node in the map also hovers it in the tree view #351
- Fixing sync between treeview hovering and map hovering #351
- Folders can no longer be colored in the CodeMap or TreeView #359
- Color searched node names green in TreeView #225
- Add option buttons (three dots) in TreeViewSearch to
Hide
orExclude
matching nodes #298 - Show blacklist entry counter in blacklistPanel header #298
- Option checkbox 'Hide Flattened Buildings' #225
- Hide/Flatten non-searched buildings #225
- Hide/Flatten all buildings, if searchPattern can't find any matching nodes #225
- Show maxValue of each metric in metricChooser select list #204
- Colored color-slider inside the RibbonBar #318
- Option to color positive buildings white #311
- Clicking the ribbonBar section-titles toggles the ribbonBar #324
- View-Cube displayed in top right corner #274
- Adding prettier formatter
- Adapt colorRange when changing colorMetric #330
- Update TreeView filter with search field #225
- Use 'gitignore' style matching in TreeViewSearch #225
- Reorder
Focus
,Hide
andExclude
buttons in nodeContextMenu #298 - Reorder sidebarPanels (BlacklistPanel beneath TreeViewSearchPanel) #298
- Use
fa-ban
-icon as symbols for blacklistPanel (instead offa-list
) #298 - Use
fa-ban
-icon as symbols for blacklistTypeExclude
(instead offa-times
) #298 - Label size keeps readable for large maps or a high distance between camera and map #237
- updated dependencies to fix vulnerabilities
- Scenarios only update settings which exist in Scenario and not all #224
- MergeFilter to merge unique blacklist entries #275
- MergeFilter to only merge unique attributeType entries #275
- Remove invertHeight checkbox in delta-view #306
- Remove option to add blacklist entries from inside the blacklistPanel #298
- Remove statistic functions in Experimental panel #308
- CodeMap does not move anymore when navigating in text-fields #307
- Merge blacklist in multipleFile view and convert paths #275
- Show logo in NW.js standalone application #233
Fixed release issues.
- button to unfocus node
- NodeContextMenu: Option to only hide dependent edges
- plop support
- Renaming 'isolate node' to 'focus node'
- Focusing a node does not remove the blacklist items of type Hide
- NodeContextMenu: Option to 'show all' nodes, which used to unhide all nodes
- Reshow hidden nodes from Treeview or Blacklist
- Deleted files in delta view use their previous area value in order to be visible #254
- Buildings in the delta view are not colored correctly #253
- Reset Button in RibbonBar to reset 'Invert Colors' #255
- Remove lag of 'Invert Color' checkboxes, when selecting single/delta mode #255
Fixed release issues
- Integration with Jasome through JasomeImporter #245
- URL parameter 'mode' with the values Single, Multiple or Delta
- Blacklist to persist excluded or hidden nodes #205
- Option to exclude nodes in nodeContextMenu #205
- BlacklistPanel in SettingsSidebar to manage blacklist #205
- Save-Button to download current CodeMap #205
- Publishing visualization on Docker Hub #252
- No longer fat jar of every subcomponent of analysis, baked into ccsh
- Changed simple syserr write to logger call for analysis #243
- URL parameter 'delta' does not exist anymore
- Show delta of CodeMap when URL parameter mode=delta is set
- Invert delta colors moved from color to heigh metric column in ribbon bar #220
- Delta value now as kindOfMap shown #220
- Aggreate maps as multiple rename #220
- Single/delta buttons now correctly activated when delta in ulr shown #220
- CodeMaatImport for temporal coupling dependencies #172
- EdgeFilter to aggregate edge-attributes as node-attributes #222
- Option to show and hide dependent edges from node-context-menu #218
- MergeFilter merges edges #172
- missing event in firefox #232
- gitlab + dotnet manual
- add the option to add multiple files via url parameter (e.g. ?file=a&file=b...)
Fixed release issues
- e2e tests are running in CI Environment (headless)
- pupeteer as e2e test framework
- Show names of marked packages in legend
- Added a source code importer that can analyse rloc,mcc for java source code
- keep settings when the user changes a file
- Added option to set white background
- cypress
- Changed folder detail metrics from mean to sum
Fixed release issues
- Added UnderstandImporter to Analysis
- Packages can be highlighted in different colors #152
- Adding a context menu with highlighting colors and convenience methods for the tree view and 3D view #155
- Folders and files to highlight can be described in the cc.json #165
- Dynamic/automatic margin computing de/activated by tick
- Details panel: using the sum of the childrens metrics instead of the mean value
- Display buttons do not trigger map changes #185
- Flickering surfaces when zooming out
- Layout switcher #141
- Added CrococosmoImporter to Analysis
- Added type, dirs, name to CSVExporter
- Invert height of building checkbox
- Aggregate multiple maps in visualization #110
- Auto Focus selected map part
- Timmer added to applySettings in SettingsService
- Crococosmo xml files will now generate a cc.json file for each version
- Suppressing ARIA warnings
- Simplified gradle structure of analysis part
- Deltas added in the metric quick access panel #138
- Ticks and ResetValue Buttons call to onSettingsChange to avoid applySettings timer
- compacting empty middle packages #150
- Detail panel minimized by default
- filter by regex shows parent nodes #116
- typo in scss file
- horizontal quick access metric chooser
- Link behind filepath in detailPanel #84
- Double click event-handler on Buildings #84
- Detail Panel can be minimized and maximized
- Settings option to minimize Detail Panel
- cypress as an e2e test runner
- metric details from legend
- metric chooser from settings panel
- a sonar importer bug which prevented the importer to fetch the last page #122
Fixed release issues
- SASS support
- simple regex filter
- Reset Button
- Dialog Service replaces console log calls and window.alert calls
- linking tree view and map hover
- auto fit scene button
- anugularJS material
- Scenarios are now filtered by compatibility for the given map
- Link in visualization #84
- materialize-css
- grunt
- less flickering and artifacts
- Clean up UI #86
- Updated analysis dependencies
- Delta View shows Deltas of itself as non-trivial if nodes have same name #89: Compare deltas by path not name
- Delta calculation performance boost #91
- Problems when intermediate nodes missed metrics #92
- removed unnecessary calculations
- removed bug in SonarImporter that slowed up performance and missed out multiple metrics
- minor bugs
- sorting treeview by folders and names
- added preliminary CSVExporter for visualisation data
- padding rendering
- minimal building height is 1 to prevent clipping issues
- fallback values for visualization when no metric is available (area = 1, height = 1, color = grey). Data in data structure will not be changed.
- detail panel bug fix
- moved to unscoped npm packages
- detail panel background is white now. better visibility
- revision chooser moved to settings panel and uses now understandable dropdowns instead of links. Part of the #82 proposals
- Experimental dependency support
- loading indicator
- file path to detail panel
- collapsible tree view and visibility/isolation per node toggles
- added a ray-aabb intersection test before precise testing. Less time is spent in intersection methods.
- fixed a minor bug
- canvas mouse event listener are now limited to the canvas dom element. UI events will not trigger the canvas listeners anymore
- canvas mouse events distinguish now between click and drag. Dragging does not reset selection anymore
- slider input #64
- rz slider initialization bug
- increasing test coverage
- deltas where calculated on map loading even though, they were disabled
- url to homepage
- analysis package
Fixed release issues
- npm pachage scoped to @maibornwolff
- Defined further scenarios via json file
- Added description for metrics and scenarios
- using fixed point values in detail panel (ui) to truncate infinite or long decimals
- folders now use the mean attributes of their buildings(leaves)
- Bugfix: detail panel should be cleared before setting new details else old values may survive
Fixed release issues
- added anonymous git log generator anongit
- browser demo shows codecharta-visualization sonar analysis
- rewrote command line interface
- linking ccsh to bin/ccsh will be deleted later
- No underscore for scenarios in tooltips #71
Fixed release issues
- fixed broken SonarImporter due to jdk9 migration
- added npm publish for analysis
- simple release script for automatic changelog updates, commits, tags, version bumps
- added support for git log --raw and git log --numstat --raw
- added support for git log --numstat and codechurn
- added support for renames in SCMLogParser for git log --name-status
- added support for renames in SCMLogParser for git log --numstat, git log --raw and git log --numstat --raw
- added new SCM experimental metrics range_of_weeks_with_commits and successive_weeks_of_commits
- the file origin of a node is displayed in the details now
- sonarqube analysis on CI build
- npm publish support in visualization
- Deltas are no longer experimental
- two selected delta maps now merge their nodes correctly. The map where a node was missing get's a copy of this node with metrics=0. File additions/deletions are therefore only visible when areaMetric is unary and deltas are activated.
- delta display bug for heights
- going back from delta view now correctly removes deltas from node data
- Delta shown although not in delta mode #60
- Allow inversion of delta colors #57
- npm binary error
- scaling slider now has steps of 0.1. This allows the user to select precise values like 2.0
- updated jdk to jdk9
- Opening the same file a second time does not work #53
- added missing require declaration
- added glsl loader in testing environment
- Native Application support is bugged while building in Travis CI #48
- command line parameter to toggle "authors" attribute in SCMLogParser
- when passing a file through the "file" parameter in the URL, the map now renders correctly
- experimental delta functionality
- loading multiple maps
- experimental margin slider
- faster rendering
- nwjs packages and native apps due to a bug
- using color metric instead of height metric for color range slider ceil
- Typescript support
- Browsersync
- added advanced merging strategy "leaf" in MergeFilter
- advanced merging with restructuring
- Browserify replaced with Webpack
- Better debugging
- Karma instead of Mocha
- add slider controls for color thresholds #19
- Added additional structuring in SonarImporter for multi-module projects
- button to generate current url parameters
- camera position is now a setting (e.g. in scenarios or url parameters)
- margin slider: make it easier to find out to which package/folder a class belongs #20
- better url parameter resolution (nested parameters are handled correctly)
- changed hover color. Allows better distinction between hover and select
- obsolete helper grid
- changing display or color settings resets scaling #18
- scenario description #32
- Scaling should not scale the labels #35
- Prevented override of URL-parameters by default scenario
- Adding simple merge functionality for multiple json files
- Added CSVImporter
- Added Translation for SonarQube metrics
- Added descriptions for metrics
- Changed uppercase metrics, e.g. RLOC, to lowercase metrics
- Simple cc.json does not display anything #17
- Adding Labels and UI
- Support for links to source page of SonarQube in sonarimporter
- Added SCMLogParser
- GitHub Issue: legend is wrong #21
- Wrong version numbers in analysis part
- Scenarios and default scenario
- Translation API for Metrics
- Metric tooltips in dropdown
- GitHub Issue: Sonarimporter crashes with null pointer exception when there is a component without path. #13
- Support for SonarQube Measures-API
- Error logging for sonarqube errors
- Standard Sonar metric is now complexity,ncloc,functions,duplicated_lines,classes,blocker_violations,generated_lines,bugs,commented_out_code_lines,lines,violations,comment_lines,duplicated_blocks
- Translation API for Metrics
- GitHub Issue: Flickering surfaces #3
- GitHub Issue: Unable to install due to readlink error on macOS #4
- SourceMonitorImporter for importing projects from SourceMonitor.
- SonarImporter for importing projects from SonarQube.
- ValidationTool for validating an existing json file.