]> git.lyx.org Git - lyx.git/blobdiff - RELEASE-NOTES
Added doxygen target if found doxygen executable
[lyx.git] / RELEASE-NOTES
index 751354f3b397da821593d167058d1724782910b2..53822703c1498c6dda24398b5808c2110c1e0ae2 100644 (file)
@@ -1,6 +1,6 @@
-This file lists interface changes that might affect users in 1.6.0, some 
-known problems in LyX 1.6.0 and some things you have to take into account
-when upgrading from earlier versions to a version of the 1.6.x series.
+This file lists interface changes that might affect users in 2.0.0, some 
+known problems in LyX 2.0.0 and some things you have to take into account
+when upgrading from earlier versions to a version of the 2.0.x series.
 Note that fixes are available for some of these, but they have not yet
 been applied because of incomplete testing.
 
@@ -8,236 +8,282 @@ been applied because of incomplete testing.
 Interface changes
 -----------------
 
-The external template format recognize now a new tag: 'Preview'. This
-tag is used to define how an external material should be previewed in
-LyX. For more detail, see the 'external_templates' file in the resource
-directory of LyX.
+There have been some changes to the LyX command line. There is a new option 
+"--batch" that causes LyX to run the given commands without opening a GUI 
+window. Thus, something like:
+    lyx -batch -x "buffer-print printer default dvips" myfile.lyx
+will cause LyX to print myfile.lyx to the default printer, using dvips and 
+the default print settings (which, of course, have to have been configured 
+already). At present, not many commands can be used this way, but there will
+be more eventually.
 
-LyX 1.6.0 introduces support for the pLaTeX distribution which provides
-extended language and script support for Japanese. The language
-"Japanese" now uses this new method. Japanese support via the CJK
-package is still available, but has been renamed to "Japanese (CJK)".
-Old documents continue to use the CJK method.  Also cf. the "known
-issues" section for some remaining problems.
+A bash completion script was added to the tarball.
 
-Some of the LyX functions have changed names:
+We have introduced a new flag to decide whether or not a given "document"
+format shall be listed in the File > Export menu. This was necessary since
+this menu got too large. If the flag "menu=export" is not explicitly set,
+the formats are not included in the menu. This means that you might need
+to click "Show in export menu" in Preferences > File Formats for your
+customized file formats if you want them to appear in the menu.
+Note, though, that you still can export to any possible format via
+File > Export > More Formats and Options ...
 
-- A new LFUN_SPECIALCHAR_INSERT has been implemented that obsoletes the
-  different LFUNs for single special characters:
+The following pref variables were changed in 2.0:
 
-  * LFUN_HYPHENATION_POINT_INSERT: removed. "hyphenation-point-insert" 
-    has been replaced by "specialchar-insert hyphenation-point"
-  * LFUN_LIGATURE_BREAK_INSERT: removed. "ligature-break-insert" 
-    has been replaced by "specialchar-insert ligature-break"
-  * LFUN_DOTS_INSERT: removed. "dots-insert" 
-    has been replaced by "specialchar-insert dots"
-  * LFUN_END_OF_SENTENCE_PERIOD_INSERT: removed.
-    "end-of-sentence-period-insert" has been replaced by
-    "specialchar-insert end-of-sentence"
-  * LFUN_MENU_SEPARATOR_INSERT: removed. "menu-separator-insert" 
-    has been replaced by "specialchar-insert menu-separator"
+- \language_package was renamed to \language_custom_package
 
-- The function LFUN_BREAK_LINE, "break-line" has been renamed to
-  LFUN_NEWLINE_INSERT, "newline-insert", and it now allows two options:
-  "newline-insert newline" inserts a \newline, "newline-insert linebreak"
-  inserts a \linebreak.
+- \language_use_babel (bool) has been replaced by 
+  \language_package_selection, which can be
+  0 (automatic selection)
+  1 (always use babel)
+  2 custom (use the custom package defined by
+    \language_custom_package)
+  3 none (equivalent to former \language_use_babel false)
 
-- The function LFUN_PAGEBREAK_INSERT, "pagebreak-insert" has been renamed to
-  LFUN_NEWPAGE_INSERT, "newpage-insert". It obsololetes the following functions:
+The following pref variables are obsoleted in 2.0:
 
-  * LFUN_PAGEBREAK_INSERT: removed. "pagebreak-insert" has been replaced by
-    "newpage-insert pagebreak"
+- \plaintext_roff_command (was not used anymore)
 
-  * LFUN_CLEARPAGE_INSERT: removed. "clearpage-insert" has been replaced by
-    "newpage-insert clearpage"
+- \personal_dictionary, \spell_command, \use_input_encoding,
+  \use_personal_dictionary and \use_spell_lib (ispell support has been
+  removed)
 
-  * LFUN_CLEARDOUBLEPAGE_INSERT: removed. "clearpage-insert" has been replaced
-    by "newpage-insert cleardoublepage"
+- \spellchecker_use_alt_lang and \use_escape_chars (actually not used
+  by the UI, and it is as simple to check whether the relevant
+  variable is empty)
 
-- The function LFUN_WORDS_COUNT, "words-count", has been replaced by
-  LFUN_STATISTICS, "statistics", which counts more than words.
-
-- The function LFUN_MATH_NUMBER, "math-number", has been renamed to
-  LFUN_MATH_NUMBER_TOGGLE.
-
-- The function LFUN_MATH_NONUMBER, "math-nonumber", has been renamed to
-  LFUN_MATH_NUMBER_LINE_TOGGLE.
-
-- The function LFUN_CHARSTYLE_INSERT, "charstyle-insert", has been renamed to
-  LFUN_FLEX_INSERT, "flex-insert". It now handles beside charstyles, also
-  custom insets and XML short element insets.
-
-- The function LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR,
-  "toggle-cursor-follows-scrollbar"
-  has been renamed to LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE,
-  "cursor-follows-scrollbar-toggle".
-
-- The function LFUN_FONT_CODE, "font-code", has been renamed to
-  LFUN_FONT_TYPEWRITER, "font-typewriter".
-
-- The functions LFUN_HTML_INSERT, "html-insert", LFUN_URL_INSERT,
-  "url-insert" was superseded by LFUN_HYPERLINK_INSERT, "href-insert".
-
-- The function LFUN_FLOAT_LIST has been renamed to LFUN_FLOAT_LIST_INSERT.
-
-- The functions delete-back/forward has been renamed to
-  char-delete-back/forward.
-
-- The functions LFUN_FONT_FREE_APPLY/UPDATE has been renamed to
-  LFUN_TEXTSTYLE_APPLY/UPDATE.
-
-- The functions LFUN_SERVER_GET_NAME has been renamed to
-  LFUN_SERVER_GET_FILENAME.
+- \custom_export_command and \custom_export_format
 
 
 The following new LyX functions have been introduced:
 
-- LFUN_SPECIALCHAR_INSERT, "specialchar-insert" (see above).
-
-- LFUN_COMPLETION_INLINE, "completion-inline".
-
-- LFUN_COMPLETION_POPUP, "completion-popup".
-
-- LFUN_COMPLETION_COMPLETE, "complete".
-
-- LFUN_COMPLETION_CANCEL, "completion-cancel"
-
-- LFUN_COMPLETION_ACCEPT, "completion-accept"
-
-- LFUN_CLOSE_TAB_GROUP, "close-tab-group".
-
-- LFUN_SPLIT_VIEW, "split-view".
-
-- LFUN_UI_TOGGLE, "ui-toggle".
-
-- LFUN_SCROLL, "scroll".
-
-- LFUN_MATH_MACRO, "math-macro".
-
-- LFUN_MATH_MACRO_UNFOLD, "math-macro-unfold".
-
-- LFUN_MATH_MACRO_FOLD, "math-macro-fold".
-
-- LFUN_MATH_MACRO_ADD_PARAM, "math-macro-add-param".
-
-- LFUN_MATH_MACRO_REMOVE_PARAM, "math-macro-remove-param".
-
-- LFUN_MATH_MACRO_APPEND_GREEDY_PARAM, "math-macro-append-greedy-param".
-
-- LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM, "math-macro-remove-greedy-param".
-
-- LFUN_MATH_MACRO_MAKE_OPTIONAL, "math-macro-make-optional".
-
-- LFUN_MATH_MACRO_MAKE_NONOPTIONAL, "math-macro-make-nonoptional".
-
-- LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM, "math-macro-add-optional-param".
-
-- LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM, "math-macro-remove-optional-param".
-
-- LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM, "math-macro-add-greedy-optional-param".
-
-- LFUN_WORD_LEFT, "word-left".
-
-- LFUN_WORD_LEFT_SELECT, "word-left-select".
-
-- LFUN_WORD_RIGHT, "word-right".
-
-- LFUN_WORD_RIGHT_SELECT, "word-right-select".
-
-- LFUN_CHAR_LEFT, "char-left".
-
-- LFUN_CHAR_LEFT_SELECT, "char-left-select".
-
-- LFUN_CHAR_RIGHT, "char-right".
-
-- LFUN_CHAR_RIGHT_SELECT, "char-right-select".
-
-- LFUN_FINISHED_FORWARD, "".
-
-- LFUN_FINISHED_BACKWARD, "".
-
-- LFUN_INFO_INSERT, "info-insert".
-
-- LFUN_LAYOUT_RELOAD, "layout-reload".
-
-- LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear".
-
-- LFUN_LAYOUT_MODULE_ADD, "layout-module-add".
-
-- LFUN_NEXT_INSET_MODIFY, "next-inset-modify"
-
-- LFUN_INSET_EDIT, "inset-edit"
-
-- LFUN_SET_GRAPHICS_GROUP, "set-graphics-group"
-
-- LFUN_GRAPHICS_GROUPS_UNIFY, "graphics-groups-unify"
-
-- LFUN_BRANCH_ACTIVATE, "branch-activate"
-
-- LFUN_BRANCH_DEACTIVATE, "branch-deactivate" 
-  These can be used in export mode to turn branches on and off. 
-  Thus, something like:
-    lyx -e pdf2 -x "branch-activate answers" finalexam.lyx
-  could be used to export a pdf with the answers branch included, without 
-  one's having to open LyX and activate the branch manually.
-
-- LFUN_NOTES_MUTATE, "notes-mutate"
-
-The following new LyX functions have been removed:
-
-- LFUN_FILE_NEW.
+- LFUN_WORD_FINDAD ("word-findadv").
+- LFUN_REGEXP_MODE ("regexp-mode").
+- LFUN_PHANTOM_INSERT ("phantom-insert").
+- LFUN_INSET_BEGIN ("inset-begin").
+- LFUN_INSET_END (""inset-end"").
+- LFUN_INSET_BEGIN_SELECT ("inset-begin-select").
+- LFUN_INSET_END_SELECT ("inset-end-select").
+- LFUN_CHANGE_PREVIOUS ("change-previous").
+- LFUN_LABEL_INSERT_AS_REF ("label-insert-as-reference").
+- LFUN_SECTION_SELECT ("section-select").
+- LFUN_FONT_UNDERLINE ("font-underline").
+- LFUN_FONT_STRIKEOUT ("font-strikeout").
+- LFUN_FONT_UULINE ("font-underunderline").
+- LFUN_FONT_UWAVE ("font-underwave").
+- LFUN_BRANCHES_RENAME ("branches-rename").
+- LFUN_BRANCH_ADD_INSERT ("branch-add-insert").
+- LFUN_BUFFER_CLOSE_ALL ("buffer-close-all").
+- LFUN_INSET_FORALL ("inset-forall").
+- LFUN_DEBUG_LEVEL_SET ("debug-level-set").
+- LFUN_INSET_SELECT_ALL ("inset-select-all").
+- LFUN_MATH_AMS_MATRIX ("math-ams-matrix").
+- LFUN_VC_COMPARE ("vc-compare").
+- LFUN_SPELLING_ADD ("spelling-add").
+- LFUN_SPELLING_IGNORE ("spelling-ignore").
+- LFUN_SPELLING_REMOVE ("spelling-remove").
+- LFUN_PREVIEW_INSERT ("preview-insert").
+- LFUN_FORWARD_SEARCH ("forward-search").
+- LFUN_INSET_COPY_AS ("inset-copy-as").
+- LFUN_BUFFER_TOGGLE_OUTPUT_SYNC ("buffer-toggle-output-sync").
+
+
+The following LyX functions have been removed:
+
+- LFUN_NEXT_INSET_TOGGLE ("next-inset-toggle"): use "inset-toggle" instead.
+- LFUN_NEXT_INSET_MODIFY ("next-inset-modify"): use "inset-modify" instead.
+- LFUN_PARAGRAPH_SPACING ("paragraph-spacing"): use "paragraph-params" instead.
+
+- LFUN_NOTES_MUTATE ("notes-mutate"): replace
+    notes-mutate <SOURCE> <TARGET>
+  with the more general function inset-forall
+    inset-forall Note:<SOURCE> inset-modify note Note <TARGET>
+
+- LFUN_ALL_INSETS_TOGGLE ("all-insets-toggle"): replace
+    all-insets-toggle <ACTION> <TARGET>
+    all-insets-toggle <ACTION>
+  with the more generic function inset-forall
+    inset-forall <TARGET> inset-toggle <ACTION>
+    inset-forall * inset-toggle <ACTION>
+  There is a difference in the <TARGET> parameter, which is would be
+  like "note" in the first case and "Note" in the second.
+
+- LFUN_TABULAR_FEATURE ("tabular-feature"): use "inset-modify" instead.
+  I.e., "tabular-feature FEATURE <ARGS>" becomes:
+    inset-modify tabular FEATURE <ARGS>
+
+- LFUN_LINE_INSERT ("line-insert"): use "inset-insert line" instead. For
+  something close to the previous default, use:
+    inset-insert line rule height 0.25ex width 100col% \\end_inset
+  This is necessary because the line inset now takes various arguments.
+
+- LFUN_TOC_INSERT ("toc-insert"): use "inset-insert toc" instead.
+
+
+The following LyX functions have been changed:
+
+- LFUN_INSET_TOGGLE ("inset-toggle"): For some insets, this function was used 
+  to show the settings dialog. This is no longer possible and one should use
+  inset-settings for this purpose.
+- LFUN_WORD_REPLACE ("word-replace"): The replacement and searched strings
+  arguments have been inverted in order to allow the replacement of the word
+  at current cursor position, even if it is not selected.
+
+- LFUN_OPTIONAL_INSERT ("optional-insert") has been renamed LFUN_ARGUMENT_INSERT
+  ("argument-insert").
+
+
+The following LyX key bindings have been changed:
+
+- LFUN_MATH_MACRO_FOLD ("math-macro-fold")
+  The binding to "C-minus" has changed to "C-S-underscore".
+
+- LFUN_MATH_MACRO_UNFOLD ("math-macro-unfold")
+  The binding to "C-plus" has changed to "C-S-asterisk".
+
+- On Mac OSX the modifier keys <Control> and <Option> are now treated separately.
+  The distributed key binding for Mac OSX no longer uses the <Option> key for
+  shortcuts with letters or numbers.
+
+  The custom key bindings for <Option>/<Control> are mapped to the <Control>
+  modifier only.
+
+New external programs and libraries:
+------------------------------------
 
-- LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT.
+LyX 2.0 introduces support for some new external helper programs/libraries,
+while the support for some existing programs has been dropped. This
+particularly applies to spell checking and the thesaurus.
 
-- LFUN_FONT_CODE.
+1.) SPELLCHECKING:
 
-- LFUN_HFILL_INSERT. HFills are now part of InsetSpace and have to be inserted
-  via "space-insert hfill".
+* Direct support for ispell and hspell has been dropped. However, ispell
+  and hspell are still accessible via the enchant wrapper (see below).
 
-- LFUN_CLEARPAGE_INSERT. Now part of LFUN_NEWPAGE_INSERT (see above).
+* Support for the aspell command line program has been dropped. Note that
+  the aspell library (aspell 0.60.x) is still supported.
+  
+* As well as the aspell library, LyX now also supports hunspell (the spell
+  checker used by OpenOffice and Firefox) and enchant, a wrapper that
+  provides automatic access to many spell checking libraries (ispell,
+  aspell, hspell, hunspell, etc.).
 
-- LFUN_CLEARDOUBLEPAGE_INSERT. Now part of LFUN_NEWPAGE_INSERT (see above).
+* On Mac OSX, Apple's Spell Server is preconfigured as the "native" spell 
+  checker.
 
-- LFUN_SERVER_GET_FONT.
+LyX 2.0 is configured for any and all of these three possibilities,
+given that the various libraries are installed on the machine where LyX is 
+configured. The actual spell checker can be selected in Tools > Preferences.
+Packagers are advised to pre-select whatever is most common on their
+platform/distribution.
 
-- LFUN_EXTERNAL_EDIT. Superseded by the more general LFUN_INSET_EDIT.
+2.) THESAURUS:
 
-- LFUN_GRAPHICS_EDIT. Superseded by the more general LFUN_INSET_EDIT.
+* Support for the aiksaurus library has been dropped in favour of the
+  MyThes thesaurus library (the thesaurus library used by OpenOffice).
+  
+* LyX ships the MyThes library itself, so unlike in LyX 1.6.x, no extra 
+  thesaurus library needs to be installed. However, LyX does not ship any 
+  thesaurus dictionaries, and those do have to be installed separately.
 
-- LFUN_ACCENT_SPECIAL_CARON.
+* The OpenOffice thesaurus dictionaries can be used, but the path to those
+  dictionaries needs to be set in Tools > Preferences. Please refer to the
+  UserGuide, sec. 6.14, for further instructions.
 
-- LFUN_INSET_REFRESH.
+Packagers are advised to preset the thesaurus for their distribution/
+platform. Packagers of installation bundles (on Windows and the Mac)
+are advised to provide automatic installation of thesaurus dictionaries
+in the installation process (analoguous to the spellchecker installation).
 
-- LFUN_BREAK_PARAGRAPH_SKIP, LFUN_DELETE_BACKWARD_SKIP, LFUN_DELETE_FORWARD_SKIP.
+3.) LILYPOND:
 
-- LFUN_ERROR_NEXT.
+There is now direct support for Lilypond-book. Note that LyX requires at
+least version 2.14 for proper work.
 
-- LFUN_MATH_IMPORT_SELECTION. Use LFUN_MATH_MODE instead.
+4.) INSTANT PREVIEW:
 
-- LFUN_BIBITEM_INSERT.
+Make sure that dv2dt (often part of LaTeX distributions) is installed
+on your system. Instant preview wil be disabled if dv2dt is not found.
 
-For the detailed description of LyX functions look into doxygen documentation.
+5.) LuaTeX support
 
+For proper LuaTeX support you need to have at least TeXLive 2010.
 
-Known issues in version 1.6.0
-------------------------------------
 
-- New pLaTeX support for Japanese:
-  * Documents using this method can be backported to 1.5 in pricipal, but
-    the backported documents are not guaranteed to work, since 1.5 falls
-    back to the CJK package; expect the output to differ.
-  * pLaTeX provides a Japanese variant of BibTeX named "jbibtex", which will
-    be selected automatically by LyX. If you run into problems with this or 
-    if you need to use an alternative BibTeX program, you can change this
-    setting in the LyX preferences (Output->LaTeX->BibTeX command).
+Known issues in version 2.0.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 sheebang conversion in *.py files will not
+  be enough.
 
-Caveats when upgrading from earlier versions to 1.6.x
+Caveats when upgrading from earlier versions to 2.0.x
 -------------------------------------------------------
 
-
+- The typeset of your documents with non-english language can slightly
+  change in case of math environments and floats (this is usually the case
+  with certain modules which provide specific environments like AMS ones
+  or provide specific floats like the linguistic one).
+
+  LyX now uses its own translation machinery which will automatically provide
+  localization strings used so far only in GUI. The status of translation to
+  your language can be seen in lib/layouttranslation file. This is not meant as
+  a babel replacement (still used), but rather extension for strings not
+  translated by babel at all.
+
+- The syntax of the languages file has been changed. If you use a modified
+  languages file, you will need to adapt it to the new syntax, as LyX 2.0
+  is not able to read old languages file anymore.
+  Please refer to the beginning of the languages file for an explanation
+  of the new syntax.
+
+- There has been a large change in how Flex insets are named. Previously,
+  they tended to have names like "CharStyle:Noun". Now, they just have
+  names like "Flex:Noun" (where the "Flex" prefix is now required). When 
+  LyX 2.0 reads older files, it silently converts the old-style names
+  to new-style names; this direction works almost perfectly. The one place
+  it does not work is with CopyStyle declarations, IF your old InsetLayout
+  was NOT named "CharStyle:..." or "Custom:..." or "Element:...", but, say,
+  just "MyInset". In that case, "InsetLayout MyInset" will be changed to
+  "InsetLayout Flex:MyInset", but "CopyStyle MyInset" will be left as is.
+  Users will need to make that kind of change manually. The best way to do
+  this is to use the layout2layout.py script, which gets installed in
+  $LYXDIR/scripts/layout2layout.py, to convert your custom layout files to
+  the new format, and then check them for correctness.
+   
+  LyX will also silently revert new-style names to old-style names when 
+  exporting to 1.6.x format, but only for the pre-defined LyX insets. This 
+  means that user-defined flex insets will not be properly reverted. To solve 
+  this problem, you can modify the file $LYXDIR/lyx2lyx/lyx_2_0.py. In that 
+  file, you will find the following:
+    flex_insets = {
+      "Alert" : "CharStyle:Alert",
+      "Code" : "CharStyle:Code",
+      "Concepts" : "CharStyle:Concepts",
+      "E-Mail" : "CharStyle:E-Mail",
+      "Emph" : "CharStyle:Emph",
+      "Expression" : "CharStyle:Expression",
+      "Initial" : "CharStyle:Initial",
+      "Institute" : "CharStyle:Institute",
+      "Meaning" : "CharStyle:Meaning",
+      "Noun" : "CharStyle:Noun",
+      "Strong" : "CharStyle:Strong",
+      "Structure" : "CharStyle:Structure",
+      "ArticleMode" : "Custom:ArticleMode",
+      "Endnote" : "Custom:Endnote",
+      "Glosse" : "Custom:Glosse",
+      "PresentationMode" : "Custom:PresentationMode",
+      "Tri-Glosse" : "Custom:Tri-Glosse"
+    }
+  This is a map from new-style names (minux "Flex") to old-style names (and
+  there is a similar for DocBook elements). To get a user-defined CharStyle
+  to revert properly, it simply needs to be added to this list.
 
 
 Note: There may later be an updated list of known issues online at
        http://wiki.lyx.org/LyX/ReleaseNotes
 
+- UI layout named "classic.ui" and some localized keyboard bindings (sv,pt,fi)
+  were long time unmaintained and we do not ship it anymore.