Forward and Backward Compatibility: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 16: Line 16:


=Subjects=
=Subjects=
* [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility}}
* [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility]]
* [[Protocol_Buffer_Concepts#Data_Evolution_with_Protocol_Buffers|Data Evolution with Protocol Buffers]]
* [[Protocol_Buffer_Concepts#Data_Evolution_with_Protocol_Buffers|Data Evolution with Protocol Buffers]]

Revision as of 00:02, 9 May 2024

Internal

Backward Compatibility

A system is said to be backward compatible is it is design to be compatible with older versions of itself.

If old clients encode data, with an old version of the schema, and send it to the current version of the system, which uses the current (newer) schema, a backward compatible system can process that data without error and respond to those old clients in a way that does not break them.

Forward Compatibility

A system is said to be forward compatible is it is design to be compatible with newer, future versions of itself.

If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.

Subjects