In a Dune project, I just realized that changing from
(lang dune 2.0) to
(lang dune 3.0) in the
dune-project enabled an extra warning in the code, in this case,
(warning 32 [unused-value-declaration]). I didn’t expect that, but it’s a nice bonus.
Now, on the one hand, I want to keep getting free bonuses from updating the
lang dune version in my packages; on the other hand, I don’t want to keep bumping them every time and force my users to upgrade
dune unnecessarily (my package doesn’t use anything new from dune anyway).
So, I’d like to know: is there a (ideally short) changelog of the main changes caused by changing the
lang dune version? For instance, I noticed that warning appears with
3.0, but not
2.9. Are only “major” changes those impacting different warnings? Is there a “rule of thumb” such as “update major versions when you can, otherwise don’t bother”?
(I know I could manually enable new warnings and so, but here I’m trying to evaluate how to maximize the benefit while minimizing the amount of work for me and my package users.)