Install
Install SIL Kit
Pre-built binaries for Linux, Windows and macOS, plus full source. Every release ships with checksums and an SBOM.
Per platform
Pick your build
Or build from source
Build with CMake
# Linux / macOS
$ git clone https://github.com/vectorgrp/sil-kit.git && cd sil-kit
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
$ cmake --build build --parallel
$ ./build/sil-kit-registry --listen-uri silkit://0.0.0.0:8500Releases
All releases
v5.0.5
StableLatest[Changelog]: https://github.com/vectorgrp/sil-kit/blob/v5.0.5/docs/changelog/versions/latest.md # [5.0.5] - 2026-05-21 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 - `lin`: fixed missing reception of the Go-To-Sleep frame by the master after `GoToSleep()` in detailed simulation ## Changed - `cmake`: merged almost all internal CMake `INTERFACE` libraries into `I_SilKit` - `third-party`: update `oatpp` to version 1.3.1 - `docs`: update the supported platforms table - `docs`: Extend docs by available metrics - `docs`: Add missing related products - `quality`: following small improvements - add missing `#pragma once` - add `static` to some TU-local functions - add `inline` to some header-defined functions - remove an obsolete source file - adjust warning flags
v5.0.4
Stable[Changelog]: https://github.com/vectorgrp/sil-kit/blob/v5.0.4/docs/changelog/versions/latest.md # [5.0.4] - 2026-03-27 **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 - `docs`: removed 'Vector' prefix where SIL Kit is mentioned in multiple places - `demos`: improved code quality ## Fixed - `pubsub` / `rpc`: fix some edge cases when matching labels - `lin`: fixed TX/RX behavior when controller is not operational - `lin`: populate the `timestamp` field in `LinControllerStatusUpdate` message - `config`: print proper error message for missing keys - `netsim`: print error when network is not simulated - `extensions`: load transitive dependencies from the extensions dir
v5.0.3
Stable[Changelog]: https://github.com/vectorgrp/sil-kit/blob/v5.0.3/docs/changelog/versions/latest.md 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 - `sil-kit-registry`: fixed crash with enabled dashboard - `sil-kit-registry`: allow configuration of the listen URI, when used as Windows system service - `cmake`: demo and utility `RPATH`s are now set to match the install hierarchy on all systems - `cmake`: use `CMAKE_POLICY_VERSION_MINIMUM` since `oatpp` uses an outdated `cmake` version # Changed - `sil-kit-registry`: stop force-disabling the dashboard when building Linux packages # Added - `docs`: added description of handling of CAN message sizes - `cmake`: added explicit build options to QNX presets - `flexray`: add second keyslot parameters to the FlexRay node parameters
v5.0.2
Stable[Changelog]: https://github.com/vectorgrp/sil-kit/blob/v5.0.2/docs/changelog/versions/latest.md 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](https://wiki.linuxfoundation.org/dco)
v5.0.1
Stable[Changelog]: https://vectorgrp.github.io/sil-kit-docs/changelog/overview.html **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
Stable[Changelog]: https://github.com/vectorgrp/sil-kit/blob/v5.0.0/docs/changelog/versions/latest.md 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
Stable[Changelog]: https://github.com/vectorgrp/sil-kit/blob/4.0.56/docs/CHANGELOG.rst **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
Stable**This is a Quality Assured Release.** [Changelog]: https://github.com/vectorgrp/sil-kit/blob/4.0.55/docs/CHANGELOG.rst 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.
Older releases archived on GitHub.