[pbs-devel] applied-series: [PATCH proxmox-backup v3 00/10] notifications: cleanup in preparation of overridable templates
Lukas Wagner
l.wagner at proxmox.com
Thu Apr 3 12:50:12 CEST 2025
On 2025-04-02 16:33, Thomas Lamprecht wrote:
> Am 02.04.25 um 15:27 schrieb Lukas Wagner:
>> I would suggest:
>> - no backward-incompatible changes in minor upgrades
>> - for breaking changes in major upgrades, implement some best-effort
>> checks in pbsXtoY/pveXtoY which check any custom templates for
>> anything that will be changed/removed
>>
>>
>> Incompatible changes are:
>> - removing variables
>> - changing type/representation of variables (e.g. switching from number of bytes to KiB, etc.)
>> - removing helpers
>> - non-trivial changes to a helper's behavior
>> - incompatible changes to the rendering engine (e.g. switching from Handlebars to something else)
>>
>> Backward-compatible changes would be:
>> - adding new template variables
>> - adding new template helpers
>> - adding new, optional parameters to existing helpers
>> - trivial changes to helpers (hypothetical example: "1KiB" -> "1 KiB" for `{{ human-bytes 1024 }}`)
>
> The last one is really something where the "no breakage" means
> "no report from users", but I'm fine with that with smaller adaptions.
Yeah, I think the benchmark should be "all info is still there and readable" instead of
"every byte of text must be exactly the same" - the notifications are primarily meant to be
read by humans, after all :)
>
>> What do you think?
>
> Sounds about right.
>
> I'd probably also mention that we try to do changes by adding them as new
> variable/helper/... if the resulting maintenance burden is somewhat
> manageable, as with that we can then have co-existing old/new for a while
> (e.g., the current major release) and drop the old one in the next major
> release, which would simplify major upgrades combined with sharing templates
> be it through pmxcfs or some configuration management stack the admin uses,
> like Ansible, compared to rolling out such changes in one go with a major
> upgrade.
Good point, I agree.
Luckily I see the chances of us having to do incompatible changes to variables/helpers
as rather small, at least after this round of cleanups for PBS/PVE.
>
> This does not change what you state above w.r.t. what counts as breaking
> change and is not so much relevant for the consumers of that info (those
> overriding templates) but can be nice to state the general guideline for
> devs to roll out such changes there nonetheless.
--
- Lukas
More information about the pbs-devel
mailing list