LibreOffice and Google Summer of Code 2024: The results
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.
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!