Skip to content

Releases: telefonicaid/fiware-orion

0.26.1

09 Dec 10:53
Compare
Choose a tag to compare

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

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

Changelog:

  • Default -subIvalCache changed to 60 seconds
  • Add: servicePath header filtering in GET /v2/subscriptions operation (Issue #1557)
  • Add: New command-line-option '-logLevel ', levels: NONE, ERROR, WARNING, INFO, DEBUG (Issue #1583)

0.26.0

01 Dec 10:02
Compare
Choose a tag to compare

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

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

Changelog:

  • Add: Add queue+threads for notifications (notificationMode thread:[queue size]:[num threads]) (Issue #1449)
  • Add: possibility to limit the maximum number of simultaneous connections, using the CLI option -maxConnections (Issue #1384)
  • Add: possibility to use thread pool for incoming connections, using CLI option -reqPoolSize (Issue #1384)
  • Add: Unpatterned subscriptions now also in subscription cache (Issue #1475)
  • Add: Built-in Timing/Profiling (Issue #1367)
  • Add: clearer statistics in GET /statistics and GET /cache/statistics operations
  • Add: Simulated/drop notifications mode is now orthogonal to -notificationMode (Issue #1505)
  • Add: finer-grain statistics switches: -statCounters, -statSemWait (old -mutexTimeStat), -statTiming and -statNotifQueue
  • Fix: avoid indirect usage of DB connections concurrently due to cursors (Issue #1558)
  • Fix: safer treatment of database fields lastNotification, expiration and throttling in
    the 'csub' collection, assuming that the field can be either int or long (it is always written as long)
  • Fix: number/bool correct rendering in NGSIv1 compound values
  • Fix: ONCHANGE notifications triggered by update context operation are filled avoiding querying entities collection (#881)
  • Fix: wrong notification values (duplicated) when triggering update context operations are too close (race condition)
  • Fix: A bug in the request reading logic that may cause unexpected Parse Errors or even SIGSEGVs
  • Fix: Semaphore releasing bug in unsubscribeContext when subscription ID is the empty string (Issue #1488)
  • Fix: Fixed an uptil now unknown bug with throttling
  • Fix: Only 1 query at csubs collection/cache is done per context element processing at updateContext (previously one query per attribute were done) (Issue #1475)
  • Fix: 'count' and 'lastNotificationTime' now maintained by subCache (and synched via DB) (Issue #1476)
  • Fix: updates including several attributes with the same name are now reported as InvalidModification (Issue #908)
  • Fix: no longer adding subscriptions from all tenants in the cache if broker isn't multitenant (Issue #1555)
  • Fix: resetting temporal counters at synching the subscription cache (Issue #1562)
  • Fix: using the text "too many sbuscriptions" at cache statistics operations in the case of too many results
  • Fix: crash due to subscription ID not conforming to supposed syntax in request "GET /v2/subscriptions/XXX" (Issue #1552)
  • Hardening: exhaustive try/catch (mainly at mongoBackend module)
  • Deprecated: ONTIMEINTERVAL subscriptions

0.25.0

02 Nov 08:29
Compare
Choose a tag to compare

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

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

Changelog:

  • Add: NGSIv2 operation GET /v2/subscriptions (#1126)
  • Add: NGSIv2 operation GET /v2/subscription/ (#1317)
  • Add: URI params 'geometry' and 'coords' for GET /v2/entities (#1177)
  • Add: CLI argument -notificationMode. Default mode is 'transient' (previous version used 'permanent' implicitly) (#1370)
  • Add: CLI argument -connectionMemory for connection memory limit. Default value is 64Kb (#1384)
  • Add: CLI argument -noCache to disable cache (recovering $where from 0.23.0 code base to search for subscriptions always in DB)
  • Add: githash in --version (#1363)
  • Add: contextBroker standard error log in RPM init script (#1175)
  • Fix: broken subscription cache (#1308), including the semaphore for subscription cache (#1401)
  • Fix: conv op to std op mapping wrongly using patterns in some GET operations (#1322)
  • Fix: using 'count' in all paginated queries in NGSIv2 (get entities list was missing) (#1041)
  • Fix: add charset=utf-8 for notifications (#1340)
  • Fix: incorrect 'details' field rendering (leading to illegal JSON) for error responses in some cases (#843)
  • Fix: escaping dot (.) in attrNames field in entities collection in DB (#1323)
  • Fix: compound attribute values support in CPr update forwarding (#1440)
  • Fix: traces to stdout only if CLI '-fg' is set (#1272)
  • Fix: avoid noisy error output in RPM init script (#309)
  • Fix: performance problem in NGSIv2 API due to uncontrolled log trace printing
  • Fix: trying to update several matching entities associated to the same ID in NGSIv2 API now returns in TooManyResults error (#1198)
  • Fix: more accurate text for details field in zero content-length error responses (#1203)
  • Fix: description text for parse errors in NGSIv2 JSON requests (#1200)
  • Fix: leftover whitespaces in NGSIv2 error names (#1199)
  • Fix: clearer error on NGSIv2 entity attribute update, without value in payload (#1164)
  • Fix: changed error code from 472 (Invalid Parameter) to 422 (Invalid Modification) in NGSIv1 in the case of missing attribute value (#1164)
  • Fix: return error response in NGSIv2 API when the combined length of id/type/servicePath exceeds (mongo) index key length limit (#1289)
  • Fix: error responses for NGSIv2 PATCH request on entity without payload (#1257)
  • Fix: clearer errors for 'entity not found' and 'conflict too many results' on NGSIv2 update PATCH (#1260)
  • Fix: update PATCH request with invalid service-path never returned a response (#1280)
  • Fix: error must be Not Found, when updating an unknown attribute of an existing entity on NGSIv2 update PATCH (#1278)
  • Fix: POST /v2/entities returns error if the entity to create already exists (#1158)
  • Fix: error description for PUT/POST/PATCH request with empty JSON object as payload in NGSIv2 (#1305)
  • Fix: improve error description in NGSIv2 PUT on entity, when entity is not found or there is a conflict due to many results (#1320)
  • Fix: empty/absent attribute value support, both in NGSIv1 and NGSIv2 (#1187, #1188 and #1358)
  • Hardening: mongoBackend checking for field existence and proper type to avoid broker crashes due to DB corruption (#136)
  • Hardening: safer input/ouput logic for csub documents in MongoDB and cache
  • Remove: proxyCoap binary from RPM (#1202)
  • Remove: deprecated command line arguments -ngsi9, -fwdHost and -fwdPort
  • Remove: deprecated functionality related with associations

0.24.0

14 Sep 16:02
Compare
Choose a tag to compare

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

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

Changelog:

  • Add: FIWARE::StringQuery scope, implementing filtering capabilities (equal, unqual, greater/less than, ranges, existence) (Issue #864)
  • Add: APPEND_STRICT action type for POST /v1/updateContext operation
  • Add: REPLACE action type for POST /v1/updateContext operation
  • Add: Implemented a RAM-cache for patterned ngsi10 subscriptions (Issue #1048)
  • Add: API version 2 only supports JSON so we can now distinguish between STRINGS, NUMBERS (all treated as floats for now),
    and BOOLEANS (true, false), for the VALUE for ContextAttribute and Metadata (No Issue)
  • Add: POST /v2/entities - entity creation for API version 2 (Issue #970)
  • Add: POST /v2/entities/{entityId} - append or update attributes (by entity ID) for API version 2 (Issue #981)
  • Add: URI parameter "op=append", for POST /v2/entities/{entityId} (Issue #983)
  • Add: DELETE /v2/entities/{id} - delete an entity (Issue #985)
  • Add: Number and boolean rendering for attribute simple values (not compounds) in /v1 operations for JSON encoding
  • Add: URI parameter "attrs=a1,a2,a3..." for GET /v2/entities/{entityId} (Issue #971)
  • Add: PUT /v2/entities/{entityId} - replace attributes (by entity ID) for API version 2 (Issue #987)
  • Add: GET /v2/entities/{entityId}/attrs/{attrName}/value - get a single attribute value (Issue #997)
  • Add: URI parameters id, idPattern and type for GET /v2/entities (Issues #952 #953 #969)
  • Add: PATCH /v2/entities/{entityId} - modify an entity (Issue #979)
  • Add: URI parameter 'q' for GET /v2/entities (Issue #967)
  • Add: PUT /v2/entities/{entityId}/attrs/{attrName}/value (Issue #999)
  • Add: DELETE /v2/entities/{entityId}/attrs/{attrName} (Issue #993)
  • Add: PUT /v2/entities/{entityId}/attrs/{attrName} (Issue #991)
  • Add: GET /v2/types/{type} (Issue #1028)
  • Add: GET /v2/types (Issue #1027)
  • Add: text/plain encoding for GET /v2/entities/{entityId}/attrs/{attrName}/value operation (both Accept header and ?options=text) (Issue #1179)
  • Add: monit_log_processing.py script to contextBroker RPM (Issue #1083)
  • Add: httpsPrepare.sh script to contextBroker-tests RPM (Issue #2)
  • Fix: Fixed a bug about generic error handling for API version 2 (Issue #1087)
  • Fix: Fixed a bug about error handling of invalid Service-Path for API version 2 (Issue #1092)
  • Fix: Check for illegal characters in URI parameters (name and value) (Issue #1141)
  • Fix: Checking for forbidden chars in many fields of JSON payload for API version 2 (Issue #1093)
  • Fix: Bug fix for receiving compound metadata values (which is not supported) (Issue #1110)
  • Fix: Error handling for non-string entity::id/type (Issue #1108), attribute::type, and metadata::type/value
  • Fix: Metadata updates involving boolean/number values were not correctly processed (Issue #1113)
  • Fix: Removed the check of forbidden characters for the values of the URI parameter 'idPattern'
  • Fix: Made broker respond with 400 Bad Request on encountering invalid items in URI parameter 'options' (Issue #1169)
  • Fix: Several older memory leaks has been fixed thanks to improvements in leak-detecting tool

0.23.0

10 Jul 11:41
Compare
Choose a tag to compare

Full documentation at: https://github.com/telefonicaid/fiware-orion/blob/0.23.0/README.md

Changelog:

  • Add: Reuse curl context for outgoing notifications, so now connections are persistent if the HTTP server doesn't close them
  • Add: CLI paramter -cprForwardLimit to cap the number of forwarding request for a single client request. (Issue #1016).
  • Fix: Fixed a bug about pagination problem due to missing ErrorCode with details in the case of queries with forwarding to context providers. (Issue #945)
  • Fix: taking into account the pagination limit before adding "potential" entities to be queried in CPrs. (Issue #945)
  • Fix: Add multiservice flag for the default configuration in the RPM. (Issue #964)
  • Fix: ONCHANGE subscription sends notification when value under condition it is not updated with updateContext-APPEND in some cases (Issue #943)
  • Fix: updating attribute metadata without updating attribute value at the same time is now supported (Issue #766)
  • Fix: remove unconditional tracing on xmlTreat()/jsonTreat() which was impacting on performance (specially in high-load scenarios)
  • Fix: use NOSIGNAL as libcurl option to avoid crashes in that library. (Issue #1016)
  • Add: New operation "GET /v2/entities" (Issue #947)
  • Add: New operation "GET /v2" (Issue #956)
  • Add: New operation "GET /v2/entities/{id}" (Issue #950)
  • Add: New operation "GET /v2/entities/{entityId}" (Issue #950)
  • Add: New operation "GET /v2/entities/{entityId}/attrs/{attrName}" (Issue #989)

0.22.0

25 May 11:43
Compare
Choose a tag to compare
  • Add: CORS support for GET requests, configuring allowed origin with -corsOrigin CLI parameter (Issue #501)
  • Add: New CLI parameter for the mutex policy: -reqMutexPolicy (Issue #910)
  • Add: Measuring the accumulated time waiting for the DB semaphores.
    The measures are added to the REST request /statistics, but only if
    the new CLI parameter -mutexTimeStat is set (Issue #911)
  • Fix: Removing trailing slashes for path of URI before treating the request (Issue #828)
  • Fix: Fixed a bug regarding subscriptions with empty entity-type (Issue #691)
  • Fix: updateContext propagated to the entire Service Path subtree, instead of just scoping to the particular Service Path in the Fiware-Service header (Issue #885)
  • Fix: Mongo driver migrated to legacy-1.0.2
  • Add: Database connection pool for mongo. Default size of the pool is 10 connections. This is changed using the CLI parameter -dbPoolSize (Issue #909)
  • Add: New CLI parameter for Mongo write concern: -writeConcern (Issue #889)

0.21.0

10 May 17:56
Compare
Choose a tag to compare
  • Add: support for MongoDB 2.6/3.0 (MongoDB 2.4 should not be used any longer as inverted geo-queries will not work in that version) (Issue #415)
  • Add: context providers full functionality (Issue #787)
  • Fix: unhardwire format to forward requests to context providers (Issue #722)
  • Fix: using proper GJSON for location.coords entities information (Issue #415)
  • Fix: attribute storing in DB (from vector to keymap) to enable CB Active/Active architectures. As a consecuence of this, '.' in the name of attributes is now stored as
    '=' in the key (as MongoDB doesn't allow to use '.' for keys). This is transparant from the point of view of the user, given that '=' is a forbidden character in
    the external API (Issue #878)
  • Fix: simplifying 'GET /v1/contextTypes' and 'GET /v1/contextTypes/' operations, removing attribute types (no longer used as attribute identification since 0.17.0). As
    a consequence, the 'attributeFormat' URI parameter is no longer needed in the 'GET /v1/contextTypes', so it is ignored.
  • Fix: DELETE updates are resolved locally, previously they were forwarded to CPrs (Issue #755)
  • Fix: The URI parameter 'notifyFormat' is now treated the same way for subscriptions as for registrations.
  • Add: Notifications and forwarded queries/updates are now controlled by a timeout. (Issue #880)
    The default timeout is set to 5000 milliseconds (5 seconds), including connection, writing the request and reading the response.
    To change this timeout, a new CLI option '-httpTimeout' has been added to the broker.
  • Fix: Changed the name, type and unit of the CLI option '-timeout'.
    New name: '-dbTimeout',
    New type: integer (was a floating point number)
    New unit: milliseconds (was seconds, but decimals were allowed as it was a floating point number)
  • Add: Updates of ngsi9 subscriptions now also support the URI parameter notifyFormat

0.20.0

31 Mar 06:56
Compare
Choose a tag to compare
  • Add: new CLI parameter '-timeout' to specify DB connection timeout in the case of using MongoDB replica sets (Issue #589).
  • Fix: All convenience operations to use the service routines of standard operations (Issue #117)
  • Fix: Correct rendering of response to convop "POST /v1/contextEntities/{entityId::id}/attributes/{attributeName} (Issue #772)
  • Fix: Made 'POST /v1/contextEntities/{entityId::id}' and 'POST /v1/contextEntities' accept entity::id and entity::type
    in both payload and URL, as long as the values coincide.
  • Fix: A few more of the 'responses without entityId::type filled in' found and fixed (Issue #585)
  • Fix: The convenience operations "/v1/contextAttributes/{entity::id}/attributes" now share implementation with
    convenience operations "/v1/contextAttributes/{entity::id}" and are thus 100% identical.
  • Fix: The convenience operation "PUT /v1/contextAttributes/{entity::id}/attributes/{attribute::name}" had a bug
    about the metadata in the update, this error has been fixed.
  • Fix: A registerContext request that uses associations must specify "attributeAssociations" instead of "attributes" to be consistent with DiscoveContextAvailability messages (Issue #823).
  • Fix: Fixed a bug that made the broker crash when compound attribute values were used in convenience operations.
  • Fix: Implemented URI-parameter 'notifyFormat=XML/JSON' for NGSI9 subscriptions.

0.19.0

11 Feb 12:20
Compare
Choose a tag to compare
  • Fix: The option '-multiservice' was ignored and the broker ran always in multiservice mode. Now the option is taken taken into account (Issue #725)
  • Fix: Forwarded requests always in XML (Issue #703)
  • Fix: internal substitution of servicePath defaults ("/" for update-like operations, "/#" for query-like operations)
  • Fix: Temporal hack to allow for forwarding of 'attribute not found in entity found' (Issue #716)
  • Fix: Broker crashes dealing with "GET /v1/contextTypes" operation when DB contains entities of the same type, ones with attributes and others without them (Issue #740)
  • Fix: Service-Path supported for registrations and discoveries (Issue #719)
  • Fix: Service-Path supported for forwarding of registrations between Config Manager and Context Broker (Issue #719)
  • Fix: Service-Path supported for forwarding to Context Providers (Issue #719)
  • Fix: Hash sign (#) in service-path, or multiple service-paths not valid for updateContext requests (Issue #746)
  • Fix: Not forwarding the default Service-Path to context providers (Issue #714)

0.18.1

21 Jan 11:55
Compare
Choose a tag to compare
  • Fix: Fixed the bug about recovering ONTIMEINTERVAL subscriptions (Issue #693)
  • Fix: Fixed the crash in queryContext with an invalid geoscope (Issue #690)
  • Fix: Protect the broker against payload-less responses to forwarded requests (Issue #699)
  • Fix: Fixed bug that prevented types from entities with no attributes from being listed (Issue #686)