2025 03 Status
Posted on April 22, 2025 by Mike Kershaw / Dragorn ‐
Progress continues on locking down the last few major blockers preventing a long-needed stable release.
Once those are nailed down and tested, I’ll cut a full release and then start on some new speed and feature enhancements.
Now is a pretty good time to test the nightly builds, as they are very close to what will become the first 2025 stable release.
Major changes include:
- Migration from Python to C based code for datasources. Python is getting increasingly difficult to ship and package in any sort of consistent manner, and while it’s possible, Kismet datasources don’t conveniently run in Docker instances. The rtlsdr ADSB and rtl433 sources have been migrated to standard C based sources, and the rtlsdr AMR python datasource has been retired in favor of the AMR decoding in rtl433. No special action is needed when upgrading to the new datasources, other than ensuring that the old python sources have been uninstalled if they were not installed via packages.
- Migration away from Google-Protobufs as the IPC protocol between datasources and Kismet. Like Python, protobufs are a fine method for passing binary data, but don’t fare as well in a less-controlled environment. Building protobufs support on various distribtuions is becoming increasingly difficult, the latest protobufs release broke the protobufs-c pure C library, and it’s a heavy dependency for a problem that can be solved in other ways. No special action is needed, however all local datasources should be upgraded. The Kismet packages will be compiled with protobufs fallback support until the next major release, to make migrating remote datasources easier, but all local datasources should be upgraded.
- Optimized out most of the memory copies from the IPC buffers to the packet processing buffers; this gets a little more speed for high-load environments or low-power hardware.
- New webui device panel. The jquery-datasources web view has had issues for some time, including stalls during live-scrolling, problems auto-scaling on some browsers, and general jank. It has been replaced with a new table view engine, which also adds live repositioning of columns, live adding new columns, and generally better behavior.
- New integrated Boost library. Nothing much special about this, but it the Kismet usage of the Boost API is now up to date.
- A huge quantity of smaller bugfixes and enhancements, including PCRE2 fixes, parsing of non-standard name fields in beacons, gpsd fixes, support for some Geiger counter hardware like Radiacode, some updates to the DJI DroneID handling, some new alerts, etc.
All these changes are currently bundled in the nightly packages and will be part of the next full release.