Open Source in Action #12: 5,690 Merges, Python in Calc, and a FreeBSD Port in the Works

Another strong week — 483 merges bringing the all-time total near 5,700, a fascinating forum discussion about bringing Python and NumPy into Calc, a FreeBSD port arriving from a community contributor, and crash testing bouncing back down. Here’s the roundup.

The Numbers

This week: 483 commits merged by 39 contributors. All-time since April 2nd: 5,690 commits merged from 71 contributors, with 292 open changes in review.

GitHub PR migration is almost finished — only 4 open PRs remaining.

Top reviewers this week: Caolán McNamara (59), Miklos Vajna (31), Michael Stahl (24), Noel Grandin (20), Tomaž Vajngerl (18), Stephan Bergmann (12), Mike Kaganski (9), Szymon Kłos (7), Andras Timar (7), Tor Lillqvist (6).

Thank you to every reviewer keeping the pace steady.

Welcome to this week’s new contributors: Eli Xu, DatVex, and FarmYard Gaming — thank you for your first contributions!

FreeBSD Support in Progress

A great example of open source in action — Jesper Schmitz Mouridsen submitted a patch adding FreeBSD support for Collabora Online. The port uses jails for the kits, with coolmount and coolforkit-caps handling the setuid requirements on that platform. Some porting work remains (mostly Python version details), but this opens the door to running Collabora Online on FreeBSD. Thank you, Jesper — bringing the software to a whole new platform is exactly the kind of contribution that expands who this project can serve.

Python and NumPy in Calc: A Deep Discussion

One of the most interesting forum threads this week: KeithCu started a detailed discussion about bringing a =PY() function — Python with NumPy — into Calc, sharing a working implementation. Michael Meeks dove into a thorough technical exchange about the design: how to balance Excel compatibility (where =PY() runs as an embedded Python cell in a fixed calculation order) against Collabora’s more flexible dependency graph, how spreadsheet ranges map to Python data, and how to sandbox the compute service securely. It’s a genuinely fascinating look at the design questions behind a powerful feature — and exactly the kind of open, considered conversation that makes this community special. Worth a read if you’re curious about spreadsheet internals.

Edit Engine Hyperlinks: Better Long-URL Handling

Tomaž is reworking how edit engine handles hyperlinks — turning them from a field into character attributes. The immediate benefit: hyperlinks now behave nicely when the URL is long enough to wrap across multiple lines. The patch is in progress with compatibility considerations being weighed.

What Developers Are Building

GIF Playback — Refined: Banobe is iterating on the GIF playback in presentations, now caching frames to improve performance and adding a size limit for uploaded GIFs. Thoughtful polish on top of last week’s landing.

CODA-Q Presentations: Caolán landed several presentation improvements — fixing a crash on full-screen presentations, keeping the last frame visible on slide-end, and auto-starting videos on slide start.

Faster Windows Builds: Caolán also has a new idea to shave 2 minutes off the Windows build — the ongoing quest to make CI faster continues.

AI Chat Polish: Darshan made AI suggestion cards grow with wrapped text and made the remaining English sidebar strings translatable — so the AI assistant can speak every language the community translates.

Qt WebSockets Packaging: Darshan also updated the Qt WebSockets dev package references for Ubuntu and Debian builds.

SmartArt CloneSlides: Armin made strong progress on SmartArt CloneSlides — both parts of the fix are now in main, and he had a very helpful call with Regina to plan the next changes. The forum collaboration continues to bear fruit.

Markdown Paste Fix: Miklos is fixing an unexpected join of bullets when pasting Markdown into Writer.

Security Backports — Done: Attila finished backporting the security fixes to an older branch — getting everything to compile and pass unit tests even on Windows, which meant reviving a Cygwin build environment. He’s now moving on to a newer branch. A huge, meticulous effort to keep older deployments secure.

Save Error Messages: Szymon is improving save failure messages — instead of a generic “no permission,” the goal is to explain the actual reason (storage failure vs. conflict) and offer clear choices like discard, overwrite, or save to a new file.

Calc Rendering: Szymon is also investigating a rendering corruption in Calc, possibly related to cell dimension differences at tile edges.

Mintty Color Output: Mike Kaganski is preparing a fix for colored console output on mintty, which currently breaks lines — a nice quality-of-life fix for Windows developers.

CI Capacity: Adrià is bringing up new build capacity — a new AlmaLinux 9 builder, a new Windows executor in a VM, and a VM for running k6 performance tests.

Crash Testing: Back on Track

After last week’s temporary rise from new Calc work, crash testing dropped back to 92 this week, with 79 crashes fixed and no new ones introduced. The team’s quick response shows the quality process working as intended.

Design Meeting

The UX/UI Design Meeting covered:

  • Dynamic zoom rework: Sahil is deep in prototyping — he’s successfully calculating the initial zoom before the first client message, with one complex race condition remaining between async listeners when the sidebar appears. Detailed, careful work with tests and documentation to follow.

  • Save error messages: Szymon mapped out the different failure cases (storage failure, conflict) and how to communicate them clearly to users.

  • Color picker: Ivana is reworking the color picker widget, now also looking at the color palette for table properties.

  • Line sidebar section: Raul is working through moving the line settings into the notebookbar.

The Community in Action

The Matrix channel had a lovely moment of levity this week — a discussion about the Length unit type approved last week spun off into jokes about switching to “Scottish Sheep units” and Australian emus as units of measurement. Behind the humor is real enthusiasm for finally having strongly-typed lengths in the codebase.

Chris Sherlock continues his coordinate mapper refactor for the rendering engine, noting how much Tomaž’s EMU work might help. Deep engine improvements from the community keep coming.

There’s also thoughtful onboarding happening: when a contributor dug into the tricky tile-sizing and zoom math in Map.js, Miklos and Michael Meeks helped explain the historical constants and pointed to the documentation — with a shared appreciation for keeping that knowledge written down.

Community Calls

  • TC Meeting (July 15) — 8 attendees — CI turnaround, crash testing, editeng hyperlinks, release planning

  • Collabora Online Weekly Meeting (July 16) — release schedule, GIF playback, security backports, SmartArt, FreeBSD

  • UX/UI Design Meeting (July 16) — dynamic zoom, save error messages, color picker, line section

All minutes on the forum under meeting-minutes.

Get Involved

71 contributors. 5,690 merges. New platforms, new features, new faces every week. Whether you write code, translate, test, design, or document — there’s a place for you here.

See you in the code.

Leave a Reply

We use cookies to help our website work and improve your experience.
Read our Privacy Policy for more details.

We use cookies

We use cookies to improve your experience on this website. You may choose which types of cookies to allow and change your preferences at any time. Disabling cookies may impact your experience on this website. You can learn more by viewing our Cookie Policy.