This is the official release of openHAB 3.0.0.
The binaries are available on Bintray and via "Stable" on our APT repository.
New and Noteworthy
The openHAB 3.0 release is a major release that contains many structural changes, new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below.
Please especially note that there is no full backward compatibility with existing setups - so please carefully check the section on breaking changes. While the upgrade procedure tries to do as much as possible for you, you might maybe want to consider this major update as an opportunity to clean up your installation from what piled up over the years and start with a clean installation and manually migrate the relevant parts of your existing installation.
Quick links:
- Notes about new add-ons
- Notes about the core runtime
- Breaking Changes that require manual interaction after the upgrade.
Relevant Changes
New Add-ons
The following add-ons are newly introduced with the 3.0 release:
Add-on | Type | Issue |
---|---|---|
Zoneminder | Binding | #8530 |
Remote openHAB | Binding | #8791 |
Touchwand | Binding | #8754 |
Unified Remote | Binding | #8546 |
HTTP | Binding | #8521 |
Revogi | Binding | #8534 |
Serial | Binding | #8851 |
TR064 | Binding | #8523 |
WLed | Binding | #8669 |
Bluetooth (Generic) | Binding | #8775 |
Playstation | Binding | #8585 |
Pushover | Binding | #8586 |
Bluetooth (Enoceanble) | Binding | #9223 |
Epson Projector | Binding | #9021 |
IRobot | Binding | #8723 |
Gardena | Binding | #8869 |
Jython Scripting | Automation | #9404 |
Groovy Scripting | Automation | #8772 |
Additional add-ons that were introduced since the 2.5.0 release
Runtime
These are the major changes over the 2.5 runtime:
Type | Issue | Change |
---|---|---|
Enhancements | 1272 | Add the ability to send HTTP headers in sendHttpXXXRequest |
1308 | Added Ampere hour (Ah) and electrolytic conductivity (µS/cm) units | |
1347 | Units for reactive and apparent power | |
1364 | Simple dynamic item state updates SSE endpoint & API. | |
1368 | Added Bq/m³ and ppb units | |
1370 | Improved file extension exclusion | |
1385 | Removed auto-linking feature and "Simple Mode" | |
1387 | Allow persistence services to define default strategies | |
1395 | Utility for removing orphan links | |
1422 | Switch widget as default widget for Number or String items with command options | |
1450 | Added Timer::isActive() | |
1470 | Allow DateTimeFormat for labels of Number:Time items | |
1482 | REST API: Re-enable auth | |
1510 | Use hostname as JmDNS client name | |
1514 | Model loading improvements | |
1551 | Added methods to calculate variance and standard deviation for persisted items | |
1570 | REST: Added runtime info to root resource response | |
1586 | Use "openhab" console scope | |
1587 | Use "openhab" event topic prefix | |
1588 | switched PersistenceExtensions to ZonedDateTime | |
1603 | Use TypeParser in ProfileCallbackImpl#sendUpdate for StringType state | |
1608 | Added systeminfo rest resource | |
1617 | Improved add-on installation logic | |
1647 | Use consistent capitalization with Conditions, Triggers, Actions | |
1681 | Sort Ephemeris config parameter options | |
1684 | Upgrade to Jollyday 0.5.10 | |
1685 | Upgrade Xtext/Xtend to 2.23.0 and LSP 0.9.0 | |
1688 | Upgrade to XStream 1.4.13 | |
1690 | Remove actions from available add-on types | |
1700 | Make ExecUtil more robust | |
1703 | Added action for 'isBankHoliday()' | |
1710 | Included measurement system in REST root resource | |
1705 | Cleaned up logging in ExecUtil | |
1713 | Allow basic authentication to authorize API access | |
1721 | Upgraded JmDNS to version 3.5.6 | |
1722 | Added Automation extension type | |
1735 | Added API tokens & openhab:users console command | |
1744 | Sorted audio sinks for say and playSound actions | |
1789 | Added support for QuantityTypes to DefaultChartProvider | |
1563 | Allow max, min and avg calculations on other types | |
1794 | Print 'ItemChannelLink' configuration in output of console commands | |
1803 | Added expire functionality as core framework feature | |
1812 | Log reason for rules/scripts refresh | |
1837 | Pass script context to script engines | |
1838 | Added support for MetricPrefix combined with byte and use byte as default instead of octet | |
1814 | Enhanced semantic ontology | |
1858 | Adapted event handler thread names to naming convention | |
1726 | Added 'Hysteresis' profile | |
1770 | Provide triggering item name in the rule context | |
1854 | Added Actions for Play and Say which sets the volume | |
1880 | Cache safe call proxies for profiles instead of continuously recreating them | |
1861 | Added operationIds for OpenAPI specification | |
1914 | Implemented start level service | |
1930 | Translated messages for auth pages | |
1216 | Rollover log files on startup | |
Bug Fixes | 1376 | Added implicit import for units to rule models |
1394 | Fixed intensity conversion from W/m² to µW/cm² | |
1399 | Dynamic state/command provider should not return original description | |
1404 | Replaced unit placeholder in patterns if updated by DecimalType states | |
1405 | Fixed UnsupportedOperationException in StateDescriptionFragmentBuilder | |
1406 | Fixed concurrency issue in state update | |
1423 | Model refactoring, Memory Leak prevention, UTF-8 encoding | |
1453 | Fixed creation of 'EphemerisConditionHandler' | |
1481 | Added validation for relation between ThingUID and BridgeUID | |
1517 | Allow negative numbers in metadata for Items | |
1519 | Fixed handling of inverted cron ranges | |
1533 | Fixed cron scheduler handling sunday as number | |
1536 | Fixed duplication of config descriptions | |
1562 | Avoid 'ArithmeticException' if timeSpan is zero | |
1718 | Fixed initialization of group items with aggregation functions | |
1737 | Fixed IAE when enabling debug logging on PersistenceManagerImpl | |
1806 | Fixed NPE when no command is given in a member-of-group trigger | |
1825 | Harden item creation by checking for validity of name | |
1856 | Prevent NPE on shutdown by making maps in DSLRuleProvider thread safe | |
1860 | Remove semantic metadata on item tag removal | |
1940 | Make quantity types available in scripts |