What’s New in Karabo 2.9.8

A release for the GUI Server. We temporarily allow devices coded not following the fast reply on slot policy to be installed and not bother the user with spurious timeouts. These devices should be adapted before the release of 2.10.0. This also includes some GUI enhances such as a fix for scenes with nested layouts that modifies the scene upon loading and a verbose error dialog that extracts pertinent information from the stack trace.

Detailed Merge-Log

  • CPP: GuiServerDevice can ignore timeouts on configuration !4649
  • File Logger: Fix reading of empty vector of strings logged with 2.8.X and earlier. !4654
  • GUI: Calculate scene layout sizehint from children sizehints only when it is invalid. !4668
  • GUI: Extract important part of stack trace of the error dialog !4670

What’s New in Karabo 2.9.7

A release dedicated to Influx Dataloggers to handle large data polled/ Minor GUI and CI bugfixes have been backported as well.

Detailed Merge-Log

  • BUILD: Preserve egg dir when building the package !4618
  • INFLUX: getHistory fixed for history poll larger than 5000 points !4616
  • INFLUX: handle partial key from DB !4617
  • INFLUX: fix logger crash on bad configurations !4506 and !4603
  • INFLUX: string contain pipes are read correctly in for (1|2|3) scenario !4592
  • CI: windows CI is less verbose, unit tests skip build !4618
  • GUI: Add the histogram aux to Detector Graph !4586
  • WEBSERVER: Webserver doesn’t handles device servers with a minus sign !4600

What’s New in Karabo 2.9.6

A release dedicated to GUI adjustments for the readOnly server and a couple of plot widget fixes

Detailed Merge-Log

  • GUI: Enable readOnly utility in client !4457
  • GUI: Implement access level configuration for project toolbar !4461
  • GUI: AccessLevel service kill in topology !4462
  • GUI: Better access logic for project bar !4465
  • GUI: Scripting console access role !4467
  • GUI: AccessRole implementation for configurator toolbar !4470
  • GUI: Implement access role for device topology !4471
  • GUI: Implement access roles in the project view !4497
  • GUI: Run macro from macro panel has access role !4505
  • GUI: Improve visualization of vectors with invalid numbers for VectorBarGraph in log mode !4570
  • GUI: Update x-transform after trigger !4572
  • GUI: Increase the frequency of axis ticks on small widgets !4574

What’s New in Karabo 2.9.5

A release dedicated to provide a readOnly gui server.

Detailed Merge-Log

  • C++: Provide a readOnly version for the GUI Server !4568
  • GUI Server: Enable device provided scenes in read only mode !4571

What’s New in Karabo 2.9.4

A release dedicated for GUI fixes (ranges) and the InfluxDB rollout.

Detailed Merge-Log

  • InfluxDB: Log the whole answer in case of failing request !4529
  • InfluxDB: Migrate schema event !4532
  • InfluxDB: Cast UINT64 to INT64 not STRING !4555
  • InfluxDB: Fix Schema Migration !4546
  • C++: Log readers reply time string with timezone !4541
  • GUI: Set a global Locale !4542
  • GUI: More plot range fixes !4543
  • GUI: Hide the axis labels when there is no text or unit !4558
  • GUI: Show/hide labels in image plots whether there are text/units !4561
  • GUI: Set dragged widgets as initialized !4538

What’s New in Karabo 2.9.3

A release dedicated to enhance the karabo GUI. It will provide better logarithmic display of the axis and fixes the graph toolbar toggling. This hotfix is highly recommended!

Detailed Merge-Log

  • InfluxDB: Display success when influx migration succeeds !4503
  • GUI: Fix plot log range !4521
  • GUI: Fix vector bar graph !4522
  • GUI: Fix graph toolbar toggling !4524

What’s New in Karabo 2.9.2

A release dedicated to the InfluxDB rollout.

Detailed Merge-Log

  • InfluxDB: Handle Nans, Infinities and empty stringsOriginally !4452
  • InfluxDB: Fix influx reader when schema injection happens and empty strings and vectors are involved.!4454
  • InfluxDB: adapt migration to new format !4464
  • InfluxDB: Cherry pick influx fixes 2.9.2 !4485
  • InfluxDB: Do not try to parse LOGOUT lines !4499
  • GUI: Hide the labelItem in the aux plots by default !4488
  • Tests/CI: run integration tests on hotfix branch !4490
  • Tests/CI: Integration test for data logging when schema evolution happens !4463

What’s New in Karabo 2.9.1

A release dedicated to the InfluxDB rollout. A few fixes have been ported into this hotfix. In addition, the bound api gets an alarm update fix.

Detailed Merge-Log

  • InfluxDB: Migrator does not add quotes to field keys !4424
  • InfluxDB: better failure detection !4423
  • InfluxDB: Don’t wait forever on credentials that are never entered !4430
  • C++: Silence gui server log file !4422
  • Bound: Backport fix of signalAlarmUpdate !4433

What’s New in Karabo 2.9.0

The most relevant improvements, fixes and changes are:

  • GUI: Qwt Based Widgets are deprecated
  • GUI: Matplotlib Widgets are deprecated
  • GUI: The system topology is less crowded now since only device classes from running devices are shown
  • GUI: The karabo GUI is now supported on MacOSX
  • MACRO: Multiple macro servers can now be used in a single topic.
    The macro servers should now start with the command karabo-macroserver.
  • C++: the data loggers with influxDB backend are production ready.

Detailed Merge-Log

Since karabo 2.8.0, a total of ~97 MR have been implemented in this release.

Bound/cpp core

  • C++/bound: fullyEqual for hashes, but ignoring key insertion order !4394
  • C++/bound/MDL: Device property for karabo versionFor all APIs, add a new device property: “karaboVersion”. !4353
  • C++/bound: Device client’s channel monitor allows registering onInput handler !4354 !4370
  • C++: Log stop of logging in file logger !4320
  • C++ : Failing/longish startFsm (i.e. device initialisation) has no influence on slotStartDevice !4335
  • C++: Add test about device being killed during initialisation !4338
  • C++: Influx DB topic configurableDB name is now centrally configured in the data logger manager. !4341
  • C++ integration tests: Larger timeout for influxDB, more debug print !4360
  • C++: Karabo version from ‘git describe’ compiled into shared library. !4364
  • C++: Fix alarm service flush file reading + stricter tests. The handwaven XML file reading was changing strings !4375
  • C++: Ignore timeouts on execute if askedChanged the gui server protocol in a backward compatible way. !4376
  • C++: fix race condition in setGlobalAlarm !4389
  • Bound: add bindings for full equality check of HashesImplemented in bound as a free function like similar. !4381
  • Bound: improve fix of device’s slotReSubmitAlarms !4393

Dependencies and deployment

  • CONDA: rebuild indexes correctly !4297
  • CONDA: conda-recipe for karabo-cpp using cmake !4299
  • CI: Conda cannot clean itself on Windows !4352
  • CI: Add prerelease conda build for alpha and beta tags !4355
  • BUILD: refactor conda build scripts using Python !4331
  • BUILD: Enable nightly build !4337
  • BUILD: GUI CI on MacOs 4269
  • BUILD: Skip CMake build !4348
  • BUILD: Conda recipes get their own folder. !4305
  • BUILD: Check for errors after running pip to install Python code !4318
  • DEPS: add uvloop !4300 !4303 !4312

Tests

  • TESTS: Add test_bin_roundtrip test case. !4313
  • TESTS: Extend unit test to check interoperability of xml serialization between MDL and Bound Python. !4304
  • TESTS: Python Tests do not drop database !4385

Middlelayer Core

  • MDL: Fix MDL bin decoding of Vectors of Hashes (conform to C++ bin decoding). !4302
  • MDL: Increase number of threads in executor !4311
  • MDL: Minor code quality fixes !4345
  • MDL: Karabo version in instanceInfo of all SignalSlotable…and thus also for devices. This aligns MDL with C++ and bound Python.
  • MDL: separate macro devices namespace !4347
  • MDL: PropertyTest Device starts via CLI !4382

Core Devices

  • PROJECT DB: Add returing projects and active configuration in each for a given device !4336
  • Data Logger: Modifications to support multiple DataLoggerManagers per topic. !4372

Influx DB

  • InfluxDB: Fix InfluxDB environment for CI and cluster !4274
  • InfluxDB: Integrate InfluxDataLogging test into CI !4379
  • InfluxDB: Merge temporary XML parsing overwrites in ‘karabo.influxdb.dlUtils’ into ‘karabo.native.data.serializer.py’. !4315
  • InfluxDB: Fix InfluxDB data migrator for Pre-production environment. !4323
  • InfluxDB: Improve influx migrator workflow. !4340
  • InfluxDB: Support workload partitioning and concurrent processing for Influx Migrator. !4350
  • InfluxDB: Prepend platform name to measurements in InfluxDB !4402
  • InfluxDB: Handle database creation failures at InfluxDataLogger startup. !4378
  • InfluxDB: Migrate to influx newer files first !4406

Graphical User Interface

  • GUI: Fix image widget for pixels of same values !4296
  • GUI: Fix scene boxlayout !4292
  • GUI: Indicate non-resizable fixed layout !4295
  • GUI: Add close event and focus on ok button for error messagebox !4301
  • GUI: Extend unit-test for table element with options !4306
  • GUI: Change device tree: Domain - Type - Name !4267
  • GUI: Remove scene view expanding on undock !4294
  • GUI: Show the server language information in an icon !4252
  • GUI: Destroy scene view properly !4291
  • GUI: Fix scene line shape !4293
  • GUI: Catch the ValueError in the combobox delegate when options are violated !4307
  • GUI: Fix AccessLevel change on scene design mode !4309
  • GUI: Add test for boxlayout actions !4310
  • GUI: Destroy project controller properly !4298
  • GUI: Fix message box close on ‘x’ button click !4319
  • GUI: Increase connect dialog delay time !4322
  • GUI: Refactor the toolset to Traits !4321
  • GUI: Change the vector line edit in size hint !4325
  • GUI: Create a common place for colors !4326
  • GUI: Refactor aux plots to Traits !4327
  • GUI: Allow multiple macro server instances !4346
  • GUI: Adjust minimum size of image plot only when ROI is added !4342
  • GUI: Remove spark line size restriction !4328
  • GUI: Implement new class handling in topology !4179
  • GUI: Convert Qwt models to Graph models !4339
  • GUI: Soften deprecation of models !4366
  • GUI server: Better error message for execute/reconfigure timeouts !4363
  • GUI: do not expect replies from macro slots !4371
  • GUI: Convert unit label into a wrapper class !4374
  • GUI: remove deprecated traits !4367
  • GUI: Backward compatibility of tool button method !4384
  • GUI: Formatted value field !4368
  • GUI: Implement a sticker widget !4356
  • GUI: Fix the blue background if no changes in configurator !4383
  • GUI: Soften deprecation of LinePlotModel !4391
  • GUI: Remove not used trait in the sticker scene writer !4397
  • GUI: Respect the object arrangement when selected !4392
  • GUI: avoid overflow on slider range comparison !4390
  • GUI: Add Macro Icon for Topology !4398
  • GUI: Extend and clean simple model tests !4399
  • GUI: Validate Vector Ints on list edit !4405
  • GUI: Refactor image rescale to avoid overflows and copying !4403
  • GUI: Icons Dialog improvement !4401
  • GUI: Fix macro save to file with unsupported characters !4388
  • GUI: Fix crosshair ROI path calculation !4365
  • GUI: Display ROI text only when selected !4343
  • GUI: GUI: Extend VectorXYGraph for multiple Y curves !4410
  • GUI: More header resize !4409
  • GUI: Return the Qwt tests !4407