Releases: HiberGlobal/api
Releases · HiberGlobal/api
0.90.0
This release contains a number of bugfixes and removes some deprecated options from ModemAlarm.
Changes
- Fixed a few performance issues.
ModemService
- Fixed a bug where
ModemSelection.filter_by_tags
would return only the modems matching the entire set of given tags
(ALL) instead of modems with one of the given tags (ANY).
ModemAlarmService
- Remove the deprecated options on
LocationCheck
:- Custom
area
orshape
are no longer supported, use a named location instead.
- Custom
NamedLocationService
- Cleaned up the comments which referred to saved location instead of named location.
- Added
NamedLocation.created_at
: the time it was created. - Added
NamedLocation.updated_at
: the last time the location was updated, if any. - Added
NamedLocation.referenced_by_alarms
, the list of alarms that reference this named location. - Using
NamedLocation
for create and updated is no longer practical now that we have added more fields:- Introduced
CreateNamedLocation
to be used to inCreateNamedLocations.Request
. - Introduced
UpdateNamedLocation
fields to be used to inUpdateNamedLocation.Request
.
- Introduced
- Fixed a bug where a named location that is used in an alarm check could still be deleted.
SimulationService
- Fixed a bug where, in rare cases, simulated messages might end up with a sent time outside the configured delay range.
0.88.0
This release contains a number of bug fixes and usability improvements.
Changes
- Improved comments and generated documentation.
ExportService
- When requesting available fields for export, providing a non-empty modem selection is no longer required.
When an empty (or no) modem selection is provided, the result is the total of all modems in the organization.
(The columns may differ per modem because of assigned message body parsers.)
HealthService
- Fixed a bug where the modem health was not updated when you deleted a custom health level.
ModemService
- Removed the option to consider message with source
TEST
as real (when applying processing).- Simulated modem messages are now considered real to the system, since that was the real use case for this option.
- Fixed a race condition where modem health would occasionally be "OK", then switch back to its actual health.
OrganizationService
- Added
Organization.Feature.MODEM_CREATION
to allow an organization to manually create modems using the ModemService. - Fixed a bug where an incorrect error message was returned when creating an organization without the correct
OrganizationPermission.
SimulationService
- Added
Simulation.ModemMessageSimulation.message_body_rotation
to rotate through a list of pre-configured
message bodies when simulating messages. This can be done to simulate a modem looping through different healths
during the simulation. - Added
Simulation.ModemMessageSimulation.location_rotation
to rotate through a list of pre-configured
locations when simulating messages. This can be done to simulate a modem moving on the map during the simulation.
0.87
0.87 (2021-09-02)
This release add an ease of use improvement for exporting, and contains a number of bugfixes.
Changes
ModemService
- Added
ModemMessage.tagNames
for convenience, since most of the time the ids are not relevant.
ExportService
- Added
AvailableFieldsForExport
(forExportService.AvailableFields
) to get the fields that are available to export.- Provides a list of json paths for use in custom json field mapping.
- Provides the default column mapping for CSV export.
0.86
0.86 (2021-08-30)
This release fixes a few bugs and adds a few missing features.
Changes
base.proto
- Added
PRESSURE_K_PA
toUnitOfMeasurement
, for pressure inkPA
.
AlarmsService
- Fixed a bug where a location extracted from the message body using
ModemMessageBodyParser.MetadataFields.location_fields
was not available to alarms.
ModemService
- Fixed a bug where a specific query could negatively affect message list performance.
UserService
ListInvitationsRequest
not filters out accepted invitations by default.- Added
ListInvitationsRequest.include_accepted
to include accepted invitations.
- Added
StatusService
- Fixed a performance issue for the status call when the list of publishers was included.
0.85
0.85 (2021-08-23)
This release improves the generated API documentation and fixes a few bugs.
Changes
- Improved API documentation and generated documentation files
- Disabled html file generation for now, since it was prone to breaking.
- Improved markdown file generation significantly
EventService
ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent
will no longer resolve after a new successful message,
since it indicates an invalid configuration.- Added
ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent.resolved
to indicate resolved state. - Added
ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent.resolve_identifier
to resolve the event manually. - Added
EventService.Resolve
andResolveEvent
to resolve aModemMessageCannotBeParsedEvent
manually
using the providedresolve_identifier
.
- Added
- Fixed the include_resolved filter for some events types for which is was not working properly.
MapService
- Added more Density options to the map:
VERY_SPARSE
: for 2x2 icons in a tileSINGLE
: a single icon in a tile
ModemAlarmService
- Added the option to update checks to
UpdateModemAlarm
:add_checks
,update_checks
anddelete_checks
. - Fixed an issue where alarms would not resolve correctly when a mix of correct and incorrect messages arrived
at the same time.
ModemMessageBodyParserService
- Moved validation on
data_fields
andmetadata_fields
from save to execution, for now.
0.84
0.84 (2021-08-12)
This release contains a few UX improvements, making the API esier to use.
Changes
EventService
- Added
ModemEvent.AlarmEvent.ModemAlarmEvent.resolved_at
to mark when the alarm was resolved.- Added
health_level_after_resolved
andhealth_level_after_resolved_until
to denote any health after it
was resolved. See the alarm documentatin for more information.
- Added
MapService
- Added textual format to all map elements:
- Added
Location.textual
, which represents a point on the map as an array[latitude, longitude]
.
For example:[10.0, 15.0]
. - Added
Area.textual
, which represents a square on the map as an array[bottomLeft, topRight]
,
wherebottomLeft
andtopRight
are textual representations of locations.
For example:[[10.0, 15.0], [20.0, 25.0]]
. - Added
Shape.textual
, which represents a shape on the map as an array of points[p1, p2, p3, ...]
,
where the points are textual representations of locations.
For example:[[10.0, 15.0], [15.0, 15.0], [10.0, 10.0]]
is a triangle.
- Added
ModemService
- Added
ModemMessage.modem_name
for convenience. - Added
ModemMessage.modem_identifier
for convenience. - Added
ModemMessage.tags
for convenience.
ModemAlarmService
- Added two new check types:
minimum
andmaximum
. These are simplified versions of the threshold that do
not need a range, just a single value.- Added
ModemAlarm.Check.FieldCheck.MinimumCheck
- Added
ModemAlarm.Check.FieldCheck.MaximumCheck
- Added
- Added better child organization availability management:
- (Before, the child availability could only be replaced.)
- Added
MakeModemAlarmAvailableToChildOrganizationRequest
to add a child organization to the availability. - Added
MakeModemAlarmUnavailableToChildOrganizationRequest
to remove a child organization from the availability.
ModemMessageBodyParserService
- Added better child organization availability management:
- (Before, the child availability could only be replaced.)
- Added
MakeModemMessageBodyParserAvailableToChildOrganizationRequest
to add a child organization to the availability. - Added
MakeModemMessageBodyParserUnavailableToChildOrganizationRequest
to remove a child organization from the availability.
0.83.6
0.83.6 (2021-08-10)
This minor release adds sorting on health for modems.
Changes
EasypulseService
- Added sorting on health to
Easypulse.ListAssets.Request.Sort
:HEALTH
: sort by health severity, ascending (Ok, Warning, Error when using default health levels).HEALTH_DESC
: sort by health severity, descending (Error, Warning, Ok when using default health levels).
MapService
- Expanded comment on
TileMapRequest.level
to include which levels are available and what they are based on.
ModemService
- Added sorting on health to
ListModemsRequest.Sort
:HEALTH
: sort by health severity, ascending (Ok, Warning, Error when using default health levels).HEALTH_DESC
: sort by health severity, descending (Error, Warning, Ok when using default health levels).
0.83
0.83 (2021-08-05)
This release introduces the Easypulse service and some supporting changes.
Changes
- Removed a few unnecessary imports.
ModemService
- [B] Removed
ListModemMessagesRequest.field
.
The functionality will be replaced with a call likeEasypulse.History
in the future.
EasypulseService
- Introduced the
EasypulseService
for Easypulse-specific implementations.- This API requires the
Organization.Feature.EASYPULSE
feature flag. - This is mostly a convenience view on the normal modems and messages.
Easypulse.History
allows you to fetch individual message fields and apply aggregations to them, for example- the average pressure per day
- the sum of run time per week
- This feature will be made available for all organizations soon in the
ModemService
.
- This API requires the
EventService
- Corrected the text for ModemCreatedEvent, which is now produced any time modems are created, whether it is manually
or automatically.
HealthService
- Cleaned up the documentation for
HealthLevel
.
ModemMessageBodyParserService
- Added
ModemMessageBodyParser.DataField
to define more properties for data fields in a parser.
This is mostly used internally, to power the new Easypulse service.- Updated
ModemMessageBodyParser
,UploadModemMessageBodyParserRequest
and
UpdateUploadedModemMessageBodyParserRequest
:- Deprecated and renamed the repeated string
data_fields
todata_fields_deprecated
. - Added
data_fields
as the repeatedDataField
s.
- Deprecated and renamed the repeated string
- Introduced
UnitOfMeasurement
inbase.proto
to support defining the type for parser data fields.
- Updated
ModemDownlinkMessageService
- Introduced the experimental
ModemDownlinkMessageService
to store and fetch messages that should be sent to
your devices.
For now, this is just a CRUD service to prepare and fetch messages, but expect more features in the future.
OrganizationPermissions
- Added
OrganizationPermission.MODEM_DOWNLINK_MESSAGES
for using the new ModemDownlinkMessageService.
Generated Documentation
- In this release, we're experimenting with some automatically generated documentation in the
docs
folder.
Backwards incompatible changes
- [B] Removed
ListModemMessagesRequest.field
.
The functionality will be replaced with a call likeEasypulse.History
in the future.
0.82
0.82 (2021-08-05)
Changes
- Removed a few unnecessary imports.
EasypulseService
- Introduced the
EasypulseService
for Easypulse-specific implementations.- This API requires the
Organization.Feature.EASYPULSE
feature flag. - This is mostly a convenience view on the normal modems and messages.
Easypulse.History
allows you to fetch individual message fields and apply aggregations to them, for example- the average pressure per day
- the sum of run time per week
- This feature will be made available for all organizations soon in the
ModemService
.
- This API requires the
EventService
- Corrected the text for ModemCreatedEvent, which is now produced any time modems are created, whether it is manually
or automatically.
HealthService
- Cleaned up the documentation for
HealthLevel
.
ModemMessageBodyParserService
- Added
ModemMessageBodyParser.DataField
to define more properties for data fields in a parser.
This is mostly used internally, to power the new Easypulse service.- Updated
ModemMessageBodyParser
,UploadModemMessageBodyParserRequest
and
UpdateUploadedModemMessageBodyParserRequest
:- Deprecated and renamed the repeated string
data_fields
todata_fields_deprecated
. - Added
data_fields
as the repeatedDataField
s.
- Deprecated and renamed the repeated string
- Introduced
UnitOfMeasurement
inbase.proto
to support defining the type for parser data fields.
- Updated
ModemDownlinkMessageService
- Introduced the experimental
ModemDownlinkMessageService
to store and fetch messages that should be sent to
your devices.
For now, this is just a CRUD service to prepare and fetch messages, but expect more features in the future.
OrganizationPermissions
- Added
OrganizationPermission.MODEM_DOWNLINK_MESSAGES
for using the new ModemDownlinkMessageService.
Generated Documentation
- In this release, we're experimenting with some automatically generated documentation in the
docs
folder.
0.81
0.81 (2021-07-05)
This release contains a collection of minor features:
- Adding health to the map
- Allowing modems to be filtered on peripherals
- Extracting metadata (and location) from a parsed message body
Changes
HealthService
- Added
HealthLevel.severity
to allow sorting of health levels when needed.
MapService
- Added
TileMapRequest.include_health
to include the health for each map tile (that contains modems).- Added
MapTileItem.Modem.health_level
for tiles with a single modem. - Added
MapTileItem.Group.most_severe_health_level
, the most severe health level for the modems in this group. - Not compatible with including child organizations, since those health levels may differ.
- Added
- Removed deprecated calls
Satellites
andMap
, leaving only theTileMap
call.- Removed
SatellitesRequest
,MapRequest
,MapBlock
andMapSelection
, which were only used
in the deprecated calls.
- Removed
ModemService
- Added
ModemSelection.peripherals
to filter modems by peripherals. - Added
ModemSelection.only_without_peripherals
to filter modems that have no peripherals.
ModemMessageBodyParserService
- Added
metadata_fields
toModemMessageBodyParser
,
UploadModemMessageBodyParserRequest
andUpdateUploadedModemMessageBodyParserRequest
.
Metadata fields are extracted from the parsed message body to the message metadata.- Added specific metadata fields for extracting location from the message body to the modem.