]> git.lyx.org Git - lyx.git/blob - lib/RELEASE-NOTES
* RELEASE-NOTES rephrase
[lyx.git] / lib / RELEASE-NOTES
1 !Important Changes in LyX 2.4.0
2
3
4 !!Interface changes
5
6 * It is now possible to cancel background export processes at any time. A menu
7   entry to do so will appear on the Document menu when such a process is
8   underway.  The LFUN for this is export-cancel. One can also click on the red
9   'x' next to the spinner to cancel export. Thanks to this functionality, we now
10   remove the "Stop command?" prompt, which polled users whether to stop a long
11   process.
12
13 * The items on the Edit menu have been reordered, and many of the shortcuts
14   have been changed so that they are more intuitive in the case of often
15   used items. We understand that this may frustrate some users and apologize,
16   while noting that menu shortcuts can always be customized by copying the
17   stdmenus.inc file to the user directory and editing it.
18
19 * Backspace and other forms of deletion will now merge paragraphs even when they 
20   have different layouts.
21
22 * Ctrl-click on a cross-reference will now take you to its label.
23
24 * Default shortcuts for saving bookmarks have been changed to Alt-NUM, where
25   NUM is the number of the bookmark. (They were previously Shift-F1, etc.)
26
27 * Shift-F3 can be used for word-find-backwards (i.e., find previous) on Linux
28   and Windows.
29
30 * The shortcut to use the selection for a find on macOS is now Cmd-E, as is the
31   Apple standard.  The shortcut for find the next occurrence of the current
32   find buffer text is Cmd-G.  The shortcut for toggle of font emphasis has been
33   changed to Cmd-Ctrl-E.
34
35 * Continuous spellcheck is now on by default, but only if the user does not have
36   an existing preferences file. In that case, the old setting is preserved.
37
38 * Document (or selection statistics) is now shown in status bar and can be
39   disabled by the context menu.
40
41 * The actual enabled state of the synchronize TeX output option of the document
42   is used to enable or disable the menu item for forward-search.
43
44 * When using the document compare function, there is now an option to display the
45   differences using a special "Document Compare" author.
46
47 * InsetRef now supports starred commands. The starred commands stop hyperref from
48   creating a link (and are only available when hyperref is used). There is a 
49   checkbox "No Hyperlink" for this purpose.
50
51 * Alt-Escape can be used to 'float' and redock widgets like the table of contents
52   or source view.
53
54 * Edit > Paste operation now preserves newlines in text by default.
55
56 * Dark mode on Windows is possible now by choosing "fusion" user interface style
57   in the user interface preferences dialog, your system style has to be set to dark.
58
59
60 !!Documents compilation process and images conversion
61
62 * LyX now uses utf8 encoding per default for all languages. This does
63   not affect existing documents. Note that LyX also does not touch
64   personal defaults and templates. That is to say, if you still see
65   traditional encoding preset for new documents, you can change that
66   by selecting "Unicode (utf8) [default]" and hitting "Save as
67   Documents Defaults" afterwards. Your personal templates need to be
68   changed manually if desired.
69
70 * LyX defaults to the "HE8" LaTeX font encoding with Hebrew if the
71   "Culmus" LaTeX fonts are installed.
72
73 * Documents that use TeX fonts can only be compiled with XeTeX if the input
74   encoding is set to "utf8-plain" or "ascii".
75
76 * With LyXHTML output, there are now different CSS classes generated for
77   different depths: enumi, enumii, enumiii, and enumiv, and similarly for
78   itemize: lyxitemi, etc. There is also a new HTMLClass tag, which makes it
79   easier to provide specific classes for paragraphs.
80
81 * HTML support has been updated to output XHTML5 files. A major change is the
82   use of XML entities instead of HTML ones (e.g., LyX now outputs -
83   instead of ").
84
85 * DocBook support has been revamped and now targets DocBook 5 (i.e.
86   only XML, SGML is gone). Some supporting files for the previous
87   implementation have been removed: all examples (lib/examples),
88   some layouts (existing documents should still work, but with a
89   DocBook 5 output instead of DocBook 4 SGML). The dependency on
90   sgmltools has been removed, this new support is always enabled.
91   Having sgmltools installed or not will not change anything in LyX.
92
93 * Postscript -> PDF convertor (ps2pdf) uses -dALLOWPSTRANSPARENCY by
94   default now (implemented since ghostscript 9.53.3, see bug #12303).
95
96 * There is a widespread ban on postscript conversions across different
97   linux distributions and there are currently two way how to address
98   various image conversion errors when typesetting your documents: 
99   - either manually remove the bans of EPS/PDF coders in ImageMagick
100     policy.xml configuration file
101   - or install alternative converters for bitmap <-> postscript.
102     In particular pdftoppm (poppler-utils) and tiff2ps (libtiff-tools)
103     are now recognized and activated in case LyX detects ImageMagick
104     policy ban. These will allow eps<->png(jpg) conversion chain to
105     be found when processing your documents. 
106   Package maintainers of distributions (e.g. openSUSE or Debian derivates)
107   where ghostscript conversions of ImageMagick are banned can simply 
108   add dependencies for poppler-utils and libtiff-tools to workaround
109   the problem.
110
111 * LyX now supports hebrew and hungarian quotation styles.
112
113 !!!The following pref variables were added in 2.4:
114
115 * \ct_additions_underlined true|false: determines whether additions in change tracking
116   are underlined in the workarea (default: true).
117
118 * \ct_markup_copied true|false: determines whether change tracking markup should be
119   preserved on copy/paste (default: false).
120
121 * \citation_search_view lyxpaperview: determines whether external script "lyxpaperview"
122   should be used for looking up citation source.
123
124 * \draw_strategy partial|backingstore: when this is set to
125   "backingstore", the drawing code will force the use of an
126   intermediate surface, instead of just drawing changed regions on
127   screen. Note that "backingstore" is actually always enforced on
128   macOS and Wayland (default: partial).
129
130 * \screen_limit true|false: determines whether the text width on screen is limited
131   (both fullscreen and normal view).
132
133 * \screen_width <length>: sets the width of the text on screen if \screen_limit is true.
134
135 !!!The following pref variables were changed in 2.4:
136
137
138
139 !!!The following pref variables are obsoleted in 2.4:
140
141 * \font_encoding
142   The font encoding is now automatically set depending on the document
143   fonts and languages.
144
145 * \fullscreen_limit
146   Removed in favor of \screen_limit
147
148 * \fullscreen_width
149   Removed in favor of \screen_width
150
151 * \use_qimage
152   This is no longer necessary due to the rewrite of the painter.
153
154 * \use_pixmap_cacheqimage
155   There is no evidence that this painting mode was useful anymore.
156
157 * \date_insert_format
158   The function date-insert has been removed and superseded by info-insert date.
159   The latter does not need a pref value anymore.
160
161
162 !!!The following new LyX functions have been introduced in 2.4:
163
164 * bibtex-database-list: output a list of all bibtex files used in the current buffer.
165   The function outputs absolute paths in the OS style and separated by the os-specific
166   path separator. This function is intended for bibliography managers.
167
168 * branch-sync-all: Open/close all insets of selected branch (depending on its activation status).
169
170 * buffer-reset-export advises LyX to remove the auxiliary files before doing the next
171   export.
172
173 * buffer-write-as-template is a new convenience function to ease saving a document
174   in the (personal) templates folder.
175
176 * export-cancel: Used to cancel background export processes.
177
178 * font-nospellcheck marks the word under cursor or selection to the effect that the
179   spellchecker ignores it.
180
181 * ifrelatives is a helper function to check whether a buffer has a master or children.
182
183 * lyxfiles-open opens the new examples or templates dialog.
184
185 * master-buffer-forall executes an lfun in the master and all children of a document.
186
187 * paragraph-select is a new convenience function to select the paragraph
188   surrounding the actual cursor position.
189
190 * search-string-set [arg] stores the <arg>, the currently selected text or the word under
191   cursor in the search cache that is used by word-find[-backward|-forward] if no argument
192   is given to those.
193
194 * spelling-add-local adds words for a given language to the document's local spelling
195   dictionary.
196
197 * spelling-remove-local removes words for a given language from the document's local
198   spelling dictionary.
199
200 * index-tag-all adds a copy of the index entry under cursor to after all occurrences of the
201   word that precedes the index inset.
202
203 * inset-insert-copy inserts the inset's content (in ToC pane) at the position of the cursor.
204
205 * inset-split is a new convenience function that splits an inset into two at the given
206   cursor position. This is only implemented for text insets currently.
207
208 * tabular-style-insert: Insert a table in a specified style.
209
210 * tab-group-next, tab-group-previous: Activate another tab group in split view.
211   The new functions bound to F6/S-F6 in CUA bindings.
212
213
214 !!!The following LyX functions have been changed in 2.4:
215
216 * citation-insert now returns a list of undefined citations if passed through the LyX Server.
217
218 * file-insert: optional second parameter "ignorelang" to make the insertion
219   ignore the inserted file's main language (and rather adapt it to the insertion
220   context's language).
221
222 * info-insert buffer vcs-*: renamed to info-insert vcs *
223
224 * inset-edit recognizes optional argument "nogui" - no editor will be launched in
225   such case, only filename will be returned (for use in scripts).
226
227 * outline-in/out can now take argument "local", that restricts their
228   action to the current paragraph.
229
230 * set-graphics-group was renamed to graphics-set-group.
231
232 * tabular-feature: added toggle parameters "toggle-all-lines", "toggle-border-lines"
233   and "toggle-inner-lines"
234
235 * word-delete-forward, word-delete-backward, char-delete-forward,
236   char-delete-backward
237
238   The 2.4 behavior of these functions is almost equivalent to the
239   pre-2.3 behavior: without argument, it just deletes the
240   next/previous element; with the "confirm" argument however, big
241   insets are selected on the first call and deleted only on the
242   second. This new behavior allow scripts to work intuitively and
243   require the argument only for interactive use.
244
245
246 !!!The following LyX functions have been removed in 2.4:
247
248 * date-insert: obsoleted by info-insert date.
249
250 !!!The following LyX function has been added and then removed in 2.4 development cycle.
251
252 * bidi: used as a first solution to provide icons that change
253   direction with language.
254
255
256 !!!The following LyX documents have been moved in 2.4:
257
258 * As a result of a major restructuring of the templates and example
259   directories, almost all examples and templates files have been renamed and
260   moved to subfolders that reflect the layout category.
261   The files now have much more decriptive (and longer) names, and they use
262   URL encoding for specific special characters such as '(', ')' and '&'.
263   Notably also the file that opens for new users has been renamed (from
264   splash.lyx to Welcome.lyx).
265
266
267 !!!The following new files and folders have been added to the LyX directory
268
269 * The examples and templates directories have been completely re-organized.
270   They are now much more structured (by means of layout categories) and thus
271   consist of many new subfolders.
272
273 * The file images/icon.aliases provides simple string substitution
274   rules that can be used when searching for an icon. This mechanism
275   can be used to handle icons for renamed lfuns or new arguments.
276
277
278 !!!The following preferences files have been removed from the tarball in 2.4:
279
280
281
282 !!!The following metadata files have been added to the tarball in 2.4:
283
284 * Metainfo was updated from appdata.xml to org.lyx.LyX.metainfo.xml
285   and is by default installed to /usr/share/metainfo/ per freedesktop.org
286   recommendation.
287
288
289 !!Changes with respect to external programs and libraries in 2.4:
290
291 * The Qt5 libraries are now used by default. In order to link against
292   Qt6 the configure option --enable-qt6 has to be used. Qt4 is not 
293   supported anymore.
294
295 * The dependency on pplatex/dvipost was dropped.
296
297 * The dependency on sgmltools was dropped, see DocBook 5 section.
298
299 !!! Dependencies to generate ePub files:
300
301 * The DocBook XSLT 1.0 style sheets are a required dependency to generate
302   ePub files. All versions since 1.76.0 are supported.
303
304   Version 1.79.2 is bundled with LyX. If your system already provides xslt
305   style sheets you can use configure parameter --without-xslt-stylesheets to
306   avoid installing them.
307
308
309 * XSLT processor is needed, two options were successfully tested
310   a) xsltproc
311      - Works on Linux and OSX (tested with xsltproc 1.1.32).
312      - Fails on Windows.
313   b) Saxon
314      - Tested on Linux, OSX and Windows.
315      - Java is a required dependency. Any JVM for Java 1.4 should be supported.
316      - Only Saxon versions 6.5.4 and 6.5.5 are supported.
317      - Version 6.5.5 is bundled with LyX. If your system already provides Saxon
318        (or xsltproc) you can use configure parameter --without-saxon to avoid
319        installation of this library.
320
321 * bash_completion script was updated for a newer syntax.
322
323
324 !!Known issues in version 2.4.0
325
326 * Compiling LyX 2.4 on MacOS with Qt6 makes currently LyX unresponsive to 
327   Control-Command keyboard shortcuts (bug #12641).
328
329 * Gnome environments defaulting to Wayland + mutter compositor might be missing
330   proper window decorations. This is a generic problem which can be for Qt-based
331   applications (including LyX) alleviated by setting QT_QPA_PLATFORMTHEME=gnome
332   environment variable prior to running LyX.
333
334 * For others see http://www.lyx.org/trac/wiki/BugTrackerHome
335
336
337 !!Caveats when upgrading from earlier versions to 2.4.x
338
339 * LyX now uses the parskip package for vertical paragraph separation. Since the
340   output differs from the previous (sub-optimal) approach which applied paragraph
341   separation to sections, lists etc. as well, existing documents
342   are converted to use preamble code that maintains the previous layout.
343   The downside is that the workarea looks as if paragraph indendation rather
344   than paragraph separation was used (output is correct). We encourage you
345   to try if the new layout suits you, remove the respective preamble code
346   and re-set the paragraph separation to use the new layout.
347
348 * Autotools monolithic build option for building LyX binaries was removed,
349   for compilation speedup use parallel building on multiple cores instead.
350
351 * Several ttf fonts (esint10.ttf, stmary10.ttf, wasy10.ttf) were changed
352   to reflect the fact that newer Qt libraries do not support displaying certain
353   codepoints anymore (bug #8493, #10161).
354   Distribution packagers need to repack those font files in case they are
355   delivering the fonts as a separated package dependent from core LyX
356   in order to display correctly math symbols like \oint.
357
358   Also note, that while it is still possible to compile LyX against Qt 4
359   these math symbols will not be displayed correctly anymore on Qt 4.
360
361 !! If upgrading from a LyX version before 2.3.0
362
363 * Please additionally see the release notes from the versions in-between:
364   https://wiki.lyx.org/LyX/ReleaseNotes
365
366
367 !!Detailed list of 2.4 changes
368
369 * For more comprehensive list of changes and new features in LyX 2.4 see
370   https://wiki.lyx.org/LyX/NewInLyX24
371