As things change I'll try to add them here, newest changes at the top. (Note that each project has a changelog.md file on github as well)


Added docs for the Team Visualisations. Most of the new features are now documented!


Binary releases have been fixed! At least for x86 architectures.

Also the docs here have been updated - there are still TODO sections for new features, but most of the existing pages are now correct for new releases of all the tools.


I've pushed new releases of the tools to github. Sadly, the mechanism I used to build rust binaries no longer works - for the scanner, you need to build binaries yourself for now. The bundled versions of the other tools should be OK though.

Recent changes:

It works for non-git projects

You can disable git scanning! This was something I've wanted for a while - often, especially for legacy code, it isn't stored in git. If you disable git you lose a lot of features - there is no history of changes, no user information, etc. - but you can at least look at lines of code, indentation, and the rest. File creation and last modification times are stored, so if they are meaningful you can look at code age based on those.

I could add support for non-git SCM systems - but it's quite a bit of work. I suspect it will only happen if I find the need to do this for a paying client!

You can visualise users and teams

You can now view all users in your project, and view changes made by each user. You can also 'alias' users - often one user may have made commits with multiple email addresses or user names, you can merge these together into an alias, so they look like changes made by a single user.

You can also assign users to teams, and then visualise those teams - which teams changed which files, and so on. Proper documentation for this is to come!

You can save and restore user settings

The above changes had one big problem - there was no way to save them. To view team activity you need to assign users to teams, possibly with aliases, and then map teams to colours and the rest - but the minute you closed your browser window, all of that was lost.

So now:

  • You can save all explorer settings, including user and team info, to a JSON file, and then re-load them later
  • You can also save settings to browser local storage, so you can quickly reload settings without faffing around with files
  • You can save just user and team info to a JSON file. This is a separate function as this file might be useful across different projects which share users.

Other bits and pieces

  • Code ownership logic was removed - it didn't work well, and it makes more sense to visualise teams. Note that you can create teams with a single person in them if you want to look at individual contributions.
  • Feature flags were added to the config files
  • Quite a few refactorings were made along the way


I am on sabbatical! A number of changes are incoming, and I'll try to keep basic docs updated, but they may lag behind the source.

A brief list of changes - see individual project changelogs for more:


  • Moved the explorer to Typescript - this was a lot of work, but makes development and refactoring much easier.
  • Modified the shared JSON data format, partly as it didn't work well with Typescript, partly as I want to make tweaks. The docs will need updating!
  • Added version numbers to the data format, so the Explorer can test it is using a data file that matches it's code!
  • Added project name, and per-run ID (usually a UUID) to the data format. The name is nice for the main UI, the UUID allows for saving state safely in browser local storage.

In progress

  • Adding a lot of features to the Explorer for viewing users and teams. There is a lot of value in knowing which teams made which changes, who "owns" what code, and the like. Previously I had the "code owners" visualisation but it didn't really work - now the user can manually set up teams and then visualise their activity.
  • This however means that I needed a way to save user-created teams - so there will be options to save state both in the browser, and as files on disk.

This is what viewing a project by team currently looks like:

Displaying users and teams


Alas, I had a bunch of pending changes here which never got published - work exploded with business, and then I had a few big personal life events...

I'm publishing what I had in draft now, just so something is posted - see the update below about temporal coupling changes. But it might be a bit of a mess until I find time for a proper review of what on earth I was doing a year ago!


Big changes have been made to temporal coupling so instead of accumulating changes at a daily granularity, they are much more fine grained. Look at that page for details. (This requires a new version of both the scanner and the explorer)


The Explorer 0.4.2 now has a feature where you can customise the URL used when opening files in a new window, so you can browse files on intranet git systems or others that differ from github.


There is now an experimental code visualisation feature in the Explorer version 0.4.2 (it was in 0.4.1 but is nicer in 0.4.2) - so you can see quickly which users have made most of the changes to a file. This is still a bit beta, and documentation is light. (I'm rushing as I need to use these features on a project!)


I've added a whole new application - if a very small one - the Simple Code Server - for serving up source code in a CORS-friendly way. The Polyglot Code Explorer version 0.4.0 now has the ability to hook into this server, and show you source code in a side panel.

Edit this page on GitHub