Skip to content

2 Operational considerations

Peter Taoussanis edited this page May 30, 2024 · 1 revision

Data longevity

Nippy is widely used to store long-lived data and promises (as always) that data serialized today should be readable by all future versions of Nippy.

But please note that the converse is not generally true:

  • Nippy vX should be able to read all data from Nippy vY<=X (backwards compatibility)
  • Nippy vX may/not be able to read all data from Nippy vY>X (forwards compatibility)

Rolling updates and rollback

From time to time, Nippy may introduce:

  • Support for serializing new types
  • Optimizations to the serialization of pre-existing types

To help ease rolling updates and to better support rollback, Nippy (since version v3.4.1) will always introduce such changes over two version releases:

  • Release 1: to add read support for the new types
  • Release 2: to add write support for the new types

Starting from v3.4.1, Nippy's release notes will always clearly indicate if a particular update sequence is recommended.

Stability of byte output

It has never been an objective of Nippy to offer predictable byte output, and I'd generally recommend against depending on specific byte output.

However, I know that a small minority of users do have specialized needs in this area.

So starting with Nippy v3.4, Nippy's release notes will always clearly indicate if any changes to byte output are expected.

Clone this wiki locally