Skip to content
Compare
Choose a tag to compare
@jgehrcke jgehrcke released this 03 Dec 18:13
· 94 commits to main since this release
074445e

Thanks for all the feedback and contributions.

Report improvements:

  • Automatically use semi-logarithmic plotting when it appears to make sense. This is supposed to help in cases of traffic spikes much higher than the baseline. (With linear plotting, the normal traffic level would then appear to be very close to zero, and variations around it would hardly be visible.)
  • Add data point tooltips as mouse hover effect in the HTML report (also see #28).
  • Display cumulative view/clone counts (total count until day of report generation, also see #31).
  • Top referrer/path plots: move the legend so that these plots have the same width as all other plots, making comparison easier.
  • Synchronize date axes where it makes sense:
    • The plots for view/clone data now all show the same time window.
    • The plots for star/fork data always show the same time window.
    • The star/fork plots only show the same time window as the view/clone plots when data collection started at the time of or before the first star/fork event. Else, the star/fork plots go further into the past.
  • Create a meaningful fork/stargazer section for the special cases of zero forks/stars, respectively (also see #41, #43).
  • Tweak plot style (marker size, tick label angle, and others).

Job robustness and performance:

  • Perform a shallow clone of the data repository for faster job execution (#32, #34).

Bug fixes:

  • Fix a path/referrer snapshot time series aggregation bug where a significant fraction of the available data was not visualized (#36).
  • View/clone analysis: do not crash anymore when there is an aggregate file but no new snapshots (#37).
  • Fix git pull and git push errors for the first-run scenario where the data branch does not yet exist on the data repository (see #30, #33, #35).

Misc:

  • Reduce log verbosity.
  • Update several dependencies (for example, use Altair 4.2.0 with Vega-Lite 4.17.0).

Testing: important changes coming hand-in-hand with this release are on the testing and continuous integration (CI) front. Given the growing user base, I did not feel comfortable anymore with the reliance on manual testing. I introduced a framework for high-level CLI invocation tests with specific data scenarios, now executed by CI as part of every commit. This will help prevent regressions from happening. The README contains instructions for how to run these tests locally. I have also introduced more linting, and added a mypy check to CI (starting out with very basic typing information in the code base here and there).