Skip to content

Releases: eclipse-kura/kura

Eclipse Kura 4.0.0

04 Dec 12:27
Compare
Choose a tag to compare

Eclipse Kura - 4.0.0


Description:

Eclipse Kura 4.0.0, 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: New Cloud Connections APIs that simplify the integration of third party cloud providers, simplifying the development of
      user applications
    • Alerts: New Alerting model for special type of messages generated from the device
    • New Bluetooth LE APIs to leverage new TinyB features: updated the TinyB library and updated Kura APIs to leverage the new changes provided
      by the referenced library
  • Features

    • Eclipse IoT WG Cloud Connection: A new Cloud Connection provider that leverages the new Cloud Connections APIs and enables Kura to connect
      with remote providers that support the new Eclipse IoT WG Namespace. E.g. this provider supports the integration with Eclipse Hono through
      the MQTT Adapter
    • Kura Docker container: New Docker Container that wraps in a Centos 7 environment a Kura No Network installation.
    • Upload of Asset channels from CSV file: In the Asset view, the user can now download and upload channel descriptions as CSV files.
  • Enhancements

    • Non-blocking assets configuration updates
    • Wires Graph Blinking rate limit
    • Added fix validity, latitude and longitude hemisphere fields to GPS NMEA Position
    • Reduced CPU usage by Kura Wires
  • Refactor and Cleanup

    • Modular support of new platforms: Refactoring of framework structure to support, in a pluggable way, different operating systems and
      service managers (SysV, Systemd)
    • SSL Manager Service: Service refactoring and cleanup. By default, Kura uses for secure communications its own cacerts.ks keystore instead
      of the one provided by the Java VM. The default installation provides a cacerts.ks keystore that contains only the Eclipse leaf certificate.
      To connect to a different provider or broker, the user must install the corresponding certificate in the cacerts.ks keystore, for example
      using the Kura web UI.
    • New framework folder structure: The framework folder structure has been redesigned to simplify the user interaction.
  • Drivers

    • New drivers available also in the Eclipse Kura Marketplace:
      • iBeacon Scanner
      • Eddystone Scanner
      • Dummy 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
    • GWT 1.8.2
  • 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
    • Removed WireService API and references
  • 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

Compatibility:

  • Eclipse Kura v4.0.0 introduces API breakage with previous releases.
  • Containing a folder restructuring, a cleanup of the destination filesystem is required before installing the new version of Kura
  • The Command Service is now disabled by default. To use it, the user needs to opt-in to this feature, enabling the service
    from configuration.

Target Environments:

  • Kura is released as pre-compiled binary installers for the following platforms:
    • Raspberry Pi 2/3 based on Raspbian
    • Intel Up Squared board running Ubuntu 16
    • Intel Up Squared board running Centos 7 (Experimental)
    • Rock960 ARM_64 running Ubuntu 16 (NN version only)
  • Kura is also available as a pre-built Docker container

Bug Fixes :

  • Fixed github issues:
    • #2279: [Kura 4.0.0 QA] Service disappears from menu when reconfigured
    • #2278: Firewall, "Open port" dialog validation
    • #2272: Asset CSV upload/download issues if AD name and id differs
    • #2271: [Kura 4.0.0 QA] Adding wires components in IE/Edge
    • #2264: [Cellular] PDP Auth failed using context #1 in 4G network (Telit LE910-EU1 and LE910-V2 EU, possibly NA versions)
    • #2263: Cloud connections table refresh
    • #2262: Cloud connection PID validation
    • #2243: [Security] Possible XML External Entity (XXE) attack
    • #2239: WireAsset Configuration UI check box status can not be saved
    • #2233: Create CloudServiceFromFactory and Delete CloudServiceFromFactory cause null reference
    • #2232: Linker issue with tinyb
    • #2224: Wire Publisher can't initialize properly at kura start
    • #2219: Update Jetty to version 9.4.12
    • #2215: NPE during package installation via cloud
    • #2213: Update TinyB and Bluetooth API
    • #2210: Remove HSQL db support from code and implementation
    • #2205: [OPC-UA Driver] Authentication not working
    • #2202: [DhcpClientLeaseBlock] Failed to add a lease block due to an error parsing dhclient lease file
    • #2199: BLE iBeacon scanner configuration not synched with code
    • #2196: BLE provider logging failure
    • #2189: HTTPS redirects to HTTP
    • #2185: [Test] Cleanup tycho-surefire-plugin configurations a bit
    • #2184: [ConfigurationService] XML Marshaling Providers need to be started before
    • #2181: H2DB file fragmentation
    • #2169: H2DB file corruption
    • #2164: [Asset] Make configuration updates non-blocking
    • #2163: [Paho] WSS connection break silently after a few hours
    • #2162: [Wires] Implement rate limit in servlet for wires blinking
    • #2158: [GPS] Add missing fields in NMEA Position
    • #2153: [DEPLOY-V2] intallVerificationDir is never initialized
    • #2149: Cloud zip file upload
    • #2145: Remove libmatthew-java
    • #2143: Camel XML router service missing
    • #2138: Cloud service selection in examples
    • #2125: Impossible to upload device key pair
    • #2120: BeaconScanner example publishes with qos 2
    • #2117: Remove Windows bundles
    • #2115: Artemis 2.5.0 and dev-env
    • #2114: Review supported platforms
    • #2110: Add Dummy Driver
    • #2108: Create a new Cloud Stack for the new D2C Messaging
    • #2107: Integrate Device to Cloud (D2C) Interaction Type
    • #2102: emitAllReadChannels method doesn't handle Runtime exceptions
    • #2101: [Web UI | Driver and Assets]: Show the Asset Read Error Message
    • #2096: [NetAdmin] Issues using GPS if modem has never been enabled
    • #2091: version `GLIBCXX_3.4.20' not found
    • #2089: [NetAdmin] Some state of the logic that manages modems persists across resets
    • #2087: [NetAdmin] Race condition between NetAdmin and PositionService after modem reset
    • #2085: [NetAdmin] Fix AT escape sequence timings in TelitModem
    • #2079: Empty channel descriptor
    • #2078: Native Support for UP Development Kit
    • #2072: Weird behaviour on webUI when click on CloudServices
    • #2070: Icon not working for factory components
    • #2068: The duration of Beacon scan should be in seconds
    • #2067: DataService enable.recovery.on.connection.failure is causing a reboot systematic on first boot
    • #2065: [Web2] AlertDialog causes duplicate ids
    • #2057: Upgrade Camel version to 2.21.1
    • #2055: DefaultCloudServiceFactory manages all CloudServiceImpl instances
    • #2050: Modem monitor in Not connected state does not trigger reset
    • #2045: Add support for CloudConnectionStatus with inverted gpio LED
    • #2040: [Kura 3.2.0 QA] PositionService does not switch between GPS and static position
    • #2037: The interface number for usb tty devices should be retrieved by the native library
    • #1999: Connection refresh sometimes causes duplicate entries
    • #1957: [Wires] Allow using the component name as label
    • #1933: Support SCR/Declarative Services 1.3+
    • #1921: Consider using EquinoxLauncher instead of the EclipseStarter
    • #1911: [Artemis] Upgrade to version 2.5.0
    • #1849: SSL Configuration - Keystore path change doesn't work
    • #1644: [Artemis] MQTT clients fail to reconnect after the broker is restarted
    • #1358: [GPS] With a USB GPS device, the position service keeps reporting the old position
    • #1255: Switch away from log4j 1.x
    • #1186: Get ready for Java 9
    • #689: Upgrade to Camel 2.18.x
    • #673: CloudServiceFactory deleteConfiguration
    • #651: Call to "exit()" in native code
    • #520: [Net] PppFactory is not a factory and its design is wrong
    • #518: [Net] Modem monitor concurrency issue with multiple modems
    • #208: Include camel-amqp component jar in base distribution
    • #181: [GPS] position service: code review

...

Read more