equal
deleted
inserted
replaced
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 Source/binary compatibility. |
|
350 ---------------------------- |
|
351 |
349 Runtime or binary compatibility mean that binary can be swaped with another |
352 Runtime or binary compatibility mean that binary can be swaped with another |
350 version without breaking normal program work. |
353 version without breaking normal program work. |
351 |
354 |
352 Compile time or source compatibility mean that supplied header/interfaces allow |
355 Compile time or source compatibility mean that supplied header/interfaces allow |
353 successful compiling/linking. |
356 successful compiling/linking. |
357 * Change type of argument in method to more generic take source compatibility |
360 * Change type of argument in method to more generic take source compatibility |
358 but break binary compatibility. |
361 but break binary compatibility. |
359 * Adding new method to abstract class take binary compatibility but break |
362 * Adding new method to abstract class take binary compatibility but break |
360 compilation (unimplement method error). |
363 compilation (unimplement method error). |
361 |
364 |
362 File format compatibility. |
365 Format or protocol compatibility. |
363 |
366 --------------------------------- |
364 Protocol compatibility. |
367 |
365 |
368 File format or protocol backward compatibility mean that new program can use old |
366 |
369 format or protocol. |
|
370 |
|
371 In order to do that file format or protocol MUST store or provide some |
|
372 versioning information. Usually this done by: |
|
373 |
|
374 * Separate versioning field in data. |
|
375 * New prefix or name in data. |
|
376 * List of feature requirements, supported algorighm, etc. |
|
377 |
|
378 It is essential make code that detect unknown or possibly new format or protocol |
|
379 and stop working with them to avoid user data corruption. |
|
380 |
|
381 Forward compati |
367 |
382 |
368 Reference. |
383 Reference. |
369 ========== |
384 ========== |
370 |
385 |
371 http://semver.org/ |
386 http://semver.org/ |