Developer Blog

Keep track of the latest changes to the code! 

Start of automated testing of the new Collabora Office on Windows (CODA-W)

It is useful to check that basic functionality in CODA-W is not broken accidentally by commits to other parts of the code. We have lots of existing tests for COOL functionality in general that use Cypress. That technology is not usable for testing CODA, as its JavaScript part does not...

New MetricSpinButton implementation

A “metric” spinbutton is a spinbutton that has an associated unit: cm/inch, points and percentage are common units used. The previous implementation used the standard spinbuttons and overlaid the unit some distance from the trailing edge so it could be seen and not obscure the value. Putting the unit inside...

Log anonymization

One of the features of Collabora Online has been a way to ensure that log files (of reasonable verbosity) don’t include any personally identifying information. This allows logs to be shared by customers and partners with confidence to allow debugging unusual problems. This is done with a one-way hash, and...

Document Property based Fields MSO Behaviour

Basics: Office documents like ODF (odt, …) and OOXML (docx, …) can have so called Fields embedded in the text. Fields can automatically update the content they show. The most common example may be having a page number in the footer of each page. The piece of text showing the...

Keep Overriden Colors in the Slide Layouts

Related commit: pptx: export overrideClrMapping in slide layouts In presentations saved as PPTX file format there is a possibility to map some theme colors differently in particular slides or layouts than in the general master theme (see <a:overrideClrMapping>). For example you can use it for different “section separator” slides –...

Fixing a layout bug in Writer

A problem was reported about Writer, and we investigated. In a document with a lot of content, on certain editing operations, an entire table would just vanish from the document. First, we did get rid of a lot of extraneous content in the document, so that it can the parts...

Highlighting in Document Comparison

I worked with Gokay on a new document compare view for COOL Writer. Part of that feature is to be able to highlight the matching part of an insert or delete on both sides of the view. So if you have a deletion in your document, then we color that...

Various Papercuts

These developments were made in February, 2026. Available in 26.04 only. Collabora Online can be built against musl libc musl libc is an alternative implementation of the standard C library for Linux systems. The C library (libc) provides the basic runtime functions that almost every program uses. musl libc is...

Accordion bits in sidebar

Among a host of other accessibility enhancements, we have implemented the W3C Accordion Pattern for our expanders, as used in the sidebar and dialogs, where we have a vertical stack of regions each with a heading and associated contents which can be expanded or collapsed. The implemented recommendation is to...

Pointer in range

Mostly for historical reasons, LibreOffice has its own `SvMemoryStream` class (for, you guessed it, writing in-memory streams). For quite a while now, code in the PDF filter used that `SvMemoryStream` in a quite peculiar way: In various places, it would take a pointer to some bytes that had already been...