LibreOffice 4.0 ReleaseNotes

From The Document Foundation Wiki
< ReleaseNotes
Revision as of 2013-01-18T14:28:57 by Nemeth (Talk | contribs) (Writer: + Logo templates)

Jump to: navigation, search

LibreOffice 4.0 Changes

About this page

This is an in-progress scratch-pad of notes to build release notes from as and when we release. Please do not list features that are to be shipped already in the 3.6 release! Please do not add wish-list features that you hope will be implemented, but only what actually is implemented already.

What does a good feature look like here:

  • It has a description, and a way for a busy reviewer, to find and play with the feature. Target someone who is extremely busy, and knows little-to-nothing about the product. So if a user interface element is key to the feature, be very explicit about where it is, e. g. Menu→Format→Character→Position [tab]→‘90 degrees’ paths to the elements you changed. Of course, you know your feature is important, and that everyone should care about the Extensible AutoShapes Properties dialog – but often the guys taking the screenshots and writing the notes do not.
  • It credits the main authors who did the work – just add them in brackets after the feature, where possible.
  • If the feature can be shown off with a sample / test file – particularly for new import-able features, it would be wonderful to have a link to/up-load of a test file that we can use to show that feature off to best effect. That really helps us to make good screenshots to show off the features, and allows reviewers to do their testing.

Thanks in advance for your help filling this out!

Writer

  • Enable attaching comments to document text ranges. fdo#38244 (Miklós Vajna)
Enable attaching comments to document text ranges
  • Allow extra word boundary characters. This feature overrides long dash (—) and short dash (–) to be word boundary characters for the purposes of counting words, and allows the user to specify additional word boundary characters (at Tools→Options→Writer→General→Word Count). (Caolán McNamara)
The new options for word counting (Tools→Options→Writer→General→Word Count)
  • Import ink annotations from DOCX and RTF documents (available when using Word on a Tablet PC). (Eilidh McAdam)
Drawn ink annotations
Native RTF math in Writer.
First pages can now have a separate header/footer in Writer.
  • RTF filter now imports old Drawing Objects syntax (fdo#42407). See this blog entry for details and screenshots. (Miklós Vajna)
  • Various DOCX improvements: import of floating tables, OLE objects inside rectangles, margins of inline images using the WordProcessing markup. See this blog entry for details and screenshots. (Miklós Vajna)
  • Clicking fields selects them instead of placing the cursor before them. (Cédric Bosdonnat)
  • Logo toolbar and interpreter (László Németh, help in integration: András Tímár).
Turtle vector graphics in LibreOffice Writer. Created by the following 1-liner (using the Logo command line on View » Toolbars » Logo): repeat 500 [ circle 10 + repcount/10 fd 5 + repcount/10 lt 10 ]
Logo for DTP: drawing a chessboard with high print quality in Writer using chess notation or optional manual positioning (see the source document and its PDF export

The lightweight implementation (1400 lines in Python-PyUNO) uses the embedded Python to give a simplified programming interface to the excellent vector graphics of LibreOffice for graphic design and education (including teaching of word processing). Blog posts: 1. Logo, 2. Logo for desktop publishing. Examples: set the Logo toolbar (View » Toolbars » Logo) in Writer. Use the arrow icons of the toolbar to move and focus the turtle (graphical cursor of the Logo programming language). Try the following commands in the command line of the Logo toolbar (the localized commands depend on the language of the document, more information: press F1 in the Logo command line):

circle 10cm
fillcolor 'blue' pencolor 'red' pensize 2 circle 5cm
forward 200 right 89 circle 5
repeat 88 [ forward 200 right 89 ] fill 
repeat 9 [ label 'Hello, World!' right 20 ]

Logo examples on templates.libreoffice.org:

Calc

  • Improved performance of ODS document import. (Daniel Bankston)
  • When opening ODS and XLSX files, the values of formula can be shown as they were saved in the files (cached), without recalculating the formula directly when opening the file (Daniel Bankston)
    • This makes opening of (larger) files faster;
    • When the spreadsheet was last used by someone else, this will always show the values, as they were on that computer. (It is known that large, real complex spreadsheets on different computers, with different OS, processor or software, can have different results.) So that may be seen as an advantage when opening spreadsheets that have last been edited in Excel.
    • The user gets a message on opening the file. That message can be turned on/off at "Tools > Option > LibreOffice Calc > Formula ... Recalculation on file load."
  • Cached value import from ODS and XLSX (Daniel Bankston)
    • Due to possible different implementations you get a warning when the cached values are used.
  • Save settings of Text Import Dialog for Text to Columns and Paste Unformatted Text from Clipboard (in addition to Text File Import). fdo#47674 (Laurent Balland-Poirier)
  • Export color scales and data bars to XLSX (also supports Excel 2010+ extensions for databars). (Markus Mohrhard)
  • Increased size limit on (uncompressed) ODF documents from 2Gb to 4Gb. (Michael Meeks)
  • Support "type-ahead" search in the autofilter popup. It is now possible to search for specific entry via key input. (Kohei Yoshida)
  • XML Source dialog to quickly import arbitrary XML content. Refer to this page for more information on this feature. (Kohei Yoshida)
XML Source dialog
  • Enhanced chart visualisation - better quality rendering / print and PDF export of charts (Armin Le-Grand - Apache)
  • New conditional formats: (Markus Mohrhard)
    • Date formats
    • Top/Bottom rules
    • String rules
  • Improved conditional format dialogs (Markus Mohrhard)
  • Icon sets (Markus Mohrhard)
  • Overlapping conditional formats (Markus Mohrhard)
  • Initial work on a gnumeric import filter based on orcus (orcus by Kohei Yoshida, gnumeric parts by Markus Mohrhard)
    • This is a technical demonstration of the orcus integration and hidden behind the experimental flag
    • Only imports value, strings and formulas in 4.0 (more will follow in the future)

Formula engine

  • New spreadsheet function XOR as defined in ODF OpenFormula. fdo#50882 (Winfried Donkers)
  • New configuration option to toggle handling of empty strings when used in arithmetic expression. fdo#44720 (Kohei Yoshida)
New configuration option for empty string.
  • New pricing Add-In containing spreadsheet functions for option pricing in particular barrier (OPT_BARRIER(...)) and touch (OPT_TOUCH(...)) options. Example :File:Calc-pricing-add-in.ods (Tino Kluge)
pricing add-in
  • Re-implemented RAND() function with better random number generation algorithm. fdo#33365 (Tino Kluge)
  • New spreadsheet functions AVERAGEIF, SUMIFS, AVERAGEIFS and COUNTIFS as defined in ODF OpenFormula. fdo#41214 (Marina Plakalovic, Daniel Rentz, Eike Rathke)
  • New spreadsheet functions IFERROR and IFNA as defined in ODF OpenFormula. fdo#56124 (Winfried Donkers, Eike Rathke)

Pivot table

  • Support multiple selections in page field of pivot table. (Kohei Yoshida)
New page field popup allows multiple selection

Impress

  • The state of the sidebar pane in Impress is now remembered. (Rob Snelders)
  • Much accelerated multimedia previews, and previews of embedded video on Linux. (Michael Meeks):
    Media thumbnails embedded in impress
  • Presenter Console RTL support. fdo#42070 (Issa Alkurtass, Abdulmajeed Ahmed, Faisal Al-Otaibi - KACST):
    Presenter Console with RTL support.

Draw

  • Improve quality of page previews in Draw/Impress with supersampling. (Tomaž Vajngerl)
  • Linecap improvements - adding rounded caps (ends) to lines, see right-click "Line"->"Corner and Cap Styles" (Regina Henschel, Armin Le-Grand - Apache)
Rounded line caps
  • Shear transforms for GraphicObjects, and shear + properties for OLE Objects (Armin Le-Grand - Apache)
  • Multi-image support in ODF allowing a bitmap + SVG representation eg. (Armin Le-Grand - Apache)
  • Circles and Ovals toolbar from Impress now also available in Draw (Rob Snelders)

Base

  • On all non-Windows platforms a new mork driver implementation is used to access Thunderbird address book. This means that Debian/Ubuntu users can finally integrate LO with their Thunderbird address book. (Debian/Ubuntu distros are not shipping a Mozilla-based mork driver, therefore their native Base package can not access the address book.) This also fixes some really old bugs for different distros. (David Ostrovsky)
    For more information please see:
  • In Forms, AutoFilter does not anymore treat values as patterns. As a consequence, an AutoFilter on "A*" will not anymore match any value starting with an A, but only the exact value "A*". fdo#48807 (Lionel Elie Mamane)

Core

  • CMIS protocol support for easy access to document stored on Document Management Systems like Alfresco, Nuxeo, SharePoint... (Cédric Bosdonnat)
  • Integration of session installer to add missing parts of LibreOffice on the fly (Björn Michaelsen)
Core: session installer
  • Reduce Java code: Port Fax and Letter Wizard to Python (Xisco Faulí)

Options / General

  • Java and advanced options now combined in Tools > Options > LibreOffice > Advanced. For choosing experimental features and enabling macro-recording. (Joel Madero)
Options: Advanced options for Java, Macro recording and Experimental
  • New Regular Expression Engine (Herbert Duerr - Apache)
    • We now use the ICU regular expression engine instead of a custom version. This solves several "find and replace" bugs, and is faster and smaller. We have compatibility code to map old-style word boundary syntax \> and \< to \b while upgrading. Read more about the ICU regexp engine. Japanese users should be aware that some more advanced transliterations may behave differently.

Filters

  • Import filter for Microsoft Publisher publications. More details in this blog.
A document in MS Publisher 2003
The same document in LibreOffice Draw
  • Extended coverage of Visio file-format. LibreOffice 4.0.0 supports all existing Visio file formats from Visio 1.0 released in 1992 to Microsoft Visio 2013 released in 2012. More details in this blog.
A old Visio document in Visio 1.0
The same document in LibreOffice Draw
A VSDX document in MS Visio 2013
The same document in LibreOffice Draw
  • Improved ODF compatibility in various points. (Michael Stahl)

GUI

  • New Widget layout technique for dialog windows introduced, and converted various dialogs; see WidgetLayout. (Caolán McNamara, Jack Leigh, Gokul)
    • UI mockups can be created with Glade UI designer then hooked up to code.
    • Converted widgets can be edited without recompiling Libreoffice. More easy to iterate for good UI design.
    • Support for easily resizing and hiding elements. Reduces code complexity.
    • Intent to follow best-practice guidelines for spacing and indentation yielding nicely spaced, clearer dialogs.
  • Added dialog for Smooth image filter, where it is possible to select the radius (strength) of smoothing/blurring. (Tomaž Vajngerl)
  • Graphics can be resized and recompressed with the new Compress Graphics.. popup menu function. (Tomaž Vajngerl)
    • Menu function is available is available in Draw, Impress and Calc but not (yet) Writer.
    • Supports displaying of current graphics information: original dimensions, dimensions inside of document.
    • Ability to reduce image resolution with setting a new dimension (width/height in pixels and DPI).
    • Lossless (PNG) or lossy (JPEG) compression with ability to set the quality and compression strength.
    • Possibility to select the interpolation (resampling) algorithm.
The new Compress Graphics Dialog available in Draw, Impress and Calc
  • Added Edit with External Tool to Calc, Impress and Draw. (Tomaž Vajngerl)
  • Unify Popup menu option Save Graphic… from Writer and Save as Picture… from Draw and Impress to Save Graphic…. (Tomaž Vajngerl)
  • Improve quality of displaying images in documents. (Tomaž Vajngerl)
Quality comparison of displayed images
  • It is possible now to select and copy text from message boxes. fdo#46193 (Tamas Zolnai)
MessageBox.png
  • The "Apply Style" combo box in the toolbar now features previews of the styles to choose. (Jan Holesovsky)
Apply-style-combobox.png
  • Unity integration (Antonio Fernandez, Björn Michaelsen, Alberto Ruiz, Ryan Lortie, Ted Gould)
unity menu integration
  • Hide / Show styles in the “Styles & Formatting” dialog (Cédric Bosdonnat)
Core: Hidden styles
  • The templates management interfaces now allows to have non-native template files: templates from other office suites are now handled like the ODF ones. (Cédric Bosdonnat)
  • Support for the Mac OS X “Full screen” mode (fdo#39983; needs Mac OS X 10.7/Lion or better). (Tor Lillqvist)
— add screenshot —
— Please check if this feature actually makes it into 4.0, or if it is delayed until 4.1! —
  • Support Firefox Personas in LibreOffice. With LibreOffice 4.0, you can choose Tools -> Options... -> Personalization -> Select Persona, choose a persona you like in your browser, paste its address to the dialog, confirm, and LibreOffice will use that. (Jan Holesovsky)
Libreoffice-personas.png

Localization

  • idxexample.odt localizable via PO files (Insert→Indexes and Tables→Indexes and Tables…). (Istvan Turi)
  • agenda/fax/letter/report templates localizable via PO files (File→Wizards). (Istvan Turi)
  • Added locale data files for axk_CG beq_CG bkw_CG bvx_CG dde_CG ebo_CG iyx_CG kkw_CG kng_CG ldi_CG mdw_CG mkw_CG ngz_CG njx_CG njy_CG puu_CG sdj_CG tek_CG tsa_CG tyx_CG vif_CG xku_CG yom_CG. (Jeremy Brown)
  • Autocorrection improvements for pt-BR. (Raimundo Moura, Olivier Hallot)
  • The LightProof grammar checker for Brazilian Portuguese is now avaiable. Improvements in pt-BR spell checking (Raimundo Moura, João Mac-Cormick, Olivier Hallot, László Németh).
  • Translated key names on Windows for Catalan (Jesús Corrius) and Estonian (Mihkel Tõnnov).

Performance

  • Improved ODS load times (see this blog entry for details). (Daniel Bankston)
  • Improved XLSX load time (see this blog entry for details). (Daniel Bankston)
  • Significantly improved the performance of saving a new entry to a large autocorrect replacement table (fdo#49350). (Tomaž Vajngerl)
  • Significant load and save time improvements for slides / drawings with large numbers of shapes (Michael Meeks)
  • Significantly improved RTF file load times (fdo#44736). (Miklós Vajna, Michael Meeks)

Infrastructure

  • Many modules ported to gbuild. (Peter Foley, Matúš Kukan, Caolán McNamara, David Ostrovsky, David Tardon, Norbert Thiebaud and others)
  • all legacy container classes (Sv*Array*, Table, Container, List etc.) replaced with STL containers (Noel Grandin, Michael Stahl, etc.)
  • https://gerrit.libreoffice.org/ used for code review and easy patch submission -- more than 500 patches reviewed and merged with it already (David Ostrovsky, Norbert Thiebaud, Robert Einsle, Björn Michaelsen and many more)
    • ssh logerrit gerrit query status:merged|grep change|wc -l for number of merged patches
gerrit
  • translations module became a source-only module, l10n tools read translations directly from .po files. (Tamas Zolnai)
  • tinderbox building bibisect repo
    • Tinderbox integration (Norbert Thiebaud)
    • initial bibisect proof-of-concept (Björn Michaelsen)

Scripting

Linux

  • Add GStreamer 1.0 support, and refactor existing gstreamer code. (Tim-Philipp Müller, Michael Meeks)

Extensions

  • PDF Import, the Presenter Console, and the Python Scripting Provider are no longer bundled extensions but core features. (Stephan Bergmann)

Feature removal / deprecation

  • Dropped support for legacy binary StarOffice (version 1.x → 5.x) files.
    • Note: the old OpenOffice.org XML file format (.sxw, .sxi etc.) which was used as the default format by StarOffice versions 6 and 7 is still supported.
  • Dropped support for export to legacy Word and Excel (version 6.0/95) files. These files can still be opened, but they will save in your default format (usually .odt/.ods). We continue to export to the Office 97 and later binary file formats of course..
    • This avoids user confusion, and accidentally selecting very old formats that will lose document data.
  • Dropped support for ODMA document management integration, this windows-specific integration point is deep legacy, and yields some horrible user interactions.
  • Dropped legacy STLport library for compatibility with old extensions that linked against it (was only included for 32-bit Linux and Windows).
  • Deprecated Mac / PPC as a platform, raising our base-line to 10.6.

API Changes

C++ UNO language binding and URE libraries

Python

The bundled Python was upgraded from Python 2.6 to Python 3.3 (Michael Stahl)

Python extensions and macros may require some degree of re-work to work on the latest Python; see for example Porting to Python 3.

UNO IDL

Support for defining oneway methods and the [oneway] syntax was removed from the UNO IDL compiler core commit 90eac3e69749a9227c4b6902b1f3cef1e338c6d1

All exising API methods that used to be defined as oneway are now plain methods.

New style services

A large number of existing UNO services were converted to new-style services, which allow for more convenient and more type safe construction; this has no impact on compatibility of existing client code. (Noel Grandin)

XDocumentInfo removed

The deprecated XDocumentInfo and related UNO interfaces were removed (core commit e6f81b1898a59280f41177206b777a7a0d32f3fc). The replacement XDocumentProperties is available since OpenOffice.org 3.0 (interface announcement).

  • com.sun.star.document.DocumentInfo
  • com.sun.star.document.StandaloneDocumentInfo
  • com.sun.star.document.XDocumentInfo
  • com.sun.star.document.XDocumentInfoSupplier
  • com.sun.star.document.XStandaloneDocumentInfo

IllegalArgumentException

The UNO exception com.sun.star.lang.IllegalArgumentException now derives from com.sun.star.uno.RuntimeException instead of com.sun.star.uno.Exception core commit 31170413ae3786bf44564e813d7291354e939a77.

Unpublishing UNO APIs

  • Deprecation and un-publishing of internal accessibility API
    • This API was primarily used internally for our bridge implementations to native accessibility technology APIs, and will need adapting in future.

The following UNO services and interfaces are no longer published:

  • com.sun.star.accessibility.AccessBridge core commit 70626249cd247d9acdad417b8eaf252bae22c059
  • com.sun.star.accessibility.Accessible
  • com.sun.star.accessibility.AccessibleContext
  • com.sun.star.accessibility.AccessibleEventId
  • com.sun.star.accessibility.AccessibleEventObject
  • com.sun.star.accessibility.AccessibleRelation
  • com.sun.star.accessibility.AccessibleRelationType
  • com.sun.star.accessibility.AccessibleRole
  • com.sun.star.accessibility.AccessibleStateType
  • com.sun.star.accessibility.AccessibleTableModelChange
  • com.sun.star.accessibility.AccessibleTableModelChangeType
  • com.sun.star.accessibility.AccessibleTextType
  • com.sun.star.accessibility.IllegalAccessibleComponentStateException
  • com.sun.star.accessibility.TextSegment
  • com.sun.star.accessibility.XAccessible
  • com.sun.star.accessibility.XAccessibleAction
  • com.sun.star.accessibility.XAccessibleComponent
  • com.sun.star.accessibility.XAccessibleContext
  • com.sun.star.accessibility.XAccessibleEditableText
  • com.sun.star.accessibility.XAccessibleEventBroadcaster
  • com.sun.star.accessibility.XAccessibleEventListener
  • com.sun.star.accessibility.XAccessibleExtendedComponent
  • com.sun.star.accessibility.XAccessibleHyperlink
  • com.sun.star.accessibility.XAccessibleHypertext
  • com.sun.star.accessibility.XAccessibleImage
  • com.sun.star.accessibility.XAccessibleKeyBinding
  • com.sun.star.accessibility.XAccessibleRelationSet
  • com.sun.star.accessibility.XAccessibleSelection
  • com.sun.star.accessibility.XAccessibleStateSet
  • com.sun.star.accessibility.XAccessibleTable
  • com.sun.star.accessibility.XAccessibleText
  • com.sun.star.accessibility.XAccessibleTextAttributes
  • com.sun.star.accessibility.XAccessibleValue
  • com.sun.star.awt.AccessibleButton
  • com.sun.star.awt.AccessibleCheckBox
  • com.sun.star.awt.AccessibleComboBox
  • com.sun.star.awt.AccessibleDropDownComboBox
  • com.sun.star.awt.AccessibleDropDownListBox
  • com.sun.star.awt.AccessibleEdit
  • com.sun.star.awt.AccessibleFixedText
  • com.sun.star.awt.AccessibleIconChoiceControl
  • com.sun.star.awt.AccessibleIconChoiceControlEntry
  • com.sun.star.awt.AccessibleList
  • com.sun.star.awt.AccessibleListBox
  • com.sun.star.awt.AccessibleListBoxList
  • com.sun.star.awt.AccessibleListItem
  • com.sun.star.awt.AccessibleMenu
  • com.sun.star.awt.AccessibleMenuBar
  • com.sun.star.awt.AccessibleMenuItem
  • com.sun.star.awt.AccessibleMenuSeparator
  • com.sun.star.awt.AccessiblePopupMenu
  • com.sun.star.awt.AccessibleRadioButton
  • com.sun.star.awt.AccessibleScrollBar
  • com.sun.star.awt.AccessibleStatusBar
  • com.sun.star.awt.AccessibleStatusBarItem
  • com.sun.star.awt.AccessibleTabBar
  • com.sun.star.awt.AccessibleTabBarPage
  • com.sun.star.awt.AccessibleTabBarPageList
  • com.sun.star.awt.AccessibleTabControl
  • com.sun.star.awt.AccessibleTabPage
  • com.sun.star.awt.AccessibleTextField
  • com.sun.star.awt.AccessibleToolBox
  • com.sun.star.awt.AccessibleToolBoxItem
  • com.sun.star.awt.AccessibleTreeListBox
  • com.sun.star.awt.AccessibleTreeListBoxEntry
  • com.sun.star.awt.AccessibleWindow
  • com.sun.star.chart.AccessibleChartDocumentView
  • com.sun.star.chart.AccessibleChartElement
  • com.sun.star.drawing.AccessibleDrawDocumentView
  • com.sun.star.drawing.AccessibleGraphControl
  • com.sun.star.drawing.AccessibleGraphicShape
  • com.sun.star.drawing.AccessibleOLEShape
  • com.sun.star.drawing.AccessibleShape
  • com.sun.star.drawing.AccessibleSlideView
  • com.sun.star.drawing.AccessibleSlideViewObject
  • com.sun.star.formula.AccessibleFormulaText
  • com.sun.star.formula.AccessibleFormulaView
  • com.sun.star.sheet.AccessibleCell
  • com.sun.star.sheet.AccessibleCsvCell
  • com.sun.star.sheet.AccessibleCsvRuler
  • com.sun.star.sheet.AccessibleCsvTable
  • com.sun.star.sheet.AccessiblePageHeaderFooterAreasView
  • com.sun.star.sheet.AccessibleSpreadsheet
  • com.sun.star.sheet.AccessibleSpreadsheetDocumentView
  • com.sun.star.sheet.AccessibleSpreadsheetPageView
  • com.sun.star.table.AccessibleCellView
  • com.sun.star.table.AccessibleTableView
  • com.sun.star.text.AccessibleEndnoteView
  • com.sun.star.text.AccessibleFootnoteView
  • com.sun.star.text.AccessibleHeaderFooterView
  • com.sun.star.text.AccessiblePageView
  • com.sun.star.text.AccessibleParagraphView
  • com.sun.star.text.AccessibleTextDocumentPageView
  • com.sun.star.text.AccessibleTextDocumentView
  • com.sun.star.text.AccessibleTextEmbeddedObject
  • com.sun.star.text.AccessibleTextFrameView
  • com.sun.star.text.AccessibleTextGraphicObject
  • com.sun.star.sheet.DataPilotSource core commit 0315ef5bbc168896b1d7d8ac5c1657f861fa6a93
  • com.sun.star.sheet.DataPilotSourceDimension
  • com.sun.star.sheet.DataPilotSourceDimensions
  • com.sun.star.sheet.DataPilotSourceHierarchies
  • com.sun.star.sheet.DataPilotSourceHierarchy
  • com.sun.star.sheet.DataPilotSourceLevel
  • com.sun.star.sheet.DataPilotSourceLevels
  • com.sun.star.sheet.DataPilotSourceMember
  • com.sun.star.sheet.DataPilotSourceMembers
  • com.sun.star.sheet.XDataPilotMemberResults
  • com.sun.star.sheet.XDataPilotResults
  • com.sun.star.sheet.XDimensionsSupplier
  • com.sun.star.sheet.XHierarchiesSupplier
  • com.sun.star.sheet.XLevelsSupplier
  • com.sun.star.sheet.XMembersSupplier
  • com.sun.star.sheet.DataResult core commit bcb152889759c76aa9681aa72fcf7a92e5c3a2d7
  • com.sun.star.sheet.DataResultFlags
  • com.sun.star.sheet.MemberResult
  • com.sun.star.sheet.MemberResultFlags

changes to unpublished UNO APIs

The following unpublished UNO interfaces were changed:

UNO API removals

The following UNO modules were removed entirely from the API:

The following UNO interfaces and services were removed from the API: