Orion-LD v1.2.0
The release 1.2.0 of Orion-LD introduces the following major improvements:
- Full support for the new MongoDB driver (currently using mongoc v1.22.0)
- Decent amount of API endpoints supporting distributed operations (as of v1.6.1 of the NGSI-LD API, released in August 2022)
- Notifications for deletion of entities
- Implemented PUT /entities/{entityId}/attrs/{attrName}
- Better trace levels
This is the complete list of features/fixes (quite a few come from issue #280, which means it came from the backlog, not from a user request):
New mongo driver (you still need to start the broker with -experimental
for this):
- Issue #280 Reimplementation of BATCH Upsert, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of BATCH Update, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of BATCH Create, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of BATCH Delete, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of BATCH Query, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of POST /entities/attrs, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of DELETE /entities/attrs/{attrName}, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of PATCH /entities/attrs, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of GET /types, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of GET /types/{typeName}, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of GET /attributes, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of GET /attributes/{attrName}, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of PATCH /entities/attrs/{attrName}, using the new mongo driver (mongoc) - if -experimental is set
- Issue #280 Reimplementation of GET /csourceRegistrations/{regId} using mongoc AND the Registration cache
- Issue #280 Reimplementation of POST /csourceRegistrations using mongoc AND the Registration cache
- Issue #280 Reimplementation of DELETE /csourceRegistrations/{registrationId} using mongoc AND the Registration cache
- Issue #280 Reimplementation of PATCH /csourceRegistrations/{registrationId} using mongoc AND the Registration cache
- Issue #280 Reimplementation of GET /csourceRegistrations using the Registration cache
- Issue #1338 Removed a mongoc-only check, as all operations now support mongoc
New Distributed Operations:
- Issue #280 Implemented the new forwarding for POST /entities
- Issue #280 Implemented the new forwarding for GET /entities/{entityId}
- Issue #280 Implemented the new forwarding for entity deletion, for DELETE /entities/{entityId}
- Issue #280 Implemented the new forwarding for Batch entity deletion, for POST /entityOperations/delete
- Issue #280 Implemented the new forwarding for PATCH /entities/{entityId}
- Issue #280 Implemented the new forwarding for PATCH /entities/{entityId}/attrs
- Issue #280 Implemented the new forwarding for PATCH /entities/{entityId}/attrs/{attrName}
- Issue #280 Implemented the new forwarding for DELETE /entities/{entityId}/attrs/{attrName}
- Issue #280 Implemented the new forwarding for POST /entities/{entityId}/attrs
Other Features and fixes:
- Issue #280 Implemented support for HTTPS notifications for the new implementation (experimental)
- Issue #280 Persisting counters and timestamps of subscriptions from the subscription cache in the database
- Issue #280 New CLI option: -cSubCounters - number of subscription counter updates before flushing to DB (0: never, 1: always)
- Issue #280 Bug fix: getting lastNotification, lastSuccess, lastFailure from DB in when refreshing the subscription cache
- Issue #280 TRoE for PUT /entities/{entityId}
- Issue #280 Better health check - before accepting, a connection to the mongo server is done (and postgres if troe is enabled)
- Issue #1229 Fixed a CRASH on erroneous q, when creating subscriptions
- Issue #1258 Fixed a bug in Q-Parser: negative floating point values were not handled
- Issue #1260 Invalid long-name of an attribute in error responses (eq-sign instead of dot)
- Issue #1261 'lang' URI param support for PATCH /entities/{entityId}
- Issue #1262 keyValues/simplified input format for PATCH /entities/{entityId}
- Issue #1269 Fixed a bug in BATCH Upsert
- Issue #1287 Fixed a bug in GET /entities/{entityId}?attrs=xxx, that always included 'location' in the response
- Issue #1297 Fixed a typo in a string (modifiededAt => modifiedAt)
- Issue #1307 Added the feature of "urn:ngsi-ld:request" to notifications (forwarding a header with its value from the initial request)
- Issue #1307 Implemented notifications for entity deletion, for DELETE /entities/{entityId}
- Issue #1312 Better error handling for a specific use case about RHS being 'null'
- Issue #1315 Ditto
- Issue #1316 Fixed a bug in sub-cache population for non-default tenant (issue #1315 is about the same)
- Issue #1317 Removed an unfortunate error message about "not a valid timestamp"
- Issue #1322 Default port for HTTPS is 443, for HTTP: 80
- Issue #1322 Fixed an error in subscription stats (for -experimental)
- Issue #1322 Implemented better notification response reception and much better log messages
- Issue #1340 Fixed a dangling pointer bug
- Issue #1343 Added the HTTP header (well, for mqtt notfications also) 'Host' for notifications
- Issue #1344 Accepting hyphen as a valid character for a tenant
- Issue #1348 Unsupported value added to mongodb url (hyphen)
- Issue #1353 properties/relationships in regs is now propertyNames/relationshipNames in all responses for GET Regs
- Issue #1353 properties/relationships in regs now also supported as propertyNames/relationshipNames in requests for non experimental
- Issue #1356 Made Orion-LD accept a configurable max size for incoming/outgoing payload bodies