Skip to content

Releases: FIWARE/context.Orion-LD

Orion-LD v1.1.1

22 Sep 08:15
Compare
Choose a tag to compare

Minor bug fix: Issue #1227 - case insensitive matching for HTTP request headers

Orion-LD v1.1.0

29 Jul 17:03
Compare
Choose a tag to compare

Fixed Issues:

  • Issue #954 Broker crashes with too big attribute values (Orion-LD's limit for the size of an attribute value is 64k right now)
  • Issue #986 Username and Password for the mongo C driver connection to the MongoDB server
  • Issue #990 mongo::Timestamp support
  • Issue #989 Deprecated bson_append_symbol still in use - change for bson_append_utf8
  • Issue #992 Better implementation of existence check of entities (mongoEntityExists)
  • Issue #1010 Fixed bug related to parsing ISO8601 DateTime strings
  • Issue #1016 Fixed bug related to wrong context in response when input context is an array with a single URL
  • Issue #1015 Implemented 'Concise Input Format' support for all entity/attribute create/update endpoints
  • Issue #1030 Implemented 'Concise Output Format' support for GET /entities/{entityId} and GET /entities
  • Issue #1015 Implemented 'Concise Output Format' support for Notifications
  • Issue #1033 Fixed a bug about Concise GeoJSON returning an Invalid Geometry
  • Issue #1034 Fixed a bug about Array Reduction and Concise Attribute Format
  • Issue #1045 Fixed bug related to TRoE and creation of entity without attributes
  • Issue #1064 Can't forbid '#' in attribute names as it often expands with a hash and we support already expanded attribute names in the payload body
  • Issue #903 SSL connection, etc for mongoc - NOTE: not for legacy driver - only the new, experimental API endpoints (needs testing)
  • Issue #1151 GET /entities?id=X is NO LONGER translated to GET /entities/X - that was a BAD IDEA
  • Issue #280 POST Query was broken - fixed it, including correct treatment of language properties
  • Issue #280 Timestamp support in RANGE in 'q' for subscriptions
  • Issue #280 Support for NOT EQ for range in 'q' for subscriptions
  • Issue #280 New URI param "?local=true", to GET only local entities in GET /entities
  • Issue #280 Support for Prometheus metrics (4 counters for now)
  • Issue #280 Adding tenant to response wherever Location is present
  • Issue #1178 MQTT notifications also when "-notificationMode != threadpool"

New Features:

  • Concise input/output format - more compact but still lossless - see NGSI-LD API spec v1.6.1 for details
  • URI parameter options=simplified as an alias to options=keyValues
  • Support for the OPTIONS method for all NGSI-LD API endpoints
  • 'notifierInfo' and 'receiverInfo' for subscriptions

Replacing the deprecated MongoDB C++ Legacy driver with the newest MongoDB driver (mongoc v1.22.0):

  • Common functions for Getting and Listing tenants now use the new mongo driver
  • Common functions for Geo indices now use the new mongo driver
  • Common function for creation of the _id.id entities index now uses the new mongo driver
  • Using the tenant list when populating the subscription cache instead of querying the database (less Mongo C++ Legacy driver usage)
  • GET /subscriptions/{subId} now uses the subscription cache and no database access is done (less Mongo C++ Legacy driver usage)
  • GET /subscriptions now uses the subscription cache and no database access is done (less Mongo C++ Legacy driver usage)
  • Subscription Cache now uses mongoc and not the old legacy driver
  • Subscription Cache Counters are now updated using mongoc and not with the old legacy driver
  • PATCH subscriptions/{subId} now uses the new mongoc driver

Experimental Features

  • to turn on - start the broker with -experimental.
    Note that this is experimental implementations, not yet thoroughly tested.
    They all pass the basic functional tests, and seem to work just find, but, no promises made.
  • Fresh implementations of services using 'mongoc' (the new MongoDB driver) instead of mongoBackend+Legacy driver:
    • PUT /entities/{entityId} (not supported if -experimental is not used)
    • PATCH /entities/{entityId} (not supported if -experimental is not used)
    • POST /entities (two versions: legacy and mongoc - mongoc version if -experimental is used)
    • GET /entities (two versions: legacy and mongoc - mongoc version if -experimental is used)
    • GET /entities/{entityId} (two versions: legacy and mongoc - mongoc version if -experimental is used)
    • POST /subscriptions (two versions: legacy and mongoc - mongoc version if -experimental is used)
    • DELETE /subscriptions/{subId} (two versions: legacy and mongoc - mongoc version if -experimental is used)
  • Support for LanguageProperty attributes
  • Support for URI parameter 'observedAt' for PATCH /entities/{entityId} in combination with options=keyValues - update existing observedAt sub-attributes

1.0.1

18 Jan 08:25
0707521
Compare
Choose a tag to compare

Changes

  • introduces an automated release process
  • pushes a redhat certification compliant image

1.0.1-PRE-468

14 Jan 13:22
ec86be8
Compare
Choose a tag to compare
1.0.1-PRE-468 Pre-release
Pre-release

Changes

  • introduces an automated release process
  • pushes a redhat certification compliant image

1.0.0-PRE-460

14 Jan 12:33
ec86be8
Compare
Choose a tag to compare
1.0.0-PRE-460 Pre-release
Pre-release

Changes

  • introduces an automated release process
  • pushes a redhat certification compliant image

Orion-LD Version 1.0.0

17 Dec 08:47
27d6c8b
Compare
Choose a tag to compare

This is the first official release of Orion-LD NGSI-LD Context Broker.

Detailed information on the release found in the 1.0.0 release doc.

Changelog from latest beta release (0.9.0):

  • Issue #885 Batch Ops responds with a corrupted payload body if Accept: application/ld+json - fix respond with application/json
  • Issue #280 Added a debugging service '/ngsi-ld/ex/v1/ping'
  • Issue #280 Performace: saving all DB collection paths ONCE in a tenant-struct instead of creating them before each and every use
  • Issue #892 Broker able to receive and act upon NGSI-LD notifications - very first implementation - needs further testing
  • Issue #280 Changed the distro for docker images from Debian Stretch to Ubuntu 20.04 - for security and performance reasons
  • Issue #897 Fixed a bug in the forwarding mechanism
  • Issue #280 Added an URL param 'subscriptionId' to notifications - for ACL in notifications
  • Issue #907 CLI param '-noNotifyFalseUpdate' for "no notification when no actual modification has been done"
  • Issue #280 Added mongo server version to NGSI-LD version output + better order in the output
  • Issue #890 Added check for presence of notification::endpoint when creating subscriptions
  • Issue #899 Authorization HTTP header supported for forwarding
  • Issue #914 Bug fix for double @context member for GET /attributes?details=true and GET /attributes/{attrName}
  • Issue #280 HTTP header NGSILD-Tenant (not FIWARE-Service) in notifications on NGSI-LD subscriptions
  • Issue #922 Dynamic allocation of GeoProperties array
  • Issue #917 No notification when a compound value is updated without modification
  • Issue #926 GET local location of a cached context using URI params location and url - to be able to refresh it in the context cache
  • Issue #926 DELETE /contexts/ now also accepts complete URL as "contextId"
  • Issue #926 DELETE /contexts/ able to reload contexts (URI param ?reload=true)
  • Issue #938 Query on Date-like strings or Datetime
  • Issue #925 Bigger char buffer for -troeHost CLI param
  • Issue #937 Fixed a Compilation Error in Ubuntu 20.04, RELEASE compilation
  • Issue #280 Changed values of HTTP header 'Ngsiv2-Attrsformat' from e.g. 'x-ngsiv2-normalized' to just 'normalized'
  • Issue #280 Fixed a problem with the tenant cache for when more than one broker runs against the same DB
  • Issue #280 Issue telefonicaid#4012 of Orion repo - HTTPS Key/Certificate max size

Beta 3

28 May 10:35
Compare
Choose a tag to compare

This is the Beta 3 release of Orion-LD, an NGSI-LD context broker.

New features with respect to Beta 2 are:

  • PATCH requests now support the MIME type application/marge-patch+json
  • datasetId for:
    • PATCH /entities/{EID}/attrs/{attrName}
    • DELETE /entities/{EID}/attrs/{attrName}
  • GET /attributes
  • GET /attributes?details=true
  • GET /attributes/{attrName}
  • GET /types/{typeName}
  • POST /temporal/entities
  • Services for the @context store/cache that the broker maintains:
    • GET /ngsi-ld/v1/jsonldContexts - to get a list of the contexts in the store/cache (?details=true also supported)
    • GET /ngsi-ld/v1/jsonldContexts/{contextId} - to serve an @context
    • POST /ngsi-ld/v1/jsonldContexts - to ask the broker to host an @context
    • DELETE /ngsi-ld/v1/jsonldContexts/{contextId} - to delete an @context from the context store
    • And most importantly, the broker now persists the contexts in DB, so they survive a restart

Get it on dockerhub

Complete List of fixes (since Beta 2):

  • Issue #280 Fixed the response (HTTP Status and payload data) for Batch Create according to update in NGSi-LD API spec
  • Issue #280 PATCH ops now support the MIME type 'application/marge-patch+json'
  • Issue #280 Removed check for forbidden characters of entity type when inside the payload body
  • Issue #280 Better URI validity test
  • Issue #280 NGSI-LD entity update requests now provoke notifications regardless on whether any actual change has been done on the entity
  • Issue #280 Implemented datasetId for PATCH /entities/{EID}/attrs/{attrName}
  • Issue #280 Implemented datasetId for DELETE /entities/{EID}/attrs/{attrName} (supporting URI params 'datasetId' and 'deleteAll')
  • Issue #280 Implemented GET /attributes, but only without details=true
  • Issue #280 Slightly increased response from Batch Upsert
  • Issue #280 Implemented system attributes (createdAt, modifiedAt) for sub-attributes
  • Issue #280 Implemented POST /temporal/entities - to add entities to TRoE without actually creating any entity (for the current state)
  • Issue #803 Correct HTTP Status Codes for Batch Upsert (201/204/207) according to NGSI-LD v1.3
  • Issue #806 Implemented GET /attributes?details=true
  • Issue #280 Implemented GET /attributes/{attrName}
  • Issue #280 Implemented GET /types/{typeName}
  • Issue #807 Important change in context cache - inline contexts are no longer stored in cache
  • Issue #280 Experimental implementation of GET /ngsi-ld/v1/contexts (with and without details) - yet to be defined in the NGSI-LD API
  • Issue #280 Experimental implementation of GET /ngsi-ld/v1/contexts/{contextId} - yet to be defined in the NGSI-LD API
  • Issue #280 Experimental implementation of POST /ngsi-ld/v1/contexts - yet to be defined in the NGSI-LD API
  • Issue #280 Experimental implementation of DELETE /ngsi-ld/v1/contexts/{contextId} - yet to be defined in the NGSI-LD API
  • Issue #280 Persisting contexts from the cache in mongo
  • Issue #280 Added support for MultiPoint in TRoE
  • Issue #854 The name of the "value" field was missing in sub-attrs of array or object type in notifications, e.g. "": [1,2,3], instead of "value": [1,2,3]

Orion-LD Beta 2

19 Mar 12:58
Compare
Choose a tag to compare

This is the Beta 2 release of Orion-LD, an NGSI-LD context broker.

New features with respect to Beta 1 are:

  • geo+json format supported for:
    • entity retrieval
    • entity query
    • notifications
  • Temporal Representation of Entities (in a experimental state)
  • Improved Performance
  • Bug Fixes

Get it on dockerhub

Complete List of fixes (since Beta 1):

  • Issue #280 Implemented a native function for conversion from BSON to a KjNode tree - to gain performance
  • Issue #280 Implemented GET /types with options=details
  • Issue #280 Much faster response rendering function, giving a performance bump
  • Issue #280 GeoJSON formatted response for GET /entities and GET /entities/{EID}, if Accept header set to "application/geo+json"
  • Issue #280 GeoJSON formatted notifications, if notification:endpoint:accept is set to "application/geo+json"
  • Issue #280 Some requests don't use the @context - e.g. DELETE /entities/{entityId} - those requests now ignore the context
  • Issue #280 username, password, and QoS for MQTT notifications - not very tested
  • Issue #280 Custom headers for MQTT notifications (using receiverInfo)
  • Issue #280 Included notification::httpInfo::receiverInfo in subscription retrieval
  • Issue #280 Fixed a bug about geo+json subscriptions returning the wrong Mime Type (in the notification::endpoint::accept field)
  • Issue #732 Fixed the response payload body for GET /types when no types found
  • Issue #280 Important concurrency fix - avoiding to download the same context more than once
  • Issue #737 Removed the check for forbidden characters in variable names in the 'q' URL parameter
  • Issue #280 Fixed the response code and payload body of BATCH Delete
  • Issue #280 GET /entities?coordinates=[] didn't allow for the altitude to be present
  • Issue #280 Bugfix - location was not included in the response for GET /entities?attrs=X,location

Bugfix 1 for Alpha-6

28 Jan 07:27
Compare
Choose a tag to compare

Fixed a bug regarding geo attribute 'location' in subscriptions

Alpha-6

25 Jan 16:47
Compare
Choose a tag to compare
  • Issue #280 Made GET /entities?id=EID call the service routine for /entities/{EID}, if just one single entity id
  • Issue #280 Unified all timestamps, with one single call to clock_gettime()
  • Issue #550 Added a new notification format for NGSI-LD subscriptions, to notify in NGSIv2 format
  • Issue #553 Forwarding X-Auth-Token
  • Issue #565 Ability to start broker with traces only to stdout
  • Issue #280 Batch Upsert with options=update didn't do what it should - it replaces instead of updates the entities
  • Issue #573 URI Check less restrictive than before
  • Issue #280 Modify GET /ngsi-ld/v1/types according to the new NGSI-LD spec (1.3.1)
  • Issue #280 Fixed Batch Update without options=noOverwrite (didn't replace attributes - now it does)
  • Issue #280 Implemented Batch Update with options=noOverwrite
  • Issue #280 Default mongo request mutex policy changed from 'all' to 'none'
  • Issue #586 Stopped using gtime(), that is not reentrant - gtime_r() is used instead
  • Issue #XXX External contributor "@manaty226" fixed an important bug about subscriptions after broker restart - Thanks!
  • Issue #605 ORIONLD_MONGO_HOST env var is not parsed correctly - made the buffer for the CLI '-dbHost' bigger (64 -> 1024)
  • Issue #559 External contributor "@manaty226" fixed notification on PATCH Entity, updating attributes - Big Thanks!
  • Issue #622 unitCode not correctly rendered in NGSI-LD notifications
  • Issue #623 "cross-notifications" NGSI-LD to NGSI-V2 with compacted data (attribute names and entity types)
  • Issue #652 BATCH Delete with more than one item for the same entity id
  • Issue #655 BATCH Create with more than one item for the same entity id
  • Issue #658 BATCH Upsert+Replace with more than one item for the same entity id
  • Issue #660 BATCH Upsert+Update with more than one item for the same entity id
  • Issue #280 BATCH Update with more than one item for the same entity id
  • Issue #599 Started with Temporal Representation of Entities (ongoing and highly experimental)
  • Issue #280 Made FORWARDING optional - off by default (use CLI -forwarding to turn it on) - for performance reasons