How does Strapi handle history of changes?

If I create an entity (say Retaurant) and then I add a property (say name) and then I create my first restaurant named “super-burger”, and then after that, 4 months later I rename it to “freshy-burger”, and 1 month later back again to “super-burger”, how does Strapi handle/store in terms of “lost data” and “queriable data” those changes?

Are they being lost?

Or history is rebuildable and queryable?

Just spin up a local strapi project and try it yourself?

It’s not rebuildable nor queryable.
However you are free to keep different versions of your entity by simply code the solution you need.

beforeUpdate → create a copy of the current state of updating entry with version-Attribute++.