October 22, 2015: Release 0.7.3 Avocado Archipelago available
Kaa version 0.7.3 implements the following documentation feature:
- KAA-672 Review and update "Installation guide" documentation page
The installation guide was verified and updated. The instructions became more clear and straightforward.
Kaa version 0.7.3 includes the following fixed bugs:
- KAA-567 C++ SDK: try next bootstrap server if the Ops servers list is empty
- KAA-664 Focus is lost in edit form after canceling exit
- KAA-669 TCP channel does not resume socket read operation on Kaa client resume event
- KAA-670 Incorrect order of generated enumerations
- KAA-671 Invalid SDK token cause crash of EncDecMesageActor
- KAA-689 Fix build of C SDK for LeafLabs Maple Mini
- KAA-690 Failover on Android EP SDK can't withstand connection loss
- KAA-691 Fix build of C SDK for Econais EC19D
- KAA-693 Failed to install kaa-flume.rpm on Centos 6.7
- KAA-694 Segfault on Raspberry Pi 2 when receiving Server sync with notifications
- KAA-696 Segfault when retrieving configuration from Kaa client
- KAA-697 SMTP server configuration is not documented properly
- KAA-698 C SDK doesn't compile on ESP8266 with data collection feature
- KAA-699 Configuration demo doesn't compile on the CC3200 platform
- KAA-701 Control server should notify operations server when endpoint group is deleted
September 15, 2015: Release 0.7.2 Avocado Archipelago available
Kaa version 0.7.2 implements the following new features:
- KAA-626 Sandbox modularization
Kaa Sandbox Frame, which includes the Kaa Sandbox web UI and the demo applications builder, was separated from the Kaa Core into its own repository. Kaa Sandbox Frame issues are now tracked here, and the documentation lives here.
Kaa Sandbox Frame now has an independent versioning schema. The initial version is 1.0.0 released with Kaa 0.7.2.
- KAA-627 Decouple sample applications into a separate module
Sample applications distributed with Kaa Sandbox were moved into a separate repository. Kaa Sample Applications issues are now tracked here, and the documentation lives here.
Kaa Sample Applications now have an independent versioning schema. The initial version is 1.0.0 released with Kaa 0.7.2.
- KAA-554 Integrate C client SDK with ESP8266
The C endpoint SDK of Kaa was integrated with ESP8266.
- KAA-555 Integrate C client SDK with TI CC3200
The C endpoint SDK of Kaa was integrated with CC3200 from Texas Instruments.
- KAA-610 Built-in upload strategies for Java SDK
A number of log upload strategies, which can be used out of the box instead of the default log upload strategy, were implemented for Java SDK.
- KAA-611 Built-in upload strategies for C SDK
A number of log upload strategies, which can be used out of the box instead of the default log upload strategy, were implemented for C SDK.
- KAA-612 Built-in upload strategies for C++ SDK
A number of log upload strategies, which can be used out of the box instead of the default log upload strategy, were implemented for C++ SDK.
- KAA-633 Add schema version to Log record header
Log appenders implementation was enhanced by allowing storing the log schema version in the log record header.
- KAA-634 QNX integration
The C endpoint SDK of Kaa was integrated with QNX operating system.
- KAA-645 Review and update REST API documentation
REST API documentation was validated and brought up to date.
- KAA-646 Notify developer user of a user verifier is mandatory in case of using event feature
Admin UI was enhanced to notify the developer about the necessity of using a user verifier in case the event feature of Kaa is applied for the given application.
- KAA-647 Add ability on Avro UI to remove an arbitrary element of an array instead of the last one
Avro UI forms were enhanced to allow removing any element in the array in a single operation.
- KAA-648 Add the 'Back' button to the top of an Avro form
Avro UI forms were enhanced with the "Back" button at the top of the form.
- KAA-657 Endpoint schema versions are not updated in server profile after SDK update
The client-server communication was improved by automatically updating the endpoint schemas versions at the server side with each update of the endpoint SDK.
Kaa version 0.7.2 includes the following fixed bugs:
- KAA-35 [Admin UI] Overdue expiry time for notifications can be set
- KAA-483 Null exception while loading Avro schema without a namespace
- KAA-484 A schema was successfully loaded but an exception still appears
- KAA-487 Can't see the last application in the list from the Kaa Admin Web page
- KAA-504 Able to create fields in Avro UI form with same Name
- KAA-505 Max value for Long type field in Avro schema automatically changes to integer max value
- KAA-582 Blank ECF schema could be created
- KAA-632 Can't add configuration schema with specific union structure
- KAA-636 Can't build the Kaa application under Windows for TI CC3200
- KAA-638 Configuration schemas is unsorted
- KAA-639 Flume appender needs to retry the initialization process
- KAA-642 Endpoint should use random Operations server
- KAA-644 Avro UI Sandbox can't generate JSON if a boolean field is "untouched"
- KAA-649 Inconsistency in usage of the 'Delete' button on Avro UI
- KAA-651 After updating Java SDK with new configuration schema, client wouldn't be work correct if old configuration file exist.
- KAA-652 Need to implement thread safe method for getting configuration in Kaa client api
- KAA-653 Failed to build configuration demo on ESP8266 platform
- KAA-654 Text fields overlap table border
- KAA-656 Failed to build C++ SDK on Windows 7
- KAA-658 After updating C SDK with new configuration schema, client wouldn't be work correct if old configuration file exist.
- KAA-659 After updating C++ SDK with new configuration schema, client wouldn't be work correct if old configuration file exist.
- KAA-667 NoSQL profile impacts list of dependencies in operations and control packages
July 23, 2015: Release 0.7.1 Avocado Archipelago available
Kaa version 0.7.1 implements the following new features:
- KAA-158 Kaa C++ SDK: Log mutex manipulations within the mutex (un)lock macro
Mutex logging and (un)locking are now performed by the same macro.
- KAA-295 Implement notifications subsystem for C EP SDK
The Notification subsystem of Kaa was implemented for the C SDK.
- KAA-372 SDK integration with Intel Edison
The C/C++ SDKs were integrated with Intel Edison.
- KAA-462 Introduce support of SDK tokens
The SDK token concept was introduced into the C/C++ SDKs to make the endpoint validation process faster and more efficient.
- KAA-477 Remove the redundant step in C++ SDK build procedure
The C++ SDK build procedure was optimized as the number of steps was reduced from three to two.
- KAA-481 Ability to download source of the schema and/or data provisioned via admin UI
The user is now able to download the source of the data schema/provisioned data via Admin UI.
- KAA-482 REST API Log appender
A new log appender that uses REST API to push data to external systems was introduced.
- KAA-492 Implement log upload based on the schedule, not only when a record is added
Logs can now be uploaded based on a predefined schedule.
- KAA-500 Optimize memory usage of Kaa sandbox
Memory usage of the Kaa Sandbox was optimized to support nodes with 1Gb of RAM.
- KAA-501 Add support of public host/port for bootstrap and operations servers
The Bootstrap and Operation servers can now bind to some address (e.g., an internal address in the cluster) but report a different one (e.g., a public address in the cloud).
- KAA-502 Add Cassandra to sandbox
Cassandra DB was added to the Sandbox image and now can be used instead of MongoDB.
- KAA-508 Improve SDK performance by reimplementing basic data structures
The C SDK performance was improved by introducing double-linked lists and redesigning the current API for lists.
- KAA-510 Couchbase data collection appender
A log appender was added to allow pushing collected data into Couchbase.
- KAA-513 Persistent log data storage for C++ EP SDK
SQLlite-based persistent storage for log data was implemented for the C++ SDK.
- KAA-515 Persistent log data storage for Java/Android EP SDK
SQLlite-based persistent storage for log data was implemented for the Java SDK.
- KAA-516 Design and improve support of Bootstrap failover scenarios
This story improves the behavior of the Kaa SDKs for scenarios when all Bootstrap servers in the cluster become unreachable.
- KAA-525 Improve log messages in C SDK
The amount of INFO logs was reduced, while the amount of DEBUG and TRACE logs was increased.
- KAA-526 Improve Cassandra log appender to be able to configure table columns
The Cassandra log appender was improved to allow the user to configure columns of the table to which logs are pushed.
- KAA-531 Collect information about amount of active endpoint sessions and system load average for LB function
The load balancing algorithm was improved by taking into account the amount of active endpoints and the average system load on the Operation server node.
- KAA-535 Introduce FailoverStrategy to react on critical failures
Failover strategies were introduced to mitigate critical failures.
- KAA-550 Improvement of sample applications build procedure for Econais platform
The building procedure for Econais was simplified.
- KAA-558 Improve failover mode for SDK
The failover modes for the C++ and Java SDKs were improved.
- KAA-559 Improve failover mode for Kaa C SDK
The failover mode for the C SDK was improved.
- KAA-562 Add ability to map ts of log arrival to Cassandra column
An extra mapping feature was added to the Cassandra log appender that allows mapping a current timestamp to the long/string value.
- KAA-571 Ability to set TTL in cassandra log appender
The Cassandra log appender was improved with the capability to set time to live.
Kaa version 0.7.1 includes the following fixed bugs:
- KAA-427 Java/Android EP SDK contains thirdparty libraries
- KAA-461 C SDK a lot of stack is used
- KAA-494 Process REFUSE_BAD_CREDENTIALS from server on Java client
- KAA-495 Process REFUSE_BAD_CREDENTIALS from server on C++ client
- KAA-496 Process REFUSE_BAD_CREDENTIALS from server on C client
- KAA-498 After re-establishing connection client's sent SyncRequest data is lost
- KAA-499 Kaa endpoint operations fallback problem
- KAA-506 Concurrent updates of same configuration entity may corrupt DB state
- KAA-524 Frequent notifications may cause notification duplication on client side
- KAA-527 Admin UI and Sandbox UI issues in Safari
- KAA-529 Delivered logs were not removed from in-memory log storage
- KAA-532 Endpoint should use random Operations server
- KAA-533 Endpoint should force to upload logs after failed delivery
- KAA-534 Profile update does not always trigger notification/configuration resyncs
- KAA-536 SDK generation should fail if no active bootstrap servers are present
- KAA-537 Rare lock in Java SDK LogCollector during frequent log uploads
- KAA-540 Memory corruption in kaa_list
- KAA-541 Invalid filters cause failures in processing of endpoint request
- KAA-543 Endpoint receives the same notifications after restart
- KAA-548 Installation(Update) of deb/rpm packages replaces configuration files
- KAA-549 SchemaUtil is unable to process recursive schemas
- KAA-563 GCC 4.7.3 cannot compile C++ SDK
- KAA-564 Some demos don't compile without extra headers
- KAA-565 Demo applications don't compile without the KAA_THREADSAFE macros
- KAA-566 Default KaaTCP channel may crash on destroying
March 31, 2015: Release 0.7.0 available
Kaa version 0.7.0 implements the following new features:
- KAA-43 Reconfigure and verify Admin UI user credentials storage into a Kaa common SQL DB
The embedded user credentials database was moved to the database used by Kaa for metadata storage.
- KAA-126 Improve Java SDK thread model
Several improvements were introduced into the Java SDK thread model.
- KAA-144 Report log delivery status back to the endpoint
The log delivery status was introduced for log upload requests sent by endpoints to an Operations server.
- KAA-243 Customize Akka configuration for operations server
Flexibility of Akka configuration was improved.
- KAA-244 Create a unified plugin system for user verification
This feature introduces a unified plugin system for verification of user ids used in the Event subsystem.
KAA-245 Create Glossary of technical terms and abbreviations
Glossary was added to the Kaa online documentation.
- KAA-250 Decouple Avro schema -> UI forms generator into a separate from Kaa library
The Avro-UI generator was moved to a separate library.
- KAA-260 Cassandra DAO
Cassandra DAO was implemented for the Kaa server infrastructure.
- KAA-261 Cassandra log appender
This feature introduces the Cassandra log appender.
- KAA-272 Add info on Cassandra log appender to Log appenders page
Instructions on the Cassandra log appender were added to the Kaa online documentation.
- KAA-296 Implement configuration subsystem for C EP SDK
This feature introduces configuration management into the C endpoint SDK.
- KAA-299 Use avro-ui for populating notifications data
Admin UI was enhanced to allow the user fill in notification data via an Avro UI form.
- KAA-300 Use avro-ui for configuration data
Admin UI was enhanced to allow the user fill in configuration data via an Avro UI form.
- KAA-303 User-specific configuration
This feature allows the user to apply user-specific configuration overrides.
- KAA-304 Unit tests for kaa_memory_log_storage
Unit tests for kaa_memory_log_storage were implemented.
- KAA-321 Move from embedded to relational database for web admin user data
Admin UI user data was moved from the embedded database to postgresql, which will be used from this time.
- KAA-328 Add avro-ui sandbox page to Kaa sandbox
The Avro UI sandbox page was added to Kaa sandbox.
- KAA-343 Java SDK API usability improvements
This feature introduces a number of usability improvements into the Java endpoint SDK.
- KAA-344 Admin UI usability improvements
Avro UI forms were introduced to allow the user create schema definition without using JSON.
- KAA-352 Avro specific configuration objects for Java EP SDK
This feature introduces improvements related to Avro-specific configuration objects in the Java endpoint SDK.
- KAA-356 Introduce resync configuration updates that are encoded using base configuration schema
This feature updates the configuration sync protocol and provides the server implementation of the configuration updates that are based on the base schema (so called resync).
- KAA-366 Build instruction for x86-64 platform (C++ SDK)
The build instructions were created for x86-64 platform and added to the Kaa online documentation.
- KAA-370 Update log appender API with user id
This feature introduces a user id into the log appender API.
- KAA-376 Ubuntu Snappy integration for C/C++ SDK
Integration between Kaa and snappy Ubuntu Core was implemented; relevant instructions were added to the Kaa online documentation.
- KAA-378 Demo applications
A number of demo applications were created and added to the Kaa sandbox.
- KAA-395 Improve configuration subsystem for C++ SDK
This feature introduces improvements into the Configuration subsystem for the C++ endpoint SDK.
- KAA-398 Constant user entity addressing in kaa cluster
This feature implements an actor that represents the user in the Kaa cluster.
- KAA-410 Improve sandbox page layout to efficiently visualize demo applications
Layout of the Kaa sandbox page was largely improved and optimized.
- KAA-411 Kaa's headers need to be installed into 'kaa' folder
Kaa headers were moved to the 'kaa' folder for the C endpoint SDK.
- KAA-420 Review DAO layer implementation
The implementation of DAO layer was reviewed and optimized.
- KAA-426 Update programming guide with new Java SDK API
New Java endpoint SDK API was added to the Kaa online documentation.
- KAA-432 Sandbox UI layout refactoring
Layout of the Kaa sandbox page was improved.
- KAA-440 Review documentation in sample applications
API documentation in Kaa demo applications was reviewed.
- KAA-443 Minor updates to REST API to cover Kaa 0.7.0 features and improvements
Minor updates were introduced into REST API to cover Kaa 0.7.0 features and improvements
- KAA-448 Need to disable ability to edit existing topic
This feature introduces the capability to edit existing notifications topics in Admin UI.
Kaa version 0.7.0 includes the following fixed bugs:
- KAA-35 [Admin UI] Overdue expiry time for notifications can be set
- KAA-79 [UI] Tenant Developer isn't able to use one ECF for several mappings
- KAA-298 Wrong title of Kaa debian packages
- KAA-322 Can't delete application from Admin UI
- KAA-323 Unable to create configuration schema without default values
- KAA-325 DefaultRecordGenerationAlgorithm does not support schemas without namespaces
- KAA-336 Bootstrap server losses track of operation server due to concurrent zookeeper updates
- KAA-337 TCP channel does not report socket close to Operations server
- KAA-341 Server should reply with error code to invalid client messages
- KAA-353 Unnecessary word capitalization in Admin UI
- KAA-362 Default transport channel sends more than one CONNECT message on the authorization phase
- KAA-363 Endpoints are not notified when topic is deleted
- KAA-371 C Avro code generator does not support floating point types
- KAA-385 Events have invalid sequence numbers after sequence number synchronization
- KAA-387 Client receives notification from optional topic after successful unsubscription
- KAA-389 Schema generation algorithm doesn't support records without namespaces
- KAA-400 C SDK doesn't support installation to a specific directory
- KAA-401 Inconsistent wording in titles and captions in Admin UI
- KAA-403 C EP SDK is not working with default profile schema
- KAA-404 C EP SDK does not start with KAA_WITHOUT_LOGGING
- KAA-407 Events are cleared on start-up after sequence number synchronization
- KAA-408 Operations server respond with full configuration resync in case when there is no configuration changes for the client
- KAA-413 Kaa C endpoint is not able to reconnect to the server when the network connection is restored
- KAA-431 Server should handle requests from applications with invalid token
- KAA-433 C SDK sends wrong service count when no log record is added
- KAA-435 AvroGen doesn't (de)serialize the Avro fixed type correctly
- KAA-439 Add API for C SDK to retrieve Event FQNs
- KAA-442 Can't generate complex configuration schema with recursion
- KAA-446 Kaa notification demo issues
- KAA-454 Schema-dependent declarations should be put in separate headers
- KAA-455 Schema-dependent classes should be put in seperate namespaces
- KAA-457 Client doesn't send the updated configuration hash to the server
- KAA-458 C++ SDK always returns the empty endpoint access token
February 13, 2015: Release 0.6.3 available
Kaa version 0.6.3 implements the following new features:
- KAA-226 Document build time parameters for C EP SDK
Instructions on how to build the C endpoint SDK were created and published on Confluence.
- KAA-227 Generate and publish C EP SDK Doxygen documentation
Doxygen documentation for the C SDK as per release 0.6.3 was published.
- KAA-284 Add the Bootstrap extension to the binary platform layer protocol
The bootstrap extension of the Kaa binary platform layer protocol was implemented for the C SDK and Bootstrap server.
- KAA-286 Improve the transport modularization and simplify the implementation of new transport protocols
The transport layer architecture on both Operations server and endpoint SDK sides became more modular.
- KAA-302 Add support for event listener request/response to C EP SDK
Event listener request/response are now supported in the C SDK.
- KAA-306 Restructure C EP SDK code
C SDK code structure was improved and simplified.
- KAA-308 C EP SDK abstraction layer
The platform abstraction layer was implemented in the C SDK to enable integration between Kaa and various embedded platforms.
- KAA-312 Revise visual content throughout Kaa docs
New diagrams were added to the Design reference.
- KAA-330 C reference client and kaa tcp channel implementation
Kaa tcp channel reference implementation was created.
Kaa version 0.6.3 includes the following fixed bugs:
- KAA-241 Configuration hash mismatch on the first KaaSync
After the first KaaSync, the Operations server now compares the configuration hash between the server and endpoint and sends the full configuration to the endpoint only in the case of the configuration hash mismatch.
- KAA-297 [Admin UI] Error appears when server connection fails while user working with UI
In case of a server connection failure, a pop-up window now appears to notify the user about the connection error.
- KAA-305 Server keeps sending UserDetach/Attach notifications
The Operations server was improved to handle cases when the endpoint receives both user detach and attach notifications simultaneously.
- KAA-314 Get rid of unused sources in C++ SDK
Some obsolete code was removed from C++ SDK.
- KAA-319 Operations server does not send log server sync
The log server sync serialization routine was improved.
- KAA-320 Not able to create mongodb appender without secutiry credentials
The MongoDB appender configuration schema was improved to allow using empty credentials.
- KAA-324 Can't build C SDK with default profile schema
C SDK was updated so that it can be built with the default profile schema.
- KAA-350 Seq numbers synchronization cause invalid sequence numbers in case of concurrent requests
Sequence number synchronization logic was improved.
- KAA-357 Default endpoint group will be deleted, if any related topics will be deleted
The relationship between topics and endpoint groups in the dao layer was verified.
January 2, 2015: Release 0.6.2 available
Kaa version 0.6.2 implements the following new features:
- KAA-40 Add functionality to restore forgotten password
Kaa now allows the user to restore a forgotten password.
- KAA-42 Redirect user to the login page when session expires
UI logic was improved so that the user is gracefully redirected to the login page whenever the session expires, instead of experiencing erroneous termination of his or her work.
- KAA-94 Reduce C SDK code size footprint
The C SDK code was refactored and reduced in size so that Kaa could support a wider range of devices with limited hardware capabilities.
- KAA-199 Normalize logging in C EP SDK
Adequate logging was introduced into C SDK.
- KAA-202 Installation guide review and update
The Installation guide was revised according to the latest features.
- KAA-210 Make C EP SDK initialization sequence safe
Error handling was improved in C SDK initialization.
- KAA-211 Make maximum log level build-time configurable
A new build-time setting allows limiting the log levels to be built into the C SDK.
- KAA-216 Avro C code generator enhancements
Several enhancements were introduced to improve C SDK usability.
- KAA-217 Normalize error handling in C EP SDK
Error handling was normalized across C SDK.
- KAA-223 Set up automated cppcheck builds for C EP SDK
The cppcheck reports are now available for C SDK.
- KAA-224 Set up automated valgrind builds for C EP SDK
The valgrind reports are now available for C SDK.
- KAA-227 Generate and publish C EP SDK Doxygen documentation
The official 0.6.2 release documentation was published on Confluence.
- KAA-229 Improve C EP SDK modularization
C SDK code was refactored and enhanced to achieve better separation of functionality among functions and lower coupling between them.
- KAA-230 Rename function prototypes in kaa_common_schema.h
C SDK code was refactored to make function prototypes naming in kaa_common_schema.h more descriptive.
- KAA-235 Migrate existing C EP SDK unit tests to CUnit
Unit tests for C SDK were moved to CUnit tests framework; Sonar reports were implemented for C SDK.
- KAA-236 Create a list of Kaa 3rd party dependencies
The Third-party dependencies reference was added on Confluence.
- KAA-246 Development environment setup guide
The Development environment setup guide was added on Confluence.
- KAA-247 Optimize Kaa platform-level protocol for C EP SDK
The existing Avro-based implementation of the Kaa platform-level protocol was replaced with a more lightweight alternative that significantly reduces the C SDK code footprint.
- KAA-251 Sandbox guide review and update
The Sandbox guide was revised.
- KAA-252 Add user-assisting documentation references and navigation tips on Confluence
Usability of guides and references on Confluence was improved.
- KAA-254 Automate sample projects' builds together with Sandbox
Demo project builds were automated for Sandbox.
- KAA-257 Add ability to configure mail properties from a web page instead of the property file
Now Kaa allows configuring mail properties right from the administrative UI.
- KAA-267 Add Generic Flume event format to Flume log appender
Support of the 'Generic' flume event format was added to Flume appender.
- KAA-268 Many-to-many relations between log appenders and log schema versions
Kaa Logging feature was enhanced to support scenarios in which multiple schema are assigned to one log appender and vice versa.
- KAA-276 Design reference review
The Design reference was revised.
Kaa version 0.6.2 includes the following fixed bugs:
- KAA-228 Get rid of uneligible variables and function names
Non-descriptive variable and function names were changed to descriptive ones.
- KAA-238 Redundant logback logging to sysout during server components restart
Redundant logback logging was fixed.
- KAA-239 Errors during sample projects build in sandbox
Errors which appeared while building sample sandbox projects were fixed.
- KAA-240 Demo project binaries cache is not invalidated/purged after change of ip
A cache invalidation procedure was set to follow any change of services host/ip operation.
- KAA-241 Configuration hash mismatch on the first KaaSync
Configuration hash mismatch on the first KaaSync was fixed.
- KAA-248 Can't use gmail account settings for sending emails in Kaa Web UI
A workaround was implemented to use gmail accounts for sending emails in Kaa Web UI.
- KAA-256 After endpoint detach from user exception thrown in Akka ecosystem
An exception appearing after the endpoint is detached from the user was fixed.
- KAA-263 Not able to create multiple log appenders using admin UI
Multiple log appenders can be now added to the single schema version.
- KAA-265 SDK attempt to decode persisted configuration using new schema
After the fix of this bug, Kaa avoids loading data from storage if the schema version update is detected.
December 1, 2014: Release 0.6.1 available
Kaa version 0.6.1 implements the following new features:
- KAA-95 Logging subsystem for the C SDK
Log collection capabilities are now available in C SDK.
- KAA-114 Kaa CDAP appender
The Kaa CDAP appender was implemented. This appender implementation is recommended to use for CDAP releases that support bulk operations via the Stream client API.
- KAA-120 Support for sending events in batches
SDK now has ability to send a batch of events at once.
- KAA-123 Improve voluntary topics subscription API
Subscription API was improved to eliminate complicated logic.
- KAA-129 Make all default schemas empty
All default schemas were changed to basic.
- KAA-130 Review and enhance Kaa C++ SDK
C++ SDK modules are optional now. The dependency on Boost is decreased by leveraging more STL features.
- KAA-131 Use latest STL features instead of Boost features in Kaa C++ SDK
The latest STL features are now used in Kaa C++ SDK instead of Boost features.
- KAA-132 Use nullptr instead of NULL in Kaa C++ SDK
Nullptr is now used in Kaa C++ SDK instead of NULL.
- KAA-133 Make Kaa modules optional at compile time for Kaa C++ SDK
Kaa modules could be optionally included while compiling C++ SDK.
- KAA-134 Make thread safety optional at compile time for Kaa C++ SDK
Thread safety could be optionally enabled while compiling C++ SDK.
- KAA-140 Programming Guide for 0.6 release
Programming guide for 0.6 release was published.
- KAA-141 Improve usability of Channel management API for Kaa SDK
Channel management API usability was improved for Kaa SDK.
- KAA-142 Improve usability of Channel management API for Kaa Java SDK
Channel management API usability was improved for Kaa Java SDK.
- KAA-143 Improve usability of Channel management API for Kaa C++ SDK
Channel management API usability was improved for Kaa C++ SDK.
- KAA-146 Install and configure publicly available Sonar
Publicly available Sonar instance was set up for Kaa.
- KAA-147 Cache session key cipher
Caching session key cipher was implemented to improve encryption / decryption performance at the Operations server.
- KAA-149 Remove deb/rpm artifact classifiers
Deb/rpm artifact classifiers were removed.
- KAA-150 Review and publish main page
Programming guide main page was published.
- KAA-151 Review and publish "Collecting endpoint profiles" page
Collecting endpoint profiles page was published.
- KAA-152 Review and publish "Using endpoint groups" page
Using endpoint groups page was published.
- KAA-153 Review and publish "Using events" page
Using events page was published.
- KAA-154 Review and publish "Using notifications" page
Using notifications page was published.
- KAA-155 Review and publish "Collecting data from endpoints" page
Collecting data from endpoints page was published.
- KAA-160 Cleanup pom.xml files
Unused/deprecated dependencies were removed. All dependency versions for dependency management and plugin usage are in main pom.xml included in dependency-management tag.
- KAA-164 Update templates for SDK generation
All source templates (default configuration, log and event modules) were updated according to changes in SDK.
- KAA-165 Refactor DefaultLogAppenderBuilder
LogAppenderBuilder interface and DefaultLogAppenderBuilder implementation were renamed to a factory accordingly.
- KAA-166 Print out Kaa code version and important startup parameters into the log
Kaa server / client code version were printed out into the log files together with the startup parameters that is important for troubleshooting.
- KAA-168 Oracle NoSQL log appender
Kaa log appender for Oracle NoSQL database was implemented.
- KAA-169 Print out Kaa code version into the log for desktop and android java client
Сlient code version was printed out into the log files together with the startup parameters that is important for troubleshooting.
- KAA-170 Print out Kaa code version into the log file for C client
Сlient code version was printed out into the log files for C client together with the startup parameters that is important for troubleshooting.
- KAA-171 Print out Kaa code version and important startup parameters into the log file for C++ client
Сlient code version was printed out into the log for C++ client files together with the startup parameters that is important for troubleshooting.
- KAA-172 Print out Kaa code version into the log files of server components
Сlient code version was printed out into the log files of server components together with the startup parameters that is important for troubleshooting.
- KAA-174 Author and publish "Distributing data to endpoints" page
Distributing data to endpoints page was published.
- KAA-176 Refactor Kaa service to be independent from actual DB implementations
Services were refactored to use strictly DTO objects.
- KAA-178 Create a unified plugin system for log appenders
A system for loading log appender plugins via a unified interface was implemented. Kaa Administration UI is able to present log appender configuration as described by the configuration Avro schema.
- KAA-185 Documentation for Kaa C++ SDK enhancements
Kaa C++ SDK enhancements are documented here.
- KAA-186 Documentation for channel management API improvements
Сhannel management API improvements are documented here.
- KAA-188 Update documentation to reflect having all of the default schemas empty
Now it is mentioned in all documentation that the default schemas are empty.
- KAA-189 Documentation for sending events in batches
Sending events in batches is documented here.
- KAA-190 Document for the C SDK logging subsystem
C SDK logging subsystem is documented here.
- KAA-191 Documentation for CDAP appender
CDAP appender is documented here.
- KAA-192 Documentation on Oracle NoSQL log appender
Oracle NoSQL log appender is documented here.
- KAA-193 Documentation for a unified plugin system for log appenders
Unified plugin system for log appenders is documented here and here.
- KAA-194 Documentation for Kaa service independence from DB implementation
Kaa service independence from DB implementation is documented here.
- KAA-195 Introduce support of EventSequenceNumberRequest in Operations Server
Support of EventSequenceNumberRequest in Operations Server was introduced
- KAA-196 Improve Java SDK to support sequence number synchronization logic
If the sequence number on the Operations server differs from one on the Java SDK then Endpoint accepts the former sequence number and uses it as a starting number for new events.
- KAA-197 Improve C++ SDK to support sequence number synchronization logic
If the sequence number on the Operations server differs from one on the C++ SDK then Endpoint accepts the former sequence number and uses it as a starting number for new events.
- KAA-198 Improve C SDK to support sequence number synchronization logic
If the sequence number on the Operations server differs from one on the C SDK then Endpoint accepts the former sequence number and uses it as a starting number for new events.
- KAA-206 Document the improved event sequence number management
The improved event sequence number management was documented.
- KAA-218 Log appenders usability improvements
Usability Improvements were made to log appenders based on 0.6.1 release.
- KAA-219 REST API improvements
REST API for log appender creation methods now accept json strings with configuration.
- KAA-220 File appender usability improvements
The file appender now uses the application token instead of the application id to create a system user for log access.
- KAA-234 MongoDB appender improvements
You can now set MongoDB auth credentials right in an appender configuration.
Kaa version 0.6.1 includes the following fixed bugs:
- KAA-54 Unable to connect to "sound system" device via "smart house" device after OS was restarted
Now "smart house" functionality stays available after Operations server rebooting.
- KAA-111 Log appender continues working after being deleted
Log appender stops working after deleting.
- KAA-156 Fix blocker and critical issues in Sonar
2 blockers and 3 critical issues in Sonar as of r0.6.0 build are fixed now.
- KAA-173 Kaa Client state file overrides Kaa SDK properties
SDK and state properties are separated. And Kaa Client state file doesn't override Kaa SDK properties.
- KAA-175 Make C++ SDK channel manager thread-safe
Necessary synchronization was added to make C++ channel manager thread-safe.
- KAA-180 Kaa Operations server reply with REFUSE_BAD_CREDETIALS
Kaa Operations server reply with REFUSE_BAD_CREDETIALS was fixed
- KAA-182 Kaa examples build fails on sandbox
Outdated default profile schema was changed which fixed the RobotRun example compiling on Sandbox.
- KAA-183 Rename voluntary topics to optional topics
All occurrences of voluntary topics were replaced with optional including API, documentation, code and UI.
- KAA-205 Errors in event system in case of multiple operations servers nodes
Errors in event system in case of multiple operations servers nodes were fixed.
- KAA-212 Fix schema generation algorithm
Schema generation algorithm was fixed.
- KAA-233 Kaa client is crashing on loading configuration data from the storage when the schema is not loaded yet
The bug was fixed by adding a check on whether the schema already exists in the Kaa client.
Auto-generated documentation for version 0.6.1:
September 18, 2014: Release 0.6.0 available
Kaa version 0.6.0 implements the following new features:
- KAA-56 Support processing of Bootstrap server data
Now the C SDK provides the ability to deserialize and process a list of Operations servers that is received from the Bootstrap server.
- KAA-57 Implement the profile management feature for the C SDK
The C SDK includes API for creating profile update requests based on profile data provided by the user and for sending the requests to the Operations server.
- KAA-58 Implement a basic endpoint registration mechanism for the C SDK
Clients are now able to process user attach and detach notifications from the Operations server using the C SDK API.
- KAA-59 Implement an Event subsystem for the C SDK
The C SDK now includes methods to send events to the Operations server and receive events from the Operations server.
- KAA-60 Support data channel management for the C SDK
Kaa users can now create their own data transfer implementation using the C SDK API.
- KAA-61 Support basic clients state management
Kaa now includes the functionality for client state management (sequence numbers, public key, etc.). Also, API for client state persistence is available.
- KAA-62 Provide KaaTCP C implementation as a separate unit
The Kaa TCP protocol for KaaTCP channel has been implemented for the C SDK as a separate unit.
- KAA-65 Extend the KaaTCP protocol for bootstrap requests and responses
The KaaTCP protocol has been extended with new Bootstrap resolve, response, sync request, and sync response messages.
- KAA-67 [Admin UI] Move the ssh-key field from the Application page to the FileLogAppender page
The ssh-key field has been moved from the "application details" page to the "file log appender" page as ssh-key is necessary only when a file log appender is being used.
- KAA-68 Extend the SDK generation functionality to support different bootstrap protocols
The SDK generation functionality has been extended for C++, Java and C implementations to support both HTTP and KaaTCP protocols for communication with Bootstrap servers.
- KAA-74 Add Bootstrap Server to support the KaaTCP protocol
The configuration XML file and properties have been modified, and a new Netty has been added to support the new KaaTCP protocol.
- KAA-80 Extend the ZK record of the Bootstrap server to support multiple protocols
The ZooKeeper and Control Server parts that operate with the Bootstrap server have been modified to support multiple protocols.
- KAA-81 Add system metadata to log appenders
System metadata such as header version, application token, endpoint key hash, and timestamp has been added to the log appender interface. This includes adding system metadata to the file log appender, MongoDB log appender, and Flume log appender. The metadata can be used by log appenders to add useful information to logs. All existing appenders should be updated to support the new metadata storage.
- KAA-82 Add system metadata to file log appender
Kaa now provides users the ability to add header structure to logs for the file log appender.
- KAA-83 Add system metadata to mongodb log appender
Kaa now provides users the ability to add header structure to logs for the MongoDB log appender.
- KAA-84 Add system metadata to flume log appender
Kaa now provides users the ability to add header structure to logs for the Flume log appender.
- KAA-85 Add the ability to configure system metadata for log appenders via Admin UI
Now users can select a header structure for all supported log appenders using the Admin UI.
- KAA-87 Complete Kaa distribution packages for Debian and Red Hat
All Kaa distribution packages are now available for Debian and Red Hat.
- KAA-90 Refactor existing statistics collector
The statistics collector has been refactored from the Operations server and moved to the Netty server.
Kaa version 0.6.0 includes the following fixed bugs:
- KAA-72 Lock in the C++ client when attempting to detach an endpoint by its key hash using the default TCP channel
Now when one Endpoint is being detached from the user using another Endpoint, a deadlock does not occur and the Endpoint is detached successfully,
- KAA-76 Schema upload REST API methods don't function properly
Schema upload REST API methods now correctly handle multipart form data.
- KAA-77 Wrong response codes are received in case of exception in REST API
Now correct response codes are received in case of exception in REST API
- KAA-78 [UI] It is impossible to add a schema to the Event class family
The button for adding schema is now available from the Event class family details page for a newly created event class family.
- KAA-86 Bootstrap server does not close KaaTCP connection properly
Now the Bootstrap server closes KaaTCP connection if the client sends a "Disconnect" message with the reason=0.
- KAA-88 Operations server does not respond with error to invalid requests from the client using the KaaTCP protocol
Now the Operations server correctly responds to the client when invalid requests are received using the KaaTCP protocol.
Auto-generated documentation for version 0.6.0:
August 15, 2014: Release 0.5.2 available
Kaa version 0.5.2 implements the following new features:
- KAA-26 TCP protocol support
Kaa users can define TCP-based transport channels to exchange data between the endpoint SDK and operations server. This feature increases the performance of data exchange and decreases delays in communication.
- KAA-50 Avro flume appender
Avro flume appender is designed to deliver endpoint logs to a Hadoop cluster and is recommended for the situation where Kaa and Hadoop are deployed to different cluster nodes. The appender uses the Apache flume service to provide reliable data delivery between the Kaa and Hadoop servers.
- KAA-51 Flume NG agents implementation
Two configurations have been created for the flume ng agent: one is for receiving logs from Avro flume appender and transferring them to a remote flume agent and the other is for receiving logs from Kaa flume agent and storing the logs to HDFS using an Avro sequence file based on the logs schema.
- KAA-52 Avro log appender implementation
Avro Log appender has been implemented, which involves the creation of a flume client for sending flume events to the flume source.
- KAA-53 Add management page for log appenders to KaaAdmin UI
A page has been added to the Kaa administration user interface for log appender management.
Auto-generated documentation for version 0.5.2:
July 25, 2014: Release 0.5.1 available
Kaa version 0.5.1 implements following new features:
- KAA-27 File log appender
The Kaa log appender is now available for Kaa users. Uploaded endpoint logs are stored as an avro files in Operation servers file system and are available for browsing with the use of unique access keys.
- KAA-18 Sandbox maven build for [email protected]
Kaa Sandbox is now available on Ubuntu 14.04 LTS 64-bit Oracle VirtualBox.
Kaa version 0.5.1 includes the following fixed bugs:
- KAA-30 [Admin UI] Pressing the "Enter" button on the keyboard should initiate a login for the web interface
When the user presses the Enter key on the keyboard after entering a user ID and password on the Login page, the login process is initiated.
- KAA-31 [Admin UI] Should be able to scroll the left menu list
Now it is possible to scroll the left menu list
- KAA-32 [Admin UI] Add autocomplete all fields during SDK generation
When the user opens the Generate SDK page, all the fields are auto completed with the new values.
- KAA-33 [Admin UI] Clicking on the logo should redirect to the Home page
Now, when the user clicks the logo icon in the header of the current page of the Kaa web UI, the user is redirected to the Kaa Home page
- KAA-34 [Admin UI] Change error messages to more user-friendly ones while creating new configuration or schema
Kaa UI now displays user friendly error messages when an invalid schema or configuration is attempted to be saved.
Auto-generated documentation for version 0.5.1:
July 11, 2014: Release 0.5.0 available
Kaa version 0.5.0 implements following features:
- KAA-15 Endpoint events within the scope of a user
The Events subsystem enables structured event messages exchange between endpoints that belong to the same user. This function can be used to integrate various applications.
- KAA-17 Log collection: basic implementation
The Logging subsystem provides the ability to collect records of arbitrary structure from the endpoints, deliver them to the Operations servers and store in local or remote storage. The log structure is determined by the schema that can be configured by the user. This subsystem may be used for performance data collection, troubleshooting, user behavior analysis, and many other things.
- KAA-14 Cross-application users support
Kaa enables an application developer to aggregate multiple endpoints (potentially across several applications) under a single "user" entity, thus modeling endpoint ownership and allowing interaction between endpoints that belong to the same user.
- KAA-19 Independent transport abstractions for each Kaa service
From now on Kaa makes it possible to separate transport protocols for each of its functions. Moreover, the new protocol abstraction model makes it easier to develop custom protocols that suits the solution requirements best.
- KAA-20 Control server REST API interface
The Control server REST API integration interface is exposed for managing tenants, applications, endpoint groups, profile schemes and filters, configuration schemes and data, notifications schemes and data, notification topics, users, and event classes.
- KAA-21 Rejecting unknown UUIDs in loaded configuration
The Configuration subsystem is now protected from the potentially erroneous assignment of the record UUIDs: when loading configuration data all unknown UUIDs are ignored and replaced with auto-generated ones.
- KAA-22 RDBMS for managing some of the Kaa server data
With this feature, Kaa uses a relational database to store server data that benefits from transactional management (such as users, roles, etc.).
- KAA-23 Tracking the Operations Server to which the Endpoint is Connected in the ServiceProfile
Kaa endpoints report the Operations Server they are connected to in the ServiceProfile, which speeds up events delivery and improves the server scalability.
- KAA-24 Android Build for Java EP SDK
Kaa endpoint Java implementation is now available for the Android platform. The Android SDK is compatible with Android version 2.3 and higher.
- KAA-16 Refactoring data processing algorithms into a separate package
All data processing algorithms are concentrated under a single shared package: org.kaaproject.kaa.server.common.core.algorithms. org.kaaproject.kaa.server.common.core.schema is used for schema abstractions and org.kaaproject.kaa.server.common.core.configuration is used for configuration-related abstractions.