LibreOffice 5.4: Release Notes

From The Document Foundation Wiki
Jump to: navigation, search

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 5.3 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!


  • New "Edit Section" uno command which works if cursor is in a section, has been created and added in context menu. tdf#102132 (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. tdf#103258 (Gülşah Köse)
Contextual footendnote.png


  • Improved conditional formatting in .xlsb files tdf#105486
  • Calculate with Precision as shown option, now works also with (Laurent Balland-Poirier):

Impress & Draw






Help Contents




Programmation & Support

Code Rebuild



Start Center




Basic Editor

Notebookbar (experimental)

  • Toolbar with shortcuts was introduced in the tabbed Notebookbar. User can edit shortcuts using the Customization dialog: Tools ▸ Customize... ▸ Toolbars ▸ Notebookbar shortcuts (Szymon Kłos)
Tabbed Notebookbar with shortcuts
  • Notebookbar supports themes (Szymon Kłos)
Notebookbar with blue theme



  • 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)


  • 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)
  • Use one thread per socket to avoid degrading performance for everyone because of a single slow/bad connection (Ashod Nakashian, commit)


  • ...


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


  • ...


New languages/locales with locale data

Available as default document language and for locale specific formatting.

Additional languages in the language list

Available for text attribution.

  • Manchu [mnc-CN]. tdf#105448 (Eike Rathke (Red Hat, Inc.))
  • Xibe [sjo-CN]. tdf#105448 (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:

Improvements to proofing tools and language support

  • Updated English spell-check dictionaries
  • Updated Croatian spell-check dictionary
  • 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 {en-DK}, and are displayed at the top of the list after the [None] entry.
  • The grandfathered language tag en-GB-oed (deprecated since 2015-04-17) for Oxford English Dictionary spelling is now an alias of en-GB-oxendict tdf#100462. (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.



If you speak an endangered language and want to help us to achieve our goal of providing free tools for every single person on Earth, please join us.


Feature removal / deprecation



  • 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. tdf#99967 (Samuel Mehrbrodt, CIB)

API changes

UNO API changes

  • SAL macro SAL_ABS is removed. commit
  • SAL macro SAL_CONSTEXPR (that had an empty expansion in client code) is removed. No client code should be affected. commit
  • All dynamic exception specifications are removed from all URE include files and from cppumaker-generated files. Dynamic exception specifications have been deprecated since C++ 11 and will be removed completely from C++ 17. Note that throw () 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 noexcept(false), but there are none in any URE include files nor would cppumaker emit such.) Consequently, no longer necessary #includes have been removed from cppumaker-generated files, which may cause client code to no longer compile (to fix, add the missing #includes to the client code).
  • Synchronous dispatch of macro loader ( used to return empty Uno::Any in case an error occurred running the macro (and whatever value macro returned otherwise). It now returns single beans::PropertyValue containing the actual error code e.g. { "ErrorCode" => 0x42 }

SDK changes

  • The salcpprt static library (that could be linked into executables, containing replacements of global operator new/delete forwarding to rtl/alloc.h) is removed. commit
  • On macOS, the OO_SDK_JAVA_HOME path (as auto-determined by setsdkenv_unix) now points at the JDK’s Home 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 JAVABIN has become unused and was removed from (on all platforms). commit