Changelog
Application: Lobaro Backend
1.104.5 - 2024-06-24
Changed
- Devices Created At added as hidden default column in Devices Table
1.104.4 - 2024-06-24
Fixed
- Parser UI - Editor would switch to default parser when editing the custom parser
1.104.3 - 2024-06-24
Changed
- Default input format for js parser function
Record.setTime()
is an RFC3339 string, default timestamp format for JSON.- It can be created from a Date in JavaScript via
new Date(unixms).toISOString()
- It can be created from a Date in JavaScript via
Fixed
- fix api token deletion message
- HTTP handler panic for Chirpstack Join events
- Devices Table - localStorage was not use in some special cases - causing the table to change unexpectedly when sorting or filtering
1.104.2 - 2024-06-19
Fixed
- bad timing caused nil Nats client on startup
1.104.1 - 2024-06-19
Changed
- Devices Table - deactivate ability to sort by organisation when displaying scope "global" or "organisation with suborgs" as it caused empty results. Workaround is to change into the organisation and display the devices table
1.104.0 - 2024-06-18
Added
- Devices Table - New Column Settings Dialog - Pin columns to left or right edge of the table to make them always visible while scrolling
Changed
- Key Exchange Import - Reworked with async backend processing to handle large key imports
1.103.3 - 2024-06-12
Fixed
- Devices Page: when opening a filter dialog, the filter input field is always focused
- broken export on non-devicesPages
1.103.2 - 2024-06-11
Fixed
- fix double x axis scroll bar - where the table was not scrollable because the page displayed a scrollbar over the devices table scrollbar
1.103.1 - 2024-06-11
Changed
- Lansen wMbus Gateways will use a "las-" prefix in the address.
Fixed
- fixed translation of export devices csv dialog on devices page
1.103.0 - 2024-06-11
Fixed
- WmbusKeyImport: Reset all button now resets all fields
Changed
- Export Devices CSV now exports:
- selected or all devices of a device type
- CSV format as configured in the table config or in a hardware import conform CSV format
1.102.3 - 2024-06-06
Fixed
- WmbusKeyImport: Scale table (full page) and progressbar (only half page) as intended
1.102.2 - 2024-06-04
Fixed
- Too much logging of failed wMBus parsing attempts
1.102.1 - 2024-06-04
Fixed
- Parser cache not being saved due to failing Cache directory creation
1.102.0 - 2024-06-04
Changed
- Reworked wMBus key import page, unifying import via CSV and Key Exchange Platform
- Key import in batches for better performance
Added
- Supported importing of Sensus RF key CSVs
1.101.10 - 2024-05-25
Fixed
- Fixed a bug where the device type side menu would show wrong counts when a device type was not owned by the current organisation
Changed
- Device Type Side Menu size when expanded is now smaller
1.101.9 - 2024-05-24
Fixed
- Fixed a bug where the device type side menu would not show the correct device type count
1.101.8 - 2024-05-24
Changed
- New Devices Data Table is now permanent active - removed experimental design switch in myAccountMenu
1.101.7 - 2024-05-24
Added
suborg
role for REST API Tokens: Read-only access to devices and parsed data of all suborgs
Changed
- Devices CSV export only exports the devices of the current selected device type
- Improve PipelineStore queries, avoiding
LIMIT 1
for unique data queries, update cache device with every device update in (pipeline) DB - Making
xlog
main logging factory:- Wrapping
slog.Logger
, but also supplying somelogrus
functions (WithError()
,WithFields()
, ´...) for compatibility - Added functions for dynamically changing logging settings
- Unifying Log levels, to make a future change of the logging backend easier
- Wrapping
- Device Type Side Menu uses cached queries for device counts - frontend caches for 1 minute - backend caches for 5 minutes and invalidates cache if new devices are created
Removed
slogLogrus
package, as the logging backend was switched from logrus to slog- Direct
logrus
dependency; still needed by github.com/docker/docker
1.101.6 - 2024-05-22
Changed
- Improvements in UI for Device Type Side Menu
1.101.5 - 2024-05-22
Changed
- Update mbus lib to v1.11.3
Fixed
- Fix humanizing attempts of invalid compact profiles
1.101.4 - 2024-05-22
Fixed
- Export Devices CSV failed on Devices Page - works now
1.101.3 - 2024-05-22 - DO NOT USE - BROKEN
1.101.2 - 2024-05-16
Fixed
- reintruduced now fixed device ammount bubbles
1.101.1 - 2024-05-16
Fixed
- Gormstore: ignored scope in device count query
- Devices Page Navigation: use correct scope on device count query
1.101.0 - 2024-05-15
Added
- Display wMBus key fingerprints in the key table, searchable to find the key used to decrypt a telegram
- Device Types Menu shows device types with count and allows order by count or alphabetically
Record.setTimeField()
to set the name of a custom time field in each output record, works for batch records as well- This field is then used to set the time of each record, instead of the default
time
field orreceivedAt
field
- This field is then used to set the time of each record, instead of the default
Changed
- Updated mbus lib to v1.11.2
- Output of key fingerprint in parsed telegram output
- Reworked Device Types Menu on left side of Device Types and Data Page
- Logging raw telegram + key fingerprint if parser panics
- Devices Import Dialog now shows the organisation of an existing device
Deprecated
Record.setTime()
, as it doesn't work for batch record returns- Use
Record.setTimeField()
so set the name of a custom time field in each output record instead
- Use
Fixed
- Panic when OMS parsing via API fails, logging errors and info, and returning nil instead
- Logging app and org id values
- JSON logging without HTML escaping
- keyExchangePlatform import: inform user when there was no new key at exchange platform
1.100.0 - 2024-05-07
Added
- Added menu to display/hide columns in the device (experimental) table. The configuration is saved per user and device type.
Fixed
- When exporting devices, only selected Devices will be exported.
1.99.6 - 2024-04-30
Fixed
- Devices Page: frontend crash on empty deviceType Device Table Config cols array
Changed
- Batch uplinks: If parsing fails, individual errors will be returned for each uplink, and the successful ones will be stored and processed
- Use pipeline store to fetch device info for parsing and CoAP: For better performance it only preloads the certificate, and includes only a limited number of columns. If caching is enabled, it will cache the device data there.
1.99.5 - 2024-04-23
Fixed
- Device table fallback to default table config, if none is present
1.99.4 - 2024-04-22
Changed
- Silence housekeeping for organisations without data retention limits in DB log
- Searchable Cron log table
Fixed
NaN
replacement for customer parser (slice of maps was not handled correctly)
1.99.3 - 2024-04-16
Changed
- Pipeline: always load device from DB before parsing and never take it from msg object
Fixed
- Update MBus lib to v1.10.0, fixing Qundis failed decryption, but parsing encrypted payload issue
v1.99.2 - 2024-04-16
Added
- New (ant) table design in the devices tab. (Can be activated via the profile settings)
Changed
- Devices query returns a devicesResult object, containing a devices array and pagination info, instead of an array of devices
- Pre-select current organisation when creating new users via Organisation section
- Replacing all
NaN
values in parsed output, device config and properties updates withnull
for JSON compatibility
Fixed
- wMBus key import from exchange platform: Only import
END_USE
keys - dont crash on nil nats connection ins NATS Client Service.
v1.99.1 - 2024-04-08
Fixed
- Key field usage with org key store in wmbus parser page
- fixed DB connection string logging
v1.99.0 - 2024-04-03
Added
- Added metrics for Stream sizes to prometheus
- Slow Queries are now also logged in JSON format
- Metric gorm_query_duration_seconds to trace Query Duration for different query types
- Output format options for HTTP integrations
- JSON object (default)
- JSON Array (wrapping a JSON object)
- URL-encoded JSON (with customizable key)
Changed
- NATS based pipeline metric names for prometheus were cleaned up
- When Parser runtime is exceeded and parser can not be interrupted shut down the server again
- Create CPU and memory profile before shutdown
- Updated to GoLang v1.22.2
- Updated MBus Parser to v1.9.0
Fixed
- GraphQL query in wMBus parser tab updated to ensure org keystore is used when option is ticked
- Update device in cache after parsing properties or config values
v1.98.1 - 2024-04-02
Fixed
- JetStream messages are all acked, else they stay inside the stream
- URL Escaping for DB Connection string
Changed
- Updated mbus parser lib to v1.8.0
v1.98.0 - 2024-04-02
Changed
- NATS is using JetStream to persist Queue items
Fixed
- wmbus Key Import (exchange platform) use start param
v1.97.1 - 2024-03-28
Added
- Integration Individual Log Limits for Success and Error
Changed
- Deivces are not cached during uplink handling (Config: Database.Cache.deviceExpirationSec)
Fixed
- Stop startup of nats client when other service failed
v1.97.0 - 2024-03-26
DB Migrations
- ATTENTION: Contains long running DB transformation (on startup)
- Migrations: 74
Added
- Uplinks can be searched by their type
- Uplinks can be filtered by created_at date
- Slow Queries are now also logged in JSON
- MQTT Integrations: Configurable Timeout
- MQTT Integrations: Do not log executions option
- HTTP Integrations: Do not log executions option
- Configureable Ratelimit for Integration execution logging
Changed
- Removed quotes from text based logging
- Device Type bulk operation entries link to the device's respective data page, as is the default for other device tables.
- Default Timeout for MQTT Integrations is now 10 seconds
Fixes
- JSON Log Format was not printing some fields
v1.96.5 - 2024-03-12
Fixed
- nats pending item metrics now published
v1.96.4 - 2024-03-10
Fixed
- Cron runner for some nats metrics was not running
v1.96.3 - 2024-03-07
Added
- Metrics for NATS pending messages nats_handle_device_uplink_pending, nats_integrations_pending
Changed
- Removed metric integration_queue_seconds
- Table headers use no caps to make german umlaut better readable
- Prefill device type when calling import from device page
- Updated mbus parser lib to v1.7.0
Fixed
- Fixed a bug where a moving devices into another organisation via the bulk operation would display failed operations as successful
- Device bulk operations from suborgs into parent/base org now work as expected
v1.96.2 - 2024-03-04
Fixed
- handle_integrations_seconds was not available
v1.96.1 - 2024-03-04
Added
- Config parameters to set the amount of queue workers: nats.UplinkHandlerWorkers and nats.IntegrationHandlerWorkers
Fixed
- Limit parallel execution of integrations
- Do not shutdown platform when parser times out during heavy load
v1.96.0 - 2024-02-27
Added
- wmbus Parser updated to v1.6.4
- wMbus key management allows to search for meterId and manufacturer at the same time
Changed
- new button design for wMbus key management
- Optimized query for parsed_data uses limit of 3500
- csv import of wmbus keys is now more reliable
v1.95.3 - 2024-02-27
Fixed
- problem with temporary keys in organisation wmbus Keystore.
- Language selection based on two digit language code (ISO 639), ignoring possible following country code (ISO 3166). E.g.: 'en-US' will be read as 'en'
- Link to hardware Activationpage in the top navigation for guests/not logged in users
v1.95.2 - 2024-02-24
Fixed
- added missing default store middelware to mbus handler stack
v1.95.1 - 2024-02-24
Added
- wmbus key store usage on wmbus api in frontend
Fixed
forgotten label on prometheus statistics increment that could lead to panic
v1.95.0 - 2024-02-24
Added
- loggedin Users (frontend and API used with token) can now use their organisations wmbus key store when using the wmbus API
- Configurable amount of workers for parser
Changed
limited parallel computing of wmbus API requests
v1.94.4 - 2024-02-21
Added
- prometheus monitoring for NATS Queues
Changed
- Optimization to reduce runtime of getParsedDataForOrg call via rest endpoint
v1.94.3 - 2024-02-20
Fixed
- Fixed nil pointer issues in the optimization of long-running queries in the data tab
v1.94.2 - 2024-02-20 - SKIPPED DUE TO BUILD PROBLEMS
Changed
- Optimization to reduce runtime of some long-running queries in the data tab
v1.94.1 - 2024-02-19
Changed
- Updated to GoLang v1.22
Fixed
- Data Tab did not load table config
v1.94.0 - 2024-02-15
Changed
- MBus lib: Update to 1.6.3
- Otto JS runtime enviroment update to 0.3.0
Fixed
- sanitizing of unusual quote marks in downlink text input
v1.93.1 - 2024-02-14
Reverted
- Otto JS runtime enviroment update
v1.93.0 - 2024-02-09
Added
- Firmware page: copy downlink json button for common used firmware
- log functions for js parsers
- updated to otto 0.3.0
- Sanitize „,“ literals in downlink text input with " literal to avoid parsing errors.
Changed
- Updated Otto JS Runtime to v0.3.0
- KeyExchangePlatform: Use API v2
- KeyExchangePlatform: Display progress of key import
- Improved performance of Data Page
Fixed
- Creating new hardware for a device type that is private produced an invalid validation error
- Fixed infinite spinner in device types data, when no data was returned from the server
v1.92.0 - 2024-02-02
Added
- mbus Lib v1.6.2
Changed
- on shutdown after Otto infinity loop input data are logged to enable debugging.
v1.91.1 - 2024-01-29
Fixed
- coap handler: binary firmware updates total calculation offset of 1 fixed
v1.91.0 - 2024-01-31
Added
- Filter for default columns in device table
- binary firmware files over coap now have address query Param
v1.90.0 - 2024-01-26
Added
- Basic support for binary firmware files over coap, e.g. for modem firmware updates
Changed
- DeviceType Import: current organisation is now preselected
Fixed
- Firmware Cache removes file when deleted.
v1.89.0 - 2024-01-22
Added
- Platform can now receive lobaro WMBUS Gateway uploads over MQTT
v1.88.2 - 2024-01-19
Fixed
- Issuses with the Lansen gateway information (MQTT topic LAS/W/I)
v1.88.1 - 2024-01-19
Changed
- Device Type Selectors now can display up 25 matching device types
- Search for device types now also looks for device type ID
v1.88.0 - 2024-01-16
Changed
- updated to GoLang v1.21
Added
- Platform can now receive Lansen WMBUS Gateway uploads over MQTT
v1.87.1 - 2023-12-19
Fixed
- Missing store in context of async integrations
v1.87.0 - 2023-12-19
Changed
- Lobaro wMbus Api v1.5.14
- org-admins can now also create, reschedule and delete downlinks for devices in their organisation
v1.86.0 - 2023-12-14
Added
- Allow usage of shorter default RealData keys for parsing appropriate wMBus telegrams
Fixed
- Creating new hardware for a device type that is private was not possible
v1.85.0 - 2023-12-12
Changed
- Lobaro mBus Lib v1.5.13
Fixed
- When importing a device type the data table config was set as the device table config
v1.84.2 - 2023-12-11
Changed
- JSON Logging Environment variable is now:
LOB_JSON_LOGGING
- Also use structured logging for first line of log output when enabled
v1.84.1 - 2023-12-11
Note
- Broken release!
v1.84.0 - 2023-12-07
Added
- Device Type Config Properties can be reordered
- Tags can be searched in the Device page
- Server logging in JSON format
Fixed
- DeviceDetailPage link to devices page in header fixed
- GraphQL Broken escaping for field value in custom filters
- Broken Top Navigation after login/logout/user change
v1.83.0 - 2023-12-04
Added
- Czech language
- Device Type Import
v1.82.1 - 2023-11-9
Fixed
- Fixed error on GQL Device endpoint for devices that are not attached to a organisation
Changed
- Suborg Statics and Page are no longer shown in Orgs without suborgs/the right to have suborgs
v1.82.0 - 2023-10-24
Added
- Device Usage Statistics can now be closed in an accordion with a persistant state
v1.81.2 - 2023-10-23
Fixed
- Fixed view downlink list was not possible when org_admin was viewing devices in a suborg
v1.81.1 - 2023-10-08
Fixed
- Fixed statistics now include devices from parent and sub orgs
- Fixed a bug where device data could not be sorted by field
- Updated permissions to allow admin, orgAdmin and deviceAdmin to create device downlinks
- Fixed a bug where searching devices via their comments failed when the device comment was used to store id like strings (e.g. serial numbers)
- Fixed a bug where the test input of a device setting did not show the latest device data and did not update after an uplink was simulated
- When paginating devices that have no last received date, an arbitrary order (by internal id) will be used to preserve the pagination order
Added
- Added "Organisation" selection to Device Settings Page