X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2FRELEASE-NOTES;h=9b939b736d1ba1f94d0a5e3f2c7a3ea516d921b9;hb=28f76b84c96323e4dad43140121aae01820b4c38;hp=f0f25ea06516225c0f9057953a8511440db26ad9;hpb=2aaf185e7c7446879350a552132a942ec7e32c39;p=lyx.git diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES index f0f25ea065..9b939b736d 100644 --- a/lib/RELEASE-NOTES +++ b/lib/RELEASE-NOTES @@ -1,189 +1,357 @@ -!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 at any time. 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 red + 'x' next to the spinner to cancel export. Thanks to this functionality, we now + remove the "Stop command?" prompt, which polled users whether to stop a long + process. -* 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 and other forms of deletion 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.) + +* Shift-F3 can 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. + +* When using the document compare function, there is now an option to display the + differences using a special "Document Compare" author. + +* InsetRef now supports starred commands. The starred commands stop hyperref from + creating a link (and are only available when hyperref is used). There is a + checkbox "No Hyperlink" for this purpose. + +* Alt-Escape can be used to 'float' and redock widgets like the table of contents + or source view. + +* Edit > Paste operation now preserves newlines in text by default. -* The following UI translations were dropped, because the lack of translation - maintenance: Russian, Danish, Greek, Serbian, Galician, Catalan, Romanian, - Dutch. !!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". + +* With LyXHTML output, there are now different CSS classes generated for + different depths: enumi, enumii, enumiii, and enumiv, and similarly for + itemize: lyxitemi, etc. There is also a new HTMLClass tag, which makes it + easier to provide specific classes for paragraphs. + +* HTML support has been updated to output XHTML5 files. A major change is the + use of XML entities instead of HTML ones (e.g., LyX now outputs - + instead of "). + +* 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. + +* Postscript -> PDF convertor (ps2pdf) uses -dALLOWPSTRANSPARENCY by + default now (implemented since ghostscript 9.53.3, see bug #12303). + +* There is a widespread ban on postscript conversions across different + linux distributions and there are currently two way how to address + various image conversion errors when typesetting your documents: + - either manually remove the bans of EPS/PDF coders in ImageMagick + policy.xml configuration file + - or install alternative converters for bitmap <-> postscript. + In particular pdftoppm (poppler-utils) and tiff2ps (libtiff-tools) + are now recognized and activated in case LyX detects ImageMagick + policy ban. These will allow eps<->png(jpg) conversion chain to + be found when processing your documents. + Package maintainers of distributions (e.g. openSUSE or Debian derivates) + where ghostscript conversions of ImageMagick are banned can simply + add dependencies for poppler-utils and libtiff-tools to workaround + the problem. + +* LyX now supports hebrew and hungarian quotation styles. + +!!!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 : 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 -* 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. +* \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. -!!!The following pref variables were added in 2.3: +* \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. -* \use_converter_needauth - when enabled, user is asked before calling any (possibly dangerous) - external converter with the 'needauth' option -* \use_converter_needauth_forbidden - when enabled, use of external converters with the 'needauth' option is - forbidden +!!!The following new LyX functions have been introduced in 2.4: -* \pygmentize_command - holds the name of the driver command used by the Pygments python module. +* bibtex-database-list: output a list of all bibtex files used in the current buffer. + The function outputs absolute paths in the OS style and separated by the os-specific + path separator. This function is intended for bibliography managers. -* \default_platex_view_format - Determine the default output format for Japanese documents that use the - pLaTeX backend [default: "pdf3" == "PDF (dvipdfm)"] +* branch-sync-all: Open/close all insets of selected branch (depending on its activation status). +* buffer-reset-export advises LyX to remove the auxiliary files before doing the next + export. -!!!The following pref variables were changed in 2.3: +* 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. -!!!The following pref variables are obsoleted in 2.3: +* 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 new LyX functions have been introduced in 2.3: +* lyxfiles-open opens the new examples or templates dialog. -* buffer-zoom - Zooms the screen fonts to a given value or resets to the default zoom - when no argument is given. +* master-buffer-forall executes an lfun in the master and all children of a document. -* branch-invert - Toggles inversion status of branch inset. +* paragraph-select is a new convenience function to select the paragraph + surrounding the actual cursor position. -* lyx-activate - Activates the LyX window. Useful in combination with reverse search. +* search-string-set [arg] stores the , 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. -* devel-mode-toggle - Activate/deactivate the developer mode, which consists mainly in: - (1) more information shown in the status bar and (2) help file - opened in editable mode. This state used to be hardcoded at compile - time. +* 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: +* index-tag-all adds a copy of the index entry under cursor to after all occurrences of the + word that precedes the index inset. -* 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). +* inset-insert-copy inserts the inset's content (in ToC pane) at the position of the cursor. -* inset-modify - This function now also applies to quote insets. It takes a three-character - string as an argument, referring (1.) to the style (e = ``english'', - s = ''swedish'', g = ,,german``, p = ,,polish'', f = <>, 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. +* 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. - 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 +* tabular-style-insert: Insert a table in a specified style. + +* tab-group-next, tab-group-previous: Activate another tab group in split view. + The new functions bound to F6/S-F6 in CUA bindings. + + +!!!The following LyX functions have been changed in 2.4: + +* citation-insert now returns a list of undefined citations if passed through the LyX Server. + +* 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). + +* info-insert buffer vcs-*: renamed to info-insert vcs * + +* inset-edit recognizes optional argument "nogui" - no editor will be launched in + such case, only filename will be returned (for use in scripts). + +* outline-in/out can now take argument "local", that restricts their + action to the current paragraph. + +* set-graphics-group was renamed to graphics-set-group. + +* tabular-feature: added toggle parameters "toggle-all-lines", "toggle-border-lines" + and "toggle-inner-lines" * 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. -!!!The following LyX documents have been moved in 2.3: + The 2.4 behavior of these functions is almost equivalent to the + pre-2.3 behavior: without argument, it just deletes the + next/previous element; with the "confirm" argument however, big + insets are selected on the first call and deleted only on the + second. This new behavior allow scripts to work intuitively and + require the argument only for interactive use. + + +!!!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: + +* 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. + + +!!Changes with respect to external programs and libraries in 2.4: + +* The Qt5 libraries are now used by default. In order to link against + Qt6 the configure option --enable-qt6 has to be used. Qt4 is not + supported anymore. + +* The dependency on pplatex/dvipost was dropped. + +* 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. + + 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. -* xtemplates: Contains the *.xtemplate files that define the external templates - (previously in the external_templates file). +* 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. -!!!The following preferences files have been removed from the tarball in 2.3: +* bash_completion script was updated for a newer syntax. -* external_templates. This files has been split into multiple *.xtemplate - files that are now shipped as content of the xtemplates directory. +!!Known issues in version 2.4.0 -!!!The following metadata files have been added to the tarball in 2.3: +* See http://www.lyx.org/trac/wiki/BugTrackerHome -!!Changes with respect to external programs and libraries in 2.3: +!!Caveats when upgrading from earlier versions to 2.4.x -* Inkscape SVG with separate LaTeX + PDF output is experimentally supported. +* 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. -* Add some editor/viewer applications to (re)configure checks. +* Autotools monolithic build option for building LyX binaries was removed, + for compilation speedup use parallel building on multiple cores instead. +* 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. -!!Known issues in version 2.3.0 + 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 upgrading from a LyX version before 2.3.0 -!!Caveats when upgrading from earlier versions to 2.3.x +* Please additionally see the release notes from the versions in-between: + https://wiki.lyx.org/LyX/ReleaseNotes -* 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. -* 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:
- 0x200b "\\hspace{0pt}" "" "" "" "" # ZERO WIDTH SPACE
- 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. +!!Detailed list of 2.4 changes -* 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. +* For more comprehensive list of changes and new features in LyX 2.4 see + https://wiki.lyx.org/LyX/NewInLyX24 -* LyX now gives a warning if a document mixes title and non-title layouts. - In some cases, this warning is harmless, but in other cases the document has - a serious problem even though the LaTeX command does not exit with error. For - example, create a document with a title layout, then a standard layout, and - then an author layout, and you will see in the PDF that the author is not - typeset as an author.