The full list of changes can be found at https://github.com/eclipse/smarthome/milestone/4?closed=1
Here's a brief overview of the most important new features:
- Audio streaming features added
- Voice support (TTS/STT) added
- Item-Editor in Paper UI
- Theming support in Basic UI
- Extension Service mechanism incl. support for the Eclipse IoT Market
- Introduced trigger channels for push buttons and remote controls
- Added profile support for trigger channels
- Replacement of Apache HTTP Components by Jetty HTTP Client
- Language Server Support (LSP) for textual configuration files
- JSR223 support for rules in scripting languages
- new Astro binding
- new DMX binding
- new LIRC binding
- new IKEA TRADFRI binding
- new WeatherUnderground binding
The REST API kept full backward compatibility to 0.8.0
Bindings implemented against 0.8.0 should be source compatible to this release. Nevertheless, the APIs have evolved and a few methods and services have been marked as deprecated. Implementors are therefore asked to check their implementation against the updated APIs and adapt them to the newer version (dedicated information on how to do so is given on every deprecation notice).
The new rule engine (previously marked as experimental only) has matured and while the APIs are still fairly similar, its general behavior might have changed through a different runtime behavior. Implementors should therefore check and update their code.
Version 0.9.0 has dropped support for Java 7 - Java SE 8 Compact Profile 2 is now the minimal system requirement.
A lot of effort has been put into the internationalization possibilities - Eclipse SmartHome can now support UIs through its REST API in different locales simultaneously. All extensions can include language property files for different languages.
While we only included English in version 0.8.0, we now have multiple bindings with also German and French support in place. Solutions are able to bring their own further languages simply by adding fragments to the system.
The target environment is any platform that has:
- a JVM compliant with Java SE 8 Compact Profile 2 (note: there is no Java 9 support yet)
- an OSGi framework 4.2 or above
- at least 128MB Java heap space
The framework has been tested with Oracle JDK 1.8, ZuluVM 1.8 and with the OSGi framework implementations Eclipse Equinox, Eclipse Concierge, Apache Felix and ProSyst mBS both on x86 and ARM platforms.
The Eclipse SmartHome sample packaging is a 15 MB zip file which demonstrates a minimal runtime on Concierge, which can be used for testing target hardware platforms.
Language Server Protocol (LSP) Support
Bindings
Rule Engine