5. Backwards compatibility consequences
As soon as in-place refreshes are added to a charm, all future changes to the charm release (which includes charm code, charm code dependencies, charm metadata, workload, workload dependencies, workload packaging, etc.) are significantly restricted.
it should be possible to refresh from any charm released to stable in a Charmhub track to any (semantically) newer charm released to stable in the same track. (It should also be possible to rollback.)
All changes must be backwards-compatible with all previous stable versions of the charm. Furthermore, all changes must support safe rollback.