After all of this discussion, it seems to me that the consensus is that
we should not make major changes to layout files for minor releases. I
understand Uwe's reasons for wanting to do so, but it will break a lot
of documents for people whose machines do not automatically update when
new class files are released. So far as I know, only Windows uses
TeXLive's auto-update procedure, and I'd assume it can even be turned
off there.
(I'll also note that people do all kinds of weird things. Someone might
use a journal's class file to write their own articles, just because
they like how it looks, not because they intend to submit to that
particular journal. We shouldn't break their documents without good reason.)
As has been said, however, this does not prevent us from shipping Uwe's
updated layout files. We just need to rename them. My suggestion was
that these should include the version number of the class file, e.g.,
moderncv-0-17.layout, and the version should be noted in the
declaration, too. That seems the most flexible and informative scheme.
We should note such changes in the release notes and the announcement.
Now a question: How hard would it be to add version checking information
to configure.py and chkconfig.ltx? Or do we already have that? Then we
could mark moderncv.layout as unavailable if the version were wrong, and
moderncv-0-17 as available, and add code to switch the layout on the
fly, as the document is loaded, if need be. Asking first, of course.
That actually looks to me like an almost ideal solution.
If that is too hard, or if we need to change the layout format to
implement it, then we can think about including some code that pops up
an information box saying something like:
The moderncv layout now comes in two forms. If you have problems
compiling
your document with this layout file, you should check what version
of the moderncv
class your distribution makes available. If it is 0.17 (or newer),
you should select the
new "curriculum vitae (modern, 0.17)" class under Document>Settings.
when a document with the older layout file was loaded.
The decision what exactly we should do at major releases can be deferred
for now. The simplest thing would be to continue shipping the older
layout files, but with version numbers for the older ones, rather than
the newer ones. (So, e.g., moderncv.layout would become
moderncv-0-16.layout and moderncv-0-17.layout would be come
moderncv.layout.) These could then be put into a new "Deprecated"
category, per Liviu's suggestion (I think), so as not to clutter the
list. We can handle this switch in lyx2lyx, of course.
If someone wants to do something more complicated, e.g. along the lines
of Georg's suggestions, then they can do so.
Richard