Developing LyX Version 2.3.x
File formats
When is an update of the .lyx file format number needed? When you are working on a new feature you may ask yourself whether it needs an update of the .lyx file format number. Whether an update is needed or not is not always obvious. Rule of thumb:
Whenever there is the danger that a previous version of LyX cannot open a file using the new feature, a file format update is needed.
The file format change allows lyx2lyx rules to implement backwards compatibility. Below you can find a list of reasons for file format updates with explanations: New document setting Whenever you introduce a new setting that is stored in the document header, a file format update is needed. Removed document setting If a certain setting becomes obsolete and gets removed, a file format update is needed. New valid value for an existing setting, e. g. Automatically loaded math package The reason for this is that there is no true ERT inset for math formulas: Each command is parsed, and if a user happens to define a local command with the same name as a command that triggers an automatic load of a package, they need to be able to switch off the automatic loading of that package. This switch is stored by the use_package header setting. New language that is stored in \language. New inset Of course a new inset requires a file format update. New style If a new style or inset layout is added to any layout file or module shipped with LyX, then a new file format is needed in the master (development) branch. It is possible to backport new styles to the stable version without a file format change. Removed style If a style or inset layout is removed in any layout file or module shipped with LyX, a new file format is required. However, new layouts and modules do not require a file format update (changed 03/16). If you are still unsure, please ask on the development list.
Output formats The following output formats are currently tested for each sample document: LyX: lyx16 LyX 1.6 file format (lyx2lyx) lyx21 LyX 2.1 file format (lyx2lyx) xhtml LyXHTML (native LyX HTML export) LyX + LaTeX: dvi DVI (8-bit latex) dvi3_texF DVI (LuaTeX with 8-bit TeX fonts) dvi3_systemF DVI (LuaTeX with Unicode fonts) pdf2 PDF (pdflatex) pdf4_texF PDF (XeTeX with 8-bit TeX fonts) pdf4_systemF PDF (XeTeX with Unicode fonts) pdf5_texF PDF (LuaTeX with 8-bit TeX fonts) pdf5_systemF PDF (LuaTeX with Unicode fonts) LyX + LaTeX + postprocessing: pdf DVI -> PS (dvips) -> PDF (ps2pdf) pdf3 DVI -> PDF (dvipdfm) not tested: (or only if set as default output format in the document source) latex LaTeX (plain) luatex LaTeX (LuaTeX) dviluatex LaTeX (dviluatex) pdflatex LaTeX (pdflatex) platex LaTeX (pLaTeX) xetex LaTeX (XeTeX) eps3 EPS (encapsulated Postscript) (cropped) ps DVI -> Postscript (dvips) odf text (nor text2, ..., text4) textparagraph word word2 wordhtml