| Age | Commit message (Expand) | Author |
| 7 hours | content: gAIPTracksChunkItem: use annotation parts | (quasar) nebula |
| 7 hours | content: generateArtistCredit: always pass showAnnotation through | (quasar) nebula |
| 7 hours | content: generateArtistCredit: don't snoop annotation | (quasar) nebula |
| 8 hours | content: linkContribution: drop trimAnnotation, format from parts | (quasar) nebula |
| 8 hours | data: all artwork contributions can be "edits for wiki" | (quasar) nebula |
| 8 hours | data: Contribution.annotationFront, is{Featuring,EditsForWiki}Credit | (quasar) nebula |
| 8 hours | data: Track.artistContribs: no one saw that | (quasar) nebula |
| 10 hours | data: stub {Musical,Album,Track}ArtistContribution | (quasar) nebula |
| 10 hours | data: Thing.clone(source, {as}) and related utilities | (quasar) nebula |
| 11 hours | data, yaml: split yaml loading specs into src/data/files | (quasar) nebula |
| 11 hours | quick eslint | (quasar) nebula |
| 12 hours | data: break up content.js, flash.js, sorting-rule.js | (quasar) nebula |
| 12 hours | data: split group.js | (quasar) nebula |
| 12 hours | data: split album.js | (quasar) nebula |
| 12 hours | data: split homepage-layout.js | (quasar) nebula |
| 12 hours | infra: rename singleton-export thing modules | (quasar) nebula |
| 13 hours | infra: collect things with wildcard exports | (quasar) nebula |
| 13 hours | data: Contribution.annotationParts | (quasar) nebula |
| 13 hours | data: contributionList, etc: class input | (quasar) nebula |
| 3 days | data: find.trackReference() - prioritize tracks from same album | (quasar) nebula |
| 3 days | find: bring your own behavior | (quasar) nebula |
| 3 days | find, data, checks: dummy 'from' option in find() | (quasar) nebula |
| 3 days | find: stop providing thingConstructors to include() | (quasar) nebula |
| 6 days | css: separate music videos from artworks a little | (quasar) nebula |
| 8 days | content: generateMusicVideoDateLine: fix sameDayAsSingle | (quasar) nebula |
| 8 days | content, data: MusicVideo.labelStyle | (quasar) nebula |
| 9 days | content: chop artistsLine.withDate permutations | (quasar) nebula |
| 9 days | content: cleanup stuff whatevs | (quasar) nebula |
| 9 days | content, css: generateMusicVideoDateLine | (quasar) nebula |
| 9 days | content, data: generateMusicVideo: same day as album/single/track | (quasar) nebula |
| 9 days | content, css: generateMusicVideo: canonically don't chunkwrap | (quasar) nebula |
| 10 days | content: generateMusicVideoReleaseLine: show full date | (quasar) nebula |
| 10 days | content: listTracksWithMusicVideos: hide album dates | (quasar) nebula |
| 10 days | content: generateMusicVideoReleaseLine: wrap "by" nicely | (quasar) nebula |
| 10 days | content, data: MusicVideo.date | (quasar) nebula |
| 10 days | content: listTracksWithMusicVideos | (quasar) nebula |
| 10 days | data: Track.musicVideos: inherit from main release | (quasar) nebula |
| 10 days | content: generateSingleArtworkColumn: grab MVs from track | (quasar) nebula |
| 10 days | css: don't have music video respond to focus actually | (quasar) nebula |
| 10 days | css: music video interaction cue | (quasar) nebula |
| 11 days | data, content, css: basic music video implementation | (quasar) nebula |
| 2026-01-12 | search-select: also consider total contributions to groups | (quasar) nebula |
| 2026-01-12 | content: generateArtTagGalleryPage: reveal all warnings | (quasar) nebula |
| 2026-01-11 | content: gAIPTracksChunkItem: "featuring" is immune to occlusion | (quasar) nebula |
| 2026-01-11 | content: gAIPTracksChunk: consider contributions from main release | (quasar) nebula |
| 2026-01-11 | lint | (quasar) nebula |
| 2026-01-11 | content: drop "with other artists" for real | (quasar) nebula |
| 2026-01-11 | content: gAIPChunkItem: new annotations look | (quasar) nebula |
| 2026-01-11 | data: Artist.mockSimpleContribution + clever context | (quasar) nebula |
| 2026-01-11 | content: gAIPTracksChunk{,Item}: album & track credits | (quasar) nebula |