As you learned, the version number is the compatibility flag.
However, you raise an interesting question. What happens when a package owner does it wrong? Could we crowdsource fixing the issue?
It's a tricky issue. As a package owner, would you want others changing the behavior of your package? Well, probably not, but it goes both ways. By uploading a poorly versioned package, you just changed the behavior of other packages in a negative way.
So I think in this case, it might be possible to do something about it.
1. A breaking change flag within NuGet.org. Note that this would not be in the package itself. Ideally, package authors would properly version packages. This would allow folks to mark a package as a breaking change and upon review, we could mark it with
this flag in the site and it would be treated as if it had an incremented minor version. That's a pretty big change though.
2. We allow rewriting the version of faulty packages. This is better than taking the package down entirely. The idea would be, when you report a breaking change, contact the owner. If they refuse to fix it, we increment the version number.
3. We mark the package as a pre-release package. This is a feature coming in the future, but it would prevent a lot of these issue if the breaking change package was forced to be treated as a pre-release until it was fixed.
Honestly, all of these ideas sound harsh. But so is breaking packages that work fine in the feed today.
Also, did you contact the Antlr package owner?