What’s New in Karabo 2.21.0

Release date is 12 December 2024.

Summary – Release highlights

This release updates the software stack and addresses some technical debts, like replacing log4ccp with spdlog, updating Python to 3.12 and the C++ standard from C++ 17 to C++ 20. Some improvements to the broker support (AMQP) and adjustments to the authorization logic enforced by Karabo Authentication are also in.

Bound Python API

C++ API

Middlelayer Python API

KaraboGUI

  • Minconda is no longer used, minforge used instead
  • Provide history for Text Log widget (https://git.xfel.eu/Karabo/Framework/-/merge_requests/8718 )
  • Authentication changes: - GUI components - including in Daemon Manager - are disabled, when the required access level is not met. A tooltip shows why they are disabled. Especially, the context menu items in the Topology panels and Project panel. - Karabo-cinema and concert also honours authentication.
  • Option to Compare configuration of one device with another (of same class )
  • Configuration Preview dialog (When fetches from past) options to show only currently editable properties.
  • Numpy upgraded to version 2.x.x
  • GUI extension - dependency management independently, using the ‘Check for update’ Dialog.

All APIs

Breaking Changes

C++ API

Bound API

KaraboGUI

Change of behaviour

Dependency Updates

  • This release contains a major Python update to 3.12 (was 3.11).
  • The C++ standard for the Framework has been updated to C++ 20 (was C++ 17).
  • log4cpp was replaced by spdlog, an actively maintained and evolving logging library.

Bug Fixes

Features

Refactor

Performance

Devices

Documentation

Tools