LibreOffice and Google Summer of Code 2024: 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. Seven projects were finished successfully, plus one project mentored under Linux Foundation. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 25.2 in early February 2025!

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


LibreOffice Theme by Sahil Gautam

Mentors: Rafael Lima, Heiko Tietze (TDF)

Theming LibreOffice has a long history. Support for Mozilla Personas was added in version 4.0 released in 2013. This was later changed to a selection of preinstalled themes. The current work started by Sahil aims to also supersede Application Colors.

The groundwork has been done and the design team is currently discussing how to present the feature in the user interface. Sahil continues to engage in the work and discussion and we are grateful for the commitment.

Learn more about the theme project in the final report.


Comments in Sidebar by Mohit Marathe

Mentors: Sarper Akdemir (allotropia), Heiko Tietze (TDF)

The Sidebar has proven to be very powerful when dealing with complex documents. The complexity of comments can certainly increase quickly, so the ability of managing them via the Sidebar was seen as a welcome addition.

Mohit is currently polishing the feature while working closely with the design team.

Learn more about the comment feature in the final report.


Improvements to the Functions Sidebar deck and Functions Wizard by Ahmed Hamed

Mentors: Andreas Heinisch, Heiko Tietze (TDF)

Both the Sidebar deck and the wizard now display the functions in collapsible groups when viewed with the “All” filtering option. Both also now have an optional similarity search.

Ahmed is currently working on adding a category to store favourite functions.

Learn more about the Functions deck improvements in the final report.


Native support for histogram chart and its variations by Devansh Varshney

Mentors: Tomaž Vajngerl (Collabora)

The new chart type will make it possible to visualise ranges of values. Adding a new type of chart is a can of worms, because file format support has to be added both for ODF and OOXML. Devansh is working to finish the implementation in this regard.

Learn more about the chart work in the final report.


Cross Platform .NET bindings for UNO API by Ritobroto Mukherjee

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

This is big news for .NET developers hoping to make use of LibreOffice’s UNO API. The earlier support was undocumented and targeted versions released over twenty years ago. Now with .NET 8 support added, the bindings for .NET programming languages, including C#, F# and Visual Basic are cross platform, available for Windows, Linux and macOS.

Learn more about the .NET work in the final report.


Lua UNO language bindings by Venetia Furtado

Mentors: Thorsten Behrens (allotropia), Stephan Bergmann (allotropia)

Lua is a small language originally developed in Brazil. Many might know it as a scripting language used in games. We also use Lua in our wiki through the Scribunto extension. Thanks to the work of Venetia, it can now be used to drive LibreOffice.

Learn more about the Lua work in the final report.


More and better tests by Adam Seskunas

Mentors: Xisco Faulí (TDF), Hossein Nourikhah (TDF)

The quality of LibreOffice’s code base is guarded by a vast collection of automated tests, many of which are based on bugs that were discovered and fixed. Adam added many such tests and also converted some ancient Java-based tests to C++. He created a guide for writing tests for fixed bugs.

Learn more about the test authoring work in the final report.


Providing CPDB support for the LibreOffice Print Dialog by Biswadeep Purkayastha

Mentors: Michael Weghorn (TDF), Till Kamppeter (OpenPrinting), Gaurav Guleria, Sahil Arora, Ira McDonald

This project was done under Linux Foundation’s OpenPrinting and benefits the Linux version of LibreOffice. The Common Print Dialog Backends technology had received updates and it was necessary to rework LibreOffice’s code to make use of the improvements. Now the printer lists are periodically refreshed to avoid stale printers, the Print Directly button prints to the default printer and the print dialog is more responsive.

Learn more about the print dialog work 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!

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

Projects selected for LibreOffice in the Google Summer of Code 2023

GSoC logo

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

  • Ahmed Gamal Eltokhy – Improve PGP/GPG encryption support: the project aims to enhance the experimental PGP/GPG encryption support in LibreOffice by addressing several shortcomings, such as the need to select recipients anew for every save and the difficulty in finding the right keys. The project will also focus on developing smart searching, traversing, and filtering capabilities for large keyrings, as well as adding asynchronous querying for improved performance.
  • Dipam Turkar – Convert Writer’s Java UNO API tests to C++: The unit tests for Writer’s UNO API which were forked from OpenOffice.org are still implemented in Java, which in the end test C++ code making it hard to debug them. LibreOffice has had a long term plan to move them to C++. The project will also focus on fixing the unit tests for errors, if any.
  • Baole Fang – Select tests to run on Gerrit patches based on machine learning: the goal is to implement a machine learning based test selection method to select tests to run in the continuous integration chain to reduce testing load.
  • Bayram Çiçek – Search field in Options: LibreOffice has a large and growing number of options and sometimes it is not easy to find the right one by searching them one by one. The goal is to implement a search field/functionality to the “Tools > Options…” dialog, so that we can find the right options easily.
  • Paris Oplopoios – Add APNG import/export support: APNG (Animated PNG) is an animated format backwards compatible with PNG. It is supported by all the major browsers and has benefits over GIF such as partial transparency and support for more colors. The goal of this project is to integrate APNG support in LibreOffice, which had been requested for quite some time.

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 (allotropia); Andreas Heinisch; Heiko Tietze, Xisco Faulí, Stéphane Guillou, Hossein Nourikhah and Christian Lohmaier (The Document Foundation).

Between August 28 and September 4, 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 and Google Summer of Code 2022: 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 student developers into free and open source software development. Two projects were finished successfully. Students and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 7.5 in early February 2023!

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


VBA Macros – Tests and missing APIs by Hannah Meeks

Mentors: Tomaž Vajngerl (Collabora), Thorsten Behrens (allotropia)

Hannah worked on an area that is important for power users dealing with Microsoft documents. Her work both improves VBA compatibility in LibreOffice and makes it easier to add missing functionality in the future.

Learn more about the VBA Macros improvements in the final report.


Extend Z compressed graphic format support by Paris Oplopoios

Mentors: Tomaž Vajngerl (Collabora)

Paris got off to a flying start with the originally defined goal, which was to add import functionality for Z compressed EMF and WMF graphics and thus to improve compatibility with Microsoft documents. In the end, he also implemented exporting of WMZ, EMZ and SVGZ graphics, replaced homegrown PNG export code with one that uses libpng and added automated tests for PNG export in addition to tests for the Z compressed formats.

Learn more about the graphics improvements 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!

Projects selected for LibreOffice in the Google Summer of Code 2022

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

  • Hannah Meeks – VBA Macros – Tests and missing APIs : We support VBA (Visual Basic for Applications) Macros in LibreOffice, but the implemented API isn’t complete and the API functions aren’t largely tested. The consequence of this is that the VBA macros in OOXML documents don’t run as intended in LibreOffice, which causes compatibility problems. The goal of this project is to add tests for the functions already implemented and then look for what functions are missing for a method or module and add them.
  • Paris Oplopoios – Extend Z compressed graphic format support: Some graphic formats are compressed with ZIP (deflate) to make them smaller, while the formats themselves don’t support compression. In LibreOffice we already support SVGZ format, but not other formats. The goal of this idea is to look at how SVGZ is implemented and extend that to other formats (EMF, WMF). The extended goal is to implement support for compressing in addition to extracting.

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 and Miklos Vajna (Collabora); Thorsten Behrens (allotropia).

From September 5 – September 12, 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.