devel-versioning.rst
changeset 1108 60726f28b999
parent 1107 4473feb406cf
child 1112 91e7ec70a38e
equal deleted inserted replaced
1107:4473feb406cf 1108:60726f28b999
   344   GLib GTK+ Gimp GNOME Kaffe
   344   GLib GTK+ Gimp GNOME Kaffe
   345 
   345 
   346 Forms of compatibility.
   346 Forms of compatibility.
   347 =======================
   347 =======================
   348 
   348 
   349 Runtime of binary compatibility mean that binary can be swaped with another
   349 Runtime or binary compatibility mean that binary can be swaped with another
   350 version without breaking.
   350 version without breaking normal program work.
   351 
   351 
   352 Compile time or source compatibility mean that supplied header/interfaces allow
   352 Compile time or source compatibility mean that supplied header/interfaces allow
   353 successful compiling/linking.
   353 successful compiling/linking.
   354 
   354 
   355 Examples:
   355 Examples:
   356 
   356 
   357  * Change type of argument in method to more generic take source compatibility
   357  * Change type of argument in method to more generic take source compatibility
   358    but break binary compatibility.
   358    but break binary compatibility.
   359  * Adding new mothod to abstract class take binary compatibility but break
   359  * Adding new method to abstract class take binary compatibility but break
   360    compilation (unimplement method error).
   360    compilation (unimplement method error).
   361 
   361 
   362 File format compatibility.
   362 File format compatibility.
   363 
   363 
   364 Protocol compatibility.
   364 Protocol compatibility.
       
   365 
       
   366 
   365 
   367 
   366 Reference.
   368 Reference.
   367 ==========
   369 ==========
   368 
   370 
   369   http://semver.org/
   371   http://semver.org/