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.7-rc1
StableLatest[Changelog overview]: https://vectorgrp.github.io/sil-kit-docs/changelog/overview.html [Online Documentation]: https://vectorgrp.github.io/sil-kit-docs/ See the [Changelog overview] for the complete history. Refer to the [Online Documentation] for detailed help. This release introduces the following key changes: ## Added - `config`: experimental topic based filtering of log messages per logging sink via `Experimental/EnabledTopics` and `Experimental/DisabledTopics`. Log messages are tagged with a topic that classifies their origin (e.g., `Asio`, `Ethernet`, `Participant`, `User`). - `docs`: added description of the experimental logging topics, including the list of topic names currently assigned by SIL Kit components. ## Fixed - `core`: on peer shutdown, the disconnected peer is removed from the pending subscription acknowledges. Otherwise, participants could wait indefinitely for acknowledges that will never arrive. - `config`: the participant configuration is now validated against the schema. Previously, only included configuration files were validated, the root configuration was not. - `config`: added missing entries to the participant configuration JSON schema and the schema validation (e.g., `Experimental/Metrics/UpdateInterval`, `RpcClients/RpcChannel`, `RpcServers/RpcChannel`). - `api`: the public header `silkit/services/logging/string_utils.hpp` no longer includes internal headers. - `config`: experimental `Experimental.TimeSynchronization.DynamicSimulationStep` to enable dynamic simulation step sizes, aligning each simulation step to the minimal step among all synchronized participants. Tri-state: `true` requests it for the whole simulation, `false` opts out, and leaving it unset follows the network. Off by default. ## Changed - `config`: default format of file logging is set to JSON. Set "Format: Simple" in the sink to get previous behaviour. - `docs`: added description of the logging "Format". - `docs`: added deprecation warning for Ubuntu 20.04 - `build`: the CMake targets only expose the top-level include directory instead of internal include directories. ## Fixed - `config`: a mapping that is mistyped as a YAML sequence (e.g. a stray leading `- ` turning `HealthCheck` into a list) is now rejected with a clear error instead of being silently accepted. - `config`: a configuration containing multiple `---`-separated YAML documents is now rejected with a clear error. A single leading `---` remains valid. - `orchestration`: setting a simulation step duration of zero now raises a `SilKitError` instead of being silently accepted.
v5.0.6
StableThe compiled HTML documentation can be found in the `SilKit-Documentation` subdirectory in all `SilKit-VERSION-PLATFORM-ARCHITECTURE-TOOLSET.zip` archives. # Fixed - demo: removed third-party dependency from performance test script - docs: Fixed ethernet docs and samples - build: Silence warning emitted from oatpp - ci: Fix version check and tooling in ci formatting check - build: Update deprecated syntax in devcontainter
v5.0.5
Stable[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. > **Note: the Ubuntu 20.04 binary distribution package is deprecated** > > We are sunsetting the distribution of Ubuntu 20.04 packages with this release. > We already provide Ubuntu 22.04 and 24.04 binary distribution packages with this release. ## 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.
Older releases archived on GitHub.