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