We‘re excited to share the release of StreamPipes 0.95.0, bringing with it a range of bug fixes and new features. In total, the newest release closes over 200 issues. This release doesn’t include many large feature drops, we have worked a lot on making small things smoother and improving StreamPipes under the hood. As we continue to work on the 1.0 release of Apache StreamPipes probably later this year, this release features many improvements to the end-user experience and bug fixes.
Let's delve into the key updates introduced in this release.
The current release can be downloaded here.
Within StreamPipes 0.93.0 we introduced the possibility to edit existing adapters. This release improves adapter management by conveniently allowing to delete existing adapters even if they are used in a pipeline. When deleting a new adapter, a dialog appears which allows users to delete all pipelines which are using the data stream produced by the adapter.
https://github.com/apache/streampipes/issues/1936
We've added a new option to the data lake sink which provides users more flexibility when writing data to the internal time-series storage. Users can choose between the Update Schema
and Extend existing schema
options. By choosing Extend schema
, it is possible to also see “old” data in the data explorer after the schema has changed.
<img src=“/img/blog/2024-06-13/data-lake-sink-configuration.png” style={{width: ‘70%’, marginLeft: ‘auto’, marginRight: ‘auto’}}/>
https://github.com/apache/streampipes/issues/2252
A new adapter in 0.95.0 is support for the Open Industry 4.0 specification over MQTT. The adapter can be used to connect to a variety of devices which support the data format defined in the Development Guidelines for Open Edge Computing.
For instance, the adapter makes it easy to use IO-Link sensors together with an OI4-compatible IO-Link master.
https://github.com/apache/streampipes/pull/2511
Since our “sister project” Apache PLC4X has introduced a new metadata API for gathering available drivers, StreamPipes 0.95.0 now supports a much larger collection of PLC connectors. The list of newly supported protocols include:
The already existing S7 adapter is now also available with additional configuration options.
Configurations on protocol and transport level are dynamically resolved from the PLC4X API. This ensures that users now have much greater flexibility when connecting to industrial protocols.
The screenshot below shows the advanced options panel for Modbus TCP:
The new adapters should be considered a beta feature and we still recommend to use the existing Modbus and S7 adapters until the new adapters have proven their stability. More information on the usage of these new adapters and supported features can also be found on the PLC4X website.
https://github.com/apache/streampipes/issues/2632
We added a new processor to add static metadata (such as sensor ID or location IDs) to any data stream within a pipeline.
https://github.com/apache/streampipes/issues/2350
The new Datetime from String
processor allows to convert a datetime string to a timestamp value and lets users conveniently choose the desired target time zone.
https://github.com/apache/streampipes/issues/1865
StreamPipes 0.95.0 comes with a new data sink for Microsoft Teams, which allows to publish notifications from a pipeline to a teams channel using Webhooks.
https://github.com/apache/streampipes/pull/2248
We removed several outdated adapters that were deprecated in release 0.93.0:
https://github.com/apache/streampipes/issues/2128
Different file types in the Files
overview are now better highlighted by a dedicated color.
https://github.com/apache/streampipes/issues/2107
In the asset and file overview, resources can be now directly downloaded by using a new download button.
https://github.com/apache/streampipes/issues/2192 https://github.com/apache/streampipes/issues/2074
As already mentioned in our blog post, we added an example to use an existing ONNX model as part of a StreamPipes function.
https://github.com/apache/streampipes/pull/2687
Following the replacement of Consul with an internal service registration and discovery mechanism, StreamPipes 0.95.0 also removes Consul from all installation files.
https://github.com/apache/streampipes/issues/2133
Apache StreamPipes now includes a new client library for Golang. Our first version of the Go client interacts with the StreamPipes API and provides various ways to gather data from StreamPipes.
Here is an example on the usage of the Go client:
package main import ( "github.com/apache/streampipes/streampipes-client-go/streampipes" "github.com/apache/streampipes/streampipes-client-go/streampipes/config" "log" ) /* Here are some examples of using go client, including outputting the data returned by streams. Only supports outputting model data */ func main() { clientConfig := config.StreamPipesClientConfig{ Url: "http://localhost:8030", Credential: config.StreamPipesApiKeyCredentials{ UserName: "<Your-User-Name>", ApiKey: "<Your-API-Key>", }, } streamPipesClient, err := streampipes.NewStreamPipesClient(clientConfig) if err != nil { log.Fatal(err) } dataSeries, err := streamPipesClient.DataLakeMeasures().GetSingleDataSeries("measureName") if err != nil { log.Fatal(err) } dataSeries.Print() /* output format: There are 2 pieces of DataSerie in the Dataseries The 1 DataSeries time msg test 2024-02-23T13:37:09.052Z go-client_test 2f4556 2024-02-23T13:37:26.044Z go-client_test 2f4556 2024-02-23T13:37:29.007Z go-client_test 2f4556 The 2 DataSeries time msg test 2024-02-23T13:38:06.052Z go-client_test 2f4556 2024-02-23T13:38:35.044Z go-client_test 2f4556 2024-02-23T13:38:38.007Z go-client_test 2f4556 */ }
https://github.com/apache/streampipes/pull/2437
First release, are working on more examples and better docs - stay tuned
We highly recommend updating to StreamPipes 0.95.0 to take advantage of these new features, bug fixes, and improvements. For more detailed information, please refer to the release notes.
We appreciate your continued support and valuable feedback. StreamPipes is continually evolving, and we are dedicated to providing you with a powerful and reliable platform for your IIoT streaming data needs.