1) the database format should be kept unchanged for the same major
releases, i.e. 0.3 series should keep the same format (e.g. 0.3 release,
0.3.1, 0.3.2 etc.) If the format has to change, it calls increasing the
major release (e.g. to 0.4) and it means that only minor fixes should go
into minor release
For this keep in mind the following: X.Y.Z = Major.Minor.Maintenance/Build
In my humble opinion, I think that client and server versions are kept separate for a reason and should be completely independent of each other. Just say a defect fix involved a schema change, the client version should not change its Minor version for a defect fix, it should change its Build No. There are other scenarios like this, but you get the general idea.
Minor version increases should be for new functionality and Major version increases should be for major new functionality.
There may be an argument though to have the same numbering scheme for the database (i.e. major.minor.build). Not necessary but is sometimes useful.
Regards,
Dave.