The Document Foundation Planet


March 20, 2019

Michael Meeks

2019-03-20 Wednesday

  • Mail chew, admin; team all-hands over lunch midday. Built ESC agenda, poked financials again. Looked at SPADE with the babes: perhaps avoiding Art GCSE was indeed a smart move.

March 20, 2019 09:58 PM

Official TDF Blog

LibreOffice Conference 2020: Call for Locations

The Call for Location for LibreOffice Conference 2020 is now open.


Once a year, the LibreOffice Community gathers for a global community event: the LibreOffice Conference, or LibOCon. After a series of successful events – Paris, October 2011; Berlin, October 2012; Milan, September 2013; Bern, September 2014; Aarhus, September 2015; Brno, September 2016; Rome, October 2017; and Tirana, September 2018 – the venue for 2019 is Almeria, Spain.

To ease the organization, TDF Board of Directors has decided to open the call for location for 2020, to give the 2020 event organizers the opportunity of attending the conference in Almeria in September 2019. The LibreOffice Conference takes place between September and November, with a preference for September.

The deadline for sending in proposals is June 30, 2019.

After receiving the applications, we will evaluate if all pre-conditions have been respected and the overall quality of the proposal, and give all applicants a chance to answer questions and clarify details.

What applicants need to know

Organizing the LibreOffice Conference is a time-consuming task, where several team members are needed. Getting closer to the event, it tends to become a time consuming job, and each member of the team should be able to devote as much time as necessary. Also, dealing with finances and sponsors is a specific responsibility of conference organizers, who must be able to manage the budget according to the amount of sponsorships, and commit expenses based on the resulting amount of money. TDF will provide a list of sponsors of previous events.

In the past, we have received applications from several third parties, including casinos or professional event managers. Keep in mind that the LibreOffice Conference is a community event, by the community for the community. While we appreciate the interest of people with professional background, proposals not supported and driven by community members (not only TDF members) will not be considered as valid.

What must be covered by the proposal

IMPORTANT: Proposals missing the following information might be considered incomplete. While we try to give every applicant a chance to add or clarify missing information, there is no guarantee that the proposal will be accepted, since we have a rather short time frame. In order to enhance the chances for your proposal to be accepted, please answer as many of the following questions as possible.

The team

Only proposals with a fair amount of team members who can spend the appropriate amount of time and are part of the LibreOffice community will be considered as valid. Based on our experience, at least five team members are required, and those team members need to interact and communicate with the community. Please name all the team members, their role in the community, and their availability in term of time (especially during the month prior to the conference).

At least one team member should be working exclusively on sponsor relations, and on managing invitations for VISAs (as required for many countries). Both of these tasks require a fair amount of time, and are crucial to the organization. Based on our experience, at least a few dozen VISA requests, if not more, need to be dealt with, and you need between € 10.000 and € 20.000 in sponsorship fees. Please let us know if you have at least one team member willing to work on these topics.

The organizing entity

The Document Foundation itself will not be legally or financially responsible for organizing the event. Although it will support the organization of the conference by any possible means, it is necessary to have a local entity, an enterprise or preferably a non-profit, to take care of financial and legal requirements such as insurances and signing contractual obligations.

Another important reason for a local entity is the fact that VISA invitation letters can usually be issued only by a local entity from within the country. Please give details on the organization, its type and its leadership.

The main venue

The venue should be easily accessible from other countries, so ideally, an airport and a central train station are nearby. It should also have a good connection to the local public transportation. Please give details on the venue, its location, and its connection to public transportation.

Ideally, there is just one venue for all conference sessions. In case you distribute the conference among two venues, they should be reachable by public transportation or foot in no more than 10 minutes. Please let us know in case you plan for more than one venue (with the exception of parties and receptions).

The main venue should be partially wheelchair-accessible, with at least the opening/closing sessions and main track room fulfilling this requirement. Please let us know how accessible is the venue.

The conference itself is on 3 days, but their is an extra day before the conference dedicated to community meetings, which should be taken into account into the proposal.

Providing canvas, projectors and rooms for two to five parallel tracks, for a total of approximately 300 participants, is also required. Please let us know if your venue fulfills these requirements.

Next to the presentations, there is often the need to have private meetings. For sure, there are a TDF Board of Directors meeting, a Membership Committee meeting and a TDF Team meeting, so at least two additional rooms are required one day before and one day after the conference. These meeting rooms can also be in a different location from the main conference venue. Please let us know if you can provide these meeting rooms.

Next to conference rooms, there should also be an open space for community gatherings. Please let us know if you can provide such a space.

A publicly accessible, free wireless Internet connection is required. If the venue itself does not provide WiFi, an alternative is represented by broadband 3G/4G wireless routers.

We should also know in advance if there are firewall restrictions in place that limit or forbid the access to services like SSH, Gerrit, Git and others (including e-mail), and whether we can provide a TDF VPN to overcome such limitations. Please let us know which kind of wireless Internet connectivity will be provided to conference attendees.

Having video archives or video live streams is not a must-have, but a nice-to-have. Please let us know if you plan video archives or live streams of the presentations.

Also, if at least one of the social events will be in a wheelchair-accessible location, this will be highly appreciated and will be absolutely wonderful.


Since we expect around 300 visitors, the availability of three/four stars hotel rooms or equivalent accommodations (B&B, or similar) is required. Please elaborate on the hotel offerings near the venue.

Offering couch surfing, motels, youth hostels or other means of free to cheap accommodation is a nice-to-have. Please let us know if such accommodations are available at your venue.

One more thing…

Please describe in your own words why you want to host the next LibreOffice Conference, what motivates you, and what you expect from organizing the event.

Other informations

Please write anything else that can support your application, like

  • Adoption of free open source software and open document standards in your country/region;
  • FOSS support by national/local government bodies, or other organizations, enterprises, user groups;
  • Cultural and/or IT related events close to the conference (parallel events are not a problem, if they do not distract participants from the LibreOffice Conference)
  • Potential conference sponsors, and the sponsorship size if it is already confirmed
  • Parties and receptions that are already planned, also in partnership with other local organizations
  • Anything elase…

Providing child care would be a nice addition to the application, as there are participants with children who might be encouraged to participate if the service is available.

You may find useful information on the dedicated pad for conferences management.

How to apply

Please send your proposal as plain text e-mail, or HTML e-mail, or Open Document File to Please write only in English. We will send a confirmation of your application no later than one week after we have received your proposal. In case that you have not heard back from us by then, please let us know.

Again, the deadline is June, 30 2019 24:00 UTC.


by Italo Vignoli at March 20, 2019 08:34 AM

March 19, 2019

Michael Meeks

2019-03-19 Tuesday

  • Mail chew, slideware, product management bits. Sync with Tracie, monthly mgmt call, debugging weird online corner-case.

March 19, 2019 09:00 PM

March 18, 2019

Michael Meeks

2019-03-18 Monday

  • Out for a run; mail chew, status report & review, customer call.

March 18, 2019 09:00 PM

March 17, 2019

Michael Meeks

2019-03-17 Sunday

  • All Saints, slugged, read Marooned in Realtime to lego-playing babes; lots of applied resting.

March 17, 2019 09:00 PM

March 16, 2019

Michael Meeks

2019-03-16 Saturday

  • Out to the Cambridge Science Festival for lots of fun with E. and M. At the Engineering Department for the 1st time - build & test Tsunami defences in the Dyson building - liquid nitrogen ice-cream from the material scientists, hover-craft building from styrofoam, cloud-chamber to visualize background radiation, thermal imaging cameras - and more.
  • Back to David's for some tea, cake & catch-up. Home for left-over pizza dinner with H. in front of a movie.

March 16, 2019 09:00 PM

March 15, 2019

Official TDF Blog

MITRE names The Document Foundation as a CVE Numbering Authority (CNA)

Berlin, March 15, 2019 – MITRE announced that The Document Foundation, the home of LibreOffice, has been approved as CVE Numbering Authority (CNA). The Document Foundation is at the center of one of the largest free open source software ecosystems, where enterprise sponsored developers and contributors work side by side with volunteers coming from every continent. The nomination is the result of significant investments in security provided by the LibreOffice Red Hat team under Caolán McNamara leadership.

What is CVE?

Common Vulnerabilities and Exposures (CVE) is a reference list of public cybersecurity vulnerabilities, with entries that describe those vulnerabilities and provide references for them. These references are often used as the vulnerability names, especially in security updates. To date, LibreOffice has a track record of rapid response to all reported threats.

What is a CVE Numbering Authority (CNA)?

A CNA is an organization that can assign and announce CVE entries within a particular scope. Some CNAs are organizations providing CVEs for their products such as The Document Foundation.

How will The Document Foundation assign CVEs?

The Document Foundation Security Team provides a forum for all of the vendors and individuals who contribute to LibreOffice development to co-ordinate the work of protecting our users from threats related to the application.

As a CNA, The Document Foundation Security Team now has the ability to assign CVE IDs to vulnerabilities affecting our products, the ability to control the disclosure of vulnerability information without pre-publishing, and notification of vulnerabilities in our products by researchers who request a CVE ID from us.

by Italo Vignoli at March 15, 2019 10:00 AM

March 14, 2019

Official TDF Blog

LibreOffice Conference 2018 second room videos

We’ve finished editing and uploading almost all the videos from the second room of the LibreOffice Conference 2018 in Tirana, Albania. To view slides for the talks, find the PDFs in the program here:

As for the main room, the audio isn’t great in many cases (due to technical and acoustic limitations of the venue). Listening with headphones should improve the experience.

You can find the playlist at the following address: LibreOffice Conference 2018. To find second room videos, you should scroll down the list on the right side.

by Italo Vignoli at March 14, 2019 11:05 AM

LibreOffice QA Blog

QA Report: February 2019

General Activities

  1. LibreOffice 6.2 was released as final on February, 7
  2. Xisco gave a talk about QA at FOSDEM
  3. Mark Hung added support for playing embedded videos in slideshow
  4. Mark Hung fixed an old issue, which prevented Linux users from adding sounds to custom animations in Impress
  5. Balazs Varga (NISZ) keeps fixing OOXML Chart bugs
  6. Miklos Vajna (Collabora) added support for the btLr text direction in Writer.
  7. Szymon Kłos (Collabora) added support for Browsersync integration for Online
  8. Dennis Francis (Collabora) implemented Discrete Fourier Transform in Calc
  9. Martin van Zijl fixed a bunch of old papercut issues, mostly related to selections in Writer
  10. Michael Weghorn did a lot of work on KDE5 & Qt5 file pickers
  11. Katarina Behrens (CIB) and Aleksei Nikiforov (BaseAlt) keep fixing KDE5 issues
  12. Tor Lillqvist (Collabora) continued the work on the new iOS app
  13. Zdeněk Crhonek created nearly 20 UI tests
  14. Andreas Kainz did many updates to the Sifr icon theme along with other UI improvements
  15. Tamas Bunth (Collabora) fixed some Firebird related bugs
  16. László Németh (NISZ) fixed some OLE in DOCX bugs
  17. Bjoern Michaelsen keeps fighting against SwClient
  18. Armin Le Grand and Katarina Behrens (CIB) improved tagged PDF export
  19. Samuel Mehrbrodt (CIB) removed support for Java 5
  20. Heiko Tietze introduced bound to Shift+Alt+Space that inserts a non-breakable narrow space
  21. Tamás Zolnai (Collabora) started to work on MS compatible Forms

Reported Bugs

666 bugs have been reported by 379 people.

Top 10 Reporters

  1. NISZ LibreOffice Team ( 94 )
  2. Telesto ( 23 )
  3. Roman Kuznetsov ( 13 )
  4. Aron Budea ( 12 )
  5. Nicolas Christener ( 10 )
  6. andreas_k ( 9 )
  7. Samuel Mehrbrodt (CIB) ( 9 )
  8. raal ( 8 )
  9. peter josvai ( 7 )
  10. Mike Kaganski ( 7 )

Triaged Bugs

634 bugs have been triaged by 78 people.

Top 10 Triagers

  1. Xisco Faulí ( 109 )
  2. durgapriyanka.arun ( 58 )
  3. Dieter Praas ( 48 )
  4. raal ( 46 )
  5. Oliver Brinzing ( 46 )
  6. Heiko Tietze ( 33 )
  7. V Stuart Foote ( 32 )
  8. Buovjaga ( 29 )
  9. Alex Thurgood ( 22 )
  10. Julien Nabet ( 22 )

Fixed Bugs

158 bugs have been fixed by 49 people.

Top 10 Fixers

  1. Caolán McNamara ( 18 )
  2. andreas kainz ( 6 )
  3. Aleksei Nikiforov ( 6 )
  4. Eike Rathke ( 6 )
  5. Michael Weghorn ( 5 )
  6. heiko tietze ( 5 )
  7. Mike Kaganski ( 5 )
  8. Samuel Mehrbrodt ( 5 )
  9. Miklos Vajna ( 4 )
  10. Katarina Behrens ( 4 )

List of critical bugs fixed

  1. tdf#121532 LO62b1: on macOS local help opens an empty page in default browser ( Thanks to Stephan Bergmann )
  2. tdf#122449 Crash in: mergedlo.dll when closing “Edit Index Entry” dialog (gen/gtk) ( Thanks to Caolán McNamara )
  3. tdf#122643 Crash in: after setting Named Ranges to e.g. F:F (non-absolute columns) ( Thanks to Luboš Luňák )
  4. tdf#123320 Writer crash if Paragraph edited after delete of custom Character Style used in Drop Caps ( Thanks to Caolán McNamara )

List of crashes fixed

  1. tdf#123163 CRASH when FILEOPEN of DOCX from scan and Nuance PDF Converter that also can’t be open with MSO ( Thanks to Caolán McNamara )
  2. tdf#123309 GTK3 Chart – crash when change symbol ( Thanks to Caolán McNamara )
  3. tdf#123406 kde5: Crash pressing Esc in undocked Find toolbar ( Thanks to Aleksei Nikiforov )
  4. tdf#123439 Crash wrt PointerStyle fails when moving cursor over toolbar ( Thanks to Noel Grandin )

List of old bugs ( more than 4 years old ) fixed

  1. tdf#38101 EDITING – image resizing; not disappearing frame ( Thanks to Martin van Zijl )
  2. tdf#39625 make sal/qa/systools/test_comtools.cxx work (Windows only) …. ( Thanks to Andrés Maldonado )
  3. tdf#40780 SLIDESHOW with custom animations: sound is lost with Linux ( Thanks to Mark Hung )
  4. tdf#61679 SLIDESHOW: Enhancement request: control over the timing of presentation delay in kiosk mode ( Thanks to Mike Kaganski )
  5. tdf#74446 Styles dropdown menu has wrong tooltip: “Create style from selection” ( Thanks to Roman Kuznetsov )
  6. tdf#77186 Custom animation timing repeat until next slide doesn’t work ( Thanks to Mark Hung )
  7. tdf#82504 EDITING: Background color button should fill cell background and not paragraph color when in a cell ( Thanks to Jim Raykowski )
  8. tdf#83247 VIEWING / SLIDESHOW: Pause duration in “Auto” mode defaults to 10s when presentation is opened in PowerPoint ( Thanks to Mike Kaganski )
  9. tdf#84431 [CALC] [CHART] Lack of default picture format during chart export ( Thanks to Martin van Zijl )
  10. tdf#87884 tabpages not displayed in Java/Python/basic dialog ( Thanks to Vasily Melenchuk )

Verified bug fixes

51 bugs have been verified by 14 people.

Top 10 Verifiers

  1. Xisco Faulí ( 24 )
  2. Michael Weghorn ( 6 )
  3. Cor Nouws ( 3 )
  4. Buovjaga ( 3 )
  5. Vera Blagoveschenskaya ( 3 )
  6. Alex ARNAUD ( 2 )
  7. Jean-Baptiste Faure ( 2 )
  8. V Stuart Foote ( 2 )
  9. Terrence Enger ( 1 )
  10. raal ( 1 )

Categorized Bugs

831 bugs have been categorized with a metabug by 26 people.

Top 10 Categorizers

  1. Roman Kuznetsov ( 400 )
  2. Thomas Lendo ( 130 )
  3. NISZ LibreOffice Team ( 71 )
  4. Aron Budea ( 51 )
  5. Dieter Praas ( 39 )
  6. Xisco Faulí ( 36 )
  7. Heiko Tietze ( 25 )
  8. Buovjaga ( 20 )
  9. Luke ( 8 )
  10. raal ( 8 )

Regression Bugs

86 bugs have been set as regressions by 22 people.

Top 10

  1. Xisco Faulí ( 17 )
  2. raal ( 14 )
  3. Buovjaga ( 10 )
  4. Telesto ( 9 )
  5. Oliver Brinzing ( 5 )
  6. Timur ( 4 )
  7. Alex Thurgood ( 4 )
  8. Aron Budea ( 3 )
  9. Dieter Praas ( 3 )
  10. V Stuart Foote ( 2 )

Bisected Bugs

54 bugs have been bisected by 11 people.

Top 10 Bisecters

  1. Xisco Faulí ( 26 )
  2. raal ( 10 )
  3. Buovjaga ( 5 )
  4. Aron Budea ( 3 )
  5. Mike Kaganski ( 2 )
  6. NISZ LibreOffice Team ( 2 )
  7. Oliver Brinzing ( 2 )
  8. David Tardon ( 1 )
  9. Luke ( 1 )
  10. Michael Weghorn ( 1 )

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

Thank you all for making Libreoffice rock!
Join us and help to keep LibreOffice super reliable!
Check the Get Involved page out now!

by x1sc0 at March 14, 2019 11:00 AM

March 13, 2019

Official TDF Blog

Next C++ workshop: Classes and Arrays, 14 March at 19:00 UTC

Yes, it’s that time again! You can improve your C++ skills with the help of LibreOffice developers: we’re running regular workshops which focus on a specific topic, and are accompanied by a real-time IRC meeting. For the next one, the topics are Classes and Arrays. Start by watching this presentation:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

And check out these sections from C++ Annotations: Classes and Arrays.

Then join us for a discussion via our #libreoffice-dev IRC channel on Freenode. You can ask experienced LibreOffice developers questions, and learn more about the language. See you then!

by Mike Saunders at March 13, 2019 02:31 PM

March 09, 2019

TDF Infrastructure Status

routing issues

Currently there are some routing/connectivity issues with our hosting provider. Nothing we (TDF) can do, see our provider's ticket for latest info.

by The Document Foundation's Infrastructure Status at March 09, 2019 02:45 PM

March 08, 2019

Official TDF Blog

International Women’s Day, March 8th, 2019

#BalanceforBetter #IWD2019

A balanced world is a better world. How can you help forge a more gender-balanced world? Celebrate women’s achievement. Raise awareness against bias. Take action for equality.

by Italo Vignoli at March 08, 2019 09:36 AM

March 06, 2019

TDF Infrastructure Status

Service disruption - hypervisor crash

Service disruption (slowdown, timeout) in The Document Foundation's main infrastructure. Reason: hypervisor crash. Update 12:30 UTC: Production VMs should no longer be affected. Resolved - 12:45:00 UTC

by The Document Foundation's Infrastructure Status at March 06, 2019 11:45 AM

March 03, 2019

TDF Infrastructure Status

LibreOffice - monitoring

Resolved - 2019-03-03 17:25:08 UTC

LibreOffice check failed (server time: 2019-03-03 17:24:58 UTC)

Expected HTTP response status: 200, got: 502

by The Document Foundation's Infrastructure Status at March 03, 2019 05:24 PM

LibreOffice - monitoring

Resolved - 2019-03-03 15:16:49 UTC

LibreOffice check failed (server time: 2019-03-03 15:16:28 UTC)

Expected HTTP response status: 200, got: 502

by The Document Foundation's Infrastructure Status at March 03, 2019 03:16 PM

LibreOffice - monitoring

Resolved - 2019-03-03 15:10:30 UTC

LibreOffice check failed (server time: 2019-03-03 15:10:18 UTC)

Expected HTTP response status: 200, got: 502

by The Document Foundation's Infrastructure Status at March 03, 2019 03:10 PM

March 01, 2019

Andreas Kainz


It’s time to register to the GSOC programm for the different LibreOffice tasks.

As the notebookbar is available for the regular users I hope to get students how are interested in Improve the LibreOffice notebookbar.

Open tasks are

And of corse there are some open bugs (tdf#102062) and missing uno commands that need to be done.

So join the LibreOffice GSOC project and be part of an open and helpful community.

by kdeonlinux at March 01, 2019 10:09 AM

February 28, 2019

Naruhiko Ogasawara

LibreOffice Asia Conference 2019, Tokyo: Call for Proposal is open

Image may contain: text
...Because of the official announcement has been published, I had closed my draft article here.

If you are a Japanese speaker, please check the JP team's announcement also.

(Anyway, as above link, now we JP team has our own blog under the TDF domain.  Thank you to everyone in TDF who worked for this!)

by Naruhiko Ogasawara ( at February 28, 2019 11:21 AM

February 21, 2019

Miklos Vajna

My hack week at Collabora: btLr text direction in Writer

As mentioned in my previous such report, a hack week is when we are allowed to hack on anything we want in LibreOffice for a few days at Collabora. I used this time to implement core support for the btLr text direction in Writer.


If you work with tables in Word, it’s very easy to create this writing direction: the context menu in a table cell has a menu item to set the direction of the text, where you can rotate the text by 90 degrees counter-clockwise or clockwise. The counter-clockwise btLr direction is the problematic one. Support for tbRl was fine already, since that is needed typically for Chinese/Japanese scripts as well.

Results so far

Here is how the baseline, the current and the reference rendering of btLr text looks like:

btlr-cell.docx, baseline

btlr-cell.docx, current

btlr-cell.docx, reference

You can see how the second paragraph in the cell was missing from the rendered result and now we basically pixel-by-pixel match the reference.

How is this implemented?

If you would like to know a bit more about how this works, continue reading… :-)

The document model and UNO API were reasonably straightforward to implement, but the layout was much more challenging. Writer already supported 3 writing directions:

  • typically used for Latin (left to right, top to bottom)

  • Chinese/Japanese (top to bottom, right to left)

  • Mongolian (top to bottom, left to right) text.

This new one is also a vertical direction, also left to right, but bottom to top. The initial layout contained code to read the new enumerator from doc model, extend the SwFrame class to handle this new bottom to top mode, some handling of switching between horizontal/vertical mode and at the end mapping from Writer layout’s direction to VCL’s "900" font orientation. There are more things to handle in layout, but this was good enough to look at other areas as well.

The ODF filter required updating, which was a bit challenging as it was necessary to write different attribute names depending on which enumerator is used from an emumeration, and we don’t have good support for this. Once the filter code was in place, I could write some layout-level tests as well.

Since we have .ui files for UI descriptions, adding UI support was really easy.

Time came to step away from coding for a moment and write up paperwork to propose this feature to be part of the next ODF version (thanks to Andras for the help there!).

Finally I went back to layout, and improved things a bit more: after fixing baseline offsets, the positioning of the text was exactly matching what Word does. How do I know? I used this little script:

gs -dNOPROMPT -dBATCH -sDEVICE=jpeg -r75 -dNOPAUSE -sOutputFile=btlr.jpg btlr.pdf
gs -dNOPROMPT -dBATCH -sDEVICE=jpeg -r75 -dNOPAUSE -sOutputFile=btlr-word.jpg btlr-word.pdf
composite -compose difference btlr-word.jpg btlr.jpg out.jpg

Which allows seeing the differences between our and Word’s PDF output. Additional work was needed to handle multiple paragraphs in a table cell. At this stage I was happy enough with the rendering result, so finally pulled the trigger and replaced the old DOCX filter hack (using character-level rotation) with simple DOCX filter mapping from OOXML’s btLr direction to Writer’s btLr direction — i.e. what was already done for the tbRl case.

Future work

The feature works good enough already so that this new core feature can be used by the DOCX filter by default, but there are still a few rough edges:

  • the shell code (cursor travelling, selection painting, etc) only has partial support for this new direction

  • RTF and DOC filters are not yet updated

  • the ODF proposal has a list of contexts other than table cells where the new writing direction could be used, which lack UI/filter support/etc at the moment.

All this is available in master (towards LibreOffice 6.3), so you can grab a daily build and try it out right now. :-)

February 21, 2019 02:19 PM

>Szymon Kłos

Hack Week - Browsersync integration for Online

Recently my LibreOffice work is mostly focused on the Online. It's nice to see how it is growing with new features and has better UI. But when I was working on improving toolbars (eg. folding menubar or reorganization of items) I noticed one annoying thing from the developer perspective. After every small change, I had to restart the server to provide updated content for the browser. It takes few seconds for switching windows, killing old server then running new one which requires some tests to be passed.

Last week during the Hack Week funded by Collabora Productivity I was able to work on my own projects. It was a good opportunity for me to try to improve the process mentioned above.

I've heard previously about browsersync so I decided to try it out. It is a tool which can automatically reload used .css and .js files in all browser sessions after change detection. To make it work browsersync can start proxy server watching files on the original server and sending events to the browser clients if needed.

What is the advantage? Developer tools in the browser are not good enough?

  • Changes tracked by git - no need to copy changes from the browser's developer tools to the source files
  • You can setup testing matrix with all apps (writer, calc, impress) and all is reloaded instantly at one time (even on other devices like tablet or smartphone)
  • Fast prototyping


  • You have to remember to run syntax tests before commiting the changes

To integrate browsersync I needed to do some build system changes. First, all static files are served from 'loleaflet/dist' directory. These files are not the original sources but copies. I modified the Makefiles to create symlinks instead if the browsersync is activated. Thanks to that we can modify sources tracked by git and proxy can detect changes.

To try it out on your own:

  1. Delete your 'loleaflet/dist' folder or
    make clean
    you might need to delete generated 'Makefile' if repository was used before
  2. Install browsersync:
    npm install -g browser-sync
  3. Run 'configure' script with additional --enable-browsersync argument
  4. Run server with:
    LOOL_SERVE_FROM_FS=1 make run
  5. In the other console run browsersync:
    make sync-[writer|calc|impress]
More information can be found in: 'loleaflet/README'

In the video below you can see how it works:

Next step will be to allow browsersync usage with cloud storage integrations like richdocuments, I noticed also some issues with access from other devices (app is still using original server for some resources).

by Szymon Kłos ( at February 21, 2019 12:59 PM

>Marius Popa Adrian

Firebird 4.0 Beta 1 release is available for testing

Firebird Project announces the first Beta release of Firebird 4.0, the next major version of the Firebird relational database, which is now available for testing.This Beta release arrives with features and improvements already implemented by the Firebird development team, as well as with countless bugfixes. Our users are appreciated giving it a try and providing feedback to the development

by Adrian Marius Popa ( at February 21, 2019 12:07 PM

February 20, 2019

GSlice considerations and possible improvements

The paper Mesh: Compacting Memory Management for C/C Applications is about moving memory allocations for compaction, even though the memory pointers are exposed. The idea is to merge allocation blocks from different pages that are not overlapping at page offsets, and then letting multiple virtual…

February 20, 2019 12:50 PM

February 19, 2019

Dennis Francis

Discrete Fourier Transform in Calc

Last week I started implementing a FOURIER() formula for LibreOffice Calc that computes Discrete Fourier Transform [DFT] of a real/complex data sequence. This is a long-time wanted feature in Calc. I’d like to thank Collabora Productivity for a fully funded hack week and lots of encouragement that enabled me to work on this feature.

The implementation is still a work in progress and current syntax of the formula is :

FOURIER(Array, GroupedByColumn, Inverse, Polar)

First argument is the data array range, but there are some restrictions on its shape. If the array is grouped by columns(rows), you need to indicate that by setting the second argument GroupedByColumns = TRUE(FALSE). In this case the array can contain 1 or 2 columns(rows), where the first column(row) contains the real part of input series and second column(row) if present contains the imaginary part of the input series. If there is only 1 column(row), the input series is treated as purely real. If the number of rows(columns) is not a power of 2, zeroes are appended to the input series internally to make the series length equal to the next nearest power of 2.

The third argument “Inverse” is a boolean flag to indicate whether an inverse DFT needs to be computed. This argument is optional and the default value is FALSE.

The fourth argument Polar is a boolean flag to indicate whether the final output needs to be in polar coordinates. This argument is optional and the default value is FALSE.

The result of this formula consists of two columns – first column contains the real parts (or the magnitudes if Polar=TRUE) and second column contains the imaginary parts (or the phases if Polar=TRUE).

Below is a screenshot of a sample usage of FOURIER() formula.



The data x[n] column was generated by the formula “=10*COS(2*PI()*COS(2*PI()*A2:A257/128))” (a typical frequency modulation example). Here I wanted to get an Phase-Magnitude spectrum and plot it, so I used “=FOURIER(B2:B257,1,0,1)” (Note that the Polar argument is set to 1).


I made a choice to implement a radix-2 decimation-in-time Fast Fourier Transform algorithm from scratch. Of course this would mean the data length should be an even power of 2. But like Gnumeric, my implementation pads zeroes to the data sequence to round the length to the next power of 2. This is something to improve upon in the future. The current implementation is not yet merged to LibreOffice core repository, but is in review @ gerrit. A Fourier analysis tool user-interface is also in the works too.

by Dennis Francis at February 19, 2019 07:14 AM

February 15, 2019

Kohei Yoshida

Performance benchmark on mdds R-tree

I’d like to share the results of the quick benchmark tests I’ve done to measure the performance of the R-tree implementation included in the mdds library since 1.4.0.

Brief overview on R-tree

R-tree is a data structure designed for optimal query performance on spatial data. It is especially well suited when you need to store a large number of spatial objects in a single store and need to perform point- or range-based queries. The version of R-tree implemented in mdds is a variant known as R*-tree, which differs from the original R-tree in that it occasionally forces re-insertion of stored objects when inserting a new object would cause the target node to exceed its capacity. The original R-tree would simply split the node unconditionally in such cases. The reason behind R*-tree’s choice of re-insertion is that re-insertion would result in the tree being more balanced than simply splitting the node without re-insertion. The downside of such re-insertion is that it would severely affect the worst case performance of object insertion; however, it is claimed that in most real world use cases, the worst case performance would rarely be hit.

That being said, the insertion performance of R-tree is still not very optimal especially when you need to insert a large number of objects up-front, and unfortunately this is a very common scenario in many applications. To mitigate this, the mdds implementation includes a bulk loader that is suitable for mass-insertion of objects at tree initialization time.

What is measured in this benchmark

What I measured in this benchmark are the following:

  • bulk-loading of objects at tree initialization,
  • the size() method call, and
  • the average query performance.

I have written a specially-crafted benchmark program to measure these three categories, and you can find its source code here. The size() method is included here because in a way it represents the worst case query scenario since what it does is visit every single leaf node in the entire tree and count the number of stored objects.

The mdds implementation of R-tree supports arbitrary dimension sizes, but in this test, the dimension size was set to 2, for storing 2-dimensional objects.

Benchmark test design

Here is how I designed my benchmark tests.

First, I decided to use map data which I obtained from OpenStreetMap (OSM) for regions large enough to contain the number of objects in the millions. Since OSM does not allow you to specify a very large export region from its web interface, I went to the Geofabrik download server to download the region data. For this benchmark test, I used the region data for North Carolina, California, and Japan’s Chubu region. The latitude and longitude were used as the dimensions for the objects.

All data were in the OSM XML format, and I used the XML parser from the orcus project to parse the input data and build the input objects.

Since the map objects are not necessarily of rectangular shape, and not necessarily perfectly aligned with the latitude and longitude axes, the test program would compute the bounding box for each map object that is aligned with both axes before inserting it into R-tree.

To prevent the XML parsing portion of the test to affect the measurement of the bulk loading performance, the map object data gathered from the input XML file were first stored in a temporary store, and then bulk-loaded into R-tree afterward.

To measure the query performance, the region was evenly split into 40 x 40 sub-regions, and a point query was performed at each point of intersection that neighbors 4 sub-regions. Put it another way, a total of 1521 queries were performed at equally-spaced intervals throughout the region, and the average query time was calculated.

Note that what I refer to as a point query here is a type of query that retrieves all stored objects that intersects with a specified point. R-tree also allows you to perform area queries where you specify a 2D area and retrieve all objects that overlap with the area. But in this benchmark testing, only point queries were performed.

For each region data, I ran the tests five times and calculated the average value for each test category.

It is worth mentioning that the machine I used to run the benchmark tests is a 7-year old desktop machine with Intel Xeon E5630, with 4 cores and 8 native threads running Ubuntu LTS 1804. It is definitely not the fastest machine by today’s standard. You may want to keep this in mind when reviewing the benchmark results.

Benchmark results

Without further ado, these are the actual numbers from my benchmark tests.

The Shapes column shows the numbers of map objects included in the source region data. When comparing the number of shapes against the bulk-loading times, you can see that the bulk-loading time scales almost linearly with the number of shapes:

You can also see a similar trend in the size query time against the number of shapes:

The point query search performance, on the other hand, does not appear to show any correlation with the number of shapes in the tree:

This makes sense since the structure of R-tree allows you to only search in the area of interest regardless of how many shapes are stored in the entire tree. I’m also pleasantly surprised with the speed of the query; each query only takes 5-6 microseconds on this outdated machine!


I must say that I am overall very pleased with the performance of R-tree. I can already envision various use cases where R-tree will be immensely useful. One area I’m particularly interested in is spreadsheet application’s formula dependency tracking mechanism which involves tracing through chained dependency targets to broadcast cell value changes. Since the spreadsheet organizes its data in terms of row and column positions which is 2-dimensional, and many queries it performs can be considered spatial in nature, R-tree can potentially be useful for speeding things up in many areas of the application.

by Kohei Yoshida at February 15, 2019 09:40 PM

February 12, 2019

CIB News

CIB visiting FOSDEM 2019

A new edition of FOSDEM (Free and Open source Software Developers‘ European Meeting) just ended. Our CIB LibreOffice team this year was represented by Thorsten Behrens, Michael Stahl and Marina Latini. The event is held annually during the first weekend of February, at the „Université Libre de Bruxelles„. For our team, attending FOSDEM means to be … CIB visiting FOSDEM 2019 weiterlesen

Der Beitrag CIB visiting FOSDEM 2019 erschien zuerst auf CIB events.

by CIB Marketing at February 12, 2019 04:16 PM

Andreas Kainz

did tabbed toolbar waste space?

With the release of 6.2 I read a lot of comments on the different threads. Several issues are listed. One was that Ribbons waste vertical space.

Tabbed toolbar waste vertical space

With default settings the standard toolbar need 110 px vertical space (menubar + 2 toolbar height), tabbed toolbar need 100 px and groupedbar compact 72 px. So the default toolbar need most vertical space.


Difference in height (with GTK3 backend)

  • 110 px for standard toolbar need most vertical space cause the default icon size is 24px (large icons) and you have two toolbars and the menubar
  • 100 px for tabbed toolbar cause the default icon size is 16px (small) and you don’t need an menubar.
  • 72 px for groupedbar compact need the same vertical space than single toolbar.

Yes MSO Ribbons need a lot of vertical space, which is an issue on laptops. Therefore you can show the tabbs only. In LibreOffice we have different UI’s for different workflows, but also for different screen’s. For example on your 32 inch office screen you’d like to work with standard toolbar but on mobile you prefer tabbed compact toolbar (which will be released with 6.3).

On windows the difference between LibreOffice tabbed toolbare and MS Office ribbons is

94 px vs. 110 px

If you like my work, become a downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at February 12, 2019 11:54 AM

February 09, 2019

>Marius Popa Adrian

Pure Elixir database driver for Firebird

Pure Elixir database driver for Firebird

by Adrian Marius Popa ( at February 09, 2019 02:49 PM

Firebird 4.0 Changed travis distribution used to Ubuntu xenial.

Firebird 4.0 is using Ubuntu xenial on travis . .travis.yml looks a lot simpler after this change.   ps: Here is official Travis CI announcement: Ubuntu Xenial 16.04 is available

by Adrian Marius Popa ( at February 09, 2019 01:52 PM

Firebird 4.0 Built-in logical replication

Firebird 4.0 implemented Built-in logical replication is now merged Here is the pull request We know that is a long standing feature request Wow! @firebirdsql team implemented a feature that I asked 10+ years ago!"Built-in logical replication"Thank you guys.— Daniele Teti (@danieleteti) January 25, 2019

by Adrian Marius Popa ( at February 09, 2019 01:20 PM

Eike Rathke

February 08, 2019

Rizal Muttaqin

A Summary of LibreOffice Karasa Jaga Icon Theme Works (For Upcoming 6.2 Release)

As we know, Karasa Jaga, an icon theme derived from the Oxygen theme successfully entered the last fresh release of LibreOffice (6.1) on August. Since its inception for the first time, Karasa Jaga has been very complete and can even be said to have nearly 5,000 icons, because it has exceeded the number of icons that Galaxy and Colibre have had since first entering Karasa Jaga already has extra large icon support (32px * 32px).

But the work did not stop there, there were many things that should be improved. Moreover, in the next 6.2 release there are so many new icons that should be made especially to support the Notebookbar Tab interface. In addition, the existing icons also need to be adjusted, plus I want to add more SVG support.

Now I would like to show you the improvements that have been landed to Karasa Jaga. Although in this period I was more preoccupied with improving the elementary icon theme, I did not leave the mandate to improve Karasa Jaga, just like I took care of my own child. :) I admit that for this period the improvement were not as massive as previously released, but significant enough to be discussed as well. Let's see side by side

LibreOffice Writer

Standard Toolbar

View Menu
Mail Merge Toolbar
Data Source

LibreOffice Calc

Standard Toolbar
Row Right Click Menu
Column Right Click Menu
Sheet Menu
Data Tab
Tool Tab

LibreOffice Impress
Standard Toolbar
Slide Transition

LibreOffice Draw
New Tab Interface

Shape Menu

Other Stuffs

Table Properties
Sidebar Component
Flip Action
Data Table

That's all, if you find something strange or want to request change, just file a bug to my github page or TDF Bugzilla.

by rizmut ( at February 08, 2019 03:28 AM

February 07, 2019

Tamás Bunth

The new MySQL driver in LibreOffice

Base – the database editing program of LibreOffice – offers several features when it comes to external database connection. One interesting feature is that Base lets you connect to an external database not only with ODBC and JDBC but with native connectors too. Using the native connector instead of a standard like JDBC sometimes has a positive impact on performance.

Considering that MySQL is one of the most used database management systems worldwide it is clear that the support of connecting to a MySQL database is an unavoidable part of Base. Currently there are three ways supported to connect to a MySQL database: with ODBC, JDBC and using a native connector. However, the last option was only available as an extension, and it is the part of the core project only since November 2018.

Why was it only an extension at the first place? The native connection was implemented by using the C++ connector of MySQL, which is licensed under GPL. Because of that it could not be put into the core project. So what is the solution then?

Because of the above mentioned problem we, at Collabora decided to use the connector of MariaDB instead. MariaDB is a fork of MySQL which has the same database structure and indexes as MySQL. It has a C API which can be used to connect to MySQL and MariaDB databases too. What is more, the connector is LGPL licensed, which means that it can be used in the core project too. So the next task was to use this API to implement the sdbc driver.

Some parts of the implementation is pretty straightforward. It is pretty easy to create a connection and pass options through the function “mysql_options”. It was also clear to me how to pass things like user and password to the DBMS.

There were a few things though which were a bit more challenging. The XDatabaseMetadata interface for example – which is responsible for providing information about the current state and capabilities of the database – could not be implemented with only a few function calls. In order to implement them, I had to construct SQL queries for most of the methods. Database information are available in the schema called “INFORAMTION_SCHEMA”. That task took some time since the interface has more than a hundred methods which had to be implemented.

Another challenge was a bug about parallel execution of result sets. The C API does not support the usage of two result sets simultaneously, but the sdbc standard supports it. The solution was to store the result of a query and free the mysql resources afterwards. That way a new result set can be fetched with the C API while the previously fetched data is stored in memory.

Having the native MySQL connector in the core project has several advantages. First, it is easier for the user to install it. It is bundled with the core project, there is nothing to do there. Also, it improves maintainability, because it does not have to be maintained separately as an extension. For example the automatically triggered clang plugins do not run on extensions. It can easily happen With an extension that after a few releases it is not usable anymore, because of the lack of maintenance.

Besides that, in order to improve quality and maintainability I created a test suite to test the implementation of the sdbc driver of a MySQL database. This test suite does not run automatically with each build though. In order to test it, a running MySQL or MariaDB server is needed, so only manual execution of the test suite is supported. The test suite can be triggered with the same method as the other tests, but you have to declare an environment variable as well (CONNECTIVITY_TEST_MYSQL_DRIVER). The variable should store the URL of an available MySQL or MariaDB server. It should contain a user, a password, and a schema, which can be used to test the functionality of the driver.

Although a lot of things work now, there might be some bugs hidden. Feel free to test the driver if you like, file a bug and please CC me in Bugzilla if you found something interesting.

You can also take a look at my talk on FOSDEM about the MySQL connector and other improvements of Base.

by Bunth Tamás at February 07, 2019 06:21 PM

February 06, 2019

LibreOffice QA Blog

QA Report: January 2019

General Activities

  1. LibreOffice 6.2 RC2 was announced on January 11
  2. A two days hackfest with 25 participants was held in Brussels right before FOSDEM 2019
  3. Justin Luth (Collabora) fixed some old DrawingLayer FillStyles regressions
  4. Amharic script now works with Fontwork. tdf#66054
  5. Performance of opening documents with embedded fonts was greatly improved by Mike Kaganski (Collabora).tdf#69060
  6. CIB and NISZ teams announced they use Miloš Šrámek’s interoperability tools
  7. Some paper format bugs were found to be fixed by the 2018 GSoC print dialog revamp work
  8. Jens Carl made over 60 commits related to the Java tests to C++ conversion effort
  9. Mark Robbinson created SVG icons for Math Help pages
  10. Bartosz Kosiorek improved EMF+ support with several commits
  11. Caolán McNamara fixed about 70 UI issues
  12. Noel Grandin made several dialogs asynchronous
  13. Jim Raykowski kept adding the new style background tab page to dialogs that were missing it. The work is nearly done after a ton of effort! tdf#105225
  14. Around 20 improvements to the KDE5 and Qt5 backends were made by Bubli (CIB), Aleksei Nikiforov (BaseALT), Jan-Marek Glogowski (Landeshauptstadt München) and Michael Weghorn
  15. Brian Fraser added support for drag’n’drop of multiple effects in animation pane
  16. Miklos Vajna (Collabora) continues working on smartArts improvements
  17. Help pages in Python Macro programming (Alain Romedenne, Olivier Hallot)
  18. The Online Help Editor (Olivier Hallot, Mike Saunders)
  19. Roman Kuznetsov wrote a new guide about Conditional Formatting
  20. Xisco Fauli was interviewed about LibreOffice 6.2 from the QA perspective
  21. LibreOffice works on Chromebooks
  22. Gülşah Köse (Collabora) wrote a nice post on how to build LibreOffice Viewer on Linux
  23. Zdeněk Crhonek added more than 10 UItests
  24. Balazs Varga continues fixing OOXML Chart bugs
  25. Muhammet Kara (Collabora) added a redaction toolbar

Reported Bugs

688 bugs have been reported by 351 people.

Top 10 Reporters

  1. Telesto ( 42 )
  2. NISZ LibreOffice Team ( 41 )
  3. Xisco Faulí ( 26 )
  4. Nicolas Christener ( 20 )
  5. ricky.tigg ( 19 )
  6. Cor Nouws ( 15 )
  7. Regina Henschel ( 11 )
  8. Aron Budea ( 11 )
  9. Gabor Kelemen ( 9 )
  10. Roman Kuznetsov ( 9 )

Triaged Bugs

709 bugs have been triaged by 71 people.

Top 10 Triagers

  1. Xisco Faulí ( 213 )
  2. durgapriyanka.arun ( 59 )
  3. Dieter Praas ( 51 )
  4. Buovjaga ( 42 )
  5. raal ( 41 )
  6. Oliver Brinzing ( 25 )
  7. Timur ( 24 )
  8. Heiko Tietze ( 22 )
  9. Alex Thurgood ( 21 )
  10. Aron Budea ( 19 )

Fixed Bugs

235 bugs have been fixed by 55 people.

Top 10 Fixers

  1. Caolán McNamara ( 58 )
  2. Justin Luth ( 14 )
  3. László Németh ( 9 )
  4. andreas kainz ( 9 )
  5. Xisco Fauli ( 8 )
  6. Julien Nabet ( 6 )
  7. Eike Rathke ( 6 )
  8. Mike Kaganski ( 5 )
  9. Bartosz Kosiorek ( 5 )
  10. Zdeněk Crhonek ( 4 )

List of critical bugs fixed

  1. tdf#122449 Crash in: mergedlo.dll when closing “Edit Index Entry” dialog (gen/gtk) ( Thanks to Zdeněk Crhonek )
  2. tdf#122722 Hiding characters will crash. Crash in: SwAttrIter::CtorInitAttrIter(SwTextNode &,SwScriptInfo &,SwTextFrame const *) ( Thanks to Zdeněk Crhonek )
  3. tdf#122997 Canceling Paragraph dialog causes crash (GTK3) ( Thanks to Noel Grandin )
  4. tdf#119126 Crash in: SwFrame::PrepareMake(OutputDevice *) ( Thanks to Caolán McNamara )
  5. tdf#122509 EDITING Calc crashes when manipulating Negative numbers in red on Currency ( not gtk3 ) ( Thanks to Eike Rathke )
  6. tdf#122383 Crash in: SvxConfigPage::InsertEntry(SvxConfigEntry *,SvTreeListEntry *,bool) ( Thanks to Muhammet Kara )

List of crashes fixed

  1. tdf#122912 Another CRASH: “Apply”->”Restart Now” if UI Langauge is changed in Tools->Options ( Thanks to Xisco Fauli )
  2. tdf#122273 CRASH while closing LibreOffice with the help not-installed dialog open ( Thanks to Caolán McNamara )
  3. tdf#123019 CRASH: GTK3: Closing a modified Form several times ( Thanks to Caolán McNamara )
  4. tdf#122308 Crash: closing LibreOffice while warning about signatures is open (gtk3) ( Thanks to Caolán McNamara )
  5. tdf#123077 gtk3_kde5, kde5: Crash when minimizing file save dialog ( Thanks to Michael Weghorn )
  6. tdf#122598 Crash when stop macro recording ( Thanks to Caolán McNamara )
  7. tdf#122977 CRASH: “Tools”->”Options” “LibreOfficeDev”->”Charts”->”Default Colors” ( Thanks to Zdeněk Crhonek )
  8. tdf#122250 Crash in: std::unique_ptr<long [0],std::default_delete >::~unique_ptr<long [0],std::default_delete >() ( Thanks to Noel Grandin )
  9. tdf#112215 LibreOffice crashes due to PPD file using CUPS ( Thanks to Caolán McNamara )
  10. tdf#123050 Crash in: salhelper::Thread::run'::1′::catch$1, installing theme ( Thanks to Xisco Fauli )
  11. tdf#122253 KDE5: Crash closing full screen mode ( Thanks to Aleksei Nikiforov )
  12. tdf#122990 Crash after trying to switch to Notebookbar (GTK3) ( Thanks to Julien Nabet )
  13. tdf#122931 CRASH: GTK3: Closing Bullet and Numbering Dialog after showing the graphics gallery ( Thanks to Caolán McNamara )
  14. tdf#122597 CRASH: all chart dialogs crash if LibreOffice is closed while they are open (gen/gtk2) ( Thanks to Caolán McNamara )
  15. tdf#122711 CRASH: exporting a signed PDF ( Thanks to Caolán McNamara )
  16. tdf#122808 CRASH while closing LibreOffice with Search for formatting dialog open ( gen/gtk ) ( Thanks to Caolán McNamara )
  17. tdf#122611 Crash in: SvTreeList::Select(SvListView *,SvTreeListEntry *,bool) ( Thanks to Caolán McNamara )
  18. tdf#122410 Crash in anonymous namespace’::RetrieveTypeFromResourceURL ( Thanks to Muhammet Kara )
  19. tdf#122846 CRASH: Clicking “Restart Now” after “Use OpenGL for all rendering”->”Apply” in Options Dialog ( Thanks to Xisco Fauli )
  20. tdf#122885 Crash when converting tdf#122811 file to Firebird ( Thanks to Julien Nabet )

List of old bugs ( more than 4 years old ) fixed

  1. tdf#35152 fontwork cursor problem: there already is cursor, but we need click additionaly ( Thanks to Caolán McNamara )
  2. tdf#43220 UI: The Navigation Toolbox (top left of Navigator dialog) in Writer can incorrectly launch multiple instances ( Thanks to Caolán McNamara )
  3. tdf#52391 EDITING: “Record/track changes”: Rejected changes in character attributes are accepted instead of rejected ( Thanks to László Németh )
  4. tdf#38328 Find & replace dialogue doesn’t open through Ctrl+H (former Ctrl+Alt+F) if cursor is in Find bar ( Thanks to Mike Kaganski )
  5. tdf#69060 FILEOPEN: Documents with embedded fonts take too long to open ( Thanks to Mike Kaganski )
  6. tdf#72187 FILESAVE: edit filter settings checkbox disabled for a CSV file in the KDE “Save As dialog” ( Thanks to Jan-Marek Glogowski )
  7. tdf#79197 Unable to add track change comment when cursor is at the end of the tracked change ( Thanks to László Németh )

Verified bug fixes

138 bugs have been verified by 15 people.

Top 10 Verifiers

  1. Xisco Faulí ( 72 )
  2. BogdanB ( 37 )
  3. Vera Blagoveschenskaya ( 11 )
  4. Buovjaga ( 6 )
  5. Mike Kaganski ( 2 )
  6. Michael Weghorn ( 2 )
  7. Andras Timar ( 1 )
  8. Gabor Kelemen ( 1 )
  9. baffclan ( 1 )
  10. Aleksei Nikiforov ( 1 )

Categorized Bugs

918 bugs have been categorized with a metabug by 35 people.

Top 10 Categorizers

  1. Roman Kuznetsov ( 644 )
  2. Dieter Praas ( 61 )
  3. Thomas Lendo ( 44 )
  4. Aron Budea ( 27 )
  5. Xisco Faulí ( 24 )
  6. Gabor Kelemen ( 17 )
  7. Buovjaga ( 16 )
  8. NISZ LibreOffice Team ( 13 )
  9. Telesto ( 10 )
  10. V Stuart Foote ( 9 )

Regression Bugs

160 bugs have been set as regressions by 23 people.

Top 10

  1. Xisco Faulí ( 54 )
  2. raal ( 19 )
  3. Cor Nouws ( 14 )
  4. Buovjaga ( 12 )
  5. Telesto ( 11 )
  6. Roman Kuznetsov ( 10 )
  7. Timur ( 8 )
  8. Alex Thurgood ( 6 )
  9. Dieter Praas ( 4 )
  10. Robert Großkopf ( 3 )

Bisected Bugs

131 bugs have been bisected by 13 people.

Top 10 Bisecters

  1. Xisco Faulí ( 67 )
  2. raal ( 28 )
  3. Buovjaga ( 11 )
  4. Aron Budea ( 8 )
  5. Terrence Enger ( 4 )
  6. Telesto ( 4 )
  7. Roman Kuznetsov ( 2 )
  8. Oliver Brinzing ( 2 )
  9. Michael Weghorn ( 1 )
  10. Alex ARNAUD ( 1 )

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

Thank you all for making Libreoffice rock!
Join us and help to keep LibreOffice super reliable!
Check the Get Involved page out now!

by x1sc0 at February 06, 2019 04:06 PM

>Marius Popa Adrian

Max Transaction ID in Firebird

Firebird 3.0.x introduced 48-bit internal transaction IDs that are publicly (via API and MON$ tables) represented as 64-bit numbers. This makes the new limit roughly equal to 2.8*10^14 transactions, later it could be extended up to the 2^63 limit. Related notice in Firebird 3.0.x release notes.Related article about Posgtresql : How long will a 64 bit Transaction-ID last in PostgreSQL?

by Adrian Marius Popa ( at February 06, 2019 03:16 AM

February 05, 2019

Andreas Kainz

LibreOffice 6.3 and Sifr

Tomorrow LibreOffice 6.2 will be released. Time to give you some information what will come in LibreOffice 6.3.

My work in process is an huge update of the sifr icon theme


Sifr icon theme todo:

  1. Make Sifr SVG ready
    Draw some thousands new svg icons.
  2. Redraw icons to have an unique design
    All icons should use an 2px wide line. Make all lines grid align so blur will be reduced as much as possible.
  3. Finish Sifr
    A lot of icons are missing in Sifr which will be added.

If you like my work, become a downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at February 05, 2019 10:19 PM

February 04, 2019

Miklos Vajna

Improving SmartArt import in Impress FOSDEM talk

(via cor4office)

The next step in the recent SmartArt story is my Improving SmartArt import in Impress talk at FOSDEM 2019, in the Open Document Editors devroom. The room was a bit far away from the popular places, but the livestream worked out nicely.

There was also a hackfest before the conference, I looked at RTF export of rotated Writer pictures.

February 04, 2019 09:00 AM

Mike Kaganski

Microsoft deprecates MSI

Well – obviously. At least, their current actions tell that: they deprecated CRT MSMs (which is reiterated in VS 2019 RC2 release notes), a technology designed to allow MSI-based installers to install the CRT libraries in a centrally-managed manner; and the only recommended way now is using vcredist executable, which is not MSI-compatible.

What else, if not deprecation, might it mean, when an installer technology made unable to deploy applications created using vendor’s own flagship development tool?

Well – I thought: maybe that was an oversight? Why not inform them about the problem that MSI-only installers would be left without any viable option?

So I did. And I got the answer that to me was a clear confirmation:

Sorry that our current plan is like this, if there are a lot of customer complain about this new change, we will revisit this issue

So – “yes, our plan is to make it impossible for MSI; this is not a problem in our eyes; only if we will experience pressure, may we re-think about it”.


by mikekaganski at February 04, 2019 06:27 AM

February 03, 2019

Replace libtool, turn full GNU Make?

Every once in a while I start pondering ways to get rid of the slowness and overwhelming complexity of the autotools machinery, in particular autoconf and libtool. GNU Make has been a great companion for 20 years, and automake helps with some of the complexity in getting compiler generated…

February 03, 2019 02:02 AM

February 01, 2019

LibreOffice QA Blog

LibreOffice 6.2 RC3 is ready for testing

The LibreOffice Quality Assurance ( QA ) Team is happy to announce LibreOffice 6.2 RC3 is ready for testing!

LibreOffice 6.2 will be released as final in a week from now and LibreOffice 6.2 RC3 represents the last pre-release before the final release since the development of version 6.2 started in mid May, 2018. See the release plan for more information.
You can find the list of bugs fixed in this pre-release here and the list of new features included in LibreOffice 6.2 in the release notes.

LibreOffice 6.2 RC3 is already available for downloaded in this link, for Linux, MacOS and Windows.

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email account in order to create a new account ).

For help, you can contact the QA Team directly in the QA IRC channel or via Telegram.

Happy testing!!

by x1sc0 at February 01, 2019 07:29 AM

January 31, 2019

LibreOffice Design Blog

Overwrite on macOS

The keyboard layout on Apple computers is special and some keys are missing. For example there is no Insert key to toggle between insert and overtype. LibreOffice supports the function and you can switch by clicking the respective panel on the status bar.…

The post Overwrite on macOS appeared first on LibreOffice Design Team.

by Heiko Tietze at January 31, 2019 11:31 AM