Skip to content

Releases: JohT/code-graph-analysis-pipeline

v2.1.3 Git history CSV reports

25 Apr 18:39
Compare
Choose a tag to compare

🚀 Feature

  • Improve git history rendering by @JohT in #371
  • Add git history csv reports by @JohT in #372
    • Add git history CSV reports (7ea6c28)
    • Use PREPARE_CONDA_ENVIRONMENT to fully skip conda (2d0b800)

🛠 Fix

  • Fix missing pairwise changed dependencies by @JohT in #368
    • Calculate p-values only if there are enough samples (71d3519)
  • Fix git commitCount to only contain unique hashes (14dceef) by @JohT in #372

📦 Dependency Updates

  • Update jQAssistant TypeScript Plugin to v1.4.0-M2 by @renovate in #364
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.7.0-RC1 by @renovate in #366
  • Update actions/setup-java digest to c5195ef by @renovate in #365

Full Changelog: v2.1.2...v2.1.3

v2.1.2 Compare pairwise changed files with their dependencies

12 Apr 17:40
Compare
Choose a tag to compare

🚀 Feature

Compare pairwise changed files with their dependency weights by @JohT in #362:
The GitHistoryGeneral.ipynb notebook now includes a section that analyzes pairwise file changes alongside their code dependencies (e.g., imports). It calculates correlations, p-values, and visualizes the results using a scatter plot.

🛠 Fix

Fix missing git changes due to not reliably present label by @JohT in #362

📦 Dependency Updates

  • Update Node.js to v23.11.0 by @renovate in #355
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.7.0-M1 by @renovate in #359
  • Update Neo4j and APOC to 5.26.5 by @renovate in #360
  • Update dependency JohT/open-graph-data-science-packaging to v2.13.4 by @renovate in #361

Full Changelog: v2.1.1...v2.1.2

v2.1.1 Git History Treemap Improvements & Auto-Update Conda Env

06 Apr 15:06
Compare
Choose a tag to compare

🚀 Features

  • Auto update Conda Environment by @JohT in #353

  • Improve git history treemap visualizations and uncover pairwise changed files by @JohT in #352

    • Add CHANGED_TOGETHER_WITH edge for git file nodes: With this change, there is now the new relationship CHANGED_TOGETHER_WITH between File nodes (git as well as code) including a property commitCount on how often they were changed together. This adds an additional way of uncovering dependencies of files, besides code dependencies via imports.

📈 Reports

⚙️ Optimizations

🛠 Fixes

  • Auto update Conda Environment by @JohT in #353
    • Defer download URL check for offline mode: Previously, it was not possible to get an artifact from the download script in offline mode, even if it had already been downloaded and ready to use in the cache. This is now resolved by deferring the check of the URL until right before the actual download, since it needs an internet connection.
    • Fix wrong variable for Jupyter notebook directory: Conda environment creation still used an old variable from another file that kept working since these files are called consecutively. However, can break easily and is now resolved.

📦 Dependency Updates

  • Update actions/download-artifact digest to 95815c3 by @renovate in #351
  • Update actions/cache digest to 5a3ec84 by @renovate in #350

Full Changelog: v2.1.0...v2.1.1

v2.1.0 Public GitHub Actions Workflow, GraphViz Visualization and Git History Treemaps

22 Mar 20:05
Compare
Choose a tag to compare

🚀 Features

  • Graph Visualization with GraphViz by @JohT in #301
  • Provide re-useable public workflow for code graph analysis by @JohT in #306
  • Add retention-days parameter to analysis workflows by @JohT in #310
  • Remove "results" directory in favor of the new separate code-graph-analysis-examples repository by @JohT in #317

📈 Reports

  • Add git history file overview treemap by @JohT in #323

⚙️ Optimization

  • Minimize Neo4j transaction log disk space utilization by @JohT in #294
  • Provide low memory profile by @JohT in #303
  • Add renovate preset to update the public reusable GitHub Workflow by @JohT in #312
  • Migrate renovate config by @renovate in #313
  • Improve Documentation by @JohT in #349

🛠 Fixes

  • Fix renaming issues and missing hidden files by @JohT in #307
  • Improve Logging by @JohT in #319
  • Further improve logging by @JohT in #320

📦 Dependency Updates

  • Update dependency puppeteer to v23.10.4 by @renovate in #292
  • Update dependency renovate to v39.69.3 by @renovate in #293
  • Update Node.js to v23.4.0 by @renovate in #291
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.6.0-M2 by @renovate in #295
  • Update dependency puppeteer to v23.11.1 by @renovate in #298
  • Update dependency renovate to v39.82.1 by @renovate in #299
  • Update Node.js to v23.5.0 by @renovate in #297
  • Update dependency remix-run/react-router to v6.28.1 by @renovate in #296
  • Update dependency renovate to v39.86.0 by @renovate in #300
  • Update dependency renovate to v39.91.2 by @renovate in #302
  • Update Node.js to v23.6.0 by @renovate in #305
  • Update dependency glob to v11.0.1 by @renovate in #304
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.6.0-M3 by @renovate in #308
  • Update dependency remix-run/react-router to v6.28.2 by @renovate in #309
  • Update jQAssistant TypeScript Plugin to v1.4.0-M1 by @renovate in #311
  • Update dependency de.kontext-e.jqassistant.plugin:jqassistant.plugin.git to v2.2.3 by @renovate in #314
  • Update Node.js to v23.6.1 by @renovate in #316
  • Update conda-incubator/setup-miniconda digest to 505e639 by @renovate in #315
  • Update Node.js to v23.7.0 by @renovate in #322
  • Update actions/setup-java digest to 3a4f6e1 by @renovate in #321
  • Update to Python 3.12. dependent conda environment packages by @JohT in #324
  • Support conda package files and Python 3.12 on MacOs by @JohT in #325
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.6.0-RC1 by @renovate in #326
  • Update Neo4j to 5.26.2 by @renovate in #327
  • Update Node.js to v23.8.0 by @renovate in #328
  • Update dependency AxonFramework/AxonFramework to v4.11.0 by @renovate in #329
  • Update actions/cache digest to 0c907a7 by @renovate in #330
  • Update actions/upload-artifact digest to 4cec3d8 by @renovate in #331
  • Update dependency de.kontext-e.jqassistant.plugin:jqassistant.plugin.git to v2.3.0 by @renovate in #332
  • Update actions/cache digest to d4323d4 by @renovate in #333
  • Update actions/download-artifact digest to cc20338 by @renovate in #334
  • Update dependency com.buschmais.jqassistant.cli:jqassistant-commandline-neo4jv5 to v2.6.0 by @renovate in #335
  • Update dependency org.jqassistant.plugin:jqassistant-npm-plugin to v2.1.0 by @renovate in #336
  • Update pnpm/action-setup action to v4.1.0 by @renovate in #337
  • Update dependency neo4j/graph-data-science to v2.15.0 by @renovate in #339
  • Update Node.js to v23.9.0 by @renovate in #338
  • Update dependency renovate to v39.186.0 by @renovate in #340
  • Update dependency puppeteer to v24 by @renovate in #341
  • Update dependency AxonFramework/AxonFramework to v4.11.1 by @renovate in #342
  • Update dependency neo4j/apoc to v5.26.3 by @renovate in #343
  • Update dependency markdown-link-check to v3.13.7 by @renovate in #344
  • Update dependency neo4j/apoc to v5.26.4 by @renovate in #345
  • Update dependency neo4j/neo4j to v5.26.4 by @renovate in #346
  • Update dependency JohT/open-graph-data-science-packaging to v2.13.3 by @renovate in #348
  • Update dependency de.kontext-e.jqassistant.plugin:jqassistant.plugin.git to v2.4.0 by @renovate in #347

Full Changelog: v2.0.0...v2.1.0

v2.0.0 TypeScript Source Code Analysis

15 Dec 08:16
Compare
Choose a tag to compare

🌟 Highlights 🌟

  • TypeScript ✨ Source Code Analysis (experimental)
  • Git data included
  • Npm package.json data included
  • Multiple source folders
  • Symbolic links
  • Incoming and Outgoing dependencies considering Java subpackages
  • Path finding algorithms reports
  • Bridges centrality algorithm report
  • JavaEE and Spring REST endpoint reports

🚀 Changes

  • Add reports containing JavaEE and Spring REST resources by @JohT in #102
  • Skip analysis for empty projections by @JohT in #114
  • Small Improvements by @JohT in #117
  • Incoming and outgoing package dependencies with sub packages by @JohT in #124
  • Introduce Typescript Analysis by @JohT in #112
  • Add graph data science algorithms for Typescript by @JohT in #137
  • Add Graph visualizations for Typescript Modules by @JohT in #142
  • Separate report reference documentation generation by @JohT in #143
  • Add optional data validation before Jupyter notebook execution. by @JohT in #144
  • Assure that t-SNE perplexity parameter is lower than the sample size for small graphs by @JohT in #147
  • Use pnpm as package manager for react-router by @JohT in #148
  • Migrate from sklearn.manifold TSNE to openTSNE for visualizing node embeddings by @JohT in #155
  • Provide script to import git log as csv by @JohT in #157
  • Add parent git commit nodes and connect them by @JohT in #159
  • Use latest stable open graph-data-science version 2.6.7 by @JohT in #161
  • Use latest stable open-graph-data-science version 2.6.8 by @JohT in #162
  • Add external dependencies reports for Typescript by @JohT in #154
  • Add internal dependencies reports for Typescript by @JohT in #167
  • Ignore duplicate Typescript analysis json files scan by @JohT in #173
  • Add Overview reports by @JohT in #174
  • Add visibility reports for Typescript by @JohT in #175
  • Fix missing declarationCount property on DEPENDS_ON relationships by @JohT in #183
  • Add file distance to DEPENDS_ON relationships by @JohT in #184
  • Support npm package.json files by @JohT in #185
  • Add script to sort out external Java jar libraries. by @JohT in #186
  • Support multiple source directories by @JohT in #178
  • Support Typescript scan for existing sources without clone by @JohT in #191
  • Refine nodes and relationships for multi typescript project graphs by @JohT in #194
  • Support scanning files outside "artifacts" and switch to plugin for git data by @JohT in #195
  • Use Renovate to update jQAssistant plugins by @JohT in #198
  • Fix error when tsconfig has file as reference path. by @JohT in #200
  • Improve useability by @JohT in #203
  • Auto detect latest git tag if no version is specified by @JohT in #208
  • Detect, mark and filter test related modules in Typescript analysis by @JohT in #209
  • Improve file and npm relationships for Typescript projects by @JohT in #210
  • Add statistics about resolved external Typescript modules by @JohT in #215
  • Introduce path finding algorithm reports by @JohT in #216
  • Scan every Typescript source directory separately. by @JohT in #224
  • Support scanning large code bases by @JohT in #229
  • Improvements for Typescript by @JohT in #231
  • Support Typescript version numbers by @JohT in #223
  • Scan each contained Typescript package when the scan of the whole source repository failed by @JohT in #244
  • Fix missing support for dashes in profile names. by @JohT in #245
  • Improve RESOLVES_TO relationships between external and internal Typescript modules by @JohT in #248
  • Improve internal dependencies reports by @JohT in #255
  • Fix minor Typescript issues by @JohT in #259
  • Improve naming of external Typescript nodes by @JohT in #260
  • Improve Typescript scanning and git import by @JohT in #265
  • Improvements for large scala Typescript analysis by @JohT in #268
  • Fix missing IS_IMPLEMENTED_IN relationship for Typescript declarations by @JohT in #277
  • Fix broken link check using workaround by @JohT in #279
  • Install Typescript project dependencies explicitly by @JohT in #280
  • Add Bridges centrality algorithm report by @JohT in #283
  • Update jQAssistant TypeScript Plugin to v1.3.2 by @renovate in #282
  • Add details to algorithm result code unit names by @JohT in #285

📦 Dependency Updates

  • Update dependency puppeteer to v21.6.1 by @renovate in #92
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.10 by @renovate in #94
  • Update dependency conda-forge/miniforge to v23.11.0-0 by @renovate in #95
  • Update actions/upload-artifact action to v4 by @renovate in #97
  • Update dependency neo4j/apoc to v5.15.0 by @renovate in #96
  • Update dependency puppeteer to v21.7.0 by @renovate in #99
  • Update actions/cache action to v4 by @renovate in #101
  • Update dependency neo4j/graph-data-science to v2.5.7 by @renovate in #103
  • Update dependency puppeteer to v21.9.0 by @renovate in #104
  • Update dependency puppeteer to v21.11.0 by @renovate in #106
  • Update to open graph-data-science v2.6.0+51 by @JohT in #107
  • Update dependency neo4j/neo4j to v5.16.0 by @renovate in #93
  • Update dependency AxonFramework/AxonFramework to v4.9.2 by @renovate in #105
  • Update dependency neo4j/apoc to v5.17.0 by @renovate in #100
  • Update dependency neo4j/graph-data-science to v2.6.0 by @renovate in #108
  • Update dependency puppeteer to v22 by @renovate in #109
  • Update dependency JohT/open-graph-data-science-packaging to v2.6.1-23bc767797 by @renovate in #110
  • Update dependency puppeteer to v22.1.0 by @renovate in #111
  • Updat...
Read more

v1.0.1 Fix Graph Visualization

16 Dec 12:40
b10a089
Compare
Choose a tag to compare

⚙️ Optimization

  • Update and add old results by @JohT in #91
  • Improve visualization error handling by @JohT in #89

🛠 Fixes

  • Fix JavaScript Graph Visualization by running it after all CSV reports that write data into the Graph by @JohT in #89

📦 Dependency Updates

  • Update dependency AxonFramework/AxonFramework to v4.9.1 by @renovate in #90

Full Changelog: v1.0.0...v1.0.1

v1.0.0 First major version release

09 Dec 13:52
Compare
Choose a tag to compare

🚀 Features

  • Update to Neo4j v5 and jQAssistant CLI 2.0 by @JohT in #6
  • Introduce explore mode to start a manual analysis by @JohT in 53d6045
  • Support for open packaged graph-data-science plugin by @JohT in #15
  • Support query parameters by @JohT in #42

🎉 New Reports

  • Graph Visualization by @JohT in #24
  • Render visualization as png using puppeteer by @JohT in #26
  • Add artifact reports by @JohT in #31
  • Add node embeddings reports by @JohT in #47
  • Add reports with metrics about detected communities by @JohT in #73
  • Add java specific queries and reports by @JohT in #83

📖 Documentation

  • Auto-generate reference documentation by @JohT in #22
  • Bring documentation up-to-date by @JohT in #74

⚙️ Optimization

  • Rename "package dependencies" to "internal dependencies" by @JohT in #12
  • Separate artifacts and their download from the analysis by @JohT in #13
  • Performance Tuning by @JohT in #19
  • Update old analysis reports by @JohT in #23
  • Parametrize Topological Sort by @JohT in #51
  • Refine Community Detection by @JohT in #52
  • Fail-fast approach for error handling by @JohT in #54
  • Optimize centrality reports using in-memory mutate by @JohT in #55
  • Optimize Similarity using in-memory mutation by @JohT in #60
  • Minor improvements and refinements by @JohT in #88

🛠 Fixes

  • Fix missing Jupyter reports by @JohT in #72

📦 Dependency Updates

  • Configure Renovate by @renovate in #1
  • Update dependency conda-forge/miniforge to v23.1.0-2 by @renovate in #8
  • Update dependency neo4j/graph-data-science to v2.4.1 by @renovate in #9
  • Update dependency AxonFramework/AxonFramework to v4.8.0 by @renovate in #11
  • Update dependency conda-forge/miniforge to v23.1.0-3 by @renovate in #14
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.4 by @renovate in #16
  • Update dependency neo4j/apoc to v5.10.1 by @renovate in #17
  • Update dependency JohT/open-graph-data-science-packaging to v2.4.3 by @renovate in #20
  • Update dependency neo4j/graph-data-science to v2.4.3 by @renovate in #21
  • Update dependency neo4j/neo4j to v5.10.0 by @renovate in #18
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.5 by @renovate in #25
  • Update dependency puppeteer to v21.0.3 by @renovate in #27
  • Update dependency JohT/open-graph-data-science-packaging to v2.5.0-alpha03 by @renovate in #29
  • Update dependency AxonFramework/AxonFramework to v4.8.2 by @renovate in #34
  • Update dependency neo4j/graph-data-science to v2.4.4 by @renovate in #30
  • Update dependency neo4j/apoc to v5.11.0 by @renovate in #32
  • Update dependency puppeteer to v21.1.0 by @renovate in #33
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.6 by @renovate in #35
  • Update dependency neo4j/graph-data-science to v2.4.5 by @renovate in #37
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.7 by @renovate in #36
  • Update dependency puppeteer to v21.1.1 by @renovate in #39
  • Update dependency glob to v10.3.4 by @renovate in #38
  • Update actions/checkout action to v4 by @renovate in #41
  • Update dependency conda-forge/miniforge to v23.3.1-0 by @renovate in #40
  • Update dependency neo4j/apoc to v5.12.0 by @renovate in #44
  • Update dependency neo4j/graph-data-science to v2.4.6 by @renovate in #43
  • Update dependency puppeteer to v21.3.4 by @renovate in #46
  • Update dependency glob to v10.3.9 by @renovate in #45
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.8 by @renovate in #49
  • Update dependency puppeteer to v21.3.6 by @renovate in #50
  • Update dependency glob to v10.3.10 by @renovate in #48
  • Update dependency puppeteer to v21.3.8 by @renovate in #53
  • Update dependency neo4j/graph-data-science to v2.5.0 by @renovate in #56
  • Update dependency neo4j/neo4j to v5.12.0 by @renovate in #28
  • Update dependency puppeteer to v21.4.0 by @renovate in #59
  • Update dependency JohT/open-graph-data-science-packaging to v2.5.2+41 by @renovate in #61
  • Update dependency neo4j/graph-data-science to v2.5.1 by @renovate in #62
  • Support windows tested in git bash by @JohT in #57
  • Update dependency AxonFramework/AxonFramework to v4.9.0 by @renovate in #58
  • Update dependency neo4j/neo4j to v5.13.0 by @renovate in #64
  • Update dependency neo4j/apoc to v5.13.0 by @renovate in #63
  • Update dependency puppeteer to v21.4.1 by @renovate in #65
  • Add list of annotated code elements to reports by @JohT in #66
  • Update actions/setup-node action to v4 by @renovate in #68
  • Update dependency puppeteer to v21.5.0 by @renovate in #67
  • Update dependency JohT/open-graph-data-science-packaging to v2.5.3+43 by @renovate in #69
  • Update dependency puppeteer to v21.5.1 by @renovate in #70
  • Update dependency neo4j/graph-data-science to v2.5.4 by @renovate in #71
  • Update dependency AxonFramework/AxonFramework to v4.9.0 by @renovate in #75
  • Update dependency jQAssistant/jqa-commandline-tool to v2.0.9 by @renovate in #77
  • Update dependency puppeteer to v21.5.2 by @renovate in #78
  • Update dependency JohT/open-graph-data-science-packaging to v2.5.5+44 by @renovate in #76
  • Update dependency neo4j/apoc to v5.14.0 by @renovate in #80
  • Update dependency neo4j/graph-data-science to v2.5.5 by @renovate in #79
  • Update dependency conda-forge/miniforge to v23.10.0-0 by @renovate in #82
  • Update actions/setup-java action to v4 by @renovate in #84
  • Update conda-incubator/setup-miniconda action to...
Read more

v0.9.0 Initial Release Version

26 Jun 09:27
Compare
Choose a tag to compare

🎉 Initial Release Version

🚀 Features

  • Analyze static code structure, dependencies, metrics, ...
  • Fully automated pipeline from tool installation and artifact download to report generation
  • Runtime and library independent automation using shell scripts
  • Comprehensive list of Cypher queries
  • Example Analysis for AxonFramework

📖 Jupyter Notebook Reports

📖 Graph Data Science Reports

Here are some reports that utilize Neo4j's Graph Data Science Library:

📖 Other Reports