Not logged in - Login / Register

Changelog

Below are the latest changes to the QwikSense API, displayed per version.

API 0.3.9

  • Generate HTTPS urls for Swagger by default
  • Fixed some caching bugs
  • Updated PDF Renderer to use updated libraries

API 0.3.8

  • Cache Point/Group metadata to reduce request duration
  • Switch to auto-incrementing build numbers to compare build versions across deployments
  • Improve availability of metadata storage solution

API 0.3.7

  • Refactored the "Name" Property on some of the analytics responses to "Id" to match the legacy responses.
  • Improvements to storage backend
  • Improved email templates for outbound notifications

API 0.3.6

Released on the 30th of March 2016 @ 14:00 GMT new features: * Password Reset support in the API (no front-end implementation yet!) * Option to send an account to a new user with the credentials and a link to some simple instructions to use the dashboard. * (internal) initial support for (near-)realtime notifications for violation thresholds. * Updated Swagger API docs to show which calls are deprecated * Update Analytics Pipeline to support Points with both climate and movement data * On account changes, we now send email notifications to the user * Added support for retrieval of the Point-id that is associated to the HW-id of a sensor (for hardware partners only)

API 0.3.2

Released on the 24th of February 2016 @ 14:00 GMT.

Bugs fixed:

  • When a Point is assigned to a Group, we don't check whether the target Group is actually accessible for that user.
  • For some analytics types, the analytics for a the containing Group were returned instead of the Points that are contained in the Group.
  • Bad performance after migrating the backend code to Azure
    • Removed unnecessary parallelisation of tasks to improve performance
    • Decreased Redis latency by utilising connections more efficiently.
  • Improvements and bug fixes related to re-assigning Points using the API

Other changes:

  • Removed the Data(input) service (/data) from the webservice.
  • Unified the templates for "Reset Password" and "New Account". These are not used, but are scheduled for the next release.

API 0.3.0

Released: 8th of February 2016

This has been an long-awaited release. Together with a new dashboard, we've also added our Analytics Pipeline to the backend and a tremendous amount of bug fixes have been made in order to make he QwikSense API easier to use, faster to access and a more usable tool to gain insight in your indoor climate situation. Changes include:

  • Introduced the Indoor Air Quality rating to the Analytics service.
  • removed: /analytics/iaq call. Replaced by /analytics
  • removed: /analytics/simple call. Replaced by /analytics
  • removed: /analytics/simplework call. Replaced by /analytics
  • removed: /analytics/violations call. Replaced by /analytics
  • Moved common functionality to QwikSense Utilities library
  • BUG: MeasurementPointGroup response contains an empty array if no PointId's or GroupId's are present. (property should not be present at all).
  • Implemented the Analytics Pipeline
    • Introduced TimeFilter parameter to Analytics calls
    • Introduced Split parameter to Analytics calls
    • Introduced RequestDepth parameter to Analytics calls
  • Added support for the NativeTimeSeriesContainer (which gives us a performance boost in arithmetic operations compared to the original TimeSeriesContainer).
  • Added initial support for TimeZones (this is a setting per account!)
  • Improve overall API performance by minimising timeseries database access
  • BUG Fixed a (very rare) deadlock situation when querying the timeseries database.
  • BUG Fixed redis timeout issues (apparently, the timeout is in milliseconds, not in seconds)
  • Moved analytics to a Git Submodule, which will allow our partners to contribute to the analytics algorithms
  • Together with this release, we'll be releasing a new dashboard!
  • Added new calls for retrieving data for a Point and a Group . These calls allow for slicing of data.
  • BUG Retrieving a Point to check it's assignment now does not result in an exception if it has no data available. Instead it's availability is returned with a Start- and Stoptime of 0.
  • Refactor instances in DTO's of TimeFilter (or other variants) to Filter and SplitBy to Split.
  • Corrected the template for the entity not assigned to your account message that returned the ID and entity type in the incorrect order.
  • Fixed an issue where the TSDB was queried even if there is no data in the range for the queried sensor.
  • Removed the QwikSense Documentation in favour of the Wiki
  • Fixed an issue where an ArgumentNullException is thrown if a Point without any data assignments at all was queried.
  • Added default WorkingHours property for groups that do not have this property.
  • Increased the allowed time beween violations in measurements so that a single 'okay' point between to 'violation' points will be counted as a single violation.
  • Merge results of TimeSeries queries when a Point spans multiple DataSources.
  • Fixed an issue where a Point without data would cause a recursive call to fail.
  • Remove disallowed/unimplemented fields from the PUT /Point call Fixed a bug where AnalyticsRequests with anything less than "temperature", "humidity" AND "co2" in the query would result in an AggregateException.

API 0.2.7

  • Improved code that calculates ViolationAnalytics
  • Small performance and security improvements
  • Improvements in the way we handle incoming measurement data
  • Added the ablility to retrieve weather data using the API (Point assignment required, contact us if you're interested)

API 0.2.5

  • Disable JSONP as we don't use it and it opens a window for vulnerabilities.
  • Improved the efficiency of handling incoming data
  • Fixed some subtle bugs by improving existing code tests
  • Fixed a bug in the MeasurementHelper class that caused a "negative" assignment to allow a user to retrieve data out of the assigned range.

API 0.2.4

  • Fixed DivideByZeroException when requesting data before DataSource Assignment
  • Added templating for email messages to the back-end (for future use)
  • Added a new DTO for new sensor types
  • Added X-XSS-Protection header to responses from the backend
  • Disabled unsafe SSL ciphers
  • Restrict Alpha environment to whitelist only QwikSense Developers (and disable debugging output on Beta and Production servers)
  • Temporarily lock out accounts after 5 invalid authentication attempts
  • Require a users original password when changing username/password/email address through the API
  • Switch API to HTTPS only. This means that requests on HTTP will be redirected to their HTTPS counterpart.

API 0.2.3

  • Movement data can now be retrieved by specifying for ["movement"] instead of ["temperature","humidity","co2"]
  • Support for new PIR sensor DTO
  • Full support for retrieving data from Multi-Datasource MeasurementPoints
  • Small enhancements to the PDF Render project
  • Increased API performance by removing unused code dependencies that were forcing 32-bit mode

API 0.2.2

  • Improve the consistency of error messages by using predefined strings
  • Fixed: Application Pool crashes if a measurement is submitted to a production server
  • Made the PDF call available to the public, it's in the reporting service

API 0.2.1

  • Small improvements to the Swagger-UI pages
  • Initial support for movement sensors
  • Add IncludeWeekends switch to ViolationAnalytics and IaqAnalytics

API 0.2.0

  • Initial release for version 0.2.
  • Added an Indoor Air Quality call to the Analytics service
  • Updated QwikSense Dashboard for End Users
  • Huge performance improvements due to batching of internal storage queries
  • Rewritten a lot of code to make use of C#s async functionality
  • Updated QwikSense Dashboard for End Users
  • Small improvements to the Swagger-UI pages
  • Initial support for movement sensors
  • Fixed a bug in Group Analytics
  • Update ServiceStack to the latest version
  • Remove the sequence_number from a CSV report