Fiware Orion Versions Save

Context Broker and CEF building block for context data management, providing NGSI interfaces.

3.12.0

2 months ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.12.0/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.12.0/doc/manuals/orion-api.md

NOTE: this version deprecates -dbhost, -rplSet, -dbTimeout, -dbuser, -dbAuthMech, -dbAuthDb, -dbSSL and -dbDisableRetryWrites CLI parameters along with associated env vars, so you are highly encouraged to use -dbURI (env var ORION_MONGO_URI) instead. Have a look to this documentation section if you need help to migrate the configuration.

Changes (since 3.11.0)

  • Fix: service path levels with 0 length should not be allowed (#4495)
  • Fix: changed the default value of -dbTimeout to 0 to resolve conflict with -dbURI (#4496)
  • Fix: wrong INFO startup log showing ORION_MONGO_TIMEOUT, ORION_IN_REQ_PAYLOAD_MAX_SIZE and ORION_OUT_REQ_MSG_MAX_SIZE env var values (#4496)
  • Fix: return 400 Bad Request when subject.entities exists but it is an empty array (#4499)
  • Deprecate: -dbhost, -rplSet, -dbTimeout, -dbuser, -dbAuthMech, -dbAuthDb, -dbSSL and -dbDisableRetryWrites CLI parameters along with associated env vars (use -dbURI instead`)

Thanks to the following people that contributed to this version:

@goten002 @ArqamFarooqui110719 @fisuda

3.11.0

3 months ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.11.0/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.11.0/doc/manuals/orion-api.md


IMPORTANTE NOTE: location metadata to specify entity location (deprecated in Orion 1.1.0 in May 2016) has been removed. In order to know if you have some entity using that feature you can use the entities consistency script. Do a check before upgrading using Rule94 (detect usage of not redundant legacy location), this way:

entities_consistency.py --mongoUri mongodb://<your MongoDB connection string> --logLevel INFO --rules-exp Rule94

if you find some entity violating that rule, then apply the Rule94 suggested actions to fix it:

  • Change attribute type to geo:json
  • Set the attribute value to the same GeoJSON in location.coords field
  • Remove the location metadata from the attribute

Changes (since 3.10.0):

  • Add: notification.mqtt.retain and notification.mqttCustom.retain flag for MQTT retain in notifications (#4388)
  • Add: CLI parameter -dbUri / env var ORION_MONGO_URI (#3794)
  • Add: servicePath field to builtin attributes (#2877)
  • Add: notification payload in INFO log traces (#4449)
  • Add: log deprecation traces for usage of legacyForwarding mode in registrations
  • Add: log deprecation traces for usage of attrsFormat legacy in subscriptions
  • Add: deprecatedFeatures counters block in GET /v2/statistics
  • Fix: correctly detect JSON attribute and metadata value changes in subscription triggering logic (#4211, #4434, #643)
  • Fix: do not show dateExpires built-in attribute in GET /v2/types and GET /v2/types/{type} operations (#4451)
  • Fix: builtin attributes alterationType, dateCreated and dateModified included in notifications even when onlyChangedAttrs is true
  • Fix: update forwarding was not working when entity type is not included in the request (#4460)
  • Fix: DateTime and geo:json types were not supported in custom notifications using ngsi patching (#4435)
  • Fix: in custom notification NGSI payload patching macro subscription covering completely the string where is used, always cast to string for id/type (#4462)
  • Fix: on delete attributes operation, the lack of attribute in entity doesn't preclude the deletion of attributes which do exist (this way behaving same way as update attributes operation)
  • Fix: POST /v2/entities/E/attrs?options=append was wrongly creating entities
  • Fix: provide more informative error description in some error responses in update/delete operations
  • Fix: proper use of "PartialUpdate" (instead of "Unprocessed") in responses in the case of partial updates/deletions (#3499)
  • Fix: response 404 Not Found "NotFound" errors instead of 422 Unprocessable Content "Unprocessed" in the case of missing attribute in existing entity in attribute update operations
  • Fix: "Internal Server Error" changed to "InternalServerError" in error responses
  • Fix: improve logs in MongoDB query logic
  • Fix: logDeprecate not working correctly (geo:json wrongly considered as deprecated) (*)
  • Fix: false positive in log deprecation logic when entity name (or other literal) includes the token "v1" (#4454)
  • Fix: improve error traces (#4387)
  • Hardening: upgrade libmongoc dependency from 1.23.1 to 1.24.3
  • Reference MongoDB version changed from 4.4 to 6.0
  • Reference distribution changed from Debian 11 to Debian 12
  • Upgrade Debian version from 11.6 to 12.4 in Dockerfile
  • Remove: deprecated NGSIv1 location metadata to specify entity geo-location

(*) Also included in hotfix version 3.10.1

3.10.1

11 months ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.10.1/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.10.1/doc/manuals/orion-api.md

Changes (since 3.10.0):

  • Fix: logDeprecate not working correctly (geo:json wrongly considered as deprecated)

3.10.0

11 months ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.10.0/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.10.0/doc/manuals/orion-api.md

Most of the deprecated NGSIv1 API has been removed in this version. Only 7 requests (still used in some legacy deployments) have been kept. However, you are highly encouraged to not use them, as they could be also removed soon. Please use NGSIv2 equivalent operations.

Changes (since 3.9.0):

  • Add: option to change deprecate log setting in the REST management API
  • Fix: decimal rounding in some cases was generating wrong JSON in query responses and notifications (#4346)
  • Fix: pagination support in request query forwarding to Context Providers (#4149, #847, #1647)
  • Fix: count option not working when georel=near was in use (500 error was returned)
  • Fix: maxFailsLimit didn't work in some cases when update subscription is done just after cache refresh (only when csubs cache is enabled)
  • Fix: conditions.notifyOnMetadataChange false not working if condition.attrs is empty
  • Deprecate: geo:json, geo:line, geo:box and geo:polygon attribute types (use geo:json instead)
  • Remove: all NGSIv1 operations (deprecated in Orion 2.0.0) except the following ones
    • PUT /v1/contextEntities/{id}
    • DELETE /v1/contextEntities/{id}
    • GET /v1/contextEntities/{id}/attributes/{name}
    • POST /v1/updateContext
    • POST /NGSI10/updateContext
    • POST /v1/queryContext
    • POST /NGSI10/queryContext

3.9.0

11 months ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.9.0/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.9.0/doc/manuals/orion-api.md

Note most of the old NGSIv1 API is going to be removed in next version (3.10.0). NGSIv1 was deprecated in Orion 2.0.0 (released in September 2018, more than 4 years ago). You can use the new -logDeprecate CLI to inspects you current usage of this deprecated API (more info here)

Changes (since 3.8.0):

  • Add: new simplifiedNormalized and simplifiedKeyvalues for attrsFormat (#4286)
  • Add: subject.condition.notifyOnMetadataChange field to subscriptions, so only-metadata changes doesn't trigger notifications (#3727)
  • Add: support for update operators ($set, $addToSet, etc.) in entity creation and replace (#3814, re-opened)
  • Add: -mqttTimeout (env var ORION_MQTT_TIMEOUT) for MQTT broker connection timeout (*)
  • Add: -disableNgsiv1 (env var ORION_DISABLE_NGSIV1) to disable NGSIv1 API requests
  • Add: -logDeprecate (env var ORION_LOG_DEPRECATE) to log deprecate usages at WARN level
  • Fix: alterationType with entityDelete not working if condition.attrs is empty (#4326)
  • Fix: $set/$unset update operator not working properly when the key has dots (#4315)
  • Fix: queue workers deadlock when MQTT broker was not responding to connection attempt (*)
  • Fix: Ngsiv2-AttrsFormat header set to "normalized" in NGSI patching custom notification (*)
  • Fix: memory access potential problem in GET /log/trace request when tracelevel 255 is enabled
  • Fix: Orion should return error and refuse to start when port is negative (#3875)
  • Fix: subscription autodisable based on maxFailsLimit not working when fails does not happen within the same csubs cache refresh cycle
  • Fix: incorrectly sum stale failsCounter from database when subscription has started to work again (only when csubs cache is enabled)
  • Fix: MQTT disconnection when MQTT publish fail (so re-connection is forced at next MQTT notification)
  • Fix: lineMaxSize and infoPayloadMaxSize in the log admin REST API (#3707)
  • Fix: check for service database name too long at cache sync logic (#2848)
  • Hardening: upgrade microhttpd dependency from 0.9.73 to 0.9.76

(*) Also included in 3.8.1

3.8.1

1 year ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.8.1/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.8.1/doc/manuals/orion-api.md

Changes (since 3.8.0):

  • Add: -mqttTimeout (env var ORION_MQTT_TIMEOUT) for MQTT broker connection timeout
  • Fix: queue workers deadlock when MQTT broker was not responding to connection attemp
  • Fix: Ngsiv2-AttrsFormat header set to "normalized" in NGSI patching custom notification

3.8.0

1 year ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.8.0/

NGSIv2 API reference: https://github.com/telefonicaid/fiware-orion/blob/3.8.0/doc/manuals/orion-api.md

Changes (since 3.7.0):

  • Add: json field in httpCustom and mqttCustom subscriptions to implement JSON-based payloads in notifications (#2560)
  • Add: ngsi field in httpCustom and mqttCustom subscriptions to implement NGSI payload patching in notifications (#4085)
  • Add: ${service}, ${servicePath} and ${authToken} macros in custom notifications (#4159)
  • Add: "Authorization" in CORS allowed headers (#4249)
  • Add: requestLegacy counters in GET /statistics response
  • Fix: conditions.alterationTypes not working properly when conditions.attributes is used in entityUpdate case (#1494, reopened)
  • Fix: GET /v2/types and GET /v2/types/{type} wrong attribute types result (#4216)
  • Fix: reset measuring_interval_in_secs correctly reset upon DELETE /statistics (#4233)
  • Fix: version request correctly recorded in statistics API (in "/version".GET instead than in separated versionRequests counter) (#4233)
  • Fix: GET /v2/registrations/{regId} was wrongly returning 200 OK instaed of 404 Not Found in case of non existing registration (#4235)
  • Fix: GET /statistics counters requests now use URLs intead of symbolic names
  • Fix: replace $where operator by $expr in subscription query logic in the -noCache case (#4148)
  • Upgrade Debian version from 11.2 to 11.6 in Dockerfile
  • Hardening: upgrade microhttpd dependency from 0.9.70 to 0.9.73
  • Hardening: upgrade libmosquitto dependency from 2.0.12 to 2.0.15
  • Hardening: upgrade libmongoc dependency from 1.17.4 to 1.23.1
  • Deprecated: GET /v2 operation
  • Remove: rendundant routes in administrative REST API not aligned with documentation
  • Remove: /ngsi9 URL paths (deprecated since Orion 1.2.0)
  • Remove: RPM package stuff

3.7.0

1 year ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.7.0/

NGSIv2 API reference (v2.0): http://telefonicaid.github.io/fiware-orion/api/v2/stable

WARNING: this release is the last one supporting RPM packaging. In addition, note that in the FIWARE Technical Steering Committee on May 23rd, 2022 the FIWARE Foundation decided the shutdown of their yum repositories so they probably go offline soon.

Changes (since 3.6.0):

  • Add: conditions.alterationTypes subscription fuctionality (#1494)
  • Add: alterationType built-in atrribute in notifications (#1494)
  • Add: covered notifications in subscriptions (#3693)
  • Add: support for Feature and FeaturesCollection GeoJSON types (normalizing geometries) in entity locations (#4114)
  • Add: support to null element in string list filters (e.g. q=A:foo,null) (#4120)
  • Add: improve BadInput logs with extra information when available (#4121)
  • Add: debug tracelevel (-t 56) to get information when regex compilation fails (#4098)
  • Add: Docker healthcheck based on context broker API
  • Fix: allow limit=0 in all paginated operations in the NGSIv2 API (entities, entity types, subscriptions and registrations) (#1492)
  • Fix: wrong log traces in update forwarding cases
  • Fix: memory leak in MQTT connection management logic when connection to MQTT broker cannot be established
  • Reference distribution changed RHEL/CentOS 8 to Debian 11

3.6.0

2 years ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.6.0/

NGSIv2 API reference (v2.0): http://telefonicaid.github.io/fiware-orion/api/v2/stable

NOTE: default metadata update semantics has changed in this version. Have a look to this section in documentation about the change. If you want to keep the old behaviour, you have to use overrideMetadata option (eg. POST /v2/op/update?options=overrideMetadata).

Changes (since 3.5.0):

  • Add: ignoreType metadata so Orion ignores attribute type semantic (supported by geo-types at the present moment) (#4032) (*)
  • Add: URL decode in header values in custom notifications (#4071)
  • Add: new option overrideMetadata to change default update attribute behaviour (#4033)
  • Fix: attribute update doesn't override metadata by default (new option overrideMetadata has to be used for that) (#4033)
  • Fix: unify error traces with "Runtime Error" (some of them where using "Internal Error" or "Orion Bug")
  • Fix: increase severity to ERROR in some WARN traces actually meaning Runtime Error conditions
  • Fix: ForwardingError alarm logic, which was missing in some cases
  • Fix: cache status not correctly updated when several CBs are working in parallel (#4069)
  • Fix: over-updating csubs cache (#4063)

(*) Also included in release 3.5.1

3.5.1

2 years ago

Full documentation at: http://fiware-orion.readthedocs.io/en/3.5.1/

NGSIv2 API reference (v2.0): http://telefonicaid.github.io/fiware-orion/api/v2/stable

This release includes a feature that was missed in 3.5.0. It's not actually a "hotfix" release (in the sense it is not fixing any critical bug).

Changes (since 3.5.0):

  • Add: ignoreType metadata so Orion ignores attribute type semantic (supported by geo-types at the present moment) (#4032)