Template versioning

Jouni Heikniemi jth at mikrobitti.fi
Tue Dec 16 06:05:40 UTC 2003

On Mon, 15 Dec 2003, Christian Robottom Reis wrote:

> Really? I would think all changes in the stable branch would be
> backwards-compatible, to ensure that customized templates would work
> over the whole branch's lifetime. Doesn't our 2.16 experience confirm
> this?

Our 2.16 experience isn't IMO very much to confirm anything, though - it's
just one version after all. Of course you're right in that maintaining
template interfaces throughout a stable branch must be very high on our
target list, but there are some situations where the template interface
_must_ be changed in order fix something.

A reasonably trivial example would be printing out something that used to
be html filtered in the template, but now gets some html pushed into it
from Perl. The interface must now change, not by variable names, but by
type semantics. Instead of template var foo being a "string", it is now a
"prepared html string", html re-filtering of which causes the user to see

Although I don't think this is bound to happen often (that sort of changes
are rarely involved in security/functionality fixes that stable branches
get), it would suck if it broke the versioning scheme totally.

Thought wandering a bit elsewhere, here: Our stable branches have been
fairly locked up, but is this because there's nobody to maintain the
stable ones or is it because we really think it's a good idea to totally
freeze the stable versions?

I was thinking, if the Bugzilla developer base grows significantly, I
don't see it as impossible that we may some day have a "stable dev group",
who integrate the best patches from trunk into stable versions. This would
allow us to make it easy for those using the stable branch to get the
best minor enhancements and most important bug fixes without getting the
instability of heavy structural rewrites that occur in the trunk.

I'm by no means advocating founding such a stable team, but it might not
be a good idea to weld ourselves into a model where stable branches only
get security fixes. There are plenty of users who will never get a dev
release, but who probably would enjoy many of 2.17-series' new features.
The partial name user matching is a prime example.


More information about the developers mailing list