-!Important Changes in LyX 2.3.0
+!Important Changes in LyX 2.4.0
!!Interface changes
-* LyX now has "inverted" branch insets, which output their contents just in
- case a given branch is not "activated". This makes inclusion of alternate
- material in different versions easier.
+* It is now possible to cancel background export processes. A menu entry
+ to do so will appear on the Document menu when such a process is underway.
+ The LFUN for this is export-cancel. One can also click on the 'spinner'
+ to cancel export.
-* When inserting a command or symbol in mathed, it is now automatically
- wrapped in a real inset (either \text or \ensuremath) assuring the correct
- mode, instead of being wrapped only in the output. The wrapping inset can
- be safely dissolved, as it will be automatically inserted at export time
- if needed, as usual.
+* The items on the Edit menu have been reordered, and many of the shortcuts
+ have been changed so that they are more intuitive in the case of often
+ used items. We understand that this may frustrate some users and apologize,
+ while noting that menu shortcuts can always be customized by copying the
+ stdmenus.inc file to the user directory and editing it.
-* LyX now outputs en- and em-dashes as -- and --- ligatures when exporting to
- latex using TeX fonts, as done in version 2.1 and earlier. In version 2.2
- they were instead output as the macros \textendash and \textemdash, causing
- changed output with old documents and bugs. The 2.2 behavior can be restored
- by don't allowing using dash ligatures in Document->Settings->Fonts.
+* Backspace will now merge paragraphs even when they have different layouts.
+
+* Ctrl-click on a cross-reference will now take you to its label.
+
+* Default shortcuts for saving bookmarks have been changed to Alt-NUM, where
+ NUM is the number of the bookmark. (They were previously Shift-F1, etc.)
+
+* This allows Shift-F3 to be used for word-find-backwards (i.e., find previous)
+ on Linux and Windows.
+
+* The shortcut for word-find on OSX is now Cmd-E, as is the Apple standard. The
+ shortcut for word-find-previous is Cmd-G.
+
+* Continuous spellcheck is now on by default, but only if the user does not have
+ an existing preferences file. In that case, the old setting is preserved.
!!Documents compilation process and images conversion
-* The converters definition syntax (LYX_HOME/lyxrc*) now supports a
- new option, 'needauth', to prevent completely automated execution of
- the converter, unless LyX acquired explicit consent by the
- user. This is a new security feature, useful for converters that are
- capable of executing arbitrary code, such as R scripts (used with
- sweave/knitr), embedded within LyX documents. The user needs to
- explicitly grant per-document permission on the first need for using
- the converter on each document, unless he/she checks the "Don't ask
- again for this document" checkbox in the permission dialog. The new
- behavior can be fine-tuned from two new options in the preferences
- dialog (see their description below). These also allow for disabling
- 'needauth' converters altogether, if desired (default behavior).
+* LyX now uses utf8 encoding per default for all languages. This does
+ not affect existing documents. Note that LyX also does not touch
+ personal defaults and templates. That is to say, if you still see
+ traditional encoding preset for new documents, you can change that
+ by selecting "Unicode (utf8) [default]" and hitting "Save as
+ Documents Defaults" afterwards. Your personal templates need to be
+ changed manually if desired.
+
+* LyX defaults to the "HE8" LaTeX font encoding with Hebrew if the
+ "Culmus" LaTeX fonts are installed.
+
+* Documents that use TeX fonts can only be compiled with XeTeX if the input
+ encoding is set to "utf8-plain" or "ascii".
+
+* DocBook support has been revamped and now targets DocBook 5 (i.e.
+ only XML, SGML is gone). Some supporting files for the previous
+ implementation have been removed: all examples (lib/examples),
+ some layouts (existing documents should still work, but with a
+ DocBook 5 output instead of DocBook 4 SGML). The dependency on
+ sgmltools has been removed, this new support is always enabled.
+ Having sgmltools installed or not will not change anything in LyX.
+
+!!!The following pref variables were added in 2.4:
+
+* \ct_additions_underlined true|false: determines whether additions in change tracking
+ are underlined in the workarea (default: true).
+
+* \ct_markup_copied true|false: determines whether change tracking markup should be
+ preserved on copy/paste (default: false).
+
+* \citation_search_view lyxpaperview: determines whether external script "lyxpaperview"
+ should be used for looking up citation source.
+
+
+!!!The following pref variables were changed in 2.4:
+
+
+
+!!!The following pref variables are obsoleted in 2.4:
+
+* \font_encoding
+ The font encoding is now automatically set depending on the document
+ fonts and languages.
+
+* \use_qimage
+ This is no longer necessary due to the rewrite of the painter.
+
+* \use_pixmap_cacheqimage
+ There is no evidence that this painting mode was useful anymore.
-* LyX now supports insertion and automated conversion of Gnuplot scripts,
- recognized by their typical extension ".gp" or ".gnuplot". These can
- directly be inserted in a LyX document using the "Insert->Graphics..."
- dialog, then selecting the Gnuplot script. LyX automatically adds a
- proper "set terminal ..." and "set output ..." line to convert the
- file to the needed output format (e.g., .eps, .pdf), depending on
- whether the document is being previewed on screen or compiled as PDF
- or other formats. Terminal options cannot be fine-tuned at the moment,
- but that's a capability that may come soon, also according to the
- received feedback from users.
+* \date_insert_format
+ The function date-insert has been removed and superseded by info-insert date.
+ The latter does not need a pref value anymore.
-!!!The following pref variables were added in 2.3:
+!!!The following new LyX functions have been introduced in 2.4:
-* \use_converter_needauth
- when enabled, user is asked before calling any external converter with the
- 'needauth' option
+* bidi is a helper function to implement icons that are different between LTR and RTL text.
-* \use_converter_needauth_forbidden
- when enabled, use of external converters with the 'needauth' option is
- forbidden
+* buffer-reset-export advises LyX to remove the auxiliary files before doing the next
+ export.
+* buffer-write-as-template is a new convenience function to ease saving a document
+ in the (personal) templates folder.
-!!!The following pref variables were changed in 2.3:
+* export-cancel: Used to cancel background export processes.
-* \document_path
- Default is changed to ".". The best guess for where the user wants to save
- or find files is the directory the user started LyX from. Before, the
- default was always the home directory. If desired, the old behavior can be
- restored by changing the default path in Preferences > "Working directory".
+* font-nospellcheck marks the word under cursor or selection to the effect that the
+ spellchecker ignores it.
+* ifrelatives is a helper function to check whether a buffer has a master or children.
-!!!The following pref variables are obsoleted in 2.3:
+* lyxfiles-open opens the new examples or templates dialog.
+* master-buffer-forall executes an lfun in the master and all children of a document.
-!!!The following new LyX functions have been introduced in 2.3:
+* paragraph-select is a new convenience function to select the paragraph
+ surrounding the actual cursor position.
-* branch-invert
- Toggles inversion status of branch inset.
+* search-string-set [arg] stores the <arg>, the currently selected text or the word under
+ cursor in the search cache that is used by word-find[-backward|-forward] if no argument
+ is given to those.
-* lyx-activate
- Activates the LyX window. Useful in combination with reverse search.
+* spelling-add-local adds words for a given language to the document's local spelling
+ dictionary.
+* spelling-remove-local removes words for a given language from the document's local
+ spelling dictionary.
-!!!The following LyX functions have been changed in 2.3:
+* inset-split is a new convenience function that splits an inset into two at the given
+ cursor position. This is only implemented for text insets currently.
-* quote-insert
- The function now has a second and third optional argument to specify
- the side (left, right, auto) and quotation mark style (english, swedish,
- german, polish, french, danish).
+* tabular-style-insert: Insert a table in a specified style.
-* inset-modify
- This function now also applies to quote insets. It takes a three-character
- string as an argument, refering (1.) to the style (e = ``english'',
- s = ''swedish'', g = ,,german``, p = ,,polish'', f = <<french>>, a = >>danish<<),
- (2.) to the side (l = left, r = right) and (3.) to the quotation level
- (s = single, d = double). So "eld" means "English left double quotation mark".
- A dot in the string means: take the current value. So "inset-modify changetype e.."
- will only change the style to English, while letting side and level as is,
- "inset-modify changetype f.s" will change the style to French and the level to
- single, leaving the side value.
- This function is most useful when combined with inset-forall. E.g.,
- "inset-forall Quotes inset-modify changetype f.."
- => change all quote insets to French style, maintaining current side and level
- "inset-forall Quotes inset-modify changetype ..s"
- => change all quote insets to single quotes, keeping style and level
- "inset-forall Quotes inset-modify changetype g.s"
- => change all quote insets to German single quotes, keeping left/right setting
+!!!The following LyX functions have been changed in 2.4:
-* word-delete-forward, word-delete-backward, char-delete-forward,
- char-delete-backward
- The pre-2.3 behavior of these functions is equivalent to the 2.3 behavior with
- the "force" option appended. The new default behavior (without "force") is
- to select big insets on the first call and delete them only on the second.
- This new behavior is consistent with how delete works in LyX's math editor.
+* set-graphics-group was renamed to graphics-set-group.
-!!!The following LyX documents have been moved in 2.3:
+* info-insert buffer vcs-*: renamed to info-insert vcs *
+
+* file-insert: optional second parameter "ignorelang" to make the insertion
+ ignore the inserted file's main language (and rather adapt it to the insertion
+ context's language).
+
+
+!!!The following LyX functions have been removed in 2.4:
+
+* date-insert: obsoleted by info-insert date.
+
+!!!The following LyX function has been added and then removed in 2.4 development cycle.
+
+* bidi: used as a first solution to provide icons that change
+ direction with language.
+
+
+!!!The following LyX documents have been moved in 2.4:
+
+* As a result of a major restructuring of the templates and example
+ directories, almost all examples and templates files have been renamed and
+ moved to subfolders that reflect the layout category.
+ The files now have much more decriptive (and longer) names, and they use
+ URL encoding for specific special characters such as '(', ')' and '&'.
+ Notably also the file that opens for new users has been renamed (from
+ splash.lyx to Welcome.lyx).
!!!The following new folders have been added to the LyX directory
-* citeengines: Contains the *.citeengine files that determine the citation
- formatting and features.
+* The examples and templates directories have been completely re-organized.
+ They are now much more structured (by means of layout categories) and thus
+ consist of many new subfolders.
+
+
+
+!!!The following preferences files have been removed from the tarball in 2.4:
+
+
+
+!!!The following metadata files have been added to the tarball in 2.4:
+
+
+
+!!Changes with respect to external programs and libraries in 2.4:
+
+* The Qt5 libraries are now used by default. In order to link against
+ Qt4 the configure option --disable-qt5 has to be used.
-* xtemplates: Contains the *.xtemplate files that define the external templates
- (previously in the external_templates file).
+* The dependency on pplatex/dvipost was dropped.
+* The dependency on sgmltools was dropped, see DocBook 5 section.
-!!!The following preferences files have been removed from the tarball in 2.3:
+!!! Dependencies to generate ePub files:
-* external_templates. This files has been split into multiple *.xtemplate
- files that are now shipped as content of the xtemplates directory.
+* The DocBook XSLT 1.0 style sheets are a required dependency to generate
+ ePub files. All versions since 1.76.0 are supported.
+ Version 1.79.2 is bundled with LyX. If your system already provides xslt
+ style sheets you can use configure parameter --without-xslt-stylesheets to
+ avoid installing them.
-!!!The following metadata files have been added to the tarball in 2.3:
+* XSLT processor is needed, two options were successfully tested
+ a) xsltproc
+ - Works on Linux and OSX (tested with xsltproc 1.1.32).
+ - Fails on Windows.
+ b) Saxon
+ - Tested on Linux, OSX and Windows.
+ - Java is a required dependency. Any JVM for Java 1.4 should be supported.
+ - Only Saxon versions 6.5.4 and 6.5.5 are supported.
+ - Version 6.5.5 is bundled with LyX. If your system already provides Saxon
+ (or xsltproc) you can use configure parameter --without-saxon to avoid
+ installation of this library.
-!!Changes with respect to external programs and libraries in 2.3:
-* Inkscape SVG with separate LaTeX + PDF output is experimentally supported.
+!!Known issues in version 2.4.0
-* Add some editor/viewer applications to (re)configure checks.
+* See http://www.lyx.org/trac/wiki/BugTrackerHome
-!!Known issues in version 2.3.0
+!!Caveats when upgrading from earlier versions to 2.4.x
+* Autotools monolithic build option for building LyX binaries was removed,
+ for compilation speedup use parallel building on multiple cores instead.
-!!Caveats when upgrading from earlier versions to 2.3.x
+* Several ttf fonts (esint10.ttf, stmary10.ttf, wasy10.ttf) were changed
+ to reflect the fact that newer Qt libraries do not support displaying certain
+ codepoints anymore (bug #8493, #10161).
+ Distribution packagers need to repack those font files in case they are
+ delivering the fonts as a separated package dependent from core LyX
+ in order to display correctly math symbols like \oint.
-* The external_templates file has been split into one file per template,
- which are now located in lib/xtemplates/*.xtemplate. This makes it easier
- to add new templates or modify existing ones. If you have modified
- the external_templates file, you will have to move the modifications to
- the respective *.xtemplate file manually.
+ Also note, that while it is still possible to compile LyX against Qt 4
+ these math symbols will not be displayed correctly anymore on Qt 4.
-* If using TeX fonts and en- and em-dashes are output as font ligatures,
- when exporting documents containing en- and em-dashes to the format of
- LyX 2.0 or earlier, the following line has to be manually added to the
- unicodesymbols file of that LyX version:<br>
- 0x200b "\\hspace{0pt}" "" "" "" "" # ZERO WIDTH SPACE<br>
- This avoids "uncodable character" issues if the document is actually
- loaded by that LyX version. LyX 2.1 and later versions already have the
- necessary definition in their unicodesymbols file.
+!! If upgrading from a LyX version before 2.3.0
-* If trying to compile documents using R scripts and sweave/knitr, LyX
- 2.3.x would not allow for re-running the R scripts, unless the user:
- 1) explicitly disables the "Forbid use of needauth converters"
- option in the LyX preferences;
- 2) provides explicit consent to the use of the converter on the first
- compilation of the R-enhanced document.
+* Please additionally see the release notes from the versions in-between:
+ https://wiki.lyx.org/LyX/ReleaseNotes