More Pretty URLs, More Speed, Fewer Bugs

A quick summary of some of the user-facing changes since the last news item:

  • Add pretty URLs for repository branches and tags
  • Add /news/yyyy/mm/dd URLs
  • Add a warmup query on indexing to keep the front page fast
  • Add some missing fields to Help
  • Add a source filter combining project and repository
  • Add Cache-Control headers to all pages
  • Replace project and repsitory drop-downs with a source multi-select with groups
  • Replace multiple-select.js with Slim Select for the filter drop-downs
  • Replace FontAwesome’s CSS + WebFont with a few of their SVG icons
  • Remove jQuery
  • Fix empty split diffs on new files
  • Fix filters being forgotten if a search had no results
  • Improve usability on mobile by allowing overflow to scroll rather than clipping

We now score 100 on PageSpeed Insights, with a full front page load taking just 42 KiB. This pairs nicely with the much faster page generation times.

There have been some fairly substantial internal changes as well, but perhaps the most notable is the switch to OpenJDK 16 with a patch to resolve a HotSpot compiler bug FreshBSD ran into about a month ago. Thanks to Charles Oliver Nutter and Aleksey Shipilev for their help.

I’ve also fixed a long-standing resource consumption issue with the commit indexing service, reducing its memory use from ~4-8 GB to under 2 GB. This is filed as RJGit issue #61.