LibreOffice development in 2023 – TDF’s Annual Report

TDF Annual Report banner

In 2023, 11,272 commits were made to the LibreOffice source code, from 253 authors, in 21 repositories. We also took part in the Google Summer of Code, to support student developers

(This is part of The Document Foundation’s Annual Report for 2023 – we’ll post the full version here soon.)

Infrastructure for developers

TDF provides infrastructure for the developer community to continue their work on LibreOffice. These include Git and Gerrit, to make changes to the source code, along with Bugzilla (to track bug reports and enhancement requests), a wiki (to document changes), and Weblate (for translations).

Most technical discussions took place on the developer mailing list and IRC channel, with the latter providing more real-time communication. Members of the Engineering Steering Committee met weekly, to discuss the most pressing issues with the codebase.

Google Summer of Code (GSoC)

GSoC logo

Google Summer of Code (GSoC) is an annual programme in which student developers of free and open source software projects receive stipends from Google for their work. LibreOffice takes part in GSoC every year, and in 2023, five students developed features and updates in the software. They were mentored by developers from the LibreOffice ecosystem and TDF. Let’s go through them…

  • Improving OpenPGP encryption experience in LibreOffice by Ahmed Gamal Eltokhy: LibreOffice can encrypt documents using OpenPGP public key cryptography by making use of external applications such as gpg4win, GPGTools and gnupg. Thanks to Ahmed’s work, it is now easier to manage and search keys and faster to navigate large keyrings.
  • Selecting tests to run on Gerrit patches based on machine learning by Baole Fang: This project was inspired by Mozilla’s work on Firefox’s continuous integration. There is now a system in place that makes predictions on the test failure possibility of submitted code changes and decides the most efficient way to build the changes. As this kind of machinery is very new to everyone, we expect many tweaks to follow.
  • Search Field in Options by Bayram Çiçek: Searching through options is standard in applications these days, so it is about time LibreOffice learned how to do it. This makes it much easier for end users to find specific options and settings, by simply typing a few letters, rather than having to navigate though a large set of menus and widgets.

Screenshot of search field in LibreOffice options dialog

  • Convert Writer’s Java UNO API Tests to C++ by Dipam Turkar: The idea here was to reduce the dependency on Java during the LibreOffice build process. Half of the tests for Writer were converted.
  • Add APNG import/export support by Paris Oplopoios: APNG is short for Animated Portable Network Graphics. It is not an official extension to PNG, but nevertheless has broad support in web browsers these days. Thanks to Paris’s work, LibreOffice now fully supports this format.

For the full details about the students’ work, see this post. And thanks to Andreas Heinisch, Thorsten Behrens (allotropia), Heiko Tietze (TDF), Hossein Nourikhah (TDF), Tomaž Vajngerl (Collabora), Xisco Faulí (TDF), Stéphane Guillou (TDF) and Christian Lohmaier (TDF) for mentoring the students.

Like what we do? Support the LibreOffice project and The Document Foundation – get involved and help our volunteers, or make a donation. Thank you!

Projects selected for LibreOffice in the Google Summer of Code 2024

The LibreOffice Google Summer of Code projects have been selected for 2024.

  • Adam Seskunas – More and better tests: the project aims to add automated tests for fixes related to document export as well as converting tests written in Java to C++.
  • Ahmed Hamed – Improvement to the Functions Deck in LibreOffice Calc: the functions deck in the Sidebar will get a better search, an editor area with syntax highlighting and debugging capabilities among other enhancements.
  • Aung Khant – Improving user experience around windows: remembering the size and position of windows will be made consistent and Start Center will be enhanced.
  • Devansh Varshney – Adding native support for histogram chart and its variations: this project will bring support for multiple chart types introduced in Microsoft Office 2016.
  • Mohit Marathe – Comments in Sidebar: after this project is completed, comments can be viewed and edited in the Sidebar in addition to the document margin.
  • Printf Debugging – LibreOffice Theme: the goal of this project is to increase flexibility in colouring the LibreOffice interface.
  • Ritobroto Mukherjee – Cross platform .NET bindings for UNO API: LibreOffice will get support for .NET 8 and an additional API that will feel more natural to .NET developers.
  • Venetia Furtado – LUA UNO Language Binding in Libreoffice: after this project is completed, you will be able to control LibreOffice using the LUA programming language.
  • Bonus project under Linux Foundation: Biswadeep Purkayastha – Desktop integration: CPDB support for the LibreOffice print dialog: Common Print Dialog Backends allow the separation of the user interface from printing technologies. The idea in this project is to bring CPDB support up to date.

Good luck to the contributors – we appreciate their work on these important features and improvements! And thanks to our mentors for assisting them: Tomaž Vajngerl (Collabora); Thorsten Behrens, Stephan Bergmann and Sarper Akdemir (allotropia); Rafael Lima; Andreas Heinisch; Heiko Tietze, Xisco Faulí, Michael Weghorn and Hossein Nourikhah (TDF).

Between August 19 and 26, contributors will submit their code, project summaries, and final evaluations of their mentors. Find out more about the timeline here, and check out more details about the projects on this page.

LibreOffice Help files have now a much better content editor

The LibreOffice Help documentation project members have now a much better Help editor, thanks to Juan José Gonzales (JJ) of the TDF team.

Based on the editor originally created by Olivier Hallot and Mike Saunders, the new editor was greatly improved by JJ fixing many usability issues, adding a handy toolbar to the editor and automating some tasks for rendering the help page.

The Help editor renders the page in a way to assist the content editor in dealing with the several specific XML tags used in the Help pages. It displays the resulting page with information on links, embeds and other information, including switches that changes contents based on the system and the application.

The editor is also capable to perform checking, notably XML conformity, DTD compliance and best of all, paragraph’s ID uniqueness, which is the most common mistake in writing Help pages.


Content editors can access the editor at the address here, and source code for the Help editor is available for download and improvements on this page.

LibreOffice and Google Summer of Code 2023: The results

Google Summer of Code logo

This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more developers into free and open source software development. Five projects were finished successfully. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 24.2 in early February 2024!

You can experiment with the new features by using daily builds and report any problems in our bug tracker.


Improving OpenPGP encryption experience in LibreOffice by Ahmed Gamal Eltokhy

Mentors: Thorsten Behrens (allotropia), Heiko Tietze (TDF), Hossein Nourikhah (TDF)

LibreOffice can encrypt documents using OpenPGP public key cryptography by making use of external applications such as gpg4win, GPGTools and gnupg. Thanks to Ahmed’s work, it is now easier to manage and search keys and faster to navigate large keyrings.

Learn more about the encryption experience improvements in the final report.


Selecting tests to run on gerrit patches based on machine learning by Baole Fang

Mentors: Thorsten Behrens (allotropia), Stéphane Guillou (TDF), Christian Lohmaier (TDF)

This project was inspired by Mozilla’s work on Firefox’s continuous integration. There is now a system in place that makes predictions on the test failure possibility of submitted code changes and decides the most efficient way to build the changes. As this kind of machinery is very new to everyone, we expect many tweaks to follow.

Learn more about the machine learning project in the final report.


Search Field in Options by Bayram Çiçek

Mentors: Andreas Heinisch, Heiko Tietze (TDF)

Screenshot of search in options

Searching through options is pretty standard in applications these days, so it is about time LibreOffice learned how to do it!

Learn more about the search feature in the final report.


Convert Writer’s Java UNO API Tests to C++ by Dipam Turkar

Mentors: Tomaž Vajngerl (Collabora), Xisco Faulí (TDF)

The idea here was to reduce the dependency on Java during the LibreOffice build process. Half of the tests for Writer were converted.

Learn more about the test conversion project in the final report.


Add APNG import/export support by Paris Oplopoios

Mentors: Tomaž Vajngerl (Collabora)

APNG is short for Animated Portable Network Graphics. It is not an official extension to PNG, but nevertheless has broad support in web browsers these days. Thanks to Paris’s work, LibreOffice now fully supports this format.

Learn more about the APNG feature in the final report.

Wrapping up

Many thanks to all contributors who spent their summer time improving LibreOffice. You are awesome! And special thanks also to the mentors who always put so much love and energy into these tasks. That’s what makes LibreOffice rock.

Now we are looking forward to next year’s GSoC. If you are interested, why not prepare early? Learn more at out wiki page where some ideas are listed.

Participating in GSoC is a great way to build your skills, and show future employers what you’re capable of!

Welcome Michael Weghorn, new Developer at TDF

Michael Weghorn

The Document Foundation (TDF) is the non-profit entity behind LibreOffice, providing infrastructure and support for the community that makes the suite. Recently, TDF decided to expand its small team with two new Developers – the first (Khaled Hosny) focusing on “complex” text layout languages. Today, we welcome our second Developer, Michael Weghorn, who will initially focus on accessibility improvements. Let’s hear from him…


Tell us a bit about yourself!

I am from Germany, and have been living in Munich since moving here for my studies in computer science about 12 years ago.

I am a free and open source software enthusiast.

Before coming to TDF, I was working for the City (administration) of Munich, first being part of their Linux client team – and since 2018 with the main focus on LibreOffice development. I am also a member of the LibreOffice Engineering Steering Committee (ESC).

Besides my involvement in LibreOffice, I have also contributed a few changes to other open source projects – mostly fixes for issues that I ran into myself as a user. The possibility to do this is certainly one of the many benefits of open source software.

Besides being an open source software developer, I’m involved in a Christian church and like meeting friends, sports and reading.

You’ve been in the LibreOffice project for a while – what have you been working on so far?

I have been involved in the LibreOffice project since 2014, mostly in QA (Quality Assurance) and development.

The first code change I was working on had to do with the selection of the Java runtime on LibreOffice startup, and I was also translating German comments in the source code back then.

Since then, I have mostly been working on fixing bugs in different areas of LibreOffice. The main areas that I have been focusing on are Qt/KDE integration, the Android version and accessibility.

What’s your new role at TDF, and what will you be working on?

I’m joining TDF as a LibreOffice Developer, focusing on accessibility.

Accessibility is quite a broad topic, ranging from the accessibility of LibreOffice’s user interface to the accessibility of the documents that the program creates.

From what I have seen so far, LibreOffice has a good basis regarding accessibility. It’s also great to see recent contributions by others to further improve accessibility (eg improvements for document accessibility and PDF/UA export, the accessibility checker and accessibility on macOS), but there are certainly also areas that will benefit from getting some more attention.

My initial focus will probably be fixing problems encountered in the user interface when using LibreOffice with a screen reader.

From my experience so far, this often not only involves making changes to LibreOffice itself, but also to the corresponding screen reader or elsewhere in the accessibility software stack. Therefore, cooperation with other projects is also essential.

How can all users of LibreOffice help out?

There are different ways to get involved – for example:

  • Join the LibreOffice accessibility mailing list
  • Report accessibility issues in the Bugzilla issue tracker and set the “accessibility” keyword for accessibility-related bugs, so developers become aware and can fix them
  • Confirm already existing bug reports and add more helpful information to them
  • Test development versions of LibreOffice with assistive technology (and report bugs), so issues can be fixed before a new version is released
  • If you’re a developer: help with fixing reported bugs

There’s also an accessibility page in the wiki, which contains some more information and will be further updated in the future.


Great to have Michael on board! 😊 Follow this blog and our Mastodon and Twitter accounts for updates on his work – plus more news from the LibreOffice community.