[3.5.0] - 2023-09-25
Added
- (internal) Add legacy authentication method override for account security-token endpoint
- Added a comma-separated method to express list query parameters
Fixed
- Organization tag router archived endpoint now deletes tag
- Endpoints now accept single item query parameter lists. Previously, validation failed because the item was not recognized as an array
[3.4.0] - 2023-09-12
Added
brand
andosVersion
to deviceV2 get endpoint/v2/device
supports filtering by locations, alerts, applets, brand, policy, model, FW, OS version and tags
[3.3.0] - 2023-09-07
Added
- set minimum bulk operation rolling update batch delay to one minute
[3.2.1] - 2023-08-31
Fixed
- (internal) Abstract terms & condition variable to common place
- (internal) CLI username login with enabled auth0
[3.2.0] - 2023-08-30
Added
- (internal) Auth0 rollout for cli
[3.1.1] - 2023-08-29
Fixed
- Typos in documentation for
PUT /v1/device/:deviceUid/time
- (internal) AccessLevel for newly created auth0 account
[3.1.0] - 2023-08-23
Added
- (internal) Endpoint
POST /v1/management/account/prepare
now marks terms and conditions as agreed if parametershouldAgreeWithTermsAndConditions (boolean)
is provided in body of the request
[3.0.3] - 2023-08-16
Fixed
POST /v1/organization
has new limit for fieldsname
from50
to255
characters andtitle
from100
to255
. Fieldname
can contain only letters and numbers separated by dashes and it must start and end with a letter or a numberPUT /v1/organization/:organizationUid
has new limit of for fieldtitle
from100
to255
charactersPUT /v1/device/:deviceUid/peer-recovery
attributeautoEnableTimeoutMs
is requiredPUT /v1/device/:deviceUid/auto-recovery
attributeautoEnableTimeoutMs
is required
[3.0.2] - 2023-08-07
Fixed
- Timing create works when called from SDK, which got broken in the previous release
[3.0.1] - 2023-07-31
Fixed
- Timing update endpoint handles old format of
finishEvent
object - Documentation for
POST /v1/device/:deviceUid/screenshot
contained explicit empty body which caused issues in Postman - Timing create/update changed these fields to optional - startsAt, endsAt, position, finishEvent, finishEventType, finishEventData. They are deprecated and shouldn't be used anymore
[3.0.0] - 2023-07-12
Removed
- Remove provision and deprovision device actions from bulk operations
[2.45.0] - 2023-06-28
Fixed
- Field
urlLauncherAddress
when enabling Peer recovery process
Added
- (internal)
PUT /v1/management/account/:id/activate
endpoint to activate account
[2.44.0] - 2023-06-08
Fixed
- (internal) replaced outdated test coverage tool
nyc
withc8
- (internal) Updated node version from
12
to16
and npm from6
to8
Added
- (internal) Auth0 authentication
- (internal) auth0_enabled flag
[2.43.2] - 2023-05-03
Fixed
setTelemetryIntervals
returns error when value is more than 1 year
[2.43.1] - 2023-04-14
Fixed
- Error messages for location endpoint
[2.43.0] - 2023-04-04
Added
- Response with Open API YAML format on public endpoint
/openapi.yml
Fixed
GET /v2/device
returns "websocket" inconnectionMethod
field instead of "ws"
[2.42.2] - 2023-03-24
Fixed
POST /timing
won't automatically generate random configuration.identification if non is provided
[2.42.1] - 2023-03-23
Fixed
- Allow remove all device schedule power actions
- Finalize bulk operation validations
- (internal) Fix variables validation
Deprecated
- Endpoints Device Connect renamed parameter
remoteIp
toappletPublicUrl
and mark old name as deprecated
[2.42.0] - 2023-03-15
Fixed
- (internal) Refactor
config/parameters.js
toconfig/parameters.ts
and fixed type issues
Added
- (internal)
POST /v1/management/account
to create siple account, which will not be used for authentication - (internal) Basic token authentication on
/v1/management/account
endpoints
[2.41.0] - 2023-02-22
Fixed
- (internal) Restricted
node
andnpm
versions to12
and6
respectively - (internal) Updated company dependencies
- (internal) BillingPlan type
- (internal) Replaced AccessLevel with common-types type
- Clarify combination usage of
size
,framerate
andresolution
/device/:deviceUid/time
didn't accept certain timezones likeUS/Central
Added
- Endpoint
/v1/device/configuration/:deviceUid/telemetry-intervals
for configuring device telemetry intervals
[2.40.0] - 2023-01-25
Added
- Endpoint
/v1/device/:deviceUid/tag
for managing device tags (assign, list, remove) - (internal) Add code coverage
[2.39.0] - 2022-12-14
Added
- (internal) Endpoint
/account/credentials/validate
for validation of the user credentials against old auth DB - (internal) Add tests to cover query parsing of
/account/credentials/validate
endpoint
[2.38.1] - 2022-12-12
Fixed
- Update PUT
/location
endpoint now show proper error message when payload is invalid. - List GET
/v2/device
acceptssearch
param
[2.38.0] - 2022-11-30
Added
- Endpoint
/v1/company/:companyUid/member
for management of company members - Endpoint
/v1/organization/:organization/member
for management of organization members
Fixed
- Upload applet version files will not produce a failed applet build anymore
[2.37.0] - 2022-11-02
Added
- Endpoint POST
/emulator
responds with a header Location that contains an URL pointing to the created emulator device
Fixed
- Added missing telemetry types to documentation
[2.36.0] - 2022-10-19
Added
- Endpoint
/device/:deviceUid/auto-recovery
to get/set device auto recovery - Endpoint
/device/:deviceUid/peer-recovery
accepts optional fieldautoEnableTimeoutMs
when disabling device peer recovery - Support for unrecognized keys used in Zod error parsing
Fixed
- Endpoint
POST /v1/bulk-operation
return type to return correct bulk operation uid
[2.35.0] - 2022-10-05
Added
- Endpoint
PUT /v1/bulk-operation/archive/:bulkOperationUid
to archive bulk operation - Enhance description of Uptime response documentation
- Filter of emulator list endpoint
GET /v1/emulator
byorganizationUid
query parameter - Show OS version in device resource
Fixed
- Creating of organization
- Device configuration
connectionMethod
field is set tonull
= automatic instead of WS by default - (internal) format check in CI imported from common place instead of declared in local CI
- (internal) Type check
- (internal) Removed unused code
[2.34.0] - 2022-09-21
Fixed
- Package version upload: Understand multi-arch APKs
Added
- Show device brand in device resource
[2.33.0] - 2022-09-07
Added
- Endpoint
PUT /v1/organization/:organizationUid
to update organization title
Fixed
- Endpoint
GET /v1/device/screenshot
optimization of slow request
[2.32.1] - 2022-08-31
Fixed
/v1/device/:deviceUid/telemetry/:telemetryType
output format
[2.32.0] - 2022-08-30
Added
- Endpoint
GET /v1/device/screenshot
to get list of latest screenshots, one per each device
Fixed
- Sorting in
/v1/device/:deviceUid/telemetry/:telemetryType
endpoint
[2.31.0] - 2022-08-24
Added
- Endpoint
/v1/device/:deviceUid/telemetry/:telemetryType
to get history of telemetry readings of one type of telemetry for one device - (internal) prettier for formatting
Fixed
- Endpoint
/v1/bulk-operation
implements standard link pagination like other endpoints that return list - Bulk operation contains list of organizations that it belongs to
- (internal) replaced deprecated tslint with eslint
[2.30.1] - 2022-08-17
Fixed
- (internal) MongoDB connection of bulk operations to the separated replica set
- It's possible to send Applet Commands to device that runs an applet from another organization
[2.30.0] - 2022-08-17
Added
- Endpoint
/v1/organization-tag
for getting organization tags - Endpoint
/v1/device/:deviceUid/action-log/:actionUid
for getting single action log - Endpoints for setting device properties (i.e. brightness, firmware type, etc.) respond with "Link" header that contains a link to the result of the operation, since it's asynchronous in nature
Fixed
- Slow/unresponsive
GET /v2/device
[2.29.0] - 2022-07-27
Fixed
- Move documentation of Tag endpoints from Organization/Tags to Tag directory
- It's now possible to create a timing with any applet, even if it's from another organization
- Organization tag security issue
- Added async requests flow diagram and documentation
Added
- enable/disable extended telemetry and setPeerRecovery to bulk operation validation schemas
[2.28.1] - 2022-07-20
Fixed
- Package Version endpoint identified by UID only
[2.28.0] - 2022-07-20
Added
- Loading of timing commands from telemetry database
- Additional information about organization (name) and account (email) to bulk operations
- Endpoints
GET /v2/device
andGET /v2/device/:deviceUid
return new fieldconnectionMethod
, which can behttp
orwebsocket
- Endpoint
PUT /v2/device/:deviceUid
to set fieldsname
andconnectionMethod
(http/websocket) to device - Package and Package Version endpoints
- Endpoint
PUT/POST /v1/applet/:appletUid/version/:version/file/*
optionally acceptsbuild
boolean query param which can prevent building applet version
Fixed
- (internal) telemetry imports
- (internal) Add check dependencies ignore list
- Documentation default example header settings. Removed
charset=utf-8
, so raw json can be used for request body - Organization account limit wrongly included all account tokens
- Updated Postman documentation
- Forbid to upload
node_modules/
files as applet files
[2.27.0] - 2022-06-29
Fixed
- Endpoint
device/:deviceUid/peer-recovery
to enable/disable peer recovery on device and to fetch history of peer recovery settings - (internal) change of builder tool from webpack (4.40.2) to esbuild
- (internal) speedup tests start by replacing builder from
ts-node/register
toesbuild-runner/register
- (internal)
check-types
script removal from initial start of tests. Which speed up the process.check-types
can be ran manually or it will be running in CI - (internal) Esbuild production build. Added external dependencies
- (internal) Postman documentation update. Schema handling after access removal to dev account
- (internal) Request rate limiter now doesn't throw 500 error, when invalid route is provided. But skips the request limitation instead
Added
- (internal)
validateRequestRateLimiter
utility script for validating newrequestRateLimiter
configs before they are added to db
[2.26.0] - 2022-06-22
Added
- (internal) Better universal pagination
- (internal) Better parsing of query, params and body from request
- (internal) Better validation of inputs with zod
Fixed
- (internal) Open api file structure, so it is matching 1:1 to postman
[2.25.2] - 2022-06-08
Fixed
- Endpoints
/device/alive
and/device/:deviceUid/alive
added fallback aliveAt value asnull
[2.25.1] - 2022-05-26
Fixed
- improved documentation for
/v1/device
and/v2/device
- improved documentation for
/v1/device/:deviceUid
and/v2/device/:deviceUid
[2.25.0] - 2022-05-25
Fixed
- improved v1/device and
v1/device/:deviceUid
performance - (internal) Fixed alertRule documentation
- UDM deviceTelemetry modules imports
- (internal)
createRouterGetListHandler
default sorting bydescending
- Fixed response data format for endpoints
/device/telemetry/latest
and/device/:deviceUid/telemetry/latest
Added
- added v2/device and
v2/device/:deviceUid
endpoints - Endpoints might have limited request rate in within defined time window
- Endpoints
/device/alive
and/device/:deviceUid/alive
to fetch when device was last time alive. List and single device - Additional fields
configurationSet
andconfigurationRemoveKeys
for update timings payload in bulk operations - Endpoint
/device/telemetry/latest
to fetch list of devices with all their latest telemetries - Endpoint
/device/:deviceUid/telemetry/latest
to fetch a single device with all its latest telemetries
[2.24.1] - 2022-04-27
Fixed
Location
enhancement ofAdd attachment
content type validation- Error messages when user put wrong values
- GET devices endpoint is using cached values of telemetry to optimize performance
[2.24.0] - 2022-04-13
Added
- Location search enhancement
- Location validation by organization enhancement
- (internal) OpenAPI Documentation
Location
attachments upload management. OnAdd
attached file can be added. OnDelete
attached files can be deleted- (internal)
Location
generated documentation fix - (internal) Add OpenAPI Editor
Fixed
- Replace delete location by archive location
- (internal) Load device application version from influxdb
Location
(GET) no longer returns all locations, but only the ones that belong to the client's organization.- (internal) Load device temperature from influxdb
[2.23.0] - 2022-04-06
Added
- Location now saves also
city
andcountryCode
fields - Endpoint
/device/:deviceUid/offline-range
to fetch data about device connectivity - Alert rule periodicity is now object with
interval
andactiveTimeWindows
fields
Fixed
- (internal) Missing documentation for storage abstraction
[2.22.0] - 2022-03-16
Added
- Add bulk operation api endpoints
- Location to organization tag relation (assign and unassign)
- Organization tag
get one
,create
,update
anddelete
(archive) - Uptime computed by device or organization
- Location
create
andupdate
endpoints simplification of thefeature
parameter into twocoordinates: { lat: number; long: number }
andaddress: string
. Where now the feature params is obtained programmatically from themapbox
API
Fixed
- Location properties adjustment. Removal of
floor
and addition of thecustomId
,attachments
anddescription
. - Location properties adjustment. Replaced
address
andcoordinates
withfeature
field of typeFeature<Point>
- Alert and alert rule creation
[2.21.0] - 2022-02-09
Fixed
- Request count is correctly saved and counted
- Returns ntpServer address, when is set on /device{deviceUid} endpoint
Added
- Location resource
[2.20.0] - 2022-01-26
Added
- Policy status for given device by policyUid or itemType or their combination
- Array
supportedResolutions
into device endpoints
[2.19.0] - 2022-01-19
Added
- Latest telemetry data
- Endpoint
routeDateTime
(/device/:deviceUid/time
) now accept UNIX timestamp or date time. With or without offset, if with offset is ignored. Offset is now take from the time zone and then transformed into correct UNIX timestamp.
[2.18.3] - 2021-12-23
Fixed
- Remote control API has additional parameters aliases
locked
&kiosk
which are reversed values ofenabled
.
[2.18.2] - 2021-12-15
Fixed
- Device info (e.g. storageStatus in device route) is fetched from separated telemetry database
- Resolution & Orientation PUT api error message
[2.18.1] - 2021-12-10
Fixed
- Race condition in updating device name & fetching devices using name filter
- Alert & alert rules related bugs
[2.18.0] - 2021-12-08
Added
- Device action log (history of the device) resource
- Counting api requests per resource and organization - storing them to redis
Fixed
- Error reporting for timing create/update when config is missing
[2.17.0] - 2021-11-17
Added
- Missing automatic pagination for /device/:deviceUid/power-action resource using
since
&until
(page has size 5000)
Fixed
- (internal) pagination is consistent in all paginated endpoints
[2.16.2] - 2021-11-10
Fixed
- Applet version test suite resource accepts / (slashes) in identifier name
[2.16.1] - 2021-10-13
Fixed
- Timeout POST/PUT requests by 504 with additional command ID info
- Optimization: Prepared separation of telemetry from other resources
[2.16.0] - 2021-09-01
Added
- Optional frame rate can be set along with resolution
[2.15.2] - 2021-08-11
Fixed
- Prevent falling api when device connections or pings are temporarily unavailable (return undefined values instead)
[2.15.0] - 2021-07-28
Added
- Alert and AlertRule resources
[2.14.0] - 2021-06-23
Added
- Allow to fetch company organizations
- Allow to to fetch organization statistics with devices count
- Only test and 3.0 organizations can create device policies
[2.13.3] - 2021-05-26
Fixed
- Slow responding write requests
- Limit the max number of fetched devices to 4000 in a single request
[2.13.0] - 2021-03-31
Added
- Policy archive resource
- Archived filter to get policies list resource
Fixed
- Device policy assign/unassign resource by UID
- Only one policy can be assigned to device
- Improve
currentTime
of/device
resource
[2.12.0] - 2021-03-24
Fixed
- Some resources where failing when new organization token was used
- Policy resource response correctly when items or name haven't changed
Added
- Policy clone resource
[2.11.0] - 2021-03-17
Added
- Firmware can be uploaded for Android & signageOS (linux) devices (including firmware type. E.g.:
rpi
,rpi4
,benq_sl550
) - Policies resources
- Resource PUT
/device/:uid/time
optionally acceptsntpServer
property in body
Fixed
- Missing uid in PowerActionSchedule PolicyItems
[2.10.2] - 2021-03-03
Fixed
- Uploading firmware can be done up to 2GB
[2.10.1] - 2021-02-18
Fixed
- Resources
/device/{deviceUid}/brightness
&/device/{deviceUid}/resolution
correctly accepts number values even for URL encoded body.
[2.10.0] - 2021-02-03
Added
- New endpoint to set organization of device
- Optional descending parameter for list of device screenshot, optional limit parameter to set page size
Fixed
- More than one emulator can be created for one account
- Exception handling refactored, more precise messages for user, backward compatibility preserved
[2.9.0] - 2021-01-27
Added
- New endpoint to manage organization tokens which are scoped for specific account
[2.8.0] - 2021-01-22
Added
- Added routes to get emulators and create emulator assigned to authenticated account
- Added endpoint to delete emulator
[2.7.0] - 2021-01-13
Added
- Organization tokens are scoped for an account where every account has a unique personal organization token
- Screen size with certain width, height in pixels can be set instead of pre-defined HD_READY, FULL_HD resolution values
- New endpoints to allow sent data for connect, disconnect computer from device in local network
Security
- Prevent creating and updating timing for applet from foreign company regardless organization
[2.6.0] - 2020-10-28
Added
- Missing automatic pagination for /device resource using
createdSince
&createdUntil
(page has size 200)
[2.5.0] - 2020-10-21
Added
- Added route for deleting existing organization
Fixed
- 10x faster account API security token encryption
- Strong consistency model of device feature tests
- Allow account authentication against real API security token clientId, not substitution of username or email of account (much faster)
[2.4.4] - 2020-10-14
Fixed
- Selective consistency of resources (not responding write requests)
[2.4.3] - 2020-10-14
Fixed
- HTTP server terminated after all pending requests resolved thus it prevents 5xx status codes
- Update name of device, deprovisioning & power actions will always respond
- Get current list of uploaded multifile applet files
[2.4.2] - 2020-09-22
Fixed
- Power action write requests uses new strong consistency model
[2.4.1] - 2020-09-16
Fixed
- Originator added to all commands being send in API
Security
- Prevent creating timing for applet from another organization
[2.4.0] - 2020-09-03
Added
- Video orientation landscape flipped
Fixed
- Updated model where productionSince and MaxDevicesCount fields of organization's were moved to organizationModel
[2.3.4] - 2020-08-22
Fixed
- Response of resources occasionally failing
[2.3.3] - 2020-08-19
Fixed
- Internally memory optimized processing of write operations
[2.3.2] - 2020-08-19
Fixed
- Race condition in consistency of REST API requests which sometimes returned 404 or 403 in fast sequence of calls
- New internals for installing packages to device
[2.3.1] - 2020-07-21
Fixed
- Decide new organization device plan according to default company settings
[2.3.0] - 2020-07-09
Fixed
- device plans namings (i.e. from basic -> 1.0)
- Fixed logic of validation of organization subscriptionType and default subscriptionType of creating organization
- Fixed content-type. It can be omitted when uploading file (back compatibility for cli 0.7.0)
Added
- Acl permission based authorization
[2.2.2] - 2020-06-23
Fixed
- Missing content-type in applet version file response
[2.2.1] - 2020-06-22
Fixed
- REST API for uploading applet files accepts content type for update files as well.
[2.2.0] - 2020-06-15
Added
- Tracking applet version files when uploading them (multifile applet timing support)
- DUID (duid) physical device UID is available in /v1/device/... REST API
[2.1.0] - 2020-05-27
Added
- Add limit of verify devices count for non production organizations
Fixed
- Upgrade sentry logging
- Remove deprecations of mongoose
[2.0.0] - 2020-04-28
Fixed
- Rethink device models replaced by mongo device aciton log model
- Add error handler for duplicate identifier case in test suite
- Rethink models replaced by mongo models
- Device resolution and orientation params validation on changing
- Attach company when creating organization
- Added originator to originator aware actionLog commands
- Added new STARTER billing plan
- Listing companies and changing it's plan now uses dedicated company commands
Added
- Device package start resource
- Companies endpoints. Added ability to get companies and set their billing plans
- Ability to set organizations's subscription type
Removed
- IntroPage and IntroMetadata models removed
[1.15.0] - 2019-12-23
Added
- Multi file firmware support
- Endpoints for firmware files management
- Multi file applets support
- Endpoints for applets files management
- Redis storage added, device connections are now retrieved directly from Redis deviceConnectionModel
Fixed
- Applet Version endpoint POST and PUT return link to resource
- Optimize loading of data using mongodb instead of rethinkdb
[1.14.0] - 2019-12-02
Added
- GET resource for fetching latest device feature test
/v1/device/:deviceUid/feature-test
- PUT resource to update device feature test
/v1/device/:deviceUid/feature-test
- GET resource for fetching latest device applet test
/v1/device/:deviceUid/applet-test
- PUT resource to update device applet test
/v1/device/:deviceUid/applet-test
Fixed
- Replacement of all invalid imports from rethink by corresponding user-domain-model imports
- Little code readability refactoring and typos fixes
[1.13.0] - 2019-10-17
Added
- Default subscription type of organization is based on account subscription
[1.12.0] - 2019-10-14
Added
- Ability to have multiple api security tokens per account
Fixed
- Change device subscriptionType after the device is paired
[1.11.0] - 2019-09-21
Added
- Updating and Creating applet version with applet binary in request body
[1.10.0] - 2019-09-17
Fixed
- Updating and Creating applet version with bundled front-applet
- Unified the format of error and success HTTP REST response bodies
Added
- Routes for managing applet test suites (CRUD)
[1.9.1] - 2019-08-28
Fixed
- Allow to omit frontAppletVersion in appletVersion
[1.9.0] - 2019-08-25
Added
- Accept username or email in authentication for organization manipulation (not only accountId)
- Allow get and recreate account API security token for account by password login
- GET resource for list of organizations
/organization
[1.8.4] - 2019-07-18
Fixed
- device deprovisioning 403 error
[1.8.3] - 2019-07-04
Fixed
- Optimize loading of device info (storage, online, batter etc. resources)
[1.8.2] - 2019-06-21
Fixed
- Applet POST API response contains Link to created entity in header
- Some resources are loaded from more optimal MongoDB (device reports, monitoring, screenshots, temperatures and timing commands)
[1.8.0] - 2019-05-29
Added
- Windows Application type support
[1.7.0] - 2019-02-13
Added
- Support Power actions applet enable/disable: https://docs.signageos.io/api/device-management-api/#Set_Device_Power_Action
[1.6.0] - 2019-01-14
Added
- New resource to get current firmware versions
GET /v1/firmware/version
- Device temperature can be filtered by additional query parameters createdSince & createdUntil
GET /v1/device/:deviceUid/temperature
[1.5.5] - 2018-11-17
Fixed
- Applet Dispatch commands (Timing commands) POST can be done to any applet. Even without organization access to it.
[1.5.0] - 2018-09-05
Added
- Dispatching custom commands to device by POST /device/:deviceUId/applet/:appletUid/command (https://docs.signageos.io/api/device-monitoring-api/#Send_Device_Applet_Command_to_device)
Fixed
- Scheduled power action resource is standardized & response header contains location to created resource
[1.4.0] - 2018-08-14
Fixed
- Authentication of /organization resource by accountId & apiSecurityToken: https://docs.signageos.io/api/organizationuser-rest-api/
Added
- Simple GET /organization/:organizationUid resource
- Create POST /organization resource returns reference to just created organization in Location header (with code 201)
[1.3.0] - 2018-07-19
Added
- GET method for device power actions: https://docs.signageos.io/api/device-management-api/#Get_Device_Power_Action
[1.2.2] - 2018-07-13
Fixed
- Volume can be set also to 0 (zero) value
[1.2.1] - 2018-07-13
Fixed
- GET device timing - when there is no current timing, last outdated timing will be returned
[1.2.0] - 2018-07-09
Added
- New feature and resource for schedule power actions of device: https://docs.signageos.io/api/device-management-api/#Get_Device_Scheduled_Power_Actions
- New resource for upgrading/downgrading Firmware of device: https://docs.signageos.io/api/device-management-api/#Get_Device_Firmware_version
Fixed
- Optimized fetching of device screenshots
[1.1.3] - 2018-06-20
Added
- Security token based authentication - to create new organization without client ID/client secret
- An API resource for creating a new organization
[1.1.2] - 2018-06-18
Fixed
- Optimized device reports GET methods
[1.1.0] - 2018-06-08
Added
- Changelog file containing all changes in current project
- Explicit video orientation different from screen orientation