- Removed subscription API (#493)
- Added support for NGSI-LD temporal property 'modifiedAt' and 'observedAt' (#433)
- Added sql query to retrieve only last values of entities (#500)
- Support configuration of back off factor for CrateDB (#503)
- Added exception handling and updated response where 'AggrMethod cannot be applied' (#498)
- Added a warning to use 'id' and 'type' from version 0.9 in all query responses (#584)
- Added instanceId for each entry received (#565)
- Support CrateDB authentication (#474)
- Updated PG8000 to 1.23.0 (#586)
- Fixed automated docker builds are broken (#557)
- Fixed arbitrary type arrays cause errors when inserting (#537)
- Fixed OpenAPI spec for /wq/management (#544)
- Fixed attributes names in /v2/entities query (#478)
- Fixed index ordering in /v2/entities query (#521)
- Increase test coverage (#524)
- Added workflow to check that
RELEASE_NOTES.md
is updated (#582) - Added autopep8 workflow also to external pull requests (#601)
- Added request to update release notes to the pull request template (#585)
- Added codeql-analysis workflow (#588)
- Added wait for insert in instanceId and aggregation tests (#588)
- Added ci support for Crate 4.6.x (#594)
- Improved contributing docuemntation (#557)
- Introduced reference about
options=sysAttrs
for ngsi-ld time indexing (#546) - Documented API pagination (#511)
- Revised documentation (#596)
- Support for CRATE 4.5 (#430)
- Introduced queue workflow support & upgraded gunicorn (#501)
- Fix "None" Tenant query caching (required for no multi-tenant orion deployment)
- Optimise Gunicorn config for Docker image (#410)
- Batch inserts (#445)
- Increase resiliency to badly formatted data and support data casting (#444)
- Fix broken health check if no cache is used (#446)
- Experimental NGSI-LD support
- Make the notify endpoint accept NGSI-LD payloads, convert them to tabular format and store them in the DB backend (#373)
- Retain NGSI-v2 backward compatibility (#373)
- Verify basic Orion-LD interoperability (#413)
- Improved performance
- Make CrateDB async writes the default but allow the setting to be overwritten through configuration (#384)
- Reduce DB queries on insert through a Redis metadata cache (#373)
- Pool DB connections (#373)
- Expose configuration settings to enable/disable caching of geo-queries and metadata queries on insert (#429)
- Better logs
- Adopt Orion log format and improve log messages (#373)
- Log FIWARE correlation ID to support tracking of requests from agents (through Orion) to QuantumLeap (#373)
- Add process and thread ID to log entries (#367)
- Make log messages more descriptive and use debug log level (#355)
- Timestamp log entries (#352)
- Assign NGSI attribute values a DB type according to their JSON type if no NGSI type is present rather than defaulting to text (#373)
- Make all API endpoints work with Timescale as a backend (#374)
- Support running QuantumLeap as a WSGI app in Gunicorn (#357)
- Collect telemetry time-series to analyse performance (#411)
- Honour default DB backend setting in YAML configuration (#405)
- Change health status from critical to warning when cache backend is down (#402)
- Explicitly add new columns to CrateDB tables to cater to corner cases where new columns aren't added if using Crate's dynamic column policy (#373)
- Log a warning if there's a type mismatch between NGSI and DB date-time rather than making queries crash (#387)
- Use proper ISO 8601 date-times and FIWARE service path match operator in CrateDB queries (#371)
- Use proper CrateDB types rather than deprecated aliases (#370)
- Assign entities to their respective service paths when a notification contains multiple service paths (#363, #364, #365)
- Return HTTP 500 on DB insert failure (#346)
- Note delay to be expected between an entity insertion and its subsequent availability for querying (#420)
- Update Japanese documentation (#414)
- Substantial updates regarding Redis cache, benchmarks and NGSI-LD support (#373)
- Gunicorn security settings for QuantumLeap (#380)
- Mention CrateDB lacks support for 3D coordinates (#340)
- Clean up and refactor translator tests (#403)
- Save original data on translation error (#335)
- Make maximum number of rows a query can retrieve configurable (#330)
- Support CrateDB
4.x
series (#300) - History of attributes from different entities with different types (#294)
- Introduce support for log level configuration (#299)
- History of attributes from different entities of the same type (#293)
- Make
entities
endpoint list IDs of all existing entities (#264) - Move
version
,config
andhealth
endpoint to API root path (#261)
- Log values of environment variables when reading them in (#326)
- Reduce code duplication between CrateDB and Timescale translators; use UTC time consistently across the board for time indexing; fix date time SQL injection vulnerability (#315)
- Ignore attributes with null values (#298)
- Accept quoted values in API
fromDate
andtoDate
parameters (#285) - Use standard header names for FIWARE service and service path (#283)
- Update tests for incomplete entities to take into account changes introduced by PR #278 (#282)
- Filter empty entities out of notification payload (#278)
- Pin Python/Alpine docker image to avoid dependency hell (#271)
- Make
/v2
return list of available API endpoints (#255) - Update network interface in Travis build (#260)
- Update FIWARE CSS to avoid redirect URL (#252)
- Update Japanese documentation to cater for CrateDB
4.x
and environment variables (#333) - Update contributors list (#307)
- Remove "Migrating STH Comet data" manual section as no longer supported (#267)
- Document data format expected by
notify
endpoint (#268) - Timescale backend documentation (#263)
- Update Japanese documents (#280)
- Update broken link in in sanity check section of Japanese manual (#291)
- Updated broken links in sanity check section of manual (#289)
- Update broken links in CrateDB section of manual (#286)
- Update GitHub issue template (#259)
- State DB versions in README
This release breaks API backward compatibility. Existing 0.7.5
clients may
not be able to work with this new Quantum Leap version without code
changes.
In detail: version 0.7.6
changes the URL of the version, health and config
endpoints as indicated below:
0.7.5 0.7.6
----- -----
/v2/version /version
/v2/config /config
/v2/health /health
Note that the semantics of the endpoints remains the same as version
0.7.5
.
- Fix bug with lastN parameter (#249)
- Update specification version to align with QL versions (#218)
- Fix bug with Custom Time Index header handling (#247)
- Timescale backend fixes (#243 #246)
- Bring back /ui endpoint (#229)
- Update dependencies (#244)
- Relax Crate health check (#239)
- Timescale backend teething troubles (#237)
- add coverall badge (#236)
- Coverage tool integration with travis (#221)
- Initial Timescale DB support (#231)
- Japanses Translations Update (#220)
- Remove OSM checks by default (#226)
- Flatten JSON in query results (#213)
- Data migration from STH-Comet to QuantumLeap (#184)
This release breaks API backward compatibility. Existing 0.6.3 clients will not be able to work with Quantum Leap 0.7.0 without code changes. In detail: version 0.7.0 changes the structure of query results. Up to version 0.6.3, Quantum Leap used the following JSON format for query results:
{
data: {
...query results...
}
}
Version 0.7.0 removes the data
field and puts all the fields that make up
the query result at the top level as in e.g.
{
entityId: ...,
index: ...,
values: ...
}
- Fix queries involving attribute names (#206)
- Update connexion version (#203)
- Support nulls in NGSI_GEOPOINT values (#198)
- Documentation fixes (#195) (#200)
- Remove deprecated crate grafana plugin (#190)
- Support multiple data elements in notifications (#185)
- Fix CI issues (#186)
- Update package dependencies (#157)
- Added Backwards Compatibility testing (#173)
- Time_index enhancement (#172)
- Bugfix (#177)
- Update documentation (#168)
- Add curl to Docker image (#167)
- Enhanced Time Index selection policy (#161)
- Update vulnerable dependency (#158)
- Bugfixes in crate translator (#136)
- Bugfixes in geocoder (#105)
- Minor bugfix (#163)
Release 0.5 of QuantumLeap adds support for geographical queries and features a streamlined, much smaller docker image as well as several bug fixes.
- Full support for geographical queries as specified by the FIWARE-NGSI v2 Specification except for equality queries (#111)
- Optimised docker image, size is now down to 170 MB (#116)
- Support for missing entity attributes (#122)
- Metadata query fixes (#115)
- Documentation fixes (#112)
- Add: /health API endpoint (#68)
- Add: aggrPeriod support (#89)
- Add: Improve orion subscription options (#69)
- Chg: Use Pipenv, drop requirements.txt (#99)
- Fix: some inconsistent HTTP return errors
- Other minor fixes and adjustments