]> git.lyx.org Git - features.git/blobdiff - lib/RELEASE-NOTES
Introduce index-tag-all lfun
[features.git] / lib / RELEASE-NOTES
index 8382bfff6e08fdd067ea166d43d6fbc9f84d86a6..3c211a2025d7de4f47ce2a792f38cbf55c658417 100644 (file)
-!Important Changes in LyX 2.2.0
-
-(: This file lists interface changes that might affect users in 2.2.0, some
-   known problems in LyX 2.2.0 and some things you have to take into account
-   when upgrading from earlier versions to a version of the 2.2.x series. :)
+!Important Changes in LyX 2.4.0
 
 
 !!Interface changes
 
-* The --Separator-- layout has been removed in favor of an environment
-  separator inset. There is no provision for inserting this inset from
-  the GUI (though some menu entries use it) as it is automatically inserted
-  when needed. See Section 3.4.6 of the User Guide for details.
+* 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.
+
+* 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.
+
+* 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 to use the selection for a find on macOS is now Cmd-E, as is the
+  Apple standard.  The shortcut for find the next occurrence of the current
+  find buffer text is Cmd-G.  The shortcut for toggle of font emphasis has been
+  changed to Cmd-Ctrl-E.
+
+* 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.
+
+* Document (or selection statistics) is now shown in status bar and can be
+  disabled by the context menu.
+
+* The actual enabled state of the synchronize TeX output option of the document
+  is used to enable or disable the menu item for forward-search.
+
+!!Documents compilation process and images conversion
+
+* 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.
+
+* \draw_strategy partial|backingstore: when this is set to
+  "backingstore", the drawing code will force the use of an
+  intermediate surface, instead of just drawing changed regions on
+  screen. Note that "backingstore" is actually always enforced on
+  macOS and Wayland (default: partial).
+
+* \screen_limit true|false: determines whether the text width on screen is limited
+  (both fullscreen and normal view).
+
+* \screen_width <length>: sets the width of the text on screen if \screen_limit is true.
+
+!!!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.
+
+* \fullscreen_limit
+  Removed in favor of \screen_limit
+
+* \fullscreen_width
+  Removed in favor of \screen_width
+
+* \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.
+
+* \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 new LyX functions have been introduced in 2.4:
+
+* 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.
+
+* export-cancel: Used to cancel background export processes.
+
+* 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.
+
+* lyxfiles-open opens the new examples or templates dialog.
+
+* master-buffer-forall executes an lfun in the master and all children of a document.
+
+* paragraph-select is a new convenience function to select the paragraph
+  surrounding the actual cursor position.
+
+* 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.
+
+* 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.
+
+* index-tag-all adds a copy of the index entry under cursor to after all occurrences of the
+  word that precedes the index inset.
+  
+* inset-insert-copy inserts the inset's content (in ToC pane) at the position of the cursor.
+
+* 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.
+
+* tabular-style-insert: Insert a table in a specified style.
+
+
+!!!The following LyX functions have been changed in 2.4:
+
+* set-graphics-group was renamed to graphics-set-group.
+
+* 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).
+
+* tabular-feature: added toggle parameters "toggle-all-lines", "toggle-border-lines"
+  and "toggle-inner-lines"
 
-* The prefix for subsections in labels and references has been changed from
-  "sub:" to "subsec:" in order to avoid a clash with subfloats (conflicting
-  \subref command, see bug #7550). Files are automatically converted to the new
-  scheme. Please assure that you adapt external refstyle or prettyref
-  definitions and your own layout files.
+* branch-sync-all: Open/close all insets of selected branch (depending on its activation status).
 
-* Support for printing from within LyX (File> Print) has been removed. LyX's
-  printing support was very limited, and most users will want to print after
-  reviewing an output document (e.g., a PDF), anyway, which can be done from the
-  PDF viewer.
-  Users who would like to restore this functionality can create a
-  "printer" format from within LyX and then define, say, a
-  pdf->printer converter that does nothing but call lpd, or a2ps, or
-  whatever. The "printer" will then be available as an export option.
 
+!!!The following LyX functions have been removed in 2.4:
 
-!!!The following pref variables were added in 2.2:
+* date-insert: obsoleted by info-insert date.
 
-* \save_origin
-  This variable was introduced to allow saving the document directory
-  path in the document. If allowed, LyX will be able to locate all
-  included files even when the document is manually moved/copied to
-  a different location. If a valid \origin tag is present and the
-  document was actually moved, the path of all included files is
-  updated relative to the new location and the new origin will be
-  recorded when saving again the document.
+!!!The following LyX function has been added and then removed in 2.4 development cycle.
 
-!!!The following pref variables were changed in 2.2:
+* bidi: used as a first solution to provide icons that change
+  direction with language.
 
 
+!!!The following LyX documents have been moved in 2.4:
 
-!!!The following pref variables are obsoleted in 2.2:
+* 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).
 
-* \rtl
-  This variable was introduced to guard against any bad consequence of
-  the then-new right-to-left languages support. It is no longer needed
-  because of improvements. Now right-to-left support is always enabled.
 
-* \printer
-* \print_adapt_output
-* \print_command
-* \print_evenpage_flag
-* \print_oddpage_flag
-* \print_pagerange_flag
-* \print_copies_flag
-* \print_collcopies_flag
-* \print_reverse_flag
-* \print_to_printer
-* \print_to_file
-* \print_file_extension:
-  These were used for print support, which has been removed.
+!!!The following new folders have been added to the LyX directory
 
+* 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 new LyX functions have been introduced in 2.2:
 
-* buffer-view-cache
-  Opens the last previewed output of the buffer, if it exists.
 
-* buffer-move-next
-  Moves the current tab one spot to the right.
+!!!The following preferences files have been removed from the tarball in 2.4:
 
-* buffer-move-previous
-  Moves the current tab one spot to the left.
 
 
-!!!The following LyX functions have been changed in 2.2:
+!!!The following metadata files have been added to the tarball in 2.4:
 
-* word-upcase, word-lowcase and word-capitalize do not select the word
-  to operate on in the emacs way (that is, starting at cursor
-  position); this behaviour can be restored by using the argument
-  "partial".
+* Metainfo was updated from appdata.xml to org.lyx.LyX.metainfo.xml
+  and is by default installed to /usr/share/metainfo/ per freedesktop.org
+  recommendation.
 
-!!!The following LyX key bindings have been changed in 2.2:
 
-* For bindings where Control + {PgDn, PgUp} switches to the
-  {next, previous} tab, Control + Shift + {PgDn, PgUp} moves the current
-  tab to the {next, previous} tab.
+!!Changes with respect to external programs and libraries in 2.4:
 
-* The shortcuts for "bookmark-save x" have been changed from C-M-S-x to S-Fx
-  ("x" stands for the number of the bookmark.)
+* The Qt5 libraries are now used by default. In order to link against
+  Qt4 the configure option --disable-qt5 has to be used.
 
+* The dependency on pplatex/dvipost was dropped.
 
-!!!The following LyX documents have been moved in 2.2:
+* The dependency on sgmltools was dropped, see DocBook 5 section.
 
+!!! Dependencies to generate ePub files:
 
+* The DocBook XSLT 1.0 style sheets are a required dependency to generate
+  ePub files. All versions since 1.76.0 are supported.
 
-!!!The following metadata files have been added to the tarball in 2.2:
+  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.
 
 
+* 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.2:
+* bash_completion script was updated for a newer syntax.
 
-* LyX 2.2.0 and the following 2.2.x releases will continue to work well with
-  Qt 4.5 (and later Qt 4.x) but will also support Qt 5.6, which brings some
-  advantages most notably for users with HiDPI displays. Note that if you
-  compile LyX with a Qt 5 release before 5.6 you are likely to run into
-  several regressions with respect to Qt 4.x. See #9215 for a list of bugs
-  related to compiling LyX with different versions of Qt.
 
-* LyX now gives an error if the underlying LaTeX command exited with error.
+!!Known issues in version 2.4.0
 
+* See http://www.lyx.org/trac/wiki/BugTrackerHome
 
-!!Known issues in version 2.2.0
 
-* LyX needs to be run under Python 2 and will not work properly on systems
-  where Python 3 is the default binary. See bug #7030 to know how to fix
-  this properly, since simple shebang conversion in *.py files will not
-  be enough.
+!!Caveats when upgrading from earlier versions to 2.4.x
 
+* LyX now uses the parskip package for vertical paragraph separation. Since the
+  output differs from the previous (sub-optimal) approach which applied paragraph
+  separation to sections, lists etc. as well, existing documents
+  are converted to use preamble code that maintains the previous layout.
+  The downside is that the workarea looks as if paragraph indendation rather
+  than paragraph separation was used (output is correct). We encourage you
+  to try if the new layout suits you, remove the respective preamble code
+  and re-set the paragraph separation to use the new layout.
 
-!!Caveats when upgrading from earlier versions to 2.2.x
+* Autotools monolithic build option for building LyX binaries was removed,
+  for compilation speedup use parallel building on multiple cores instead.
 
-* BibTeX errors are now processed and cause LyX to show the errors dialog.
-  Before, these errors were ignored, which means that it may happen that
-  documents that compiled without error with a previous version now
-  compile with error. However, because now in 2.2.x users can click on
-  the "Show Output Anyway" button, the document can still be viewed.
+* 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.
 
-* Missing characters in the output are now reported as errors. This leads
-  to error reports for documents that compiled without error before.
-  However, the error was always present but went undetected!
+  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.
 
-* Documents using Times fonts and containing Greek characters may now fail
-  to compile under pdflatex for users of MikTeX due to an automatically
-  half-installed "grtimes" package. A workaround in LyX was removed as it
-  stands in the way of alternative approaches (see bug #6469).
+!! If upgrading from a LyX version before 2.3.0
 
-* With LuaTeX, LyX now uses polyglossia instead of babel if the language
-  package option "Automatic" is selected. In order to use babel, select
-  "Always babel" instead. This may be needed if a document uses code that
-  is specific to babel.
+* Please additionally see the release notes from the versions in-between:
+  https://wiki.lyx.org/LyX/ReleaseNotes