- Images embedded in writer can now be rotated easily in 90 degree increments tdf#34423(Tomaž Vajngerl)
- Writer textframes now support having a gradient as background tdf#46029 (Miklós Vajna)
- Embedding fonts in a Writer document tdf#42195 (Luboš Luňák)
- The comments bar now can be easily toggled with the a button in the ruler. tdf#38246 (Rodolfo Ribeiro Gomes)
- On Windows, modern IMEs show their suggestion windows at more easy-to-read position. tdf#64298 (Yohei Yukawa - Google)
- 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)
- 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)
- New feature in Calc spreadsheet: Count the number of selected cells: tdf#61541 (Prashant Pandey)
- Import large HTML documents with more than 64k table cells. tdf#35756 (Eike Rathke)
- 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
- 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: ▸ ▸
- Option to disable the bundled Presenter Console, which makes OpenLP integration much smoother (Manik Malhotra)
- See also Filters
- Limit the results of a query by using the 'Limit' combobox on the Query Design Toolbar. (Tamás Zolnai)
- Find at: ▸ ▸
- New Query Properties Dialog in Query Design View for adding limit and distinct values properties. (Tamás Zolnai)
- Find at: ▸ ▸ ▸
- Query Properties Dialog can open from Query Design Toolbar (Issa Alkurtass, Tamás Zolnai)
- Find at: ▸ ▸
- New Elements docking window added (Tomaž Vajngerl)
- Export of charts into .odc(ODF chart files) (Markus Mohrhard)
- To do so: switch into chart edit mode and then
- 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 ▸ ▸ (Markus Mohrhard)
- Charts can now be also exported to vector graphics (e.g. SVG,PDF) tdf#60137 (Tomaž Vajngerl)
- 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)
- 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 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
- Write Now 4.0
- MacWrite Pro 1.5
- AppleWorks 6.0
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:
- OOXML Filters→ OOXML, DOCX, XLSX, PPTX, VML
- Microsoft Office binary file filters→ DOC, XLS, PPT, "ww8"
- RTF Filters→ RTF
- Syntax highlighted Basic code examples in local help (David Vastag, Andras Timar)
- 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)
- Add ▸ ▸ 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)
More well sized dialogs
The stream of dialogs that are well sized continues.
- Delete multiple styles at once tdf#46718 (Joren De Cuyper)
- Experimental feature: Sidebar (Apache OpenOffice/IBM Symphony) with resizeable layout (LibreOffice team)
- New Gallery Images (IBM Symphony)
- 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 ( ▸ ▸ ), not the Printer 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.
- Much improved windows input method alignment using IMR_QUERYCHARPOSITION tdf#64298 (Yohei Yukawa – Google)
- Support font localized forms (locl) feature in Writer tdf#62154 (Caolán McNamara)
- 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).
- 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)
- 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)
- 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.
C++ UNO language binding and URE libraries
- Headers for the
reglibraries were removed from the SDK core commit c56013e97b7b5cf7a09a3ff99e0c172450dcb5a5
- These libraries were never actually stable URE interfaces, so no client code should be using them.
- rtl/unload.h and everything defined in it related to unloading libraries (rtl_ModuleCount) is deprecated and will likely be removed in a future version core commit b98617b3c86863fe5b4e3d9a96519707ae8cf58c core commit 1268326e814837e111eaf320f72661f288393839
- removed the deprecated header cppuhelper/servicefactory.hxx core commit f3051abde54e7a0bc3e2d184e31ac011e96d3e6b
- removed the deprecated header cppuhelper/bootstrap.hxx core commit e3982fc537aa46595def41250526c331a02cd4e6
- removed the deprecated header rtl/memory.h core commit 542ad7f1c5ac7794c42248ac13e9b33f84888490
- the overload
rtl::OUString::compareToAscii(asciiStr, maxLength)is deprecated because it is very error prone core commit 77c87c18697e19cb4606717af0e4b0e5ab2139bc
rtl::OUString::valueOfis deprecated, replacements are
rtl::OUString::booleancore commit 2b31e751db38e7ba0e2ec668520f50daf5eb25d5 core commit 751950edc84e0069e5bce1083160d46d9ba1bf33
Yearwas changed from
sal_Int16core commit 51745327e55ad5ffb5df620142c27c0ad956ef1d
- deprecated com.sun.star.comp.helper.RegistryServiceFactory removed core commit f3051abde54e7a0bc3e2d184e31ac011e96d3e6b
- Due to changes for the new
uno.getConstantByNameno longer works for UNOIDL enum members, only for UNOIDL constants. Even though
uno.getConstantByNamehad 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
- com.sun.star.document.MediaDescriptor core commit 765aca651a3d53b14dc3bfac0d05b36d4f01dbb4
Changes to UNO APIs
- com.sun.star.uno.XUnloadingPreference is deprecated core commit 1268326e814837e111eaf320f72661f288393839
- com.sun.star.reflection.TypeDescriptionProvider / TypeDescriptionManager return values of different types via getByHierarchicalName() core commit 2356a480fea6cac8cccaae85c9a2b6a312a9048c
- com.sun.star.frame.Desktop no longer includes interfaces com.sun.star.task.XStatusIndicatorFactory, com.sun.star.frame.XDispatchInformationProvider and com.sun.star.document.XEventBroadcaster core commit bb121c864cc3c101ef733a4088c7ba3e36eced14
- com.sun.star.frame.DispatchRecorder service no longer includes interface com.sun.star.container.XIndexReplace core commit 89d4ecc16e7e9501f357a26de50b3318d24446f3
- com.sun.star.linguistic2.LinguProperties service no longer includes interfaces com.sun.star.lang.XComponent and com.sun.star.beans.XFastPropertySet core commit ef0af5032ad283ffb3b4521eb097a118d58f332a
- com.sun.star.scanner.ScannerManager service now based on com.sun.star.scanner.XScannerManager2 interface core commit 51a2b574bf6e163d34d2301c2b526a09cd7ff1aa
- com.sun.star.text.textfield.SetExpression documentation was adapted to what the implementation actually does core commit 3b2cbfaa5623ea8443ce1084ece642139de7539d
- com.sun.star.text.textfield.GetExpression documentation was adapted to what the implementation actually does core commit ff3d85dbd72a0e547abe573465e65747ef985955
The UNO date & time-related structs were changed core commit dd780228cca25dc818ca7fdb628ff607c109618e to accommodate:
- signed (negative) year
- nanosecond resolution of time
- support for timezones
- com.sun.star.util.Duration (not published)
New structs: WithTimezone variants.
- 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:
- com.sun.star.sheet.XDataPilotResults has new getFilteredResults method core commit ac569ed4cf5064248b9952f182f6572f20dc9bcbcore commit d6cfe8de74969928af13a04ebc5ae9dbc9274196
- com.sun.star.chart2.FormattedString service documentation was adapted to what the implementation actually does core commit 5d1ad167294878789e644452f23ef883af93fe87
- the never documented com.sun.star.awt.DisplayAccess service was removed core commit dde234b6955a421d51d2b37e4fc3972c660146f0
- use com.sun.star.awt.XToolkit.getWorkArea() instead core commit 99d8ce56ecfc4af77cf9b2dc1120d821cba20bee
Removing deprecated configuration options
- Common/Gallery/ID_Dialog core commit 8e7a1ad17cdcd677e40865daa9bbdbe69927360d
- Common/Internal/CurrentTempURL core commit 31fedbe9f782976b6aa4615b6fd171ed52137c94
- Common/OfficeObjects core commit 8e7a1ad17cdcd677e40865daa9bbdbe69927360d
- Common/WorkingSet core commit 55664c9bd2469d3e493e6f1b67fbb2f96500d492
- Inet/Settings/ooInetDNSServer core commit ad8ca80c42d2e2b8996d3cf528183710e8ea3395
- Java/Install/AdditionalClasspath core commit 7c48a2a83f4a92200c7f2b0f259bf1684d253436
- Math/Misc/NoSymbolsWarning core commit 1c86d43ca8bf6f1eac93791068ec016d5637efcd
uno tool no longer supports
-rw options core commit 5a1d5113.
Instead use the following environment variables
uno [...] -env:URE_MORE_TYPES=types.rdb -env:URE_MORE_SERVICES=services.rdb
javamaker / cppumaker
javamakertool no longer supports the
-Boption core commit fc02ae8f825b9325c3f3d6b690a1bffeb0520253
cppumakertool no longer supports the
-Boption core commit 02a8e8acd1f0cbb512868fd9849363f9d069db95
- constants outside of constant groups are no longer supported in UNO IDL core commit 3b269d6d2d679536e9cbabc5b2d2339ef4bd75d2
- the regcomp tool was removed from the UNO Runtime Environment core commit b7215602c00f392e30e0e23e21f32dd37fba07dd
Most Annoying Bugs
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, executingfixed in 4.1.1
sudo apt-get purge 'libreoffice*'; sudo apt-get purge openoffice.org-dtd-officedocument1.0 python-uno python3-uno uno-libs3 ureshould do that.
database: accessing a timestamp column through JDBC, only the date part is read (tdf#67387)fixed in 4.1.1