Eclipse Kura 4.0.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Project
Release

4.0.0

Description

This major release of Eclipse Kura, compatible with Java 9 and OSGi R6, introduces a new model that simplifies plugging new cloud connection implementations.

It brings up a restructuring of the networking part to make it more pluggable and expandable, new drivers and supported platforms, as well as improvements to usability and bug fixes.

Being a major release, it also includes breaking changes and removes support for code and platforms no longer maintained by the original contributors.

New and Noteworthy:

  • APIs
    • Cloud Connections
    • Alerts
    • New Bluetooth LE APIs to leverage new TinyB features 
  • Features
    • Eclipse IoT WG Cloud Connection
    • Kura Docker container (PR available, merge still pending)
    • Upload of Asset channels from CSV file
  • Refactor and Cleanup
    • Modular support of new platforms
    • SSL Manager Service
    • New framework folder structure
  • Drivers:
    • iBeacon scanner
    • Eddystone driver
  • New Hardware Platforms and Distributions
    • Intel UP Square Boards running Ubuntu and CentOS
    • Rockchip Rock960 AARCH 64 running Ubuntu
  • Target Platform Updates
    • Eclipse Equinox 3.12.50 (Oxygen)
    • Eclipse Milo 0.2.1
    • Apache Log4j2 2.8.2
    • SLF4J 1.7.25
    • Apache Artemis 2.5.0
    • Apache Camel 2.21.1
    • Intel Tinyb 0.5.1
    • Eclipse Paho 1.2.0
  • Breaking Changes:
    • Removed APIs and implementation supporting HSQLDB
    • org.eclipse.kura.net package cleanup and removal of deprecated APIs
    • Removed deprecated newWireSupport as causing invocation loop
    • Removed SslManagerServiceOptions class and modified SSLManagerService APIs
    • Modified "verifySignature" method in Certificates APIs to accept, as first argument, KuraApplicationTopic instead of KuraTopic
  • Deprecated APIs
    • KuraTopic
    • CloudCallService
    • CloudClient
    • CloudClientListener
    • Cloudlet
    • CloudletTopic
    • CloudService
    • CloudServiceFactory

 

Discontinued Hardware Platforms and Distributions:

  • Intel Edison
  • TI BeagleBone Black
  • PC Engines APU
  • Fedora distribution for the Raspberry Pi
  • Raspberry Pi B+
  • AARCH64

Unmaintained Code

  • Karaf
Architectural Issues

This release of Kura introduces some breaking changes within the APIs in order to introduce new features that will make development and integration easier (Cloud Connection APIs), but also cleaning out old and deprecated APIs.

The project has also started a review of the supported platforms, in order to be able to concentrate the support to a more defined set of targets.

 

Security Issues

The project solved a possible XML External Entity (XXE) attack that could be leveraged by an authenticated user that tries to upload a malicious XML snapshot file.

https://github.com/eclipse/kura/issues/2243

 

Conforms To UI/UX Guidelines
Not verified
End of Life

Removed APIs:

  • Removed APIs and implementation supporting HSQLDB
  • org.eclipse.kura.net package cleanup and removal of deprecated APIs
  • Removed deprecated newWireSupport as causing invocation loop
  • Removed SslManagerServiceOptions class and modified SSLManagerService APIs
  • Modified "verifySignature" method in Certificates APIs to accept, as first argument, KuraApplicationTopic instead of KuraTopic

 Deprecated APIs:

  • KuraTopic
  • CloudCallService
  • CloudClient
  • CloudClientListener
  • Cloudlet
  • CloudletTopic
  • CloudService
  • CloudServiceFactory
Communities

Issues related to the Kura v4.0 release: https://github.com/eclipse/kura/issues?utf8=✓&q=is%3Aissue+label%3AKura-4.0.0+

Pull Requests related to the Kura v4.0 release: https://github.com/eclipse/kura/pulls?utf8=✓&q=is%3Apr+label%3AKura-4.0.0+

Eclipse Kura Forums: https://www.eclipse.org/forums/index.php/f/273/