Skip to content

Releases: BeeeOn/server

2018.11.2, Forever Young

04 Feb 11:11
Compare
Choose a tag to compare
  • Fixed parsing of MAC addresses.
  • Using fixed GWNewDevice(Group)Request.
  • Fixed broken device-accept due to nested transaction that is
    unsupported by the system.
  • The deviceService is now configured to use cryptoConfig to
    encrypt/decrypt device properties.
  • Fixed timeout in GWS tests.
  • Minor documentation fixes related to format of access_level entry.
  • Query devices.remove_unused now cascades into table device_properties.
    The query has been also optimized and protected against failures.

2018.11.1, Forever Young

08 Jan 13:47
Compare
Choose a tag to compare
  • Added REST-UI & GWS protocol documentation and generating scripts
  • New REST-UI endpoints: gateway messages, device properties
  • REST-UI reports last activity timestamp of gateways
  • Fixed updating of control change status in database
  • REST-UI control change request API has changed and improved
  • Fixed timestamp update in device discovery status
  • GWS limits messages from gateways with limits per minute and per hour
  • Optimized receiving of message from gateways
  • GWS reports I/O stats into log
  • GWS uses all metadata from new-device reports
  • GWS accepts notice messages from gateways
  • GWS delivers refresh time to gateways for each device
  • GWS understands that all responses are ackable
  • Class GatewayConnection has been generalized
  • Unified logging of messages in GWS
  • Dropped useless GWPingRequest message
  • Fixed the way how AsyncGatewayRPC uses timeouts
  • Fixed Revogi and IQRF device definitions
  • Fixed an old read-after-free in DeviceServiceImpl
  • XML-UI fixed invite false positive in tests
  • Server performs a sort of security checks on startup
  • Using ThreadNamer to give names to threads
  • Using class RefreshTime in the whole server code base
  • Tests using ZeroMQ works (hopefully) without race conditions
  • CMakeLists.txt divided into modules
  • Linking to PocoDataSQLite is now optional
  • Loggers configuration is now generated by script
  • Script beeeon-db-admin has been extended

2018.07.1, Little Lazy Llama

02 Oct 18:21
Compare
Choose a tag to compare
  • Some GWS-related services have been merged
  • Extracted generic WebSocket-related code out of GWS
  • GWS responses to device_list_request also with last sensor values
    (this more-less replaces last_value_request)
  • GWNewDeviceRequest can be handled in simplified format
  • Supported certain BLE Smart devices
  • Supported certain IQRF devices
  • Supported new Z-Wave devices
  • Support for reworked Jablotron (Turris Gadgets) devices
  • We can handle TYPE_UNKNOWN
  • New data types: color, color_temperature, smoke, heat, pm25
  • Controllable devices can be change repeatedly to the same value
  • ZeroMQ event on-new-device contains details about sensors and controls
  • Server-like classes were unificated to report events onUp() and onDown()
  • ZeroMQ propagates onUp() and onDown() events out of the system
  • Server can start a Cassandra DB instance (usually for testing)
  • New SQL preprocessing subsystem for testing scripts
  • Clean-up of database settings to make space for Cassandra
  • PostgreSQL scripts have been moved to subdirectory
  • Defined tag in DI for preevaluation of expressions
  • Fixed build order
  • Added ability for loading code from shared libraries during startup
  • ODBC and Cassandra connectors are built as separate shared libraries
  • Packaging was divided into components, Cassandra support is separated
  • Prepared helper script beeeon-db-admin, wrapper around sqitch

2018.04.1, Late Grasshopper

12 Jul 18:41
Compare
Choose a tag to compare
  • news:

    • type ID in type.xml is now a string (name) and not a number

    • server now supports type bitmap with a subtype specification

    • devices.xml now refers to types also with attributes

    • new device definitions (IQRF, BeeWi)

    • new developer tool - DeviceMatchingTester

    • it is possible to server static (fixed) HTTP headers in responses

    • default generation of recommended HTTP headers in responses

    • server exports events via ZeroMQ API

    • GWS tests consume those ZeroMQ events

    • GWS new-device message can update a device name

    • GWS can handle registration of grouped devices

    • GWS can handle GWUnpairResponse and unpair different devices

    • infrastructure for limiting too high gateway traffic

    • SequentialAsyncExecutor now finishes its tasks on stop()

    • assumed at least PostgreSQL 9.5+

    • important DB schema changes to save space and improve performance

    • DB queries are loaded from filesystem instead of INI file

    • PostgreSQL can be started by C++ application (useful for testing)

    • querying enum data can be aggregated into frequencies

    • querying avg, min, max can be done in a single request

    • querying of sensor history is now stricter to avoid DoS

    • on startup, unpaired unused devices are deleted from DB

    • using newer DevicePrefix with backwards compatibility support

    • new auth provider based on a static file with API keys

    • JWToken can hold certain OpenID properties

    • JWT supports RSA signatures

  • refactoring:

    • OAuth provider refactored to be more modular
    • removed obsolete NotificationDispatcher and related stuff
    • use ::Ptr for SSLClient, SSLServer, AsyncExecutor
    • using StopControl instead of Poco::Event and Poco::AtomicCounter
  • fixes:

    • XML-UI tests were prone to timeshifts
    • DB now checks gateway name more strictly
    • improved sanitization of device name (both application and DB)
    • fix compatibility with ICU61
    • LoopRunner stops loops in reverse order now
    • config files should not be blindly overriden when installing from RPM

2018.01.1, Running Rabbit

16 Mar 17:38
Compare
Choose a tag to compare
  • news:

    • full support for controls
    • gateways verification based on TLS certificate
    • support for sensor types current, power, voltage
    • basic SQL query usage statistics at application level
    • XML-UI extended to contain devices and types metadata
    • BeeeOn Temperature sensor definition and support for RSSI
    • modules' types of new devices are now verified
  • refactoring:

    • separated SessionVerifier and SessionVerifiedImpl
    • contents of ExpirableSession moved into Session
    • GatewayRPC have better interface, dropped unused code
    • only one runner named all (restui, xmlui, gws were removed)
    • SQL queries' loading was generalized
    • SQL queries are not implemented via SQL functions anymore
    • SQL schema redefined to be maintainable (backwards incompatible change)
    • HTTP clients are using generic code from base
  • fixes:

    • gateway scan did not restart if finished very recently
    • sqitch initializer didn't cope with rewords well
    • sensor IDs were wrong when mixed with control IDs
    • timestamp in sensor history data on XML-UI was wrong
    • users' locales were not loaded from database
    • devices.xml were inconsistent with gateway code
    • PocoSQLSensorHistoryDao was loading results slowly
    • NaN in sensor history data was allowed and breaking data retrieval
    • paired devices with no record in devices.xml was broke device listing
    • ultraviolet type was using non-existent unit "UV"

2017.11.1, Mass Gift

24 Dec 01:25
Compare
Choose a tag to compare
  • support for sending basic Firebase Cloud Messaging push notifications
  • fixed HTTP 500 on FCM token reinsert attempt
  • watching gateways for disconnections (push notifications)
  • avoid loosing sensor data in batch on DB exception
  • support for OAuth via access-token (Facebook)
  • support for custom enum data types
  • GW Server replies to WS ping
  • introduced GWS tests
  • XML-UI returns also last sensor data
  • timezones defined via offset are handled in a more generic way
  • session language can be overriden from HTTP request
  • partial fix of handling locales per users
  • fixed matching of VPT zones
  • logging duration of certain high-level operations
  • small refactoring of transactions
  • rework of pairing/unpairing without work-framework
  • work-framework dropped

2017.10.1, Dead Alive

16 Nov 15:09
Compare
Choose a tag to compare
  • code base moved to the top directory
  • dropped obsolete unused code - thank you and good bye!
  • Gateway Server (GWS)
  • REST-UI Service
  • XML-UI Service
  • Facebook OAuth 2.0 support
  • multiple AuthProvider instances prepared for different clients
  • Firebase Cloud Messaging frontend
  • HTML+JS builtin tester interface
  • rework of devices.xml
  • CORS support
  • support for time zones
  • Gateway knows its timezone
  • improved reinstall via RPM

v2016.08.0

09 Aug 09:10
Compare
Choose a tag to compare
  • Cleanup of old files and unused libraries

ADA server

  • Makefile refactoring
  • used Poco for configuration reading
  • improved coding style
  • code refactoring
  • get-set parameters support (ping message, etc.)

BAF (BeeeOn Automation Framework)

  • build by CMake
  • code cleanup

v2016.05.0

19 May 09:05
Compare
Choose a tag to compare
  • Integrated BAF and unified_logger
  • bugfixes in ada_server

unified_logger

  • library for unified logging accross the whole BeeeOn system
  • optimizied for further log processing via td-agent and elasticsearch/kibana
  • easy to use API - stringstreams
  • solution to string interleaving in multithread applications

BAF (BeeeOn Automation Framework)

  • framework for autonomous task execution
  • create your own algorithms and tasks
  • already specified task: AliveCheck, WatchDog, FireHazard
  • JSON easy to use interface
  • much more is to come!