I have noticed that there have been several posts on TeX-SE saying that after updating to the latest TeXLive that documents that used to be processed OK now report errors. I haven't updated so all is fine with me but now I'm extremely reluctant to update (and perhaps won't). I thought that LaTeX documents from years ago would always be processible but that seems to have gone a little to the wayside. --- GOM
1as the question was triggered by mparhack: the documentation explicitly states that it hooks into core LaTeX commands "and might break with future LaTeX versions that change these commands." If you use such a package don't be surprised when happens what their documentation announce.– Ulrike FischerMay 1, 2021 at 20:37
3@HenriMenke there were essentially no user level backward compat issues reported for the utf-8 change.– David CarlisleMay 1, 2021 at 20:45
2@user241086 you state above that one is lucky if one gets error messages but that LaTeX screws things up without them, so the mparhack issue --- which is not a LaTeX kernel change issue --- is not an example for that statement as it gives you an error. All I asked you was to substance such statements by providing bug reports if something like this happens and not just hint/claim/indicate. So what please should have have written? If you tell me the wording I'm happy to write a new comment with the same substance. But I don't see where I was not sticking to facts as you now say/claim/indicate.– Frank MittelbachMay 1, 2021 at 21:40
2sadly I think this question meets the "opinion based" close reason for the site. The question itself is reasonable but the question (and answers) just attract hostile non-productive comment threads. I deleted my answer.– David CarlisleMay 2, 2021 at 9:10
6@DavidCarlisle I am sorry that you felt that you had to delete your answer as I found it very credible and useful. It is a great shame that one commentator, only providing opinions, has ruined a useful discussion.– Peter WilsonMay 2, 2021 at 17:41
I think an answer here has several parts.
First, TeX Live (TL) is a collection of code from many people, and the maintainers of TL itself only provide a small part of this - they are mainly 'collectors'. As such, other than changes in e.g.
tlmgr, TeX Live makes no statements about compatibility.
If we look at binaries, there is some overlap with the TL team, for example with pdfTeX. That is maintained pretty conservatively, but other binaries perhaps have more freedom. LuaTeX would be the most obvious example.
I'll not go further with hyphenation patterns than pointing out that they can and do change, and alter line breaking without any warnings.
The bulk of TeX Live is of course macro packages. There, changes are down to individual authors. Taking an example which hasn't happened just yet (at time of writing), I will soon release a major update to
siunitx - v3.0. I have various significant changes I wish to make, and I have to balance up
- Simply calling it a 'new' package - workable but burns through names, means existing users don't get any benefit
- Making breaking but necessary changes, which as far as possible I will issue warnings for
- Providing a way to 'fall back' to the v2.0 code - doable using
On balance, I feel a new major version after a period of beta testing is the right approach. However, I know there will be some user impact: I can't really avoid that if I want to be able to maintain the code and fix bugs.
That takes us to the issue that as a macro expansion language, we can't stop other people using 'internal code'. In my example, I'm making API changes that I know I can document and test. But I'm also changing internals: that is much harder to test against what individuals may have done.
As such, the best we can do is to document changes, test and aim to provide routes to roll back where there are issues.