Skip to content

Orion-LD v1.2.0

Compare
Choose a tag to compare
@kzangeli kzangeli released this 03 May 14:07

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