Last weekend I attended this years edition of FOSDEM in Brussels again. Besides meeting old and new friends I focussed on emergency and weather alerting as well as public transport topics.
KDE
KDE had a stand again, this time in the minimally less crowded (on the FOSDEM scale of crowdedness at least) AW building, next to our friends from GNOME.

Besides getting stickers, t-shirts and even the rare handmade amigurumi Konqi mascots you could see KDE software running on a large range of devices, from laptops and phones to embedded boards, drawing tables and handheld gaming consoles.
Emergency & Weather Alerts
Together with Nucleus I had a talk on Saturday about the public alert server we have been working on.
This resulted in numerous interesting conversations:
- There are people looking into getting access to alerts in other countries.
- Learned about the CAP over XMPP standard (XEP 0127), which could be a more efficient way to receive CAP messages compared to the current high frequency CAP feed polling. We yet have to find a alerting authority supporting that though.
- The Netherlands open-sourced their national weather app a few days prior to FOSDEM.
- Possible approaches for integrating alerts with home automation systems, something particularly interesting in an accessibility context.
- Adapting to UnifiedPush’s work on aligning with the WebPush standard.
There was also an interesting and somewhat related discussion on how to test cell broadcast, emergency calls and emergency location services on free mobile platforms. Especially testing emergency location services is tricky and not even the Google-free Android platforms have that at the moment as it’s part of Google Play Services rather than AOSP (ie. the closed source rather than the open source part of Android).
On the way to FOSDEM I managed to port the KDE public alert client to the new server API. It still needs a UI refresh though, as it’s based on a 5 era prototype.

Transitous
On Sunday Felix, Jonah and Marcus presented Transitous in the Railways and Open Transport track.
As this was unfortunately the second to last talk of the event there wasn’t much time for discussions afterwards, but at least for several people involved with Transitous FOSDEM has been the first opportunity to meet in person. It’s great to see how this has grown in just one year.
For more of that, there was also a discussion about organizing a Transitous sprint/hack weekend.
Travel
Spending several hours on various trains to get there and back also provides plenty of opportunity for field-testing KDE Itinerary, which allowed the new and much more comprehensive and efficient realtime update approach using trip queries to be tested and integrated for 25.04.
Welcome to a new issue of "This Week in Plasma"! Every week we cover as much as possible of what's happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.
This week Plasma's contributors spent a lot of time putting the finishing touches on Plasma 6.3 before its final release in three days to make sure it's as good as possible!
Notable new Features
Plasma 6.4.0
There's now an option to make panel pop-ups use the floating style even when the panel itself doesn't use that style. (Niccolò Venerandi, link)

Notable UI Improvements
Plasma 6.4.0
Improved the appearance of the Welcome Center page that shows up after you've finished upgrading to a new Plasma feature release. (Oliver Beard, link)

(Here shown with the appearance it would have had for Plasma 6.2, since 6.4 doesn't exist yet!)
Info Center's energy graph now uses the system's accent color, rather than always being red. (Ismael Asensio, link)

When using software-based screen brightness, the minimum brightness level is now significantly darker. (Xaver Hugl, link)
Improved the Kate Sessions widget's keyboard navigation in multiple ways. (Christoph Wolk, link)
Frameworks 6.11
In the open/save dialogs used throughout KDE software, changes to the text in the filename field are now undo-able and the text field itself shows a little undo button. This is especially useful if you mis-click on a file while saving and accidentally overwrite the filename; now you can quickly undo that by clicking the button or pressing Ctrl+Z! (Marco Martin, Link)
Notable Bug Fixes
Plasma 6.3.0
Fixed a case where KWin could sometimes crash after resuming from sleep on certain hardware. (Xaver Hugl, link)
Fixed a case where System Settings' Firewall pager could crash during normal usage, and also fail to save changed settings properly. (David Edmundson, link l and link 2)
Fixed a performance issue caused by using the "Sidebar" Alt+Tab task switcher visualization that could eventually cause KWin to bog down or hang. (Marco Martin, link)
Fixed two glitches related to scrolling not working properly while System Monitor's "Configure Columns" dialog was open. (David Redondo, link)
When using the Kicker Application Menu widget with a right-to-left language like Arabic or Hebrew, its sub-menus now open to the left if there's space. (Christoph Wolk, link)
Fixed a subtle issue that could cause automatic screen sleep to stop working after apps block and unblock it multiple times. (David Redondo, link)
Uninstalling an app that was made a favorite in the Kickoff Application Launcher now removes it immediately, rather than only after a restart. (Harald Sitter, link)
Fixed the Mouse Click KWin effect so it works again in the X11 session. (Vlad Zahorodnii, link)
Fixed a case where the keyboard language System Tray icon could be missing on login in the X11 session. (Dark Templar, link)
Plasma 6.3.1
Fixed two intermittent crashes in the portal-based screen chooser dialog: one after selecting a virtual output, and another one after an app disconnects from a stream. (David Redondo and Fushan Wen, link 1 and link 2)
Fixed a case where opening a .flatpakref
file in Discover could sometimes make it crash after launching. (Aleix Pol Gonzalez, link)
Fixed a case where Discover could sometimes crash while trying to load app reviews without network connectivity. (Fushan Wen, link)
Fixed a weird bug where repeatedly entering text in the Clipboard widget's search field and then deleting it could sometimes cause items in the list view to end up overlapping. (David Edmundson, link)
Improved the reliability with which a trashcan icon on the desktop detects when it should change its appearance based on the presence or absence of files in the trash. (Méven Car, link)
Non-square images used for the Kickoff Application Launcher's panel button are once again presented as expected. (Niccolò Venerandi, Link)
Plasma 6.4.0
Fixed two cases where text wasn't translated in Spectacle's placeholder config UI and Info Center's Energy page graph labels. (Noah Davis and Ismael Asensio, link 1 and link 2)
When a screen edge has multiple panels of different thicknesses, panel-pop-ups on the thinner panels now appear in the right place. (Niccolò Venerandi, link)
Frameworks 6.11
Fixed a case where Plasma could crash while trying to render SVG images, which it does a lot of. (Fushan Wen, link)
Fixed multiple bugs relating to focus and tab-ordering in the open/save dialogs used throughout KDE software. (Marco Martin, Link)
Fixed a visual bug most prominently affecting the System Tray, where icons could sometimes look blurry until hovered while using a fractional screen scale factor. (Marco Martin, link)
In the Properties dialog for symlinks on the desktop, the button to open Dolphin at the target's location now works. (Kamil Kaznowski, link)
Other bug information of note:
- 1 very high priority Plasma bug (1 last week). Current list of bugs
- 25 15-minute Plasma bugs (up from 24 last week). Current list of bugs
- 91 KDE bugs of all kinds fixed over the past week. Full list of bugs
How You Can Help
KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.
You can help KDE by becoming an active community member and getting involved somehow. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine!
You don’t have to be a programmer, either. Many other opportunities exist:
- Triage and confirm bug reports, maybe even identify their root cause
- Contribute designs for wallpapers, icons, and app interfaces
- Design and maintain websites
- Translate user interface text items into your own language
- Promote KDE in your local community
- …And a ton more things!
You can also help us by making a donation! Any monetary contribution — however small — will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.
To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.
Friday, 7 February 2025
Let’s go for my web review for the week 2025-06.
Chatbot Software Begins to Face Fundamental Limitations | Quanta Magazine
Tags: tech, ai, machine-learning, gpt, mathematics, logic
When you put the marketing claims aside, the limitations of those models become obvious. This is important, only finding the root cause of those limitations can give a chance to find a solution to then.
https://www.quantamagazine.org/chatbot-software-begins-to-face-fundamental-limitations-20250131/
LLMs: harmful to technical innovation?
Tags: tech, ai, machine-learning, gpt, copilot, innovation, learning, vendor-lockin
This will definitely push even more conservatism around the existing platforms. More articles mean more training data… The underdogs will then suffer.
https://evanhahn.com/llms-and-technical-innovation/
Bad idea: “Artificial Intelligence” automatically improves productivity
Tags: tech, ai, machine-learning, gpt, copilot, programming, productivity
Be wary of the unproven claims that using LLMs necessarily leads to productivity gains. The impacts might be negative.
The LLM Curve of Impact on Software Engineers
Tags: tech, ai, machine-learning, gpt, copilot, productivity, learning
Again it’s definitely not useful for everyone… it might even be dangerous for learning.
https://serce.me/posts/2025-02-07-the-llm-curve-of-impact-on-software-engineers
SQLite or PostgreSQL? It’s Complicated!
Tags: tech, databases, performance, postgresql, sqlite
It shows unexpected results in its measurements. It also highlights the importance of proper settings for your database system.
https://www.twilio.com/en-us/blog/sqlite-postgresql-complicated
Falsehoods programmers believe about null pointers | purplesyringa’s blog
Tags: tech, memory
If you didn’t realise that null pointers open a maze of different traps, this is a good summary of widespread misconceptions.
https://purplesyringa.moe/blog/falsehoods-programmers-believe-about-null-pointers/
String vs &str
Tags: tech, rust, memory
Another reminder that you don’t want reference to primitive types everywhere in Rust code. There’s actually ways to handle this properly. This post gives a couple of simple guidelines to apply.
https://blog.sulami.xyz/posts/string-vs-str/
py-free-threading
Tags: tech, python, multithreading
Looks like a nice resource to handle the coming move to free threaded Python.
https://py-free-threading.github.io/
Decorator JITs - Python as a DSL
Tags: tech, python, performance, jit
Nice exploration of JIT based techniques in Python.
https://eli.thegreenplace.net/2025/decorator-jits-python-as-a-dsl/
Big Packages or Many Dependencies
Tags: tech, supply-chain, dependencies, complexity
Indeed there is a tension between both approaches in package ecosystems.
https://v5.chriskrycho.com/notes/big-packages-or-many-dependencies/
Developer philosophy
Tags: tech, programming, learning
Definitely a good list of lessons to learn when you’re a junior developer.
Bye for now!
Thursday, 6 February 2025
Model/View Drag and Drop in Qt - Part 1
This blog series is all about implementing drag-and-drop in the Qt model/view framework. In addition to complete code examples, you'll find checklists that you can go through to make sure that you did not forget anything in your own implementation, when something isn't working as expected.
At first, we are going to look at Drag and Drop within a single view, to change the order of the items. The view can be a list, a table or a tree, there are very little differences in what you have to do.

Moving a row in a tableview, step 1

Moving a row in a tableview, step 2

Moving a row in a tableview, step 3
The main question, however, is whether you are using QListView/QTableView/QTreeView on top of a custom item model, or QListWidget/QTableWidget/QTreeWidget with items in them. Let's explore each one in turn.
With Model/View separation
The code being discussed here is extracted from the example. That example features a flat model, while this example features a tree model. The checklist is the same for these two cases.
Setting up the view
☑ Call view->setDragDropMode(QAbstractItemView::InternalMove)
to enable the mode where only moving within the same view is allowed
☑ When using QTableView
, call view->setDragDropOverwriteMode(false)
so that it inserts rows instead of replacing cells (the default is false
for the other views anyway)
Adding drag-n-drop support to the model

Reorderable ListView

Reorderable TableView
For a model being used in QListView or QTableView, all you need is something like this:
class CountryModel : public QAbstractTableModel
{
~~~
Qt::ItemFlags flags(const QModelIndex &index) const override
{
if (!index.isValid())
return Qt::ItemIsDropEnabled; // allow dropping between items
return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
}
// the default is "copy only", change it
Qt::DropActions supportedDropActions() const override { return Qt::MoveAction; }
// the default is "return supportedDropActions()", let's be explicit
Qt::DropActions supportedDragActions() const override { return Qt::MoveAction; }
QStringList mimeTypes() const override { return {QString::fromLatin1(s_mimeType)}; }
bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override; // see below
};
The checklist for the changes you need to make in your model is therefore the following:
☑ Reimplement flags()
For a valid index, add Qt::ItemIsDragEnabled
and make sure Qt::ItemIsDropEnabled
is NOT set (except for tree models where we need to drop onto items in order to insert a first child). \
☑ Reimplement mimeTypes()
and make up a name for the mimetype (usually starting with application/x-
)
☑ Reimplement supportedDragActions()
to return Qt::MoveAction
☑ Reimplement supportedDropActions()
to return Qt::MoveAction
☑ Reimplement moveRows()
Note that this approach is only valid when using QListView
or, assuming Qt >= 6.8.0, QTableView
- see the following sections for details.
In a model that encapsulates a QVector
called m_data
, the implementation of moveRows
can look like this:
bool CountryModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)
{
if (!beginMoveRows(sourceParent, sourceRow, sourceRow + count - 1, destinationParent, destinationChild))
return false; // invalid move, e.g. no-op (move row 2 to row 2 or to row 3)
for (int i = 0; i < count; ++i) {
m_data.move(sourceRow + i, destinationChild + (sourceRow > destinationChild ? 0 : -1));
}
endMoveRows();
return true;
}
QTreeView does not call moveRows

Reorderable treeview

Reorderable treeview with a tree model
QTreeView does not (yet?) call moveRows
in the model, so you need to:
☑ Reimplement mimeData()
to encode row numbers for flat models, and node pointers for tree models
☑ Reimplement dropMimeData()
to implement the move and return false (meaning: all done)
Note that this means a move is in fact an insertion and a deletion, so the selection isn't automatically updated to point to the moved row(s).
QTableView in Qt < 6.8.0
I implemented moving of rows in QTableView
itself for Qt 6.8.0, so that moving rows in a table view is simpler to implement (one method instead of two), more efficient, and so that selection is updated. If you're not yet using Qt >= 6.8.0 then you'll have to reimplement mimeData()
and dropMimeData()
in your model, as per the previous section.
This concludes the section on how to implement a reorderable view using a separate model class.
Using item widgets
The alternative to model/view separation is the use of the item widgets (QListWidget
, QTableWidget
or QTreeWidget
) which you populate directly by creating items.

Reorderable QListWidget

Reorderable QTableWidget

Reorderable QTreeWidget
Here's what you need to do to allow users to reorder those items.
Example code can be found following this link.
Reorderable QListWidget
☑ Call listWidget->setDragDropMode(QAbstractItemView::InternalMove)
to enable the mode where only moving within the same view is allowed
For a QListWidget
, this is all you need. That was easy!
Reorderable QTableWidget
When using QTableWidget
:
☑ Call tableWidget->setDragDropMode(QAbstractItemView::InternalMove)
☑ Call tableWidget->setDragDropOverwriteMode(false)
so that it inserts rows instead of replacing cells
☑ Call item->setFlags(item->flags() & ~Qt::ItemIsDropEnabled);
on each item, to disable dropping onto items
Note: Before Qt 6.8.0, QTableWidget
did not really support moving rows. It would instead move data into cells (like Excel). The example code shows a workaround, but since it calls code that inserts a row and deletes the old one, header data is lost in the process. My changes in Qt 6.8.0 implement support for moving rows in QTableWidget
's internal model, so it's all fixed there. If you really need this feature in older versions of Qt, consider switching to QTableView
.
Reorderable QTreeWidget
When using QTreeWidget
:
☑ Call tableWidget->setDragDropMode(QAbstractItemView::InternalMove)
☑ Call item->setFlags(item->flags() & ~Qt::ItemIsDropEnabled);
on each item, to disable dropping onto items
Conclusion about reorderable item widgets
Of course, you'll also need to iterate over the items at the end to grab the new order, like the example code does. As usual, item widgets lead to less code to write, but the runtime performance is worse than when using model/view separation. So, only use item widgets when the number of items is small (and you don't need proxy models).
Improvements to Qt
While writing and testing these code examples, I improved the following things in Qt 6.8:
- QTBUG-13873 / QTBUG-101475 - QTableView: implement moving rows by drag-n-drop
- QTBUG-69807 - Implement QTableModel::moveRows
- QTBUG-130045 - QTableView: fix dropping between items when precisely on the cell border
- QTBUG-1656 - Implement full-row drop indicator when the selection behavior is SelectRows
Conclusion
I hope this checklist will be useful when you have to implement your own reordering of items in a model or an item-widget. Please post a comment if anything appears to be incorrect or missing.
In the next blog post of this series, you will learn how to move (or even copy) items from one view to another.
The post Model/View Drag and Drop in Qt - Part 1 appeared first on KDAB.
Glaxnimate 0.6.0 Beta has finally been released for testing!
It has been a while since the last release of Glaxnimate, but in the background we worked hard to make this first release under the KDE umbrella happen!
Please help us testing and report any issue you may encounter on https://bugs.kde.org/enter_bug.cgi?product=glaxnimate
Glaxnimate joins KDE
The Glaxnimate team is proud to announce Glaxnimate is now part of KDE. Glaxnimate benefits from the shared KDE build and distribution infrastructure, the collective knowledge of the community and libraries such as KDE Frameworks. This way the developers can spend more time on the code to fix bugs and develop new features for you!
Changes
Editing
- The rotation handle now preserves rotation direction and multiple full rotations
- Alt + click on keyframes cycles between built-in easing curves
- Alt + click on bezier points cycles between tangent symmetry modes (Ctrl+click still works)
- Changing a bezier point from corner to smooth will add tangents if they are missing
- The import image dialog now allows importing multiple images at once
I/O
- Added support for SVG text-anchor
User Interface
- Middle mouse drag now pans the timeline
- There is an icon on the timeline to quickly toggle keyframes
- Buttons to jump to the next/previous keyframe in the timeline
- Improved LottieFiles import dialog
- Improved autosave recovery process
- Script console now supports basic autocompletion
Scripting
- Exposed method to add new compositions
Misc
- Switched to an even/odd version numbering scheme
- Integration with KDE Frameworks
Bug Fixes
- Fixed keyframe context menu showing the wrong "after" transition
- When drawing bezier points that don't have tangents are correctly marked as corner
- The play button now resumes from the current frame rather than resetting to the start
- Fixed saving custom templates
- Toggling visibility / lock of a layer by clicking on its icon now adds an undo/redo action
- Fixed LottieFiles import
- Fixed dropping file as object
- Fixed closing compositions from the tab bar
- Fixed loading colors from older lotties
- Shape modifiers marked as not visible are now correctly ignored
- Fixed rendering of round corners modifier
- Fixed "New Composition" action creating an invisible layer
- Fixed repeater opacity not being applied correctly
- Improved handling of repeater with stroke
- Fixed SVG animation export
- Fixed animated raster plugin I/O
How to get it
Note that this is a beta release. Most Linux distributions do not package unstable releases.
We recommend to test this release with one of the binaries we provide:
- Linux AppImage: glaxnimate-0.5.80-x86_64.AppImage
- Windows Installer: glaxnimate-0.5.80-x86_64.exe
- macOS DMG
Packager Section
The source code tarball are available from the KDE servers:
URL: https://download.kde.org/unstable/glaxnimate/0.5.80
Source: glaxnimate-0.5.80.tar.xz
Signed by: 97B71AA02D63EA6C5C44C23B962AC48EF0501F0B
Julius Künzel julius.kuenzel@kde.org
Wednesday, 5 February 2025
Ramon Miranda has published a new video on the Krita channel: Memilio Impasto Brushes! Who doesn't love a nice impasto effect!
Tuesday, 4 February 2025
From 6th to 10th of September 2024, part of the Kdenlive Team was in Germany to attend the annual KDE convention Akademy and used that opportunity of being together at the same location to have a sprint. It was good to meet face to face and to sit down and tackle some issues together. One of the topic discussed was improving our communication towards users, so here is a much needed update on the status of our fundraiser! This post should have been published a few months earlier but there were so much things happening around Kdenlive that it was hard to follow, so sorry for the delay!
It’s been a bit more than 2 years since we launched our very successful fundraiser. This allowed us to fund some much wanted features, and as a side goal, allowed me to spend more time on Kdenlive. Thanks to your donations, I will be able to dedicate two days per week to Kdenlive instead of one. Note that this only sponsors part of my work as I spend much more time to Kdenlive, but hopefully this will relieve some stress and I will have a healthier weekly rhythm.
During this time, there were around 1,900 commits to the Kdenlive repository, meaning about 3.8 commits per day! We didn’t take that much vacation, did we? Also worth noting is that we handled the port to Qt6 during that time, which was a big task and took a lot of effort.
So now for the status of the fundraiser, here is what has been done so far and what is left. All major things were implemented in the 24.12 release so that we can move on to our next goals soon.
Timeline Nesting
merged in 23.04

This was by far the biggest update since 2019, and can now be enjoyed by all (we recommend using the upcoming 24.12.2 version for the best experience). What remains for this task is to do some code cleanup that will be done in the 24.12 cycle. On a side note, the feature was merged too early and caused some annoying instabilities that are now solved. And I promise we are working to improve our development processes.
Improving the effects workflow
Several changes were made to improve the user experience and make our effects more powerful.
Group effects
merged in 24.05
Ability to control the parameters affecting all effects within the group.

Built-in effects
merged in 24.12
The effects panel gives direct access to effect parameters, allowing to quickly and easily adjust them.

More Easing Modes
merged in 24.02
In addition to the existing easing modes (linear, smooth, and constant), we’ve added several new options like: Cubic In/Out, Exponential In/Out, Circular In/Out, Elastic In/Out, and Bounce In/Out for transitions and effects.

Transform effect improvements
The Transform effect now has a monitor grid to easily align clips – merged in 24.12

Added ability to directly select clips from the monitor overlay – merged in 24.08

Redesigned effects interface
merged in 24.12
The Effect Stack redesign enhances usability with clearer organization of keyframeable and non-keyframeable parameters, improved layout consistency, more compact and clean.

Help button
merged in 24.12
Added a contextual help button in the effect / transition stack which redirects to the effect’s documentation on our fantastic documentation website.

Performance boost
Performance improvements is an always running task, but among some of the recent changes you will find:
- Spacer tool boost – merged in 24.05, the Spacer tool that was previously very laggy when moving more than 10 clips was optimized to allow almost instant move
- Improve speed for audio or video only rendering – merged in 24.08, a small improvement in the way the rendering is passed to MLT means slightly faster render times for the timeline preview
- Improve support for hardware encoders – cleanup and improve the detection of the GPU used for timeline preview and proxy clips – merged in 23.08
- Optimize parts of the timeline qml code – merged in 24.05, we now better handle out of view items
But wait, there’s more!
Thanks to your support we managed to achieve more than planned. We worked in improving our automated testing as well as hired third party developers for extra features.
Regression Testing
One thing we wanted for a long time was a way to automatically check for rendering regressions. We are now entering the final phase of this automated tests and it will soon be run automatically. Hopefully this will make future releases more stable and avoid some of the issues we had in the last years!
Audio Waveform Upgrade
merged for 25.04
The next major release of Kdenlive brings a 300% performance boost for generating audio thumbnails, along with higher-resolution waveforms for greater precision and a refactored sampling method that accurately renders the audio signal. This work was done by Étienne Paul André, check out the in depth details about thew work done here.

OpenTimelineIO Integration
expected in 25.08
Darby Jonhston is working on implementing a native C++ OpenTimelineIO integration to allow importing and exporting project files to/from other applications implementing this open standard. This has many advantages over the currently existing but very broken Python adapter based OTIO integration.
Export features:
- Export a timeline with multiple tracks and clips. (working)
- Support for markers and guides. (working)
- Support for transitions. (not started)
Import features:
- Import a timeline with multiple tracks and clips. (working)
- Support for markers and guides. (working)
- Support for transitions. (not started)
What’s next
During our sprint in Germany, we also updated our roadmap so that it better reflects the current status of our development and goals. We have something big planned for this year so stay tuned.
On behalf of the team, we would like to thank you all for your support that helps make Kdenlive better every day!
Monday, 3 February 2025
Jasem Mutlaq
- Added dome slit visualization on sky map. Specify the Dome Measurement parameters in the INDI Dome driver to see a live dome slit overlay in the Sky Map.
- Implemented generic DBus methods for KStars options
- Added SchedulerSleeping event
- Added mutex protection for multi-threaded resources
- Enhanced scheduler loading and settings management
- Improved filter manager operations
- Fixed video subframing. Up to 50x improvement in subframed video feeds.
- Fixed multiple profile editor issues
- Added VSCode development setup support
Hy Murveit
- Fixed DMS delta angle calculation
- Added mandatory settle to PAA
- Improved imaging planner stability
- Fixed pierside placeholder directory usage
- Added START_AT scheduler test
- Fixed Abell planetary nebula lookup
- Enhanced PAA adjustment estimation
Wolfgang Reissenberger
- Implemented video sequence capture. Preliminary support for capturing Video files as regular sequences in the Capture module. Great news for EAA.
- Fixed focus options
- Improved remote directory handling
- Fixed flats with wall position
- Enhanced filter wheel integration
John Evans
- Enabled focuser controls when camera disconnected
- Improved focus measure framing
- Fixed focus advisor code warnings
- Updated aberration inspector functionality
Toni Schriber
- Fixed overshooting cosine in CachingDms calculation
- Implemented calibration reuse after rotation. Guide calibration data can now be re-used between sessions after rotation.
Ben Cooksley
- Removed CMake trace/debug logs from CI runs
György Balló
- Set window icon
Oliver Kellogg
- Fixed typo in FITS Viewer configuration
Akarsh Simha
- Fixed right-click popup menu on deep stars
Technical Highlights
- Improved capture sequence stability: Set 5-minute timeout for transient operations (dome motion, mount parking/unparking, dust cap operations, focusing, filter wheel changes) to prevent indefinite sequence stalling.
- Improved mount rotation processing
- Enhanced scheduler loading mechanism
- Added mutex protection for multi-threaded resources
- Improved capture operation timeout handling
Sunday, 2 February 2025
FreeBSD ports update today:
delete mode 100644 x11/plasma5-plasma/
create mode 100644 x11/plasma6-plasma/
This is work landed by Tobias, with Max, Kenneth, Jason and Gleb doing a lot of heavy lifting in this update. I sat on the sidelines, but I’m here to congratulate the active part of the KDE FreeBSD team with an update long foreseen, long foretold, and long desired.