]> git.lyx.org Git - lyx.git/blobdiff - UPGRADING
Kill LFUN_PARAGRAPH_SPACING in favour of LFUN_PARAGRAPH_PARAMS.
[lyx.git] / UPGRADING
index 749cc484c4441c512fc08a6b836353ca561e3071..dc5d43224212a15226525345c2d01f88bf0dcb8a 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -1,12 +1,64 @@
-How do I upgrade my existing LyX system to version 1.2.x?
+How do I upgrade my existing LyX system to version 1.6.x?
 ---------------------------------------------------------
 
-If you upgrade from version 1.1.6 or 1.1.5, you shouldn't have any
-problems. It is nevertheless a good idea to advise all users to run
-Edit->Reconfigure.
+* Upgrading from LyX 1.5.x:
+
+The format of preference and session files has changed. LyX 1.6.x is
+able to read old files but will save them in the new format.
+
+The format of layout files has changed but, as before,
+layout2layout.py will convert older versions to the new format
+automatically.
+
+* Upgrading from LyX 1.4.x:
+
+The biggest change in 1.5 is the switch to Unicode. Please refer to
+the section "Document transfer" below for some things you might take
+into account before upgrading.
+
+The format of the preferences file has changed slightly. LyX 1.5.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.4.x and 1.5.x with the same
+personal configuration directory. If you are upgrading from 1.4.x and
+do not intend to continue using 1.4.x, you should delete your existing
+preferences file and allow LyX to create a new one.
+
+The list of recently open files is now stored in a different location.
+It will therefore be reset when upgrading from LyX 1.4.x.
+
+The format of the layout files has also changed, but LyX 1.5.x uses a
+converter layout2layout.py written in python that will convert old layout
+files on the fly (see below, section "Document transfer").
+
+* Upgrading from LyX 1.3.x:
+
+The format of the external template file has changed substantially with
+LyX 1.4.0. 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.
+
+* Upgrading from LyX 1.2.x:
+
+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.
+
+* Upgrading from LyX 1.1.x:
+
 - all layout files should have a "DefaultStyle" entry
 
 - the "Latex" font style does not exist anymore. If you really need
@@ -30,6 +82,10 @@ have to update them
 Build requirements
 ------------------
 
+LyX 1.6 uses the Qt 4.x toolkit (version 4.2.0 or newer). Contrary to
+previous versions of LyX, it won't build against Qt 2.x or 3.x.
+Furthermore, the XForms frontend was dropped.
+
 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
@@ -37,49 +93,111 @@ 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.
 
-Note: if you are using convert, and the graphics won't load in LyX,
-then you are probably seeing a bug in earlier versions of ImageMagick.
-You can either upgrade ImageMagick, change the convertor to use
-"convert -depth 8", which shold work around the problem, or set up
-a convertor to use a different conversion program as described in
-the documentation.
-
-http://bugzilla.lyx.org/show_bug.cgi?id=360
 Document transfer
 -----------------
 
-In general, you don't need to convert any documents saved with LyX
-1.1.5 or 1.1.6 to use them with LyX 1.2.0.
-
-Older versions of LyX cannot read documents saved with LyX 1.2.0.
-LyX 1.2.0 can read most documents saved with lyx 1.1.6 correctly.
-
-If you were previously using the floatflt paragraph option to
-wrap text around a figure, you will need to modify this for LyX 1.2.0
-manually, as described in the manuals. Please ask on the lyx-users
-list for assistance if you have trouble with this.
-Note that your document may rely on the floatflt package (for example,
-you may use \floatingfigure via LaTeX commands). If your document does
-not have "\usepackage{floatflt}" already in the user pre-amble, you will
-need to add it.
-The babel package is now loaded after the user-defined
+* Compatibility with older documents/layouts
+
+LyX 1.6.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.10 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 2.3.4)
+installed in order to use LyX 1.6.x with your old documents.
+
+lyx2lyx also has the framework in place to be able to convert
+documents to an earlier format (which requires python 2.3.4 at
+least). However, these converters have only been written for the
+conversion from 1.6.x to 1.5.x, 1.4.x and 1.3.x, so versions of LyX
+older than 1.3.0 will NOT be able to read documents saved with LyX
+1.6.x. The conversion from 1.6.x to 1.5.x-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.5.7 contains an updated lyx2lyx that can read
+documents in 1.6.x format.
+
+Furthermore, LyX uses a converter layout2layout.py, also 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.6.x format permanently.
+
+* Preparing for Unicode:
+
+As of version 1.5.0, LyX uses Unicode internally. This is a major change that
+affects documents and layouts likewise. We have tried to do out best to make the
+transition as smooth as possible for you. However, there are some caveats:
+
+- User layout files must be converted to UTF-8
+
+  In previous versions, layout styles were allowed to use non-ASCII names
+  using the local encodings. LyX-1.5 now assumes that all layout files are
+  UTF-8 encoded. This means that non-ASCII style names are still allowed
+  but they must be valid UTF-8 strings. One way of doing the conversion
+  is to use iconv. Using bash, the script below should work:
+
+     #! /bin/sh
+
+     cd /path/to/layouts
+     for l in *
+     do
+       cp "$l" tmp.txt
+       iconv -f latin1 -t utf8 tmp.txt -o "$l"
+     done
+     rm -f tmp.txt
+
+- Inset encodings and Conversion from earlier LyX versions
+
+  As part of the transition to unicode, lyx2lyx (the scripts used for
+  converting back and forth between different versions of the lyx
+  files) converts old .lyx files, which may use a number of different
+  encodings, to UTF-8. This conversion depends on correctly
+  identifying the language of the text. There were previously some
+  edge-cases (insets embedded in different-language text type
+  scenarios) in which the language was incorrectly identified, which
+  caused some text to appear incorrectly after having upgraded from
+  older versions. This has now been fixed. Unfortunately, however, the
+  fix cannot be applied to files which have already been converted
+  past format 249. So if you have already converted your old files
+  (using a development version or release candidate), this fix won't
+  help, unless you still have the originals lying around (and haven't
+  yet made too many changes to the newer versions ;) ).
+
+Generally, it is probably wise to keep a backup of the old version of your
+files, at least until you are sure that the upgrade went smoothly (which it
+almost always will).
+
+* Languages/encodings and insets
+
+One of the bugs fixed in LyX 1.5.0 is that previously, there were certain
+specific cases in which the LaTeX generated did not correctly reflect
+language/encoding transitions in and around insets (footnotes, LyX notes).
+After much deliberation, it was decided not to change older files such that
+they will still reflect the old LaTeX output; rather, they will now correctly
+reflect the situation as it appears in the GUI. This means, however, that if
+you mangled the text in the GUI in the older versions, in order that it
+generate the correct LaTeX output, the LaTeX will now generate the mangled
+text. If this is problematic for you, please get in touch with us on the
+developers mailing list, we do have some possible solutions for this.
+
+The effects of this will be more pronounced for RTL (Hebrew, Arabic, Farsi)
+users -- though they affect users of other languages as well.
+
+* Floatflt in 1.2.x and older
+
+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 "Floating 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).
+
+* Babel changes since 1.2.x
+
+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
-
-If you are using the minipage paragraph options in your document, you
-may find that LyX 1.2.0 fails to import them correctly as minipages.
-This might require some editing to correct this. If you have
-trouble with this, please ask the lyx-users mailing list for assistance,
-and we will be happy to help.
-
-http://bugzilla.lyx.org/show_bug.cgi?id=374
-http://bugzilla.lyx.org/show_bug.cgi?id=375
-http://bugzilla.lyx.org/show_bug.cgi?id=376