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.