Projects selected for LibreOffice in the Google Summer of Code 2025

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

  • Adam Seskunas – Implement Report Builder in C++: replacing the current Java-based Report Builder with a new solution will improve maintainability and remove one of the last remaining dependencies on Java.
  • Karthik Godha – New dialog to edit Table Styles: Writer and Calc have a feature called AutoFormat styles with the possibility to add custom styles. This project will make it possible to edit existing table styles.
  • Devansh Varshney – BASIC IDE code auto-completion: rudimentary auto-completion for BASIC macro authors is already available, but this project will make the feature much more helpful.
  • Manish Bera – Python code auto-completion: currently there is no support at all for Python auto-completion when developing scripts for LibreOffice, so this will be quite a welcome addition.
  • Mohamed Ali Mohamed – Rust UNO language binding: last year LibreOffice received support for Lua and the latest .NET and now it’s time to make it possible to use the API with Rust.
  • Ujjawal Kumar – Import Markdown files into Writer: Markdown is a rather popular markup language for quickly formatting text in blog content, comments, chats and more. Requests to support it have increased recently, so it makes sense to tackle it.
  • Shardul Vikram Singh – Rework Impress slideshow to use DrawingLayer primitives: this is one of those projects that are incomprehensible to most users, but really important for the long term maintenance of the code.

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

Between August 25 and September 1, 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 is in the Google Summer of Code 2025!

GSoC logo

Everyone loves having shiny new features in LibreOffice. But how do we get them? Many are developed by volunteers and people in the ecosystem.

But another great source of new features is the Google Summer of Code (GSoC), a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with open source organisations on a 12+ week programming project under the guidance of mentors.

And we’re happy to announce that for 2025’s GSoC, LibreOffice is once again taking part!

Find out more here

LibreOffice QA Team: Fixing a bug in three days

LibreOffice QA Team on Matrix-style code background

LibreOffice is used by 200 million people around the world. Every major release goes through extensive testing, with Alpha, Beta and Release Candidate versions – and there are regular monthly minor updates to fix issues too. The QA Team analyses bug reports from users, and here’s an example of how quickly they work when everything goes to plan:

  • 2025-01-21 21:14:02 UTC: Bug report submitted.
  • 2025-01-23 18:16:53 UTC: raal from the QA Team looks at the bug report and rules out Linux.
  • 2025-01-25 06:05:46 UTC: Saburo confirms that the error occurs on Windows. And – which is extremely helpful – finds the commit that has caused the error.
  • 2025-01-25 08:08:16 UTC: raal informs the affected developer.
  • 2025-01-25 09:54:38 UTC: Mike Kaganski provides a bug fix.
  • 2025-01-25 11:35:15 UTC: After the bug fix has been successfully built and tested on all supported operating systems, it is included in the next daily build of LibreOffice.

Learn more about the QA Team, and give them a hand to gain experience in the world of QA

localwriter: An optional LibreOffice Writer extension for local generative AI

localwriter screenshot

LibreOffice is a privacy-oriented office suite that runs on your own computer and doesn’t include AI features out-of-the-box. But we know that many users are interested in combining AI tools with the suite, so we talked to John Balis who is working on a (fully optional!) LibreOffice extension called localwriter. Here’s what he had to say…

What does the extension do?

Localwriter is a libreoffice writer extension to allow for inline generative editing with local inference. It can be used with any language model supported by Ollama or text-generation-webui. This extension adds two powerful commands to LibreOffice Writer:

  • Extend Selection – Uses a language model to predict what comes after the selected text. There are a lot of ways to use this. Some example use cases for this include, writing a story or an email given a particular prompt, adding additional possible items to a grocery list, or summarizing the selected text.
  • Edit Selection – A dialog box appears to prompt the user for instructions about how to edit the selected text, then the selected text is replaced by the edited text. Some examples for use cases for this include changing the tone of an email, translating text to a different language, and semantically editing a scene in a story.

When did you start working on it?

I started working on localwriter in July 2024, because I wanted an AI tool to assist with my writing that would benefit from the intrinsic advantages in terms of availability (can’t lose access), confidentiality (doesn’t leak data), and integrity (no surprise model version changes) that come with using a fully open source local AI stack instead of a third-party API. I feel it is really important to embrace learning to benefit from artificial intelligence without sacrificing agency, and this software follows from that line of thinking.

What are the current limitations, and what’s coming next?

localwriter currently only supports LibreOffice Writer, although Calc support is in development and will be offered in the next release. Another limitation is that it does not support streaming, and does not offer a “Chat with document” feature.

How can others help to improve it?

There are a ton of open feature requests in the repository from several users, which should be really easy for an experienced LibreOffice extension developer to complete. I can easily set up anyone interested with a task to work on. Tests would be welcome, as currently it doesn’t have any tests. Also, donating to me helps me allocate my own time towards development.

Get the extension here

Another eight videos from the LibreOffice Conference 2024

The next batch is here! We’re editing and uploading more videos from our recent conference – these ones covering C++, the LibreOffice WebAssembly port from Allotropia, and Collabora Online. Use the icon in the top-right to choose videos from the playlist:

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.

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!