LibreOffice 4.1: Release Notes

    From The Document Foundation Wiki

    Writer

    • Images embedded in writer can now be rotated easily in 90 degree increments tdf#34423(Tomaž Vajngerl)
    Rotating via toolbar and context menu
    • Writer textframes now support having a gradient as background tdf#46029 (Miklós Vajna)
    Gradient as a Writer textframe background
    • Embedding fonts in a Writer document tdf#42195 (Luboš Luňák)
    Screenshot of the File Properties dialog showing the Font tab with option "Embed fonts in the document" checked
    • The comments bar now can be easily toggled with the a button in the ruler. tdf#38246 (Rodolfo Ribeiro Gomes)
    New Comments button in the ruler.
    • On Windows, modern IMEs show their suggestion windows at more easy-to-read position. tdf#64298 (Yohei Yukawa - Google)
    MSIME 2012 is showing its suggestion window at more easy-to-read position.
    • Import and export of graphical bullets of numberings in the DOC, DOCX and RTF filters i#120928 (Jian Hong Cheng - Apache: DOC part, Miklos Vajna: DOCX, RTF parts)
    • Improved Footnote and footer comment handling. tdf#34800 (Joren De Cuyper)
    • Comments to text ranges can now span over multiple paragraphs. tdf#53442 (Miklos Vajna)
    • The DOCX import filter now handles non-bitmap drawingml shapes. tdf#43641 (Miklos Vajna)

    Calc

    • Embedding fonts in a Calc spreadsheet tdf#61073 (Noel Power)
    • Add a Stepped Lines line type to Line and XY (Scatter) graphs tdf#61135 (Eric Seynaeve)
    Stepped Lines chart wizard screenshot
    • New feature in Calc spreadsheet: Count the number of selected cells: tdf#61541 (Prashant Pandey)
    Calc.png
    • Import large HTML documents with more than 64k table cells. tdf#35756 (Eike Rathke)

    Formula engine

    • New spreadsheet function NUMBERVALUE as defined in ODF OpenFormula. tdf#57180 (Winfried Donkers, Eike Rathke)
    • New spreadsheet function SKEWP as defined in ODF OpenFormula. tdf#60322 (Winfried Donkers)
    • Import/export functions new in Excel 2013 for ODF OpenFormula compatibility. tdf#60032 (Eike Rathke)
      The following functions are handled, name specialties are given as (in parentheses the Calc en-US UI name) [in brackets the ODFF name]

      ACOT, ACOTH, ARABIC, BASE, BINOM.DIST.RANGE (B) [BINOM.DIST.RANGE], BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, COMBINA, COT, COTH, CSC, CSCH, DAYS, DECIMAL, FORMULATEXT (FORMULA) [FORMULA], GAMMA, GAUSS, IFNA, IMCOSH, IMCOT, IMCSC, IMCSCH, IMSEC, IMSECH, IMSINH, IMTAN, ISFORMULA, MUNIT, NUMBERVALUE, PDURATION (DURATION) [PDURATION], PERMUTATIONA, PHI, RRI, SEC, SECH, SHEET, SHEETS, SKEW.P (SKEWP) [SKEWP], UNICHAR, UNICODE, XOR



    Impress

    • Embedding fonts in a Impress presentation file tdf#61072 (Radek Doulik)
    • See also Filters
    • Now it’s easier to create slideshows from a series of pictures with the “Photo Album” feature. tdf#35546 (Gergő Mocsi)
      Find at: Insert ▸ Picture ▸ Photo Album
    The Photo Album dialog
    • Option to disable the bundled Presenter Console, which makes OpenLP integration much smoother (Manik Malhotra)
    OpenLP in use

    Draw

    Base

    • Limit the results of a query by using the 'Limit' combobox on the Query Design Toolbar. (Tamás Zolnai)
      Find at: Queries ▸ Design View ▸ Design Toolbar
    Limit a query result in query design view.
    • New Query Properties Dialog in Query Design View for adding limit and distinct values properties. (Tamás Zolnai)
      Find at: Queries ▸ Design View ▸ Edit ▸ Query Properties
    New dialog to add query properties like limit and distinct values.
    • Query Properties Dialog can open from Query Design Toolbar (Issa Alkurtass, Tamás Zolnai)
      Find at: Queries ▸ Design View ▸ Design Toolbar
    New toolbar item to open Query Properties Dialog.

    Math

    • New Elements docking window added (Tomaž Vajngerl)
    New Elements docking panel

    Chart

    • Export of charts into .odc(ODF chart files) (Markus Mohrhard)
    To do so: switch into chart edit mode and then Save As
    note: this is not meant to work as separate files or a separate module, but for import and export
    • Inserting odc files into Calc sheets through Insert ▸ Object ▸ Chart from File (Markus Mohrhard)
    • Charts can now be also exported to vector graphics (e.g. SVG,PDF) tdf#60137 (Tomaž Vajngerl)

    Core

    • Port Agenda Wizard from Java to python. Removed 11 files, 5345 lines of java code (Xisco Faulí)
    • Port Web Wizard from Java to python. 140 files changed, 5076 (+), 11416 (-). Removed 55 files, 10426 lines of java code (Javier Fernandez)
    • Text layout on Linux (and other X11 platforms) has been ported from the deprecated and unmaintained ICU LayoutEngine library to HarfBuzz, which provides better support for OpenType layout in general and complex scripts in particular, as well as noticeable performance improvements especially for fonts with big number of OpenType lookups (Khaled Hosny, Fridrich Štrba)
    • Text layout on macOS has been ported from the deprecated (and 32-bit only) ATSUI framework to Core Text, which has the additional of supporting OpenType fonts for complex scripts like Arabic (Herbert Dürr – Apache, Tor Lillqvist, and Khaled Hosny)
      Arabic Script Support (macOS 10.8)

    Filters

    • SVG export now also includes hyperlinks tdf#47576 (Moritz Kütt)
    • Media file types Windows Media Audio (WMA), Windows Media Video (WMV), Advanced Audio Coding (AAC), Flash Video (FLV), Multiplexed OGG Video (OGX), RMI MIDI Audio and SND (SouND) Audio now accessible from Insert ▸ Movie and Sound tdf#36635,tdf#56832, tdf#62409 (Joel Madero, Samuel Mehrbrodt)

    Support for legacy Mac word-processing documents

    Integration of libmwaw written by Laurent Alonso brings support for a multitude of pre-macOS Mac word-processing documents in different file-formats. More information in this blog Following are some examples of the conversion.

    • Microsoft Word for Mac 5.1
    A document in MS Word 5.1 for Mac
    The same document in LibreOffice Writer
    • Write Now 4.0
    A document in Write Now 4.0
    The same document in LibreOffice Writer
    • MacWrite Pro 1.5
    A document in MacWrite Pro 1.5
    The same document in LibreOffice Writer
    • AppleWorks 6.0
    A document in AppleWorks 6.0
    The same document in LibreOffice Writer

    Import and Export Filters

    Numerous improvements have been made to the Microsoft OOXML Import and Export filters as well as for the Microsoft Office binary file formats and the RTF format. Details:

    Help

    • Syntax highlighted Basic code examples in local help (David Vastag, Andras Timar)
    LibreOffice 3.6
    LibreOffice 4.0
    LibreOffice 4.1

    GUI

    Search Bar

    • Make Find hotkey Ctrl + F a toggle command tdf#59101 (Joren De Cuyper)
    • Add a “Close Search” button to the search bar tdf#58526 (Joren De Cuyper)
    • Add “Match Case” option to the search bar tdf#63035 (Andrzej Hunt)
    Make case sensitive searching much easier

    Recent Documents

    • Add File ▸ Recent Documents ▸ Clear List feature (Ariel Constenla-Haile - Apache)
    • Access Recent Documents directly from the toolbar using a dropdown next to the "Open" button tdf#42418 (Jan Holesovsky)
    • Improve display of filenames in the Recent Documents list (Samuel Mehrbrodt)
    Recent documents dropdown next to the "Open" button.

    More well sized dialogs

    The stream of dialogs that are well sized continues.

    Impress Slide show, for example
    File Save dialog, too

    Other

    • Delete multiple styles at once tdf#46718 (Joren De Cuyper)
    • Experimental feature: Sidebar (Apache OpenOffice/IBM Symphony) with resizeable layout (LibreOffice team)
    Sidebar in LibreOffice
    • New Gallery Images (IBM Symphony)
    Many new Images in the Gallery
    • Printer settings change tdf#61186 (Caolán McNamara)
      • By default the printer settings (such as page size) are taken from the printer settings stored in the document (File ▸ Printer Settings ▸ Properties), not the Printer Properties (File ▸ Print ▸ Properties).
      • To use the settings from the Printer Properties (previous behaviour), click the new "Use only paper size from printer preferences" checkbox on the "Options" tab.

    Localization

    Example of glyphs in the same Unicode code point that change according to language
    • Improved hyphenation in Calc and Draw (László Németh)
    • More checking rules in pt-BR LightProof grammar checker (Raimundo Moura, João Mac-Cormick, Olivier Hallot).
    Control panel for pt-BR grammar checker

    Right-to-Left Support

    Performance

    • don't parse fourteen thousand lines of label descriptions on every startup, defer them until a sheet of labels is used (Matus Kukan)
    • some pieces shipped in 4.0.x but never announced:
      • asynchronous word-count - for large documents don't defer rendering the document and status bar until we've word-counted it - you may notice the status bar count spin after load, saves many seconds for large docs (Michael Meeks)
      • use copy-on-write for RTF import stack - significantly accelerates large RTF document import (Michael Meeks)
      • use a hash for auto-correction until it needs to be sorted - big speed wins for large auto-correction files (Michael Meeks)

    Infrastructure

    • Completed the port to gnumake, and removed all dmake makefiles and internal binary, this gives significant build parallelism and build-time improvements; see Björn Michaelsen’s blog – many people helped in this work (Bjoern Michaelsen, David Tardon, Peter Foley, Norbert Thiebaud, Michael Stahl, Matus Kukan, Tor Lillqvist, Stephan Bergmann, Lubos Lunak, Caolan McNamara, Mathias Bauer, Jan Holesovsky, Andras Timar, David Ostrovsky, Hans-Joachim Lankenau, and more...)
    • Instead of passing a vast number of pre-processor defines -DFOO on every compiler command-line, along with a similarly large amount of makefile rules to set these for various files, we now use autoconf to produce many separate config_host/config_feature.h include files to include which avoid lots of this annoyance (Lubos Lunak)
    • Converted large numbers of component instantiations to use the new, much cleaner and more readable service constructors (Noel Grandin)
    • L10ntools refactoring, remove obsolete behaviours (methods and classes), deduplicate functions and increase the efficiency of merge of translations with removing some "working without result" code and with reducing the counts of searching between translated strings. (Tamás Zolnai)

    Extensions

    • Gallery improvements (Michael Meeks)
      • Galleries can now be named with sensible names such as "mygallery.thm" rather than sg<integer> avoiding conflicts in the integer number-space and making it easier to package them.
      • Galleries are created at compile time from a flat list of files - making it easy to extend them.
      • Add ability to translate gallery files using a .desktop file syntax '.str' file placed next to the gallery thus
       name[en_US]=My Gallery
       name[de]=Meine Gallery
       name[fr]=...
    

    Feature removal / deprecation

    • Support for macOS’s SDK v10.4 and 10.5 has been dropped ; support for building for a macOS 10.5 target has been restored on master towards 4.3 but official TDF releases will continue to require macOS 10.6 or later.
    • As a consequence of the above, support for macOS for PowerPC has been dropped.

    Bug fixes / commits

    • This release includes over ten thousand commits from all contributors. Of these around four hundred and fifty have apache.org mail addresses.
    • A very large number of bugs have been fixed, far too many to attempt an accurate listing; even counting them accurately is difficult, particularly as some bugs are really features, at time of writing we continue to push fixes etc. However a reasonable estimate is around three thousand bugs, of which four hundred came from authors with apache.org mail addresses.
    • For more detail on commits, it is worth browsing cgit libreoffice-4-1 branch.

    API Changes

    C++ UNO language binding and URE libraries

    Java

    Python

    • Due to changes for the new type.rdb format, uno.getConstantByName no longer works for UNOIDL enum members, only for UNOIDL constants. Even though uno.getConstantByName had only been documented to work for constants, existing code might have relied on the fact that it somewhat accidentally also worked for enum members. See also tdf#66031.

    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)

    Unpublishing UNO APIs

    Changes to UNO APIs

    The UNO date & time-related structs were changed dd780228cca25dc818ca7fdb628ff607c109618e to accommodate:

    • signed (negative) year
    • nanosecond resolution of time
    • support for timezones

    Affected structs:

    • com.sun.star.util.Date
    • com.sun.star.util.Time
    • com.sun.star.util.DateTime
    • com.sun.star.util.DateTimeRange
    • com.sun.star.util.Duration (not published)

    New structs: WithTimezone variants.

    Available since 4.1.1

    : 43ea97e1f9cecd6c7cba8db35ce1307c858c6857

    • service com.sun.star.awt.UnoControlDateFieldModel: properties Date, DateMin and DateMax changed to type com.sun.star.util.Date instead of long (integer).
    • service com.sun.star.awt.UnoControlTimeFieldModel: properties Time, TimeMin and TimeMax changed to type com.sun.star.util.Time instead of long (integer).
    • com.sun.star.awt.XDateField method parameters and return values changed from long to com.sun.star.util.Date
    • com.sun.star.awt.XTimeField method parameters and return values changed from long to com.sun.star.util.Time

    To adapt macros using XDateField please use reflection:

    Dim OOoReflection As Object
        Set OOoReflection = CreateUnoService("com.sun.star.reflection.CoreReflection")
        Dim gD as Object
        Set gD = OOoReflection.forName("com.sun.star.awt.XDateField").getMethod("getDate").ReturnType
        if gD.TypeClass = com.sun.star.uno.TypeClass.LONG then
            gbDateIsStruct = false
        elseif gD.TypeClass = com.sun.star.uno.TypeClass.STRUCT And gD.name="com.sun.star.util.Date" then
            gbDateIsStruct = true
        else
            MsgBox "Unknown situation"
        end if

    Changes to unpublished UNO APIs

    The following unpublished UNO interfaces were changed:

    Removing deprecated configuration options

    • Common/Gallery/ID_Dialog 8e7a1ad17cdcd677e40865daa9bbdbe69927360d
    • Common/Image/Color/PosterColor
    • Common/Image/Color/RotationAngle
    • Common/Image/Color/LeftRight
    • Common/Image/Color/BlackWhiteThreshold
    • Common/Image/Effect/MosaicX_Tile
    • Common/Image/Effect/MosaicY_Tile
    • Common/Image/Effect/SolarizationThreshold
    • Common/Image/Effect/TileX_Tile
    • Common/Image/Effect/TileY_Tile
    • Common/OfficeObjects 8e7a1ad17cdcd677e40865daa9bbdbe69927360d
    • Common/ExternalApps/ExternalMailer/UseDefaultMailer
    • Common/ExternalApps/ExternalMailer/CommandProfile
    • Common/ExternalApps/ExternalMailer/Profiles
    • Common/MailCommandLineProfile
    • Common/Path/Current/OfficeInstall
    • Common/Path/Current/OfficeInstallURL
    • Java/Install/AdditionalClasspath 7c48a2a83f4a92200c7f2b0f259bf1684d253436
    • Java/Install/AdditionalSearchPath
    • Java/Install/ExcludeVersion
    • Java/Install/InstallationPackage
    • Java/Install/PackageInstallationDirectory
    • Java/Install/RequiredVersion
    • Java/Install/Vendor
    • Java/Install/VerifiedVersion
    • Java/Install/Version
    • Java/VirtualMachine/DebugPort
    • Java/VirtualMachine/DisableAsyncGC
    • Java/VirtualMachine/EnableClassGC
    • Java/VirtualMachine/EnableVerboseGC
    • Java/VirtualMachine/EnvironmentType
    • Java/VirtualMachine/JavaLibPath
    • Java/VirtualMachine/JavaStackSize
    • Java/VirtualMachine/MaxHeapSize
    • Java/VirtualMachine/MinHeapSize
    • Java/VirtualMachine/NativeStackSize
    • Java/VirtualMachine/RunTimeLib
    • Java/VirtualMachine/SystemClassPath
    • Java/VirtualMachine/VMType
    • Java/VirtualMachine/Verbose
    • Java/VirtualMachine/VerifyMode

    uno executable

    The uno tool no longer supports -ro and -rw options 5a1d5113.

    Instead use the following environment variables uno [...] -env:URE_MORE_TYPES=types.rdb -env:URE_MORE_SERVICES=services.rdb

    javamaker / cppumaker

    idlc

    regcomp

    Most Annoying Bugs

    The following annoying bugs were not fixed in time and will be addressed in the regular bug fix releases:

    • some fields don't fit into Options dialog (tdf#61544) fixed in 4.1.1
    • letters move around during editing/typing (tdf#64957) fixed in 4.2.3
    • encrypted documents can't be opened on Linux (tdf#64916) fixed in 4.1.1
    • Calc transforms number of spaces into a single space during the file export (tdf#67094) fixed in 4.1.1
    • if you have no menus on a Debian/Ubuntu-based system or trouble with the install, you likely didnt uninstall the distro version of LibreOffice completely. You will need to make sure all the binary packages listed here: https://launchpad.net/ubuntu/+source/libreoffice are uninstalled. On Ubuntu releases, executing sudo apt-get purge 'libreoffice*'; sudo apt-get purge openoffice.org-dtd-officedocument1.0 python-uno python3-uno uno-libs3 ure should do that. fixed in 4.1.1
    • database: accessing a timestamp column through JDBC, only the date part is read (tdf#67387) fixed in 4.1.1