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.)