My assumption was that compatibility would be preserved between major releases.
For example X.Y.something would be compatible with X.Y.somethingelse as long as X and Y are the same.
So it is a 2 digit compatibility thing, not 3 digits.
Right now, any 4.5.0 module can be installed with Drupal 4.5.0, 4.5.1 or 4.5.2 without any problem. The database is still the same, with no changes.
This would still be preserved under my proposal, so: module A 4.5.1, module B 4.5.4 can also work with drupal 4.5.0.
If Y changes, then all bets are off, and compatibility may be broken at the discretion of Drupal core developers and/or contrib developers.
1. Contrib module maintainers do introduce compatibility breaking stuff in the same release cycle. 2. What do you imagine, would people pair a 4.5.2 contrib module with Drupal 4.5.2? Would they install a 4.5.2 contrib module on a 4.5.4 Drupal installation? I bet this would confuse the hell out of them. Goba