I've checked that vibenews almost compiles with vibe.d 0.7.20 (the one in package.json, which is not chosen because the repo does not have a dub.selections.json), except that version of vibe.d does not compile with the latest DMD due to a collision. I've tried to understand the errors that start happening with vibe.d 0.7.21, even doing a diff between 0.7.20 and ~master of bson.d, but I didn't yet understand the source of the error. I hope that helps a little bit.

BTW: I would argue that if dub.json says foo version "==1.0.0" and dub.selections.json says version "1.1.0" than dub.json should either win (and replace dub.selections.json with the older version) or dub should just complain, instead of silently going with dub.selections.json.