Skip to content

Releases: eclipse-bluechi/bluechi

v0.9.0

12 Nov 15:17
v0.9.0
Compare
Choose a tag to compare

Highlights

Breaking Changes

  • Refined SELinux policy and set it to enforced by default

New Features

  • Eclipse BlueChi supports building Debian packages now
  • Added new package: bluechi-is-online
  • Added feature: Heartbeat and Threshold from Controller to Agent
  • Added feature: Configurable threshold for heartbeat from node to controller
  • Added monotinic timestamp to D-Bus API
  • Added GetUnitFileState to D-Bus API and is-enabled command to bluechictl
  • Added KillUnit to D-Bus API and kill command to bluechictl
  • Added ResetFailed and ResetFailedUnit to D-Bus API and respective commands to bluechictl
  • Added ListUnitFiles to D-Bus API and list-unit-files command to bluechictl
  • Added GetDefaultTarget and SetDefaultTarget to D-Bus API and respective commands to bluechictl
  • bluechictl: Added usage functions for specific commands

Bug Fixes

  • Changed the register call of bluechi-agent to be asynchronous so it doesn't block SwitchController anymore
  • Fixed the order of disconnect and controller address changed on calling SwitchController
  • Fixed updating the displayed peer IP when a node changes connection state in bluechictl
  • Fixed determining the peer IP address of the agent

Testing

  • Timeouts for integration test phases are configurable now
  • Added integration tests for list-units and list-unit-files on specific node
  • Added integration tests for heartbeat
  • Fix when running test with tmt.discover.prune=true
  • Fix proxy service propagate failure test
  • Added duplicate test id and summary check
  • Fixed wrong and duplicate test summaries and ids

Documentation

  • Added additional resources section to readthedocs
  • Updated readthedocs for SELinux policy
  • Updated API description and spec

Miscellanous

  • Renamed orch_src to ctrl_src in meson files
  • Rename orch_addr to assembled_controller_address
  • Moved string and time constants to respective util files
  • Added Eclipse BlueChi introduction PDF

Detailed commit log

New Contributors

Full Changelog: v0.8.0...v0.9.0

v0.8.0

29 Apr 11:31
v0.8.0
Compare
Choose a tag to compare

Highlights

Breaking Changes

  • Breaking change: Removed obsolete API method Ping

Bug Fixes

  • Fixed .conf suffix check for conf.d files
  • Fixed memory leaks in bluechi-agent and bluechictl
  • Fixed bluechictl when fetching status of multiple services
  • Fixed segfault when calling set-loglevel API with invalid loglevel
  • Cleanup controller when start fails to prevent memory leaks

New Features

  • Added watch option to bluechictl status
  • Implemented D-Bus API for cancelling a Job
  • Added IP to of registered nodes as D-Bus property and to the ListNodes API
  • Added D-Bus properties for LogLevel and LogTarget of bluechi-controller and bluechi-agent
  • Added D-Bus on bluechi-agent to switch the bluechi-controller
  • Improved the output of bluechictl list-units
  • Improved the formatted output of the dumped config of bluechi-controller and bluechi-agent on startup
  • bluechictl monitor flushes stdout for each iteration
  • Changed output of bluechictl status from stderr to stdout
  • BlueChi's SELinux policy has been extended by a tunable policy to dis-/allow any port

Testing

  • Improved and stabilized the generation of the coverage report
  • Integrated coverage reporting with coveralls.io
  • Implemented multihost mode to run integration tests on multiple machines
  • Introduced dedicated classes for bluechictl, systemctl and systemd services
  • Introduced library for python scripts on the testing machines accessing the BlueChi API
  • Added a lot of unit and integration tests

Documentation

  • Added BlueChi logo to architecture diagram
  • BlueChi Ansible Collection
  • Converted the MAN page for the SELinux policy from roff and to markdown format
  • Added Security section with SELinux policy of BlueChi

Miscellaneous

  • Added GH workflow for automatic generation of runtime SBOMs
  • Added GH workflow for manually triggering mulithost integration tests on testing farm
  • Added meson option for building with SELinux policy
  • Use project version from centralized script
  • Aligned RPM release with release reported by command line tools
  • Fedora's latest stable version has been chosen for packit's integration tests
  • Badges for unit and integration tests as well as the combined coverage have been added to README

Detailed commit log

Read more

v0.7.0

19 Jan 08:45
v0.7.0
Compare
Choose a tag to compare

Highlights

Breaking Changes

  • bluechictl: Removed command monitor node-connection
  • DBus-API: Removed method Shutdown from controller and agent
  • Renaming of manager to controller in configuration, API, etc.

New Features

  • bluechictl: watch option to bluechictl status
  • bluechictl: flags for enable and disable commands
  • API: System status property on org.eclipse.bluechi.Manager
  • API: Extended monitor API by adding and removing peers
  • Configuration: TCP KeepAlive options for peer connections
  • Configuration: IP_RECV_ERR option for peer connections

Bug Fixes

  • Enable quicker tcp error notification by setting IP_RECV_ERR
  • Send monitor signals only to peer
  • Check for proxy service list being empty instead of NULL on shutdown
  • Fixed check that agent started successfully
  • Fixed memory leak when assembling monitoring signals

Testing

  • Integration tests are run with valgrind on testing farm
  • Integration tests produce a coverage report in GH workflow
  • Added more integration tests for new peer API, -c option and more

Documentation

  • Using the Monitor API of BlueChi
  • Securing BlueChi with mTLS and double proxy

Miscellaneous

  • BlueChi logo has been added to the project
  • Added error log when at least one list units request fails
  • Added log statements when sending monitor signals fail
  • Upgraded subproject hashmap.c to v0.7.0
  • Introduced pre-shutdown hook to ensure final signals are emitted
  • Refactored bluechictl and introduced command pattern

Detailed commit log

Full Changelog: v0.6.0...v0.7.0

v0.6.0

13 Nov 13:28
v0.6.0
Compare
Choose a tag to compare

Highlights

  • Renamed bluechi to bluechi-controller for binary, rpm and documentation
  • Snapshot builds are now available in the centos-sig-automotive COPR group
  • Moved bluechi binaries to /usr/libexec for auto-completion
  • Introduced packit for builds and running integration tests on testing farm
  • Introduced clang/LLVM support
  • Added properties and signals for connection status and disconnected timestamp to Agent's public API
  • Removed duplicate NodeConnectionStateChanged signal from bluechi-controller
  • CLI option for the version (-v) prints version and git commit hash for non-release builds
  • Extended BlueChi's public D-Bus API specification by inline-comments
  • Added EmitsChangedSignal annotation to properties in BlueChi's public D-Bus API specification
  • Enhanced typed python bindings generator
    • use inline-comments from specification
    • provide listener functions for property changed signals
  • Added a graceful node shutdown in bluechi-controller
  • Extended integration tests to run with valgrind to detect memory leaks
  • Improved documentation
    • Reworked Getting Started documentation
    • Reworked Proxy Service documentation and added examples and limitations
    • Aligned and added API examples for Python, Go and Rust

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

05 Sep 07:14
v0.5.0
Compare
Choose a tag to compare

Highlights

  • New project name: BlueChi
  • License changes:
    • BlueChi project from GPL-2.0-or-later to LGPL-2.1-or-later
    • API examples to CC0-1.0
    • Typed python bindings package to CC0-1.0
  • New feature: freeze and thaw units
  • Improved configuration file parsing:
    • Increased maximum line length to 500
    • Added multi-line support
    • Clearer error messages when parsing fails
  • Typed python bindings: property annotation for D-Bus property added
  • Bug fixes:
    • heartbeat interval of 0 disables it instead of spamming the signal
    • disconnecting, anonymous node doesn't lead to a segfault anymore
    • some minor memory leaks have been fixed
  • Examples for using GoLang to access the D-Bus API have been added
  • Examples for using Rust to access the D-Bus API have been added
  • Added CLI option for all binaries to print the version
  • Changed the default log target to be journald

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

10 Jul 16:37
v0.4.0
Compare
Choose a tag to compare

Highlights

  • Support of FQDN and IPv6
  • Typed (autogenerated) python bindings as RPM package and on PyPI (see https://pypi.org/project/pyhirte/)
  • Set log level D-Bus API
  • Monitoring of node status

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.4.0

hirte 0.3.1

20 Jun 08:52
Compare
Choose a tag to compare

What's Changed

  • added typecast to uintptr_t for subscription pointer by @engelmi in #358

Full Changelog: v0.3.0...v0.3.1

hirte 0.3.0

31 May 15:36
v0.3.0
4ddc57e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.1...v0.3.0

hirte 0.2.1

03 May 09:04
v0.2.1
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @lsm5 made their first contribution in #263

Full Changelog: v0.2.0...v0.2.1

hirte 0.2.0

25 Apr 15:09
v0.2.0
Compare
Choose a tag to compare

Hightlights

  • Proxy service to resolve inter-node dependencies between applications
  • SELinux policy has been added

What's Changed

Full Changelog: v0.1.0...v0.2.0