Skip to content

Releases: vectorgrp/sil-kit

v5.0.2

04 Dec 17:57
c0fb1fc

Choose a tag to compare

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Fixed

  • asio: replaced the deprecated (and now removed) methods asio::io_context::post and asio::io_context::dispatch with the suggested alternatives asio::post and asio::dispatch

  • capi: fixed an include cycle between silkit/capi/EventProducer.h and silkit/capi/NetworkSimulator.h

  • sil-kit-monitor: fixed missing output due to changes to the default loglevels

  • logs: fixed logging in JSON format without any key-value pairs

  • docs: fixed broken formatting in troubleshooting/advanced

  • ci: fixed usage of cmake for macOS runners

  • cmake: fixed QNX preset and toolset

  • git: fixed broken build dir glob pattern in .gitignore file

  • quality: fixed various warnings

Changed

  • sil-kit-system-controller: improved the behavior of the sil-kit-system-controller, allowing single participants to drop out and rejoin before all required participants are connected without having to restart other required participants or the system controller.

  • docs: document the ability to override the history length of DataPublisher controllers in the participant configuration

  • sil-kit-registry: enable collecting metrics by default

  • tests: added timeout for the participant modes test and a separate (overall) timeout for test execution in the CI

  • cmake: added the distrib preset and removed various superfluous presets

  • docs: document the (experimental) configuration settings that influence metrics generation and collection

  • quality: made multiple derived classes final

Added

  • sil-kit-monitor: add -l / --loglevel commandline arguments to control the log level

  • logs: added message target in the To key-value field of trace messages

  • logs: add trace logs for sending a historized pub/sub messages

  • logs: added a raw key for arbitrary JSON objects in log messages

  • ci: added clang-tidy to the CI

  • ci: added devcontainer for clang-format, format all files, and ensure that the check is enabled in the CI

  • ci: added a check to ensure that all commits are properly Signed-of-by as defined by DCO

v5.0.1

14 Aug 08:57
d9e3677

Choose a tag to compare

This is a Quality Assured Release.

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

[5.0.1] - 2025-08-07

Fixed

  • build: fix building from source of the SIL Kit Demos in the distribution packages

v5.0.0

31 Jul 07:39
93b8d97

Choose a tag to compare

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

[5.0.0] - 2025-07-29

Added

  • API: added new SilKit_ParticipantConfiguration_ToJson function which exports the complete parsed and validated participant configuration as a JSON string.
  • dashboard: add performance related metrics.

Fixed

  • public API: removed harmful noexcept and added a missing virtual destructor.

Changed

  • dashboard: removed legacy v1.0 API.
  • build: the internal code now uses C++17
  • config: we replaced yaml-cpp with rapidyaml and rewrote the YAML/JSON parsing.

v4.0.56

20 May 10:46

Choose a tag to compare

This is a Quality Assured Release.

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Note: the Ubuntu 18.04 binary distribution package is deprecated

We are sunsetting the distribution of Ubuntu 18.04 packages with this release.
We already provide Ubuntu 24.04 binary distribution packages with this release.

Note: we will change our versioning scheme to semantic versioning

Please read the full notice in the Semantic Versioning page in the documentation.

Fixed

  • Three static methods which are part of the C++ (Hourglass) API implementation and passed as
    callbacks to the C-API, did not use the correct calling convention if the default calling
    convention wasn't __cdecl on Windows. This has been remedied.

  • SilKitDemoSimStepAsync did not work as intended, due to the predicate lambda capturing
    by-value instead of by-reference.

  • During hop-on of another participant, participants will send the current simulation step
    instead of the next simulation step, if they are inside of their simulation step.

Changed

  • The participant configuration TcpNoDelay now defaults to true. Please note, that this has performance implications.
    On Linux platforms this improves throughput, and latency in particular when used in combination with TcpQuickAck: true.

  • Updated third party libraries

    • asio to 1.30.2
    • fmt to 11.1.4
    • spdlog to 1.15.2
  • Add the myst_parser extension to documentation build, which allows using Markdown
    for documentation pages

  • Automatically 'upgrade' the Doxyfile using doxygen -u, which avoids warnings
    when with different doxygen versions across distibutions

  • CAN XL: Update documentation, tests, and the demo to (better) reflect that we support it

Added

  • The documentation now contains a page that explains the upcoming new versioning scheme.
  • Experimental 'other-simulation-steps-completed' API

v4.0.55

07 Feb 07:29
302cbdb

Choose a tag to compare

This is a Quality Assured Release.

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Changed

  • Important SilKit_LinDataLengthUnknown in the C header Lin.h used to be a const global, which could cause linker issues if the header file is used in multiple translation units in the same binary.

    It has been turned into a #define, like all the other constants in the C header files.

    The symbol was not present in the dynamic symbol table of the SilKit.dll / .so, so this change does not break the ABI of the shared libraries.

  • Aligned C API error return codes SilKit_ReturnCode_<ERRORTYPE> and SIL Kit specific exceptions.
    All exceptions are now forwarded through the hourglass and thrown in the C++ API.
    For users of the C API, a more detailed error handling is possible with the extended error return codes.

    Before, all execptions ended up as SilKitError on the user side.

  • Overhaul of SIL Kit demos

    • Restructured into categories communication, api and tools

    • Communication demos: Can, Ethernet, Lin, Flexray, PubSub and Rpc demos

      • These demos are split into one participant per executable
      • Basic SIL Kit features are implemented in a base class used by the demos
      • No command line arguments needed for basic execution (with time synchronization and coordinated start)
      • Useful command line arguments are provided for all demos (e.g. rename the participant or network, logging, execution modes)
      • The old --async mode of the demos now is accessible by --async --autonomous (or short form -aA)

Added

  • New demos for basic API usage

    • SimpleCan
    • Orchestration demos
  • Demos: Sample participant configurations

Fixed

  • Registry: Block all attempts to connect with an already present participant name, not just the first.

  • CMake: When demos are installed into the bin directory under the installation prefix, their RPATH will be set such that they are able to find the libSilKit[d].so. This is the same RPATH value as the utility executables.

  • System Monitor: Show all participants, not just the ones that joined during the monitors execution.

v4.0.54

11 Nov 13:48
783024a

Choose a tag to compare

Refer to the Changelog for details.
The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Added

  • Override the labels of DataPublisher, DataSubscriber, RpcClient, and RpcServer instances through the participant configuration, extending the already possible override of the topic / function name.

Changed

  • Changed log messages for controller and participant creation, message tracing, system state tracker and time sync service
  • Revised the documentation (demos, troubleshooting, doxygen output, file structure)
  • Improved platform/compiler/architecture detection

Fixed

  • Failure to configure and package cross-builds to QNX on Windows

v4.0.53

11 Oct 14:25
0ed4a9f

Choose a tag to compare

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Changed

  • Harmonized user interface of commandline utilities Registry, Monitor, and SystemController.

    All utilities listen to OS signals to detect termination request.

    • Old: Monitor and Registry wait for the user to press [Enter] to shutdown.
    • New: Monitor and Registry can be requested to shutdown via [Ctrl]-[C]. Registry option -s, --use-signal-handler is deprecated.

    All utilities no longer require user interaction.

    • Old: Registry, Monitor and System Controller prompt the user by default to press [Enter] to end process after shutdown.
    • New: All utilities terminate without prompting for user input. SystemController option -ni, --non-interactive is deprecated.
  • The Logger now adds the participant's name (as a normalized string) to the user-defined LogName for file sinks.

  • Implemented the union (de-)serialization stubs in the silkit/util/serdes headers.

Fixed

  • If using the SimStepHandlerAsync, the log message that reports the end of the simulation step is now printed after the call to CompleteSimulationStep.

  • Fixed an issue with the NetSim API that caused an exception when used with log level trace.

v4.0.52

05 Sep 11:45
0413a2a

Choose a tag to compare

Refer to the Changelog for details.
The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Fixed

  • Fixed crash in sil-kit-registry utility that happened when the dashboard is enabled, but not actually available.

Added

  • Message aggregation for simulations with time synchronization. Accessible via the experimental section in the Participant Configuration (Experimental | TimeSynchronization | EnableMessageAggregation).
  • This release contains a Windows MSI Installer for SIL Kit.
  • This release contains Ubuntu 20.04 *.deb packages for SIL Kit.

v4.0.51

19 Jul 11:10
84445e1

Choose a tag to compare

Refer to the Changelog for details.
The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

Added

  • Couple the virtual time to the wall clock. An animation factor can be configured that describes
    how fast the simulation is allowed to run relative to the local wall clock. Accessible via a new
    experimental section in the Participant Configuration (Experimental | TimeSynchronization |
    AnimationFactor).
  • Event flow documentation for the Network Simulation API.
  • Registry (Dashboard): Automatically use bulk-endpoint if it is available

v4.0.50

15 May 14:26
a475de3

Choose a tag to compare

Refer to the Changelog for details.

The compiled HTML documentation can be found in the SilKit-Documentation subdirectory in all SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip archives.

This is a quality assured release.

Fixed

  • Fixed crash in sil-kit-system-controller utility.
  • Fixed source directory contents in .zip release archives.