How do I upgrade my existing LyX system to version 1.4.x?
---------------------------------------------------------

The format of the preferences file has changed slightly. LyX 1.4.x is
able to read old preferences files, but it will save them in the new
format, so it is not possible to run LyX 1.3.x and 1.4.x with the same
personal configuration directory.

The format of the layout files has also changed, but LyX 1.4.x uses a
converter layout2layout.py written in python that will convert old layout
files on the fly. You can also call it manually on your layout files if
you want to convert them to 1.4.x format permanently.

The format of the external template file has changed substantially.
Automatic conversion is not available, so you need to convert your
external templates manually. The new format of the external template
configuration file is described in chapter 6.5 of the Customization Guide.

And of course, if you upgrade from LyX 1.2.x, remember that since
1.3.0, you have to do the following changes:

One of the perennial bug bears of LyX users in the past has been that
they have had to run Edit->Reconfigure when starting their new version
of the code for the first time. Strange and wonderful things would
often result if they forgot to do this, so LyX 1.3.0 now runs
Edit->Reconfigure automatically the first time the program is run.

If you have your own layout files, you may need to update them a little:

- floats are now defined in the layout file, using the "Float"..."End"
  construct. In most cases, adding "Input stdfloats.inc" to your layout
  file is enough.

- counters are also defined in the layout files, using the
  "Counter"..."End" construct. As for floats, adding "Input
  stdfloats.inc" is probably a good idea.

And of course, if you upgrade from LyX 1.1.x, remember that since
1.2.0, you have to do the following changes:

- all layout files should have a "DefaultStyle" entry

- the "Latex" font style does not exist anymore. If you really need
  its functionality, consider using the "PassThru" keyword instead.

The new layout format keywords are described in the Customization
manual.

If you have your own binding files (especially math.bind), you will
have to update them

- math-insert now takes a latex macro name as argument, so that
  "math-insert sqrt" should now be "\math-insert \sqrt"

- math-greek-toggle is now gone, and should be replaced by explicit
  bindings like

  \bind "M-m g a"      "math-insert \alpha"


Build requirements
------------------

LyX's graphics handling system has changed substantially. If you
do not have the JPEG library installed, you may need to install
it before you can use the graphics capabilities of LyX. If you
do not have the ImageMagick command-line tools installed, you
will need to modify the default set up of LyX, or install them,
in order to get previews of your document's graphics.

Document transfer
-----------------

LyX 1.4.x uses an external python script, lyx2lyx, to import documents
written using previous versions of LyX. All versions of LyX as far back as
0.12 are supported, so any klyx users still holding out for an alternative
to xforms will finally be able to put their dinosaur to rest ;-)

Of course, this means that you must have python (at least version 1.5.2)
installed in order to use LyX 1.4.x with your old documents.

lyx2lyx also has the framework in place to be able to convert documents
to an earlier format. However, these converters have only been written
for the conversion from 1.4.x to 1.3.x, so versions of LyX older than
1.3.0 will NOT be able to read documents saved with LyX 1.4.x.
The conversion from 1.4.x to 1.3.x is lossless as long as no new features
are used. lyx2lyx tries hard to find something equivalent for new
features such as boxes, but this is known to fail sometimes.
LyX 1.3.7 contains an updated lyx2lyx that can read documents in 1.4.x
format. LyX 1.4.x can also export to 1.3.x format for document transfer to
older 1.3.x releases.

If you were previously (in LyX 1.1.x) using the floatflt paragraph
option to wrap text around a figure, it was necessary to modify this
for LyX 1.2.0 manually, as described in the manuals. The feature has
been re-implemented as "Floting figure" inset in 1.3.0. Old files will
be converted automatically, but you may want to convert the
1.2.x-style ERT constructs with the native solution (see section 3.8
of the Extended Features manual).

Since LyX 1.2.0, the babel package is loaded after the user-defined
preamble (because some packages really need to be loaded before
babel). If you relied, on babel being loaded before your own
definitions, you can add an extra "\usepackage{babel}" statement at
the beginning of your preamble.

http://bugzilla.lyx.org/show_bug.cgi?id=315
