Releases: telefonicaid/fiware-orion
Releases · telefonicaid/fiware-orion
0.26.1
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:
0.26.0
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
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
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
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
- 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
- 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
- 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
- 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
- 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)