Skip to content

Releases: bytebeamio/uplink

v1.6.1

31 Dec 10:38
Compare
Choose a tag to compare

What's Changed

  • fix: clear stream_metrics on write to network by @de-sh in #91
  • feat: refactor serializer.rs to improve readability by @de-sh in #90
  • fix: use collection_timestamp to calculate batching latency by @de-sh

Full Changelog: v1.6.0...v1.6.1

v1.6.0

30 Dec 12:16
Compare
Choose a tag to compare

Significant Changes

  • Enable multiple applications to connect to uplink over bridge

NOTE: Please ensure that you only accept an action and send responses from one of the connected apps, this is the expected behavior for apps connecting to uplink over TCP.

  • Rework config for serializer_metrics:
[serializer_metrics]
- buf_size = 10
- flush_period = 30
+ enabled = true
  • Publishes serializer_metrics as JSON to the topic "/tenants/{tenant_id}/devices/{device_id}/serializer_metrics/jsonarray" by default. Can be reconfigured by setting the optional topic field in the config.toml file.
  • Adds stream_metrics to keep track of data streams as they flow through uplink. This feature can be enabled by adding the following to config.toml:
[stream_metrics]
enabled = true

What's Changed

  • fix: code improvements and clippy suggestions by @de-sh in #77
  • fix: use action_id and let it alias as id for "action_status" by @de-sh in #78
  • feat: Add ignore_actions_if_no_clients by @bmcpt in #79
  • fix: default to no persistence by @de-sh in #81
  • feat: make keep_alive configurable by @de-sh in #80
  • feat: let Serializer query Packages batch size by @de-sh in #83
  • feat: stream name from Package in Serializer by @de-sh in #84
  • feat: collect and log batching_latency as a metric by @de-sh in #86
  • fix: serializer metrics ouroboros by @de-sh in #85
  • feat: collect and forward stream_metrics by @de-sh in #87
  • fix: compiling to non linux/android targets by @de-sh in #88
  • feat: multiple tcp collectors, broadcast actions by @de-sh in #76
  • feat: compile binary for m1 mac on release by @de-sh in #89

Full Changelog: v1.5.1...v1.6.0

v1.5.1

15 Dec 10:00
dbfe19e
Compare
Choose a tag to compare

What's Changed

  • fix: bugs in tcpjson and retry for downloads by @bmcpt in #73
  • doc: fix action name for OTA by @de-sh in #74
  • feat: add temperature stats directly from file by @de-sh in #75

Full Changelog: v1.5.0...v1.5.1

v1.5.0

14 Dec 10:32
Compare
Choose a tag to compare

Significant Changes

  1. Allow users to configure uplink's in-built downloader to be triggered on different action names:
- [ota]
+ [downloader]
- enabled = true
+ actions = ["update_firmware"] # list of action_name values that can trigger a file download, e.g. "send_file"
path = "/path/to/downloads"
  1. Action JSON received by connected app over bridge:
{
  'action_name': 'update_firmware',
-  'payload': '{..,"ota_path":"/path/to/downloads/x.x.x/artifact"}'
+  'payload': '{..,"download_path":"/path/to/downloads/update_firmware/x.x.x/artifact"}'
}
  1. Allow optional configuration of stream size for log collector:
[journalctl]
+ stream_size = 10 # flushes after 10 log entries

What's Changed

  • feat: enable stream sizing for linux logs by @de-sh in #68
  • feat: refactor as FileDownloader to handle non OTA actions by @de-sh in #69
  • fix: parse timestamp for journalctl log entries into millis by @de-sh #71

Full Changelog: v1.4.1...v1.5

v1.4.1

28 Nov 16:16
Compare
Choose a tag to compare

Significant Changes

  • journalctl parsing and collectiion has been added for linux logging support. Now one can configure uplink to collect and forward logs to the platform by including the following in their config.toml:
[journalctl]
tags = ["kernel"]
priority = 6

What's Changed

  • feat: add demo rust program by @Jagannathes in #59
  • feat: linux logs with journactl by @de-sh in #52
  • fix: disable journalctl by default by @de-sh in #60
  • fix: ActionResponse from Payload by @de-sh in #62
  • feat: refactor base by @de-sh in #63
  • chore: update deps and base rustc version by @de-sh in #61
  • feat: update sysinfo and track component temperatures by @de-sh in #65
  • fix: set timestamp at point of stat collection by @de-sh in #66
  • feat: refactor with Streams by @de-sh in #64
  • feat: clippy fixes and code clean-up by @de-sh in #67

New Contributors

Full Changelog: v1.4.0...v1.4.1

v1.4.0

18 Nov 12:44
Compare
Choose a tag to compare

Significant Changes

  • Stream configurations need not have a topic field, this is enabled by dynamic topic creation based on the provided device and project IDs.
  • Add support for android target compilation with logcat based log collection, which can be enabled by adding run_logcat = true to config.toml.
  • Stream configurations for action_status and serializer_metrics is now performed separately from custom streams. action_status is compulsory, whereas serializer_metrics is optional.

What's Changed

  • feat: make stream topic field optional by @de-sh in #42
  • fix: override configs for demo simulator by @de-sh in #41
  • fix: Simulator updates by @de-sh in #45
  • Android exe by @bmcpt in #51
  • feat: rework config by @de-sh in #50
  • fix: Forward server errors as ActionResponse by @de-sh in #53

Full Changelog: v1.3.0...v1.4.0

v1.3.0

30 Sep 06:08
Compare
Choose a tag to compare

What's Changed

  • Fix Serializer bugs and documentation by @de-sh in #28
  • make tools/tunshell work by @bmcpt in #27
  • Add tests for Serializer by @de-sh in #29
  • ci(release): Added aarch musl and gnu build in release process by @henil in #30
  • update rumqttc to v0.14 by @de-sh in #32
  • Remove Controller by @de-sh in #31
  • feat: remove RxTx by @de-sh in #34
  • feat: Port demo simulator to new main by @de-sh in #26
  • feat: use config-rs instead of figment by @de-sh in #33
  • Argonaut config for simulator by @argonautbot in #35
  • fix: runit new command by @de-sh in #36
  • fix: ActionResponse json generated in Simulator by @de-sh in #37
  • feat: add demo go and python programs by @de-sh in #40

New Contributors

  • @argonautbot made their first contribution in #35

Full Changelog: v0.2.0...v1.3.0

v1.2.0

22 Jul 05:25
bec1fe3
Compare
Choose a tag to compare

What's Changed

  • Use tokio-util DelayQueue to flush streams on timeout by @tekjar in #20
  • Utilise Sink methods on Framed by @de-sh in #22
  • Update and remove unused dependencies by @de-sh in #23
  • Prepare for android sdk changes by @bmcpt in #24

New Contributors

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

Initial Release v1.1.0

23 Jun 07:34
49e5ee3
Compare
Choose a tag to compare

What's Changed

  • Add System statistics collector by @de-sh in #1
  • Run refresh_memory() to ensure total_memory is properly set by @de-sh in #5
  • Refactor as a library by @gautambt in #3
  • Update how action responses are documented by @de-sh in #8
  • Err on receiving no content_length by @de-sh in #9
  • Ensure lesser frequency of action responses by @de-sh in #10
  • New release process by @de-sh in #13
  • Add example config to README by @de-sh in #15
  • Error out instead of panic by @de-sh in #14
  • Update to rumqttc v0.11, sysinfo v0.23 and fix cippy suggestions by @de-sh in #18
  • Run OtaDownloader as a separate thread by @de-sh in #11
  • Update CI/CD by @henil in #21

New Contributors

Full Changelog: https://github.com/bytebeamio/uplink/commits/v1.1.0