Skip to content

Releases: telefonicaid/fiware-orion

1.4.0

30 Sep 10:07
Compare
Choose a tag to compare

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

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

Changelog (since 1.3.0):

  • Add: notification metadata previousValue and actionType (except 'delete') (#2507)
  • Add: filtering metadata in notifications (#2507)
  • Fix: removed spurious decimals in metadata numbers in NGSIv1 rendering (a follow up of #2176)
  • Fix: wrong attributes included in notifications at subscription update time in some cases (both in blacklist and not blacklist cases)
  • Fix: csub cache wrong deletion of subscription at subscription update time when new subscription has empty condition attributes list
  • Fix: crash when creating entity with metadata when subscription is in place with "mq" on a different metadata (#2496)
  • Fix: correct rendering of metadata compound values when a vector (bugfix for issue #1068)
  • Fix: crash with request with empty URI PATH (#2527)
  • Fix: supporting DateTime filters for metadata (#2443, #2445)
  • Fix: wrong matching in metadata existence and not existence filters with compounds
  • Fix: missing expression sub-fields (q, etc.) in csubs makes Orion to crash (*)
  • Hardening: ensure to use type oriented functions when getting data from DB (safer, but more verbose in error log if DB is not perfectly aligned with what Orion is expecting)

(*) Included also in version 1.2.3.

1.2.3

22 Sep 11:20
Compare
Choose a tag to compare

Changelog (since 1.2.2):

  • Fix: missing expression sub-fields (q, etc.) in csubs makes Orion to crash

1.2.2

14 Sep 11:31
Compare
Choose a tag to compare

Changes (since 1.2.1):

  • Hotfix: remove attribute detail in get types operations (only NGSIv2 API) (hardwired solution for #2073)

1.3.0

02 Sep 08:37
Compare
Choose a tag to compare

Important note: the DB model has changes regarding the previous version. Thus, a migration procedure on existing data has to be applied (or DB has to be dropped), see details here. Not applying this procedure could make CB to crash.

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

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

Changelog (since 1.2.0):

  • Add: support for geometry, coords and georel in NGSIv2 subscriptions (AKA geo-subscriptions) (#1678)
  • Add: Type pattern for subscriptions (#1853)
  • Add: New param 'mq' (both in URI param for list all entities operation and expression sub-field in subscriptions) for matching in metadata (#1156)
  • Add: FIWARE::StringQuery::Metadata scope (#1156)
  • Add: q-string filters for compound values of attributes, both for queries and subscriptions (#1156)
  • Add: mq-string filters for compound values of metadata, both for queries and subscriptions (#1156)
  • Add: accepting compound values for metadatas (#1068)
  • Add: GET /admin/log operation to retrieve log level (#2352)
  • Add: new operation: GET /admin/sem, to see list of the brokers semaphores (#2145)
  • Fix: NGSIv2 subscriptions payload validation (#1946, #1964, #1965, #1967, #1973, #1974, #1975, #1979, #1980, #1981, #1983, #1984, #1986, #1988, #1999, #2000, #2006, #2007, #2018, #2093, #2095, #2099, #2100, #2184)
  • Fix: Return error on NGSIv1 register requests with entity isPattern set to "true" (#2332)
  • Fix: UTC as time in log file (#2232) (*)
  • Fix: Removed capping in NGSIv2 update forwarding (#2193) (*)
  • Fix: In some cases, compound attribute values were forwarded as empty strings (#2237) (*)
  • Fix: attribute overwritten when JSON value used in PUT /v2/entities/{eId}/attrs/{attrName}/values (#2246 and #2248) (*)
  • Fix: error returned if a NGSIv2 subscription contains no id nor idPattern (#1939)
  • Fix: subscription equal filter evaluation on update context logic (#2222) (*)
  • Fix: capturing invalid id patterns at json parse time for v2 subscriptions - this bug made the broker crash when receiving invalid id-patterns (#2257) (*)
  • Fix: out-of-NGSI service not found error now using 400 Bad Request HTTP response code (instead of 200 OK). Error message has been unified to "service not found" in all cases (#1887).
  • Fix: using 404 Not Found - PartialUpdate error when NGSIv2 forwarded update is partially done (previously 204 No Content was used, without providing actual informaton about the partial update)
  • Fix: CPrs responding with not NGSIv1-compliant messages was progressed to clients as 204 Not Content in NGSIv2 update forward scenarios (now responding with 404 Not Found)
  • Fix: NGSIv2 "attribute already exists" error case was wrongly using 400 Bad Request, now it uses 422 Unprocessable Entity (according to rules defined in #1286)
  • Fix: NGSIv2 "duplicated attribute (in request)" error case was wronly using 422 Unprocessable Entity, now it uses 400 Bad Request (according to rules defined in #1286)
  • Fix: NGSIv2 "entity does not have such attribute" error case was wrongly using "requested entity has not been found" descriptions (#1890)
  • Fix: missing error payload for NotFound error in 'PUT /v2/entities/{eId}/attrs/{attrName}' and 'PUT /v2/entities/{eId}/attrs/{attrName}/value' operations (#1909)
  • Fix: missing error payload for TooManyResults error in 'DELETE /v2/entities/{eId}' operation (#1346)
  • Fix: correctly rending as JSON error responses that were being rendered as plain text (#1989, #1991)
  • Fix: NGSIv2 "InvalidModification" errors changed to "Unprocessable" (according to rules defined in #1286)
  • Fix: Using default values for types of Entities, Attributes, and Metadata aligned with the type names used by schema.org (#2223)
  • Fix: Allowing trailing semicolon in a string filter, but only one (#2086)
  • Fix: NGSIv2 geoquery syntax errors using 400 Bad Request instead of 422 Unprocessable Entity (according to rules defined in #1286)
  • Fix: NGSIv2 URI PATH must be all in lowercase, otherwise "service not found" (#2057)
  • Fix: A bug fixed in URI param 'q', avoiding false matches when using string match operator (~=) that matches AND some operator that does not match.
  • Fix: no longer accepting 'keyValues-style' values for metadatas (e.g. "metadata": { "m1": 6 } )
  • Fix: GET /v2/subscriptions/subId error for non existing subscriptions (now using 404 Not Found, previously using 400 Bad Request)
  • Fix: 472 Unknown returned as HTTP status code by POST /v2/op/update in some cases (now using 404 Not Found).
  • Fix: Correctly returning error on present but empty attribute types in PATCH v2/entites/{id} operation (#1785)
  • Fix: Error returned on encountering non-existing attributes in PATCH /v2/entities/{id}/attrs (#1784)
  • Fix: Fixed a bug about string lists in URI parameter 'q' (strings treated as numbers, if possible. E.g. '123' => 123)
  • Fix: use X-Real-IP header as preferred option for from= field in log traces (#2353)
  • Fix: use op= instead of function= in log traces (along with moving the file/line identification from msg= to op=) (#2353)
  • Fix: reorder field in log traces lo align with IoTP Operations requirements (#2353)
  • Fix: using WARN log level instead of WARNING log level to align with IoTP Operations requirements (#2353)
  • Fix: Fixed metadata rendering in NGSIv1, so that the JSON data type is taken into account and not empty string is returned for non-string values (#1068, just a part of it)
  • Fix: Fixed a bug about lists in URI parameter 'q' (last list item was skipped)
  • Fix: render float values with 9 digits precision in all cases, avoding spurious decimals (#2207, #2176, #2383)
  • Fix: Error payload returned on encountering non-existing entity/attribute in PUT /v2/entities/{entity-id}/attrs/{attr-name} (#1360)
  • Fix: Added citation marks surrounding strings as response in text/plain.
  • Fix: Return NGSIv2 error if citation-mark is missing in PUT /v2/entities/{id}/attrs/{attrName}/value payload for plain text (previously it was NGSIv1 error format) (#2386)
  • Fix: invalid regex patterns detection (#968)
  • Fix: Better error returned on invalid geoquery (#2174)
  • Fix: Better error returned on attribute not found in GET /v2/entities/{entity-id}/attrs/{attr-name}/value (#2220)
  • Fix: Metadata identification based on just name instead of name+type (metadata representation at DB changed from vector to object) (#1112)
  • Fix: Bug in log level configuration via REST fixed, and log levels in broker modified (#2419)
  • Fix: Distinguish between strings and numbers in q string filter (#1129)
  • Fix: proper response for 'GET /v2/entities/{id}?attrs=' and 'GET /v2/entities/{id}/attrs?attrs={attrName}' when {attrName} doesn't exist (#2241)
  • Fix: Rendering problems in metadata vector (#2446)
  • Fix: correct error response for missing value in URI param in /admin/ requests (#2420)
  • Fix: In error responses for ngsi9 registrations, the duration is no longer rendered.
  • Fix: Do not allow forbidden chars in description for subscription (#2308)
  • Fix: Correct error returned when trying to replace a non-existing attribute in PUT /v2/entities/{entity-id}/attrs/{attr-name} (#2221)
  • Fix: Empty string detection for entity id, entity type and attribute name in NGSIv2 request URLs (#1426, #1487)
  • Fix: Trailing slashes in URI path no longer silently removed, but considered and giving adequate error responses
  • Fix: Initial notifications were counted twice when running with subscription cache (which gave erroneous timesSent in GET /v2/subscriptions/{subId})
  • Fix: Avoid rendering at the same time id and idPattern fields in NGSIv2 subscriptions
  • Fix: Error returned on GET/DELETE requests specifying Content-Type (#2128)
  • Fix: Error responses with '405 Method Not Allowed' now return payload to describe the error, for v2 requests only (#2075, #2078 and #2083)
  • Fix: Implemented more sofisticated HTTP Accept Header handling (#1037, #1849, #1886, #2175, and #2208)
  • Hardening: csubs data model simplification, using a list of attributes for "conditions" instead of a complex structure (#1851)

(*) Included also in version 1.2.1.

1.2.1

16 Jun 11:07
Compare
Choose a tag to compare

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

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

Changelog (since 1.2.0):

  • Fix: UTC as time in log file (#2232)
  • Fix: Removed capping in NGSIv2 update forwarding (#2193)
  • Fix: In some cases, compound attribute values were forwarded as empty strings (#2237)
  • Fix: attribute overwritten when JSON value used in PUT /v2/entities/{eId}/attr/{attrName}/values (#2246 and #2248)
  • Fix: subscription equal filter evaluation on update context logic (#2222)
  • Fix: capturing invalid id patterns at json parse time for v2 subscriptions - this bug made the broker crash when receiving invalid id-patterns (#2257)

1.2.0

02 Jun 14:27
Compare
Choose a tag to compare

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

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

  • Add: notification attributes blacklist for NGSIv2 notifications (#2064)
  • Add: NGSIv2 custom notifications (#2015)
  • Add: -disableCustomNotification CLI to disable custom notification functionality (#2135)
  • Add: 'values' option for GET /v2/types operation (#1170)
  • Add: ':' as alias for '==' in the NGSIv2 Simple Query Language (#1903)
  • Fix: NGSIv2 header name change: X-Total-Count -> Fiware-Total-Count (#2124)
  • Fix: NGSIv2 header name change: X-Ngsiv2-AttrsFormat -> Ngsiv2-AttrsFormat (#2124)
  • Fix: crash in multi-token query string when attribute value regex comes in first place (#2164)
  • Fix: crash when updating entities which corresponding document at DB is somehow large (#2112)
  • Fix: several fixes related with 'attrsFormat' subscription field in NGSIv2 API (#2133, #2163)
  • Fix: bug disabling throttling when creating a v2 subscription (#2114)
  • Fix: wrong text payload when subscription string filter error occurs (#2106)
  • Fix: total count return in GET /v2/types operation (#2115)
  • Fix: -noCache now avoids populating cache on create/update subscription operations (#2147)
  • Fix: accessing to csub cache in update subscription logic to update count and lastNotification without taking semaphore (#2146)
  • Fix: potential bug in internal logic at NGSIv2 GET subscription operations, possibly provoking crashes
  • Fix: New keyword "DateTime" to replace "date" for attributes that express date/time (#2198)
  • Fix: Improved error text "ContentLengthRequired" to replace "LengthRequired" (#2198)
  • Fix: POST /v2/op/query was not supporting FIWARE::Location::NGSIv2 filters
  • Fix: Expression lost after refreshing subscription cache (#2202)
  • Fix: Avoided a possible infinite loop in sub-cache synchronization function (subscriptions stopped working due to this bug)
  • Deprecated: /ngsi10 and /ngsi9 as URL path prefixes
  • Fix: throttling set to zero (#2030) (*)

(*) Added on July 8th. We realized about this bugfix after releasing the version.

1.1.0

03 May 13:25
Compare
Choose a tag to compare

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

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

Changelog:

  • Add: NGSIv2 notifications (#1875)
  • Add: ~= operator to simple query language in order to implement attribute value patterns (#978)
  • Add: string support in <, >, <=, >= and range filters (#1945)
  • Add: support for geo:line, geo:box and geo:polygon types as ways of specifying entity location in NGSIv2 (#1038)
  • Add: GeoJSON support as a way of specifying entity location in NGSIv2 (#1920)
  • Add: Add permanent subscriptions (#1949)
  • Add: pause subscriptions using the NGSIv2 API (#1328)
  • Add: description field for NGSIv2 subscriptions (#1918)
  • Add: change/add path /entities/{id}/attrs (#2028)
  • Add: Correlator as HTTP header and in log file (#1916)
  • Fix: updates on default service path entity causes wrong update in same id/type entity in not-default service path (#1956)
  • Fix: crash with some invalid subscriptions in NGSIv2 API (#1947, #1972)
  • Fix: csub cache sync logic not persisting lastNotification when the field doesn't initially exist in DB
  • Fix: csub cache at mongoBackend update context subscription logic wrongly setting expiration with current time, ignoring actual expires/duration in the request
  • Fix: GET /v2/types response payload, from key-map to array (#1832)
  • Fix: GET /v2/types response payload, now using array for attribute types (#1636)
  • Fix: using "/#" as default service path instead of "/" in subscriptions (#1961, #2024)
  • Fix: POST /v2/subscriptions, attributes in notification are optional (#1952)
  • Fix: no longer considering service (tenant) for subscriptions when broker is started without '-multitenant' CLI option (#1898)
  • Fix: NGSIv2 subscription payload (#2014)
  • Fix: right X-Total-Count in GET /v2/types operation (#2046)
  • Fix: right 404 Not Found response in GET /v2/types/{type} operation when type doesn't exist (#2056)
  • Fix: 'null' attribute value not surrounded by quotes (") in NGSIv1 renderings (#2058)
  • Fix: non-string attribute values were breaking JSON in attributeFormat=object mode (#2058)
  • Fix: JSON response in log management operations
  • Fix: capturing invalid URLs at subscription time (and returning error response) that otherwise would make Orion crash (#2092)
  • Deprecate: "location" metadata to specify entity location

1.0.0

29 Mar 12:49
Compare
Choose a tag to compare

Full documentation at: http://fiware-orion.readthedocs.org/en/1.0.0/

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

Changelog:

  • Add: new value for URI param 'options': unique - like 'values', but avoiding duplicates (Issue #1050)
  • Add: PUT /admin/log?level=XXX to change log level in run-time (Issue #1913)
  • Add: check min length for IDs in v2 (Issue #1836)
  • Fix: over-logging at error level due to not checking field existente in BSON objects
  • Fix: aggregating entities without type and type "" in same entry at GET entity types operation
  • Fix: DB error relog done at ERROR level (previously it was using WARNING)
  • Fix: check for invalid chars in attribute type (Issue #1847, #1844)
  • Fix: check for field too long in attribute type (Issue #1845)
  • Fix: check for metadatas with empty name (Issue #1438)
  • Fix: accepting backslash-slash in JSON v1 payload (Issue #1852)
  • Fix: PATCH /v2/entities correct interpretaion of null value and missing type in payload
  • Fix: PATCH /v2/entities missing value field (Issue #1789)
  • Fix: GET /v2/entities/id/attrs/name/value for type date (Issue #1885)
  • Fix: PUT /v2/entities/id/attrs/name/value forbidden chars (JSON) (Issue #1905)
  • Fix: PUT /v2/entities/id/attrs/name/value changing type to 'none' (text/plain) (Issue #1904)
  • Hardening: use safeMongo get*Field() methods in places not previously using them (mainly in csubs cache library)
  • Remove: deprecated functionality related with ONTIMEINTERVAL subscriptions
  • Remove: XML support (deprecated functionality) (Issue #1862)

0.28.0

29 Feb 11:15
Compare
Choose a tag to compare

This is the last version which includes XML support (deprecated since 0.23.0) and ONTIMEINTERVAL subscriptions support (deprecated since 0.26.0). If you are still using XML clients or notification receivers and/or ONTIMEINTERVAL subscriptions, you are highly encorauged to migrate to JSON and/or stop using ONTIMEINTERVAL subscriptions (details in the documentation).

Full documentation at: http://fiware-orion.readthedocs.org/en/0.28.0/

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

Changelog:

  • Add: implemented new operation: POST /v2/op/query (Issue #1080)
  • Add: implemented new operation: POST /v2/op/update (Issue #1715)
  • Add: orderBy URI param in NGSIv2 queries to sort entities by attribute, entity dates or proximity (Issue #1103)
  • Add: orderBy URI param in NGSIv1 queries to sort entities by attribute or entity dates (Issue #1103)
  • Add: options=values mode for entity queries in NGSIV2 (Issue #1049)
  • Add: NGSIv2 URI param 'georel' (along with 'geometry' and 'coords') proper support (Issue #1677)
  • Add: scope FIWARE::Location::NGSIv2 to allow using NGSIv2 geo-queries also with NGSIv1 (Issue #1677)
  • Add: support for geo:point type as a way of specifying location attribute in NGSIv2 (Issue #1038)
  • Add: date support in attribute values and q filters (Issue #1039)
  • Add: dateCreated and dateModified options to get entity creation and modification times as "virtual" attributes (Issue #876)
  • Add: ?type param for GET entity in v2 (Issue #915, #972, #990, #998)
  • Add: ?type param for DELETE entity in v2 (Issue #986, #994)
  • Add: ?type param for PATCH entity in v2 (Issue #980)
  • Add: ?type param for POST entity in v2 (Issue #982, #984)
  • Add: ?type param for PUT entity in v2 (Issue #988, #992, #1000)
  • Add: ?type URL parameter in Location header upon entity creation in NGSIv2 (Issue #1765)
  • Fix: error level traces ignoring -logLevel NONE
  • Fix: wrong over-logging at error level updating attributes having metadata without type
  • Fix: '+' supported in entity ids and names in URLs (Issue #1675)
  • Fix: libmicrohttpd 0.9.48 included in contextBroker as static lib (previous Orion versions used 0.9.22 as dynamic library) (Issue #1675)
  • Fix: list of attribute names in URI param 'type' (Issue #1749)
  • Fix: long servicepath component in NGSIv2 (Issue #1423, #1764, #1774)
  • Fix: syntax change in string query 'q' for exist and not-exist (Issue #1751)
  • Fix: sanity check for string query 'q' - detect 'left-hand-side missing' (Issue #1754)
  • Fix: more sanity checks for string query 'q' (q empty, parts of 'q' empty - parts of 'q' are separated by ';')
  • Fix: error message when updating attribute value for two entities with same id (Issue #1387)
  • Fix: bug causing false not-a-number when it really is a valid number (very very rarely)
  • Fix: not detecting forbidden chars in entityID for PATCH v2 (Issue #1782)
  • Fix: detect forbidden chars in entity ids and attr names in URI (Issue #1793)
  • Fix: segfault caused by parameter without value in query string (Issue #1805)
  • Fix: some of the operations reported an incorrect 'Allow' HTTP Header on Bad Verb, now fixed
  • Fix: Returning 422 InvalidModification instead of 404 NotFound when POSTing entity (Issue #1817)
  • Fix: using string "none" as default entity/attribute/metadata type in NGSIv2 (Issue #1830)
  • Hardening: sanity checks for numbers (Issue #1306)

0.27.0

01 Feb 09:23
Compare
Choose a tag to compare

This is the next-to-last version which includes XML support (deprecated since 0.23.0). If you are still using XML clients or notification receivers, you are highly encorauged to migrate to JSON (details in the documentation).

Full documentation at: http://fiware-orion.readthedocs.org/en/0.27.0/

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

Changelog:

  • Add: proper alarm management, including activation/deactivation in logs (Issue #1582)
  • Add: Enable log summary traces using -logSummary CLI (Issue #1585)
  • Add: New CLI parameter '-relogAlarms' to see ALL possible alarm-provoking failures in the log-file
  • Add: subscriptions triggered by modifications in any attribute without explicitly list them (aka ONANYCHANGE) (Issue #350)
  • Add: 'q' expression evaluation in NGSIv2 subscription (at subscription creation/update and update context times) (Issue #1316 and #1658)
  • Add: srv=, subsrv= and from= fields to log (Issue #1593)
  • Add: POST /v2/subscriptions operation (Issue #1316)
  • Add: DELETE /v2/subscriptions operation (Issue #1654)
  • Add: PATCH /v2/subscriptions/{subId} operation (Issue #1658)
  • Add: reset for notification counters in threadpool mode
  • Add: id fields checking for NGSIv2 API and (if -strictNgsiv1Ids is enabled) NGSIv1 API (#1601)
  • Fix: entity/attribute operations to align them with the last JSON representation format defined for NGSIv2 (Issue #1259)
  • Fix: avoid rendering invalid JSON characters in response payloads (Issue #1172)
  • Fix: avoid escaping / in callback field in GET /v2/subscriptions and GET /v2/subscriptions/ operations
  • Fix: wrong accumulation in counter sentOK
  • Fix: more descriptive error messages for CPr update/query forward fail
  • Fix: avoid -g compiler flag in release build
  • Fix: supporting decimal values for seconds in ISO8601 strings (Issue #1617)
  • Fix: enforcing "http" or "https" schema and better detection of missing port at URLs parsing (Issue #1652)
  • Fix: fixed wrong interpretation of empty string keyvalues as empty objects in compounds (Issue #1642)
  • Fix: subscription service path is lost at update subscription time (Issue #1693)
  • Fix: Mongo driver migrated to legacy-1.0.7 (to get the fix for https://jira.mongodb.org/browse/CXX-699) (Issue #1568)