All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Allow receiving
trigger_name
key in trigger payload, which is sent by Astarte >= 1.2.0.
- Correctly support automatic login attempts on the frontend regardless of existing auth sessions (#596).
- Fix file upload for creating base images that was failing due to a regression that left out the
version
parameter, needed for uploading the file (#600).
- Check wether
URL_HOST
is a valid host and not a url (#595).
- Correctly scope Base Image uploads to their Base Image Collection bucket.
- Show a better error when trying to delete a Base Image or Update Channel connected to an existing Update Campaign.
- Support redirection to a specific page after successful authentication
- Wrong input params used in GraphQL mutation when creating a base image, leading to a rejected operation (#574).
- Fix docker-compose local build.
- Fix OTA operation events not being handled, leading to a successful OTA operation while the device was still pending.
- Allow generating admin JWT using
gen-edgehog-jwt
.
- Change logo and brand images with the latest brand revision.
- BREAKING: The Admin API is now JSON-API compliant, which implies a slightly different format, check out the newly added OpenAPI document.
- BREAKING: This release includes some breaking changes in the GraphQL API, make sure to check out the GraphQL schema if you were using the APIs directly. Note that we could add more breaking changes before the final release.
- Configure cookie attribute based on protocol.
- Normalize triggers when comparing them for reconciliation to avoid useless reconciliations.
- Fix query limits on Astarte datastream interfaces, leading to parsing failures on some interfaces.
- Add support for an instance of Edgehog Device Forwarder. When configured, forwarding functionalities are enabled for devices that support forwarding connections to their internal services, allowing features such as remote terminal sessions (#447).
- Add Admin API to create and to delete tenants.
- Add a reconciler that takes care of installing Astarte resources (interfaces and triggers) for a tenant (#403).
- BREAKING: Add mandatory
URL_HOST
env variable. It must point to the host where the Edgehog backend is exposed.
- Fix seeds not working when used outside docker.
- Fix seeds's default values not working correctly.
- Don't crash the OTA campaign if a misconfigured device doesn't send its base image version.
- Correctly return stats even for OTA campaigns with no targets.
- Handle empty string when translating legacy OTAResponse messages.
- Deduplicate tags in list of existing device tags.
- Expose OTA Campaigns stats.
- Fix DevicesTable component for devices without SystemModel.
- Enhance the OTA Campaigns frontend, using the exposed stats.
- Add support for device tags (#191, #212).
- Add support for device custom attributes (#205).
- Add
MAX_UPLOAD_SIZE_BYTES
env variable to define the maximum dimension for uploads (particularly relevant for OTA updates). Defaults to 4 GB. - Allow creating and managing groups based on selectors.
- Add support for device's
network_interfaces
(#231, #232). - Add support for base image collections (#229, #230).
- Add support for base images (#240, #244).
- Add support for update channels (#243, #245).
- Add support for
io.edgehog.devicemanager.OTAEvent
. - Add support for
io.edgehog.devicemanager.OTARequest
v1.0. - Add OTA Campaigns execution support.
- Handle Device part numbers for nonexistent system models.
- BREAKING: The
Description
field in theSystemModel
object is now aString
instead of aLocalizedText
.
- Support for
io.edgehog.devicemanager.OTAResponse
is deprecated and will be removed in future releases. Switch toio.edgehog.devicemanager.OTAEvent
instead. - Support for
io.edgehog.devicemanager.OTARequest
with major version0
is deprecated and will be removed in future releases. Switch toio.edgehog.devicemanager.OTARequest
major version1
instead.
- Expose Prometheus metrics and a /health API endpoint.
- Start using logfmt as logging format.
- Use the tenant's default locale when managing translated descriptions if the user's locale is not available.
- Add
connected
field to wifi scan result and highlight the latest connected network (#193).
- Change Geo IP provider from FreeGeoIP to IPBase
(#190). This is a breaking change,
make sure to update the
FREEGEOIP_API_KEY
env toIPBASE_API_KEY
.
- Add a workaround to correctly parse Astarte datastreams even if AppEngine API shows them with a inconsistent format (#194).
- Initial Edgehog release.