Comments continue to be posted on articles that refer to blog posts on OOXML and related topics, from users who claim to support FOSS but in fact choose proprietary software, for reasons that have nothing to do with the support they claim to offer. These users share a preference for
Videos describing new features available on YouTube and PeerTube Berlin, 26 February 2026 – The Document Foundation today announced the release of LibreOffice 26.2.1, the first maintenance update to the LibreOffice 26.2 branch. Building on the major feature release published on February 4, 2026, this update delivers targeted bug fixes
As part of the Outreachy programme, which aims to bring a wider variety of people into the tech industry, Siddhi Salunkhe has been working on improvements to the LibreOffice hyperlink dialog box. It now has standard tabs, and will be easier to maintain going forward. Thanks to Ilmari and Heiko
LibreOffice is a desktop application, but we get many requests for a web-based version of the suite that users can deploy on their own infrastructure. Several years ago, project members started to develop LibreOffice Online, but in 2022 the Board of Directors at The Document Foundation voted to freeze the
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
Berlin, 19 February 2026 – LibreOffice 25.8.5, the fifth update to the FOSS office suite [1] developed by volunteers for personal productivity in office environments on Windows, MacOS and Linux, has landed at www.libreoffice.org/download. LibreOffice 25.8.5 is based on the highly robust LibreOffice technology platform, which supports the development of
We are incredibly proud to share that LibreOffice has been officially recognized as a leader in value for 2026 by Capterra. As the digital landscape becomes increasingly defined by subscription models and rising costs, this recognition reinforces our mission to provide a powerful, professional-grade office suite that remains accessible to
The LibreOffice community was at FOSDEM 2026, to talk to users, answer questions, and encourage people to join the project. And we had merch: 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.
Implementing Firebird 4 Protocol Versions 16 and 17 is crucial for utilizing the advanced features, security enhancements, and performance improvements introduced in Firebird 4.0 and 4.0.1. Using updated clients that support these protocols prevents performance degradation and ensures access to modern functionalities. Key Features Supported by Protocol 16 (Firebird 4.0)Wire Protocol Encryption:&
17 February 2026 marks the 14th anniversary of The Document Foundation’s recognition as a non-profit organisation under German law. The foundation is focused on developing free and open-source software for individual productivity. This focus has guided the development of LibreOffice and the software tools for liberating proprietary formats released by
Many interpreted the last article in this series as an attack on Microsoft for using the OOXML format against users’ interests. However, this was only one of my objectives, as I also wanted to raise users’ awareness of fake open-source software, such as OnlyOffice, which partners with Microsoft in a
General Activities Olivier Hallot (TDF) improved Writer help for hyphenation zones and controlling section visibility, fixed the help example for Calc’s SUMIF function, clarified the topic of fixed colours in the help for document themes, expanded the help for Calc’s sort options, explained in help the option for removing cross-document
Not too long ago, a change landed, that brought Biff12 clipboard format support in Calc v.26.2 – thanks Laurent!
It was an easyhack that I authored some time ago; and Laurent volunteered to implement that long-standing missing feature. The small detail was, that the feature was Windows-specific (it is trivial to get the wanted clipboard content there, simply copying from Excel), while Laurent developed on another platform.
Laurent had made the majority of work, before he was stuck, without being able to test / debug further changes. Then, he asked me, if there a way to continue on the platform he used.
At that time, I answered, that no, one would need Windows (and Excel) to continue the implementation. So I jumped in, and added the rest, and in the end, we have created the change in co-authorship.
But later, when part of my code turned out problematic, and I needed to fix it and create a unit test for it, I discovered a trick, that could put Biff12 data into system clipboard on any platform, without Excel – allowing then just paste, and debug everything that’s going on there. It relies on UNO API, and can be implemented e.g. in Basic:
function XTransferable_getTransferData(aFlavor as com.sun.star.datatransfer.DataFlavor) as variant
if (not XTransferable_isDataFlavorSupported(aFlavor)) then exit function
oUcb = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
oFile = oUcb.openFileRead(ConvertToURL("/path/to/biff12.clipboard.xlsb"))
dim sequence() as byte
oFile.readBytes(sequence, oFile.available()) ' changes value type of 'sequence' to integer
XTransferable_getTransferData = CreateUnoValue("[]byte", sequence)
end function
function XTransferable_getTransferDataFlavors() as variant
aFlavor = new com.sun.star.datatransfer.DataFlavor
aFlavor.MimeType = "application/x-openoffice-biff-12;windows_formatname=""Biff12"""
XTransferable_getTransferDataFlavors = array(aFlavor)
end function
function XTransferable_isDataFlavorSupported(aFlavor as com.sun.star.datatransfer.DataFlavor) as boolean
XTransferable_isDataFlavorSupported = (aFlavor.MimeType = "application/x-openoffice-biff-12;windows_formatname=""Biff12""")
end function
sub setClipboardContent
oClip = CreateUNOService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oClip.setContents(CreateUNOListener("XTransferable_", "com.sun.star.datatransfer.XTransferable"), nothing)
end sub
Running setClipboardContent will prepare the system clipboard on any platform, using a trick of implementing arbitrary UNO interface using CreateUNOListener; and after that, pasting into Calc would allow to see if things work (if content of /path/to/biff12.clipboard.xlsb is pasted, as expected), and make improvements. If I knew this trick back then, I would of course share it with Laurent; but I thought I’d put it here now, so maybe it helps me or someone else in the future. (Note that application/x-openoffice-biff-12;windows_formatname="Biff12" there in the code was the name introduced by Laurent in the discussed commit; indeed, that, and the actual data in the file, would depend on the exact format that you work with.)
If you have a commented text range, which gets deleted while track changes is on and you later save
and load this with Writer's DOCX filter, that works now correctly.
This work is primarily for Collabora Online, but the feature is
available in desktop Writer as well.
It was already possible to comment on text ranges. Comments were also supported inside deletes when
track changes is enabled. These could be already exported to and imported from DOCX in Writer. But
you could not combine these.
With the increasing popularity of commenting text ranges (rather than just inserting a comment with
an anchor), not being able to combine these was annoying.
This required changes to both DOCX import and export: a comment could be deleted or could have an
anchor which is a text range, but you couldn't have both.
You can get a development edition of Collabora Online 25.04 and try it out yourself right now: try
the development edition. Collabora intends to continue
supporting and contributing to LibreOffice, the code is merged so we expect all of this work will be
available in TDF's next release too (26.8).
In LibreOffice development, there are many cases where you want to validate some documents against standards: either Open Document Format (ODF) or MS Office Open XML (OOXML). Here I discuss how to do that.
Update: Article updated to reflect that odfvalidator 0.13.0 has just released.
Open Document Format (ODF) Validation
ODF is the native document file format that LibreOffice and many other open source applications use. It is basically set of XML files that are zipped together, and can describe various aspects of the document, from the content itself to the way it should be displayed. These XML files have to conform to ODF standard, which is presented in XML schemas. The latest version of ODF is 1.4, which is yet to be implemented in LibreOffice.
You may also use the online validator, odfvalidator.org, to do a validation.
Online odfvalidator tool
Please read this disclaimer before using:
This service does not cover all conformance criteria of the OpenDocument Format specification. It is not applicable for formal validation proof. Problems reported by this service only indicate that a document may not conform to the specification. It must not be concluded from errors that are reported that the document does not conform to the specification without further investigation of the error report, and it must not be concluded from the absence of error reports that the OpenDocument Format document conforms to the OpenDocument Format specification.
Office Open XML (OOXML) Validation
MS Office Open XML (OOXML) is the native standard for Microsoft documents format. It is also a set of XML files zipped together, and conform to some XML schemas.
There are tools to do the validation, and the one is used in LibreOffice is Office-o-tron. One can use it with below command to validate an example file, test.docx:
$ java -jar officeotron-0.8.8.jar ~/test.docx
Office-o-tron can be downloaded from dev-www.libreoffice.org server of LibreOffice, and this is currently the latest version:
It is worth noting that Office-o-tron can be also used to validate ODT files.
Extensions to ODF Standard
To go beyond the current ODF standard, new features are sometimes introduced as “ODF extensions”, then are gradually added to the standard. You can read more in TDF Wiki:
LibreOffice 26.2 will be released as final at the beginning of February, 2026 (check the Release Plan). LibreOffice 26.2 Release Candidate 2 (RC2) brings us closer to the final version, which will be preceded by Release Candidate 3 (RC3). Since the previous release, LibreOffice 26.2 RC1, 137 commits have been
Happy new year 2026! I hope that this year will be great for you, and the global LibreOffice community, and the software itself! I hereby discuss the past year 2025, and the outlook for 2026 in the development blog.
At The Document Foundation (TDF), our aim is to improve LibreOffice, the leading free/open source office suite that has millions of users around the world. Our work is community-driven, and the software needs your contribution to become better, and work in a way that you like.
My goal here, is to help people understand LibreOffice code easier via EasyHacks and tutorials, and eventually participate in LibreOffice core development to make LibreOffice better for everyone. In 2025, I wrote 14 posts around LibreOffice development in the dev blog (4 of them are unpublished drafts).
Outlook For the New Year
Focus of the development blog for 2026 in this blog will be:
Introducing new EasyHacks
Using new C++20 constructs
Difficulty Interesting EasyHacks
Describing user interface creation with VCL
VCL weld mechanism
Various weld widgets
Describing UNO Components
You can provide feedback simply by leaving a comment here, or sending me an email to hossein AT libreoffice DOT org.
We provide mentoring support to the individuals who want to start LibreOffice development. You are welcome to contact me if you need help to build LibreOffice and do some EasyHacks via the above email address. You may also refer to our Getting Involved Wiki page:
General Activities LibreOffice 25.8.4 was announced on December 18 Olivier Hallot (TDF) added a help page for Markdown in Writer, JSON in Calc, updated or improved help for View and Appearance options, accessibility options, sort criteria in Calc, file conversion filters, ODF versions, handling of empty cells in Calc, Data
Probably the most simple presentations are just a couple of slides, each slide having a title shape
and an outliner shape, containing some bullets, perhaps with some additional images. Images are just
bitmaps, so let's focus on outliner shapes and their outliner / bullet styles.
What happens if you save these to PPTX and load it back? Can you toggle between a numbering and a
bullet? Can you return to an outliner style after you had direct formatting for your bullet?
If you pressed enter at the end of 'First level', then pressed <tab> to promote the current
paragraph to the second level, nothing happened. The reason for this was that our PPTX export was
missing the list styles of shapes, except for the very first list style. And the same was missing on
the import side, too. With this, not only the rendering of the bullets are OK, but also adding new
paragraphs and using promoting / demoting to change levels work as expected.
The second case was about this document, where the second level had a numbering, not a bullet:
We only had UI to first toggle off a numbering to no numbering, then you could toggle on bullets.
Now it's possible to do this change in one step.
The last case was about styles. Imagine that you had a master page with an outline shape and some
reasonably looking configuration for the first and second levels as outline styles:
Notice how the last paragraph has a slightly inconsistent formatting, due to direct formatting.
Let's fix this.
Go to the end of the last bullet, which is currently not connected to an outline style, toggle
bullets off and then toggle it on again. Now we clear direct formatting when we turn off the bullet,
so next time you turn bullets on, it'll be again connected to the outline style's bullet
configuration and the content will look better.
Note how this even improves consistency: Writer was behaving the same way already, when toggling
bullets off and then toggle on again resulted in getting rid of previously applied unwanted direct
formatting.
Developers and database administrators often operate under a common assumption: unlocking powerful new software features requires significant, time-consuming, and expensive development work. New capabilities frequently sit on the shelf, waiting for the budget and time to rewrite applications to take advantage of them.This assumption, however, doesn't always hold true. Recent versions of the
General Activities LibreOffice 25.8.3 was announced on November 13 Olivier Hallot (TDF) improved the help on sort options and keyboard shortcuts, added help for field variable formats, the Slide Properties Sidebar deck, named Calc formulas and Arabic fonts and right-to-left direction for Math. He also updated help for paragraph alignment
LibreOffice 26.2 will be released as final at the beginning of February, 2026 ( Check the Release Plan ). LibreOffice 26.2 Beta1 is the second pre-release since development of version 26.2 started at the beginning of June, 2025. Since the previous release, LibreOffice 26.2 Alpha1, 419 commits have been submitted
A modern C++ wrapper for the Firebird database API.Documentation | Repositoryfb-cpp provides a clean, modern C++ interface to the Firebird database engine. It wraps the Firebird C++ API with RAII principles, smart pointers, and modern C++ features.Features Modern C++: Uses C++20 features for type safety and performanceRAII: Automatic resource management with smart pointersType Safety:
After submitting a patch to LibreOffice Gerrit, one has to wait for the continuous integration (CI) to build and test the changed source code to make sure that the build is OK and the tests pass successfully. Here we discuss the situation when one or more CI builds fail, and how to handle that.
Why Build and Test on CI?
After you submit code to LibreOffice Gerrit, reviewers have to make sure that it builds, and the tests pass with the new source code. But, it is not possible for the reviewers to test the code on each and every platform that LibreOffice supports. Therefore, Jenkins CI does that job of building and testing LibreOffice on various platforms.
This can take a while, usually 1 hour or so, but sometimes can take longer than that. If everything is OK, then your submission will get Verified +1 .
CI Platforms for LibreOffice
Currently, these are the platforms used in CI:
Linux / GCC:gerrit_linux_gcc_release
Linux / Clang:gerrit_linux_clang_dbgutil
Android Viewer:gerrit_android_x86_64 and gerrit_android_arm
Windows:gerrit_windows_wsl
macOS:gerrit_mac
Some of the tests are more extensive, for example Linux / Clang also performs additional code quality checks with clang compiler plugins. Also, UITests are not run on each and every platform.
LibreOffice CI uses Jenkins
Why Failures Happen and How to Fix?
There can be multiple reasons for why a CI build fails, and give your submission Verified -1 . These are some of the reasons, and depending on the reason, solution can be different.
1. Your code’s syntax is wrong and compile fails
In this case, you should fix your code, and then submit a new patch set. You have to wait again for a new CI build.
2. The code’s syntax is OK, but it is not properly formatted
You should refer to the below TDF Wiki article and use clang-format tool to format your code properly.
3. Your code’s syntax is OK, but it logically not OK and fails some tests.
In this case, you should try fixing your code logic, and run the tests that fail and make sure they pass. After that, you may send a new patch set and wait for a new CI build.
4. Your code’s syntax and logic is OK, but some machine fails for other reasons like their disk being full or other software/hardware failures or hiccups
In this case, usually resuming the build can be a good option. You may ask on #libreoffice-dev or #tdf-infra IRC rooms for such a resume, or request access, if you submit many patches.
Resume build in LibreOffice CI
5. Your code’s syntax and logic is OK, but there are issues from other patches.
In this case, intervention from other LibreOffice developers is needed. Informing people on #libreoffice-dev can help, and then you have to re-base your submission in case new patches fix the build issue.
Final Notes
The best way to know the reason of the build failure is to look into …
I fetched the release notes for FirebirdSQL/php-firebird and made a concise summary of the user-visible changes and upgrade impact for versions from PHP Firebird 5.0.2 up through 6.1.1-RC.2.I retrieved the release entries for 5.0.2, 6.1.1-RC.0, 6.1.1-RC.1 and 6.1.1-RC.2 and distilled the highlights and upgrade impact into a short, actionable summary below.Summary of changes (5.0.2 → 6.1.1-RC.2)-
The Firebird Book, Second Edition is made publicly available via the IBPhoenix digital store. Everyone can download the complete edition free of charge — no strings attached.If you'd like to support Helen’s legacy and the Firebird community, there is an optional pay‑what‑you‑like contribution. Funds will support the organization of the Helen Borrie Memorial Award, recognizing individuals with
LibreOffice 26.2 will be released as final at the beginning of February, 2026 ( Check the Release Plan ) being LibreOffice 26.2 Alpha1 the first pre-release since the development of version 26.2 started at the beginning of June, 2025. Since then, 4651 commits have been submitted to the code repository
Writer recently got a new markdown import option to take styles from a template, leading to much
prettier output when converting markdown to PDF, DOCX or ODT.
This work is primarily for Collabora Online, but the templating
feature is available in desktop Writer as well.
A previous post mentioned recent improvements to the
markdown import/export in Writer.
But if you convert some markdown to e.g. PDF, all the headings just have the default look, wouldn't
it be nice to take your organization template and add colors and other formatting there,
automatically?
Also, wouldn't it be nice if you could paste as markdown in COOL or copy the current selection as
markdown? Which would enable all sorts of interesting use-cases, like using an external API to turn
the selection into a summary or translating it to a different language.
The other part is the PostMessage API of COOL, if you want to copy and paste as markdown. What's
newly possible:
Copy the current selection: set MessageId to Action_Copy and the value to {"Mimetype": "text/markdown;charset=utf-8"}
Paste at the current cursor position: set MessageId to Action_Paste and the value to
something like {"Mimetype": "text/markdown;charset=utf-8", "Data": "foo _bar_ baz"}
You can read more about the PostMessage API in the COOL
SDK.
You can get a development edition of Collabora Online 25.04 and try it out yourself right now: try
the development edition. Collabora intends to continue
supporting and contributing to LibreOffice, the code is merged so we expect the core of this …
General Activities LibreOffice 25.8.2 was announced on October 9 LibreOffice 25.2.7 was announced on October 30 Olivier Hallot (TDF) added help pages for R1C1 Calc formula syntax and DOI citation recognition and improved and updated help on dimension lines, form properties, master documents, command line operations, online update, text boundaries
Writer has some support for interdependent (or hierarchical) tracked changes: e.g. the case when you
have a delete on top of an insert. See the third
post for background.
This work is primarily for Collabora Online, but the feature is
available in desktop Writer as well.
Interdependent changes mean that the UI shows one type of change on top of another change, e.g.
formatting on top of insert. Writer knows the priority of each type, so in case you have an insert
or delete change and on top of that you have a formatting, then the UI will look "through" the
formatting and work on the underlying insert or delete when you navigate with your cursor to a
position with multiple changes and you press Accept on the Review tab of the notebookbar.
Usually this is what you mean, but what if you want to work on the formatting at the top, directly?
You can now open the Manage Changes dialog using the Manage button on the Review tab of the
notebookbar and if you go to the formatting change row of the dialog, then pressing Accept there
will accept the formatting change, not the insert or delete change. This is possible, because the dialog
gives you a way to precisely select which tracked change you want to work with, even if a specific
cursor position has multiple tracked changes.
Here is a sample ins-then-format.docx document from the core.git testcases, the baseline has an
insertion, and part of that is covered by an additional formatting change on top:
You can get a development edition of Collabora Online 25.04 and try it out yourself right now: try
the development edition. Collabora intends to continue
supporting and contributing to LibreOffice, the code is merged so we expect all of this work will be
available in TDF's next release too (26.2).
The Document Foundation is not responsible for the content on planet.documentfoundation.org. However - if you have any concerns about content please contact act Mike Saunders for moderation. Copyright information: Unless otherwise specified in the author's blog, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the "Mozilla Public License v2.0". "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.