ReleaseNotes/5.4

Writer

 * AutoText import from .dotx and .dotm files blog entry (Szymon Kłos - Collabora)
 * RTF filter now supports all types of custom document properties blog entry (Miklos Vajna - Collabora)
 * New "Edit Section" UNO command which works if cursor is in a section, has been created and added in context menu. (Gülşah Köse).
 * New "Footnotes and Endnotes" UNO command which works if cursor is in a footnote or endnote, has been created and added in context menu. (Gülşah Köse)
 * Huge improvement in the export of bullets & numbering via copy & paste (Jan Holešovský - Collabora)
 * New formatting toolbar focused on the use of styles is accessible through . (Yousuf Philips)
 * Custom Watermark inserting in . blog entry (Szymon Kłos - Collabora)
 * Styles submenu was added to Context Menu, which includes basic character styles., (Yousuf Philips)
 * AutoCorrect options for markup strikeout and italic are added (Tiago Santos)
 * Rename Moderate business letter templates to Modern business letter. (Caolán McNamara, Heiko Tietze)

Calc

 * Calculate with Precision as shown option (Laurent Balland-Poirier) now works also with
 * fraction format
 * several subformats
 * engineering notation
 * thousands divisors


 * CSV export settings are now remembered. (Bernhard Widl, CIB)
 * Priority of conditional formatting rules can be changed with new up/down buttons. (Manfred Blume, CIB)


 * New cell comment commands added
 * Comments toggle command to show/hide all comments on currently selected sheet(s) added to . (Gülşah Köse, Eike Rathke)
 * Delete All Comments commands available under menu acting on the currently selected sheet(s)  (Gülşah Köse)
 * Show All Comments and Hide All Comments commands acting on the currently selected sheet(s) added. (Gülşah Köse)


 * While building formulas, when selecting a cell or range on another sheet with the pointer, absolute sheet references are now created instead of relative. (Eike Rathke (Red Hat, Inc.))


 * Support negative year date (BCE) in cell input and date display. (Eike Rathke (Red Hat, Inc.))
 * Accepted inputs include the ISO 8601 format -YYYY-MM-DD and locale dependent input like -Y/M/D or M/D/-Y or D.M.-Y
 * For BCE dates years are displayed negative unless a specified date format already includes an era code, e.g. G or GG
 * Last day BCE is -0001-12-31, the next day CE is 0001-01-01
 * Previous versions could already calculate such dates, but did not display negative years


 * A new Cell Protection toggle command was added to to change the protection status of the cell.  (Gülşah Köse)


 * Four new sheet protection options have been added to optionally allow insertions and deletions of rows and columns. The Insert rows and Insert columns options allow row and column insertions even when the sheet is protected, whereas the Delete rows and Delete columns options allow row and column deletions.  Note that when row and column insertions are enabled, you can insert rows or columns even when the range to insert the new rows or columns into contains protected cells which will get shifted after the insertion.  Row and column deletions, on the other hand, are only allowed on unprotected cells.  (Kohei Yoshida, Collabora)


 * Cell styles now accessible in their own dedicated Styles menu in . (Yousuf Philips)
 * Standard and Percent buttons of number format became toggle. (Gülşah Köse)

New spreadsheet functions

 * New function ROUNDSIG to round a value at a number of significant digits. (Winfried Donkers)

Changed spreadsheet functions

 * The semantics of the COUNTIF, SUMIF and AVERAGEIF Criteria argument has been changed.
 * The equals empty "=" and not-equals not-empty "<>X" criteria now also match empty cells of a given range like they are evaluated in other spreadsheet applications.

Impress & Draw

 * Duplicate dialog box :
 * Enable fractional angle (Laurent Balland-Poirier)
 * Save previous parameters (Laurent Balland-Poirier)


 * shortcut assigned to inserting a new slide in Impress. (Yousuf Philips)

Chart

 * New feature - Pivot Charts : blog 1, blog 2, blog 3 (Tomaž Vajngerl, Collabora)



Math

 * Implement context menu edit commands: cut, copy, paste for the Formula command input panel (Maxim Monastirsky)

BASIC

 * The CDateFromIso runtime function accepts also ISO 8601 date strings with separators, i.e. in the format YYYY-MM-DD (Eike Rathke (Red Hat, Inc.))
 * this was also backported to release 5.3.4
 * The CDateFromIso and CDateToIso runtime functions handle the full date range in the proleptic Gregorian calendar, i.e. from -32768-01-01 (BCE) to 32767-12-31 (Eike Rathke (Red Hat, Inc.))
 * CDateFromIso input specification:
 * The year part must consist of either two (supported only in YYMMDD format without separators for compatibility) or at least four digits. With four digits leading zeros must be given if the absolute value is less than 1000, it can be negative with a leading minus sign if the date passed denotes a year before the common era (BCE) and it can have more than four digits if the absolute value is greater than 9999. The formatted string can be in the range "-327680101" to "327671231", or "-32768-01-01" to "32767-12-31".
 * An invalid date results in an error. Year 0 is not accepted, the last day BCE is -0001-12-31 and the next day CE is 0001-01-01. Dates before 1582-10-15 are in the proleptic Gregorian calendar.
 * When automatically converting a date serial number to a printable string, for example for the Print or MsgBox command, the locale's default calendar is used and at that 1582-10-15 cutover date may switch to the Julian calendar, which can result in a different date being displayed than expected. Use the CDateToIso function to convert such date number to a string representation in the proleptic Gregorian calendar.

Core / General

 * The standard color palette was updated. blog post (Yousuf Philips, Thibaut Brandscheid, Heiko Tietze)
 * New 'chart palettes' color palette was created containing multiple chart palettes. (Yousuf Philips)
 * Fix text layout issues for Tibetan, Khmer. (Khaled Hosny)

Help Contents

 * The default size of the body help text was increased. (Adolfo Jayme Barrientos)
 * New help pages for undocumented BASIC constants, VBA functions and statements. ( - Olivier Hallot)
 * Update of Template manager help pages (Gabor Kelemen)

Document signing

 * Under Linux, you can now use OpenPGP keys to sign ODF documents. (Katarína Behrens, Samuel Mehrbrodt, Thorsten Behrens - CIB)
 * Added support for ECDSA keys on Linux and macOS blog entry (Miklos Vajna - Collabora)
 * The signature status is now shown with colored infobars (Katarína Behrens, Samuel Mehrbrodt - CIB):

Improvements in EMF+ vector images import (used by .doc, docx, .xls, .xlsx, .ppt file formats)

 * Improve import of EMF+ images, created with ChemDraw (Bartosz Kosiorek)
 * Add support for drawing rectangles, EmfPlusDrawRects (Bartosz Kosiorek),
 * Add support for drawing Bézier curves, EmfPlusDrawBeziers (Bartosz Kosiorek),
 * Add support for drawing Pie, which is used for circle charts, EmfPlusDrawPie (Bartosz Kosiorek),
 * Add support for translating of the current world, EmfPlusTranslateWorldTransform (Bartosz Kosiorek),
 * Draw an extra line between the last point and the first point, to close the shape, EmfPlusDrawLines (Bartosz Kosiorek),
 * Add support for scaling world, EmfPlusScaleWorldTransform (Bartosz Kosiorek),
 * Add support for drawing arc, EmfPlusDrawArc (Bartosz Kosiorek)
 * Add support for bold font, EmfPlusStringFormat (Bartosz Kosiorek)
 * Add support for converting page space coordinates to device space coordinates, SetPageTransform, , (Bartosz Kosiorek)

Improvements in the PDF filter

 * LibreOffice now uses pdfium to render inserted PDF images. blog report 1, blog report 2 (Miklos Vajna - Collabora)
 * Support for linked and embedded videos in the PDF export of Writer and Impress. blog entry (Miklos Vajna - Collabora)

Other filters

 * Fix handling of for plain text files  (Maxim Monastirsky)
 * Fix export to .xlsx of FLOOR/CEILING functions (Eike Rathke, Bartosz Kosiorek)
 * Implement ADO rowset XML import filter (Mike Kaganski - Collabora)
 * Implement support for Web Query (.iqy) files (Mike Kaganski - Collabora)
 * Fix handling of Word 2013+ tables (table border aligns with margin and text is indented) (Vitaliy)

Menu

 * In Writer rename to   (Yousuf Philips)

Basic Editor

 * The menu items are moved according to a general design concept. Close item was moved to up the first section of File menu. GoToLine item was moved from View menu to Edit menu under Find&Replace (Lera Goncharuk)
 * Setting of the line numbering saves after restart. The line numbering is enabled by default. (Lera Goncharuk)

Notebookbar (experimental)

 * Toolbar with shortcuts was introduced in the tabbed Notebookbar. User can edit shortcuts using the Customization dialog: (Szymon Kłos)
 * Notebookbar supports themes (Szymon Kłos)

General

 * Responsive design of the document iframe (Pranav Kant, Collabora)
 * Read-only mode for the document iframe (Pranav, Kant, Collabora)


 * Render all the glyphs in the character dialog on the server (Henry Castro, Collabora)
 * Undo / Redo notification when there are conflicting edits (Henry Castro, Collabora)
 * Notify the clients about server non-availability / recycling (Ashod Nakashian, Collabora)
 * Initial Input Method support for complex languages (Pranav Kant, Collabora)

Performance

 * Improve performance by avoiding compression of PNG compression of un-changed tiles, and by avoiding sending PNG's that are already at the client side (Michael Meeks, Collabora; Tor Lillqvist, Collabora)
 * Substantial re-write of the WSD core to drastically simplify the code, improve threading - using mostly non-blocking I/O, improve maintainability and performance (Ashod Nakasian, Michael Meeks, Jan Holesovsky Collabora)

Writer

 * Native comment rendering, with animations (Henry Castro, Collabora)
 * Optional rendering of non-printing characters
 * Change-tracking / red-lining support & rendering (Pranav Kant, Henry Castro, Collabora)

Calc

 * Increased amount of rows available in the Online Calc to 10.000 (Marco Cecchetti, Collabora)

Additional languages in the language list
Available for text attribution.


 * Manchu [mnc-CN]. (Eike Rathke (Red Hat, Inc.))
 * Xibe [sjo-CN]. (Eike Rathke (Red Hat, Inc.))
 * Kituba (Democratic Republic of the Congo) [ktu-CD]. (Eike Rathke (Red Hat, Inc.))

Incorporation of other languages
Our goal is to support as many languages as possible. We would like to thank the following people for voluntary translation into LibreOffice and helps in preserving their native languages:


 * Michael Wolf has translated most of the user interface of LibreOffice into Upper Sorbian (hsb) and has started with the translation to Lower Sorbian (dsb). LibreOffice Online has been completely localized into Upper Sorbian and Lower Sorbian. LibreOffice is the first office suite available in the Sorbian language.

Improvements to proofing tools and language support

 * Updated English spell-check dictionaries
 * Updated Croatian spell-check dictionary
 * Updated Polish spell-check dictionary and thesaurus
 * Updated French spell-check dictionary and thesaurus
 * The language list for text attribution now also displays BCP47 language tags provided by dictionaries if a language is not known in the predefined set of languages. (Eike Rathke (Red Hat, Inc.))
 * Such additional language tags are placed in curly brackets / braces, for example, and are displayed at the top of the list after the   entry.
 * The grandfathered language tag  (deprecated since 2015-04-17) for Oxford English Dictionary spelling is now an alias of   . (Eike Rathke (Red Hat, Inc.))
 * en-GB-oxendict was already supported in earlier releases but not mapped to the list of predefined languages; both language tags now map to "English, OED spelling (UK)".
 * Writing a document that previously contained text attributed with en-GB-oed the attribution is now written as en-GB-oxendict.

Access2Base updated
Access2Base, the Basic library for Base users, is now available in its version 1.7.0 (Jean-Pierre Ledure).


 * Form, subform, dialog and control events can be dynamically got and updated with the new On (form-events), On (dialog-events) and On (control events) properties.
 * The new module object class together with its properties and methods makes it easy to navigate through the Basic libraries attached to the current Base file or application.

Full documentation is available on the documentation website.

Python 3.5
On Windows, the bundled CPython has been updated to release 3.5, which was already shipping on other platforms since LO 5.1 - hence all TDF release platforms bundle Python 3.5 now.

General

 * Interface to Telepathy Tubes was removed
 * Trinity Desktop Environment (TDE) integration is deprecated and will be removed in the next release
 * Oxygen icon theme is no longer bundled by default
 * The Linux Quickstarter is deprecated and will be removed in the next release

Writer

 * The Web wizard (which exports a set of documents as html with an index and some styles from the last century) has been removed. Note that this doesn't affect the HTML export. (Samuel Mehrbrodt, CIB)

Impress

 * PlaceWare export filter was removed

Mac

 * macOS version 10.8 support is deprecated and the next release will require at least macOS 10.9.

Windows

 * Windows XP SP3, Windows Vista SP2 are both deprecated. The 5.4 release will be the last with any support of these operating systems.
 * Uwinapi is discontinued.
 * Microsoft Visual C++ 2015 Redistributable is required for this release, and is not installed by LibreOffice installer (except for Windows XP). The redistributable is an OS component, that comes preinstalled with Windows 10, and with a Windows Update for Windows Vista through 8.1. If it is absent on user's system, it must be installed separately from Microsoft website. Installed redistributable's bitness (32- or 64-bit) must match LibreOffice's bitness (not OS bitness). Otherwise installation will succeed, but an error will be shown on program start: "The program cannot start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Try to reinstalling the program to fix this problem".
 * LibreOffice bitness is shown in (for 32-bit, simply "Version: 5.4.2.2" is shown; for 64-bit, "Version: 5.4.2.2 (x64)"). It is OK to install both 32- and 64-bit redistributable on single 64-bit OS in case of doubt.

Removed configuration options

 * The  configuration schema was removed
 * The  configuration schema was removed
 * The  configuration schema was removed

C++ UNO language binding and URE libraries

 * SAL macro  is removed.
 * SAL macro  (that had an empty expansion in client code) is removed.  No client code should be affected.
 * All dynamic exception specifications are removed from all URE include files and from -generated files.  Dynamic exception specifications have been deprecated since C++ 11 and will be removed completely from C++ 17.  Note that   is not a dynamic exception specification, and its uses are retained.  (Theoretically, dynamic exception specifications on any destructors or deallocation functions would have had to be replaced with C++ 11-only , but there are none in any URE include files nor would   emit such.)  Consequently, no longer necessary  s have been removed from  -generated files, which may cause client code to no longer compile (to fix, add the missing  s to the client code).

UNO API changes

 * Synchronous dispatch of macro loader used to return empty   in case an error occurred running the macro (and whatever value macro returned otherwise). It now returns single   containing the actual error code e.g.


 * These logging related interface and services were removed:


 * Some unused and unimplemented XML cryptography related interfaces were removed:

The following UNO interfaces and services were changed:


 * Added certificate kind (X509 or OpenPGP) to







SDK changes

 * The  static library (that could be linked into executables, containing replacements of global  /  forwarding to  ) is removed.
 * On macOS, the  path (as auto-determined by  ) now points at the JDK&rsquo;s   sub-directory, for consistency with other platforms.  If you have a special setup to reuse a single   across multiple versions of the SDK, you will need to adapt that.  Also, the Make variable   has become unused and was removed from   (on all platforms).