Skip to content

Releases: bytebeamio/uplink

v2.17.1

18 Dec 08:42
Compare
Choose a tag to compare
  • Do not retry download in case of invalid credentials

Full Changelog: v2.17.0...v2.17.1

build-test

18 Dec 09:38
Compare
Choose a tag to compare
build-test Pre-release
Pre-release
wip

v2.17.0

16 Dec 10:08
Compare
Choose a tag to compare

What's Changed

  • feat: cleanup storage, serializer implementation and add live data feature by @amokfa in #371
  • feat: guaranteed events delivery by @amokfa in #373
  • fix: miscellaneous fixes by @amokfa in #374

Full Changelog: v2.16.2...v2.17.0

v2.16.2

20 Nov 12:20
Compare
Choose a tag to compare

Fixes:

  • Disk space check shouldn't fail if target directory doesn't exist but can be created.

Full Changelog: v2.16.0...v2.16.2

v2.16.1

20 Nov 11:49
Compare
Choose a tag to compare

Fixes:

  • Properly handle tcpapps that don't have any actions

Full Changelog: v2.16.0...v2.16.1

2.16.0

30 Oct 08:12
5ca70a9
Compare
Choose a tag to compare

Significant changes

  • Remove action timeouts everywhere
    Actions will not be timed out by uplink anymore. Timeouts and cancellation will have to be done from the dashboard. Uplink will just move messages to various applications and won't have any other logic built into it.

  • Delete persistence data if it is for the wrong project.
    If a device is reprovisioned to another project and had data saved in persistence at that time, uplink used to attempt pushing that data to cloud which fails because the device credentials have changed. This caused problems during startup.

2.14.1 data upload bugfix

22 Oct 09:04
Compare
Choose a tag to compare
  • Pinned rumqttc to a previous version

v2.15.1-events-rc

07 Oct 10:53
Compare
Choose a tag to compare
v2.15.1-events-rc Pre-release
Pre-release

Significant Change

Data Events ensure that all data pushed to it's API is either stored on disk awaiting ack from broker or successfully delivered to the broker and thus accessible on the platform. Please ensure that whatever data you send through this is significantly low frequency as not to overwhelm the uplink setup, i.e. use only with critical data streams. To setup, add the following to uplink config:

[events]
enabled = true
port = 1234

Now you should be able to send HTTP requests such as following curl example and the request will only be acked if uplink was able to store into sqlite or push the packed onto the network:

curl -X POST http://localhost:1234/event -d "{\"stream\": \"event_stream\", \"sequence\": 1, \"timestamp\": $(date +%s%3N), \"some\": \"data\"}" -H 'Content-Type: application/json'

What's Changed

  • feat: store events in sqlite, delete only on ack by @de-sh in #360

Full Changelog: v2.15.0...v2.15.1-events-rc

v2.15.1

23 Sep 15:00
Compare
Choose a tag to compare
v2.15.1 Pre-release
Pre-release

What's Changed

v2.15.0

16 Sep 10:12
Compare
Choose a tag to compare
v2.15.0 Pre-release
Pre-release

Significant Changes

Edge Services

With this release, uplink can also works as a platform for multiple apps running on the same device to communicate with each other, performing computation that would otherwise have to be performed in the cloud. This is supported by the following two feature additions:

  1. On device bus supporting micro-services on the edge architecture.
  2. Joins on data streams now allows configuring de-sampling and joining of data from different streams as received on bus before being pushed to the cloud.

Both of these features can be enabled and configured by adding the following to the config.toml:

[bus]
port = 1883
console_port = 3030
joins = { output_streams = [
    { name = "location", construct_from = [
        { input_stream = "gps", select_fields = [
            "latitude",
            "longitude",
        ] },
        { input_stream = "altimeter", select_fields = [
            "altitude",
        ] },
    ], push_interval_s = 60, no_data_action = "null", publish_on_service_bus = true },
    { name = "device_shadow", construct_from = [
        { input_stream = "device_shadow", select_fields = "all" },
    ], push_interval_s = "on_new_data", no_data_action = "previous_value", publish_on_service_bus = true },
    { name = "example", construct_from = [
        { input_stream = "stream_one", select_fields = [
            "field_x",
            "field_y",
        ] },
        { input_stream = "stream_two", select_fields = [
            { "field_z" = "field_x" },
        ] },
    ], push_interval_s = 120, no_data_action = "previous_value", publish_on_service_bus = false },
] }
  • Support for remotely updating uplink config with an update_uplink_config action.

What's Changed

  • feat: support json uplink configs by @de-sh in #355
  • feat: update_uplink_config by @de-sh in #357
  • feat: on-device bus with rumqttd and data joiner on uplink by @de-sh in #348

Full Changelog: v2.14.1...v2.15.0