1.0.0
Kapua 1.0.0
Added features:
- Endpoints: Now Endpoints can be defined in Kapua, in order to manage all the system endpoints and have them in a registry. Both a Console view and a REST API are provided.
- Datastore Indexing Window and Index Prefix: Two options can now be used to configure the Datastore indexing window (an index per week, per day or per hour) and an optional index name prefix. Both options are per-deployment.
- Assigned Devices in Tags: Now the Devices assigned to a specific tag are shown in the Console
- Events broker: This release introduces the Events-Broker component, a new service designed to support event driven interactions between Eclipse Kapua Services. By implementing Service Events, changes in global status of the platform can be propagated consistently throughout the services while keeping the dependencies between them to the minimum (loose coupling).
- Modules: Introducing the concept of Modules, Service Lifecycle management has been extended and integrated with the new Service Events functionality. These two pieces will enable further evolutions for implementation of microservice architecture.
Compatibility:
This release introduces some changes that break the compatibility with the previous release. These changes are mainly related to refactoring, fixies and improvements in the underneath Kapua services.
- Changes to Kapua REST APIs.
- JSON Serialization of some objects in the datastore and device command APIs have been changed.
- Changes to Kapua Service APIs.
- Device management services have been moved from maven project “kapua-device-*” to the new project “kapua-device-management. Package names have been changed consistently.
- Domain service has been refactored. Some objects have been moved to the *-api project. Some service implementations of the domain objects have been moved in the *-api project as well.
- Query predicates have been refactored. Some predicate classes have been renamed. Entity predicates classes have been moved from *-internal to *-api.
- Job service. Parsing of KapuaId and ‘enums’ job step properties in job service changed.
- Deployments.
- New deployments require the Events-Broker service component, a new stand-alone application in the architecture, to be up and running.
Bug Fixes:
Access Groups
- No Upper Limit For Access Groups Filter Box (#1174)
- No Error Message If maxNumberChildGroups Exceeded (#978)
- Page Toolbar Freezes, if Upper Refresh Button in Access Groups Clicked Too Fast (#1260)
Accounts
- Child Account Cannot Be Deleted Although User Has Proper Permissions (#1074)
- Child Account Can Be Deleted Without Delete Permissions (#1073)
- Grey Strip On Bottom Of Add/Edit Child Account Window (#1876)
- Long Child Account Name Not Displayed Properly (#1603)
- Page Toolbar Freezes, if Upper Refresh Button in Child Accounts Clicked Too Fast (#1263)
- Unnecessary Sliders in Child Accounts When Resizing Windows (#1202)
- Any Symbol Can Be Inserted Into "Phone Number" Field in Settings (#1211)
- Background Color In Kapua Child Accounts Split in Two Parts (#1204)
- No Upper Limit For Child Account Filter Boxes (#1196)
Accounts - Settings
- Account Settings Not Accessible Although User Has All Permissions Needed (#1912)
- Kapua Refreshes Account Settings Long After User Stops Pressing Refresh (#1873)
- "For inpust String" Errors in Account Settings in Child Accounts (#1632)
- No Room Between Settings Main Paragraph and Description / Account Settings Tabs (#1626)
- No Text in Error Box if rxByteLimit is Set to Specific Value (#890)
- Save And Discard Buttons in Settings Although Nothing Can be Changed or Saved (#1601)
- Kapua Reporting "Illegal Null Value" When Clicking on "Settings" Tab (#1833)
- Kapua Reports Unsaved Changes Although Refresh Button Is Pressed (#1277)
Accounts - Users
- No Expiration Date in Child Accounts -> Users (#1875)
Authentication
- AuthenticationService.verifyCredentials(...) invocation causes problem with the session (#1397)
Backend
- KapuaRuntimeException and KapuaException cannot handle null arguments (#1584)
- Missing PermissionPredicates (#1552)
- "Permission already granted" check (#1554)
Continous Integration
- Travis build fails due to oracle jdk link no more available (#1610)
- Sonar analisys reports Blocker issues (#1410)
- Build - Hudson build stuck waiting to connect to Elasticsearch node (#829)
Connections
- Page Toolbar Freezes, if Upper Refresh Button in Connections Clicked Too Fast (#1257)
Data
- Page Toolbar in Data View Gets Grayed Out if Query Clicked Multiple Times (#1628)
- Data After 40th Page Not Accessible (#1155)
- "Calculating..." Message in Data View Does Not Disappear if There Are no Messages (#1759)
- Date Range Button Does Not Automatically Refresh Page (#1804)
- Custom Date Range Problem (#845)
Data - By Topic
- Wrong Data View By Topic query for topics with messages in both itself and a child (#1607)
- Wrong Data View By Topic query for topics with common prefix (#1606)
- datastore - view data by topic error if last post date is null (#1454)
Data - Export
- Data export to CSV or Excel fails when query results more than 10000 rows (#1534)
Deployment
- Vagrant develop machine broken (#1844)
Devices
- Disabled Tabs In Devices Although User Has All The Proper Permissions (#1913)
- User Cannot Add Devices Although Device Permissions Are Added (#1903)
- Console - Device Management tabs wrong permission (#1677)
- "Device Not Connected" Error If User has Only Device Permissions (#1673)
- Page Toolbar Freezes, if Upper Refresh Button in Devices Clicked Too Fast (#1256)
- Kapua Freezes If User Sorts Device Or Jobs In Certain Way (#1879)
- Sorting by Display Name For Devices is Not Working (#1751)
- Kapua Reports Error in Access Group Field When Editing Device (#1631)
- Tags And Groups Filter in Device Not Working Properly if Tag/Group Name "ANY" (#1625)
- No Device Status Field When Adding device (#1621)
- User Cannot Edit Live/Offline/Missing Device's Parameters (#1595)
- All Devices Automatically Added to All Access Groups (#1563)
- Disconnect Filter Option in Devices Not Working Properly (#1395)
- Error When Refreshing List of Devices Where Live Device Present (#1301)
- Unnecessary Slider in Devices When Resizing Windows (#1203)
- Non-consistent Error When Trying To Delete a Device (#1057)
- Toolbar Of Selected Device Not Frozen As It Should Be (#1035)
- Kapua Reports "Device Update Succeeded" Regardless Of What User Does (#1032)
- Device View Freezes if No Device Selected And "Change Pages Buttons" Pressed (#1351)
- Dialogue Box Closes if User Enters Device With Non-Unique Name (#1265)
- Background Color In Kapua Devices Split in Two Parts (#1205)
- Tags Automatically Added To All Devices (#1140)
- Kapua UI Freezes If Display Name Too Long (#1012)
- No Error Message If maxNumberChildDevices Exceeded (#981)
- Inconsistent internal state when gateway connects with 'kapua-sys' account (#294)
- Device management - Missing existence checks (#1581)
- Device Management - Missing
ConnectionStatus
check (#1579) - Device management requires wrong permission device_event:write (#1690)
- Device management operations hide errors (#1439)
Devices - Assets
- "BAD REQUEST" Error From Kapua When Trying to Update Asset on Kura (#1797)
- "Device Not connected" Error in Assets If Device Has Drivers But no Assets (#1757)
- Assets Save and Discard Button Disabled, Although Changes Were Made (#1714)
- Assets in Devices Not Shown Properly (#1617)
- Refresh Button in Device Asset Not Frozen Although List Is Empty (#1184)
- Unable To Download Assets Results As .xls File (#1152)
- Unable To Download Assets Results As .csv File (#1151)
Devices - Bundles
- Error At Unsuccessful Bundle Start Should Be Handled More Gracefully (#1805)
- Kapua Bundle View Freezes if Inactive Bundle Deselected And Start Bundle Pressed (#1720)
Devices - Commands
- Unknown Command Error Should be Handled More Gracefully (#1630)
Devices - Configurations
- "Download" And "Rollback To" Buttons Not Disabled Although no Snapshot Selected (#1624)
- Device Configuration Refreshed Twice (#1344)
- No Error Message For Non-Saved Changes When Leaving Devices Tab (#1137)
- "Invisible" Browse Button in "Upload and Apply" Info Box (#1311)
- "Upload and Apply" Info Box Can Be Upsized and Resized (#1308)
- "Upload and Apply" Info Box Has "x" Icon (#1307)
- Sort Icon in "Created On" Column in Devices Snapshots is not working (#1306)
- Refresh Button in Device Configuration Not Frozen Although List Is Empty (#1185)
- "Upload and Apply" Button Not Frozen Although Device Disconnected (#1134)
Devices - Events
- Inactive Buttons in Kapua (#1793)
- Buttons In Devices -> Events Clickable If Page Constantly Refreshed (#1895)
- Kapua Stuck in "Loading" Screen If No Devices Selected And Events Refresh Button Pressed (#1181)
- Exporting Device Events To .csv Does Not Work (#1129)
- Device event date bug (#49)
Devices - Packages
- Kapua Reports No Error When Package Cannot Be Installed (#1314)
- Refresh Button In Devices Packages Does not Work (#1049)
Devices - Tags
- No Tooltip For Long Tags in Devices -> Add Tag (#1638)
- Problems With Adding And Deleting Tags From Devices (#1586)
- Kapua Freezes if Tag Deleted From Device (#1572)
- Device Tags Not Shown Properly (#996)
Documentation
- A small format problem for md documents (#1497)
Endpoints
- Endpoint info DNS validation still broken (#1861)
- Endpoint Port Error Not Coloured When In Specific Error State (#1822)
- No "Port" Search Field in Endpoints (#1816)
- Endpoint info domain name validation error (#1812)
- Unable To Edit Endpoints (#1810)
- NPE on EndpointInfoService query/count with not existent scopeId (#1761)
- Implement a way to define the Default EndpointInfo of the deployment (#1440)
- Kapua Returns an Error in Settings, if "+" Sign in Domain Name Field (#1713)
General
General - About
General - Account Changer
- No hierarchy in User menu (#1481)
- Long Account Name Not Displayed Properly (#1192)
- Account:Read Error Messages Although User Does Nothing (#1592)
- Password Change Unsuccessfull If User Changes Accounts (#1509)
- User Can Change Password Without Knowing Old Password (#1847)
General - Build
- Kapua Develop Branch Does Not Build (#2077)
General - Filters
- Filtering Not Working If User Not on Page One (#1644)
- Filtering Through Kapa Not "Unified" (#1640)
- Filter Panel Names Not Unified (#1633)
- Filter Button Not Working Properly (#998)
- Filters Show All Results If Only "%" Entered in Search Boxes (#1278)
- More Filter Options In Connections, Users And Endpoints (#1857)
General - Pagination Toolbar
- Any Symbol Can Be Entered in Page Number Fields (#1225)
General - UX
- No Error Message If MaxNumberChildItems Exceeded (#1853)
- Missing Tooltips (#1840)
- Paging Toolbars Freeze if User Constantly Refresh Pages (#1775)
- Dialogue Windows Close if User Selects Invalid Inputs (#1753)
- Titles For Long Fields (#1737)
- Kapua GUI Freezes if User Sorts Items by "Created On" or "Modified On" (#1669)
- Border Issues (#1536)
- Inconsistency in Description Tabs (#1629)
- Item List Not Automatically Refreshed When Deleting All Items On One Page (#1611)
- No Slider in Welcome Screen If Window Too Small To Show All Content (#1618)
- Kapua Freezes if User Sorts Items in Certain Way (#1623)
- Add access checks in all UI element (#1432)
- Kapua GUI Moves Upwards if User Hits Bottom With Pop-up Windows (#1318)
- Strange Toolbar In Bottom Right Corner (#1010)
- User Gets Logged Out If Browsers Refresh Button Is Pressed (#1019)
- Missing Descriptions In Empty Mandatory Fields (#1907)
- "User Not Logged In" Error After Period of Inactivity Should be Longer (#1635)
- User Cannot Create Roles/Groups/Device/Jobs/Users Although it Has All Permissions Needed (#1360)
- Multiple Spaces in Name Reduced To Single Space (#1221)
- Dialogue Box Closes if User Enters Groups/Tags/Roles/Accounts With Non-Unique Name (#1356)
Jobs
- No Job Name in Start Confirmation Title Window (#1652)
- Non Descriptive Error Messages in Jobs (#1648)
- Page Toolbar Freezes, if Upper Refresh Button in Jobs Clicked Too Fast (#1258)
- Jobs Can Be Added To Child Account Although maxNumber Set To Zero (#1094)
- Kapua Freezes If User Sorts Device Or Jobs In Certain Way (#1879)
- Dialogue Box Closes if User Enters Job With Non-Unique Name (#1266)
- No Error Message If maxNumberChildJobs exceeded (#984)
- Quatation Marks Problem In Jobs (#1756)
- Quatation Marks Problem In Users and Jobs (#1717)
- Clean up job data not working on MySQL (#1859)
- jobs - test scenarios fail creating job items (#1231)
- jobs - error while serializing JobStep into xml/json format (#1230)
Jobs - Executions
- Buttons in Jobs Executions Look Frozen (#1014)
- Error Starting Job Although User Has Proper Permissions (#1075)
Jobs - Schedules
- Cron Schedule Field Not Coloured if Entry Not a Cron Expression (#1799)
- Every Schedule Counted Twice in Jobs (#1760)
- Schedules Not Deleted Although Job Deleted (#1643)
- Timeout Field in Job Steps Error Message Contains Invalid Value (#1634)
- Wrong Error If End Time in Job Schedule Entered in Wrong Format (#1250)
- Info Message At Job Schedule Deletion Not Shown Correctly (#1168)
- No Error If Start Time in Job Schedule Entered in Wrong Format (#1251)
- Kapua GUI Freezes If Schedule's Time Parameter Not In Proper Format (#1169)
- "Add" Button in Schedules Not Frozen Although No Job Selected (#1167)
- Cannot Add Cron Schedule in Jobs (#905)
Jobs - Steps
- Job Step Window Freezes if User Edits Job Step (#1725)
- "Step Index" Instead of "#" Symbol in Jobs -> Steps (#1646)
- Kapua Steps Window in Jobs Freezes if User Wants to Sort by (Definition) Name (#1599)
- Kapua UI Freezes If Job Step Name Too Long (#1153)
Jobs - Targets
- Unable To Add Targets In Jobs (#1902)
- No Error Message in Jobs -> Targets -> Error Message Column (#1651)
- Problem With Adding Targets When Device Do Not Have Display Name (#1598)
- "Select All Targets" Button in Jobs Does Not Work (#1357)
Kura Simulator
- kura simulator - unreachable code fragment (#1234)
Login
- Wrong Error When User Wants To Login With "Space" Credentials (#1914)
- Login Button Enabled Although No Credentials Entered (#1893)
- '<' and '>' characters are automatically escaped when logging in (#1478)
Roles
- Roles Toolbar Not Frozen Although User Has Partial Permission (#1034)
- Wrong Message at Role Deletion (#1608)
- Kapua Completely Freezes if Roles Not Added Properly (#1006)
- No Upper Limit For Roles Filter Box (#1195)
- No Error Message If maxNumberChildRoles Exceeded (#979)
- Page Toolbar Freezes, if Upper Refresh Button in Roles Clicked Too Fast (#1259)
Roles - Permissions
- Wrong Error Message When Deleting a Permission From Role (#1884)
- Same Permission Can be Added Multiple Times to a Role (#1575)
Security
- Fix vulnerabilities in ServiceDAO (#2011)
- Root Accounts exposed when browsing Settings (#2022)
- Hashed password visible when inspecting Users->Credentials network traffic (#2024)
Service Events
- fix - service events: error during locator initialization (#1574)
- service events - error during locator initialization (#1573)
sys_housekeeper
table is not compatible with MySQL/mariaDB (#1446)- Service events (docker) - ActiveMQ is unable to connect to Artemis service broker (#874)
Tags
- No "Granted/Assigned Devices" Tab In Tags (#1559)
- No Upper Limit For Tags Filter Box (#1176)
- No Error Message If maxNumberChildTags exceeded (#982)
- Page Toolbar Freezes, if Upper Refresh Button in Tags Clicked Too Fast (#1261)
Tests
- AccountsJAXBContextProvider has to be moved to src/test/java (#175)
Users
- Wrong Error Messages In Users (#1864)
- Missing information in Description Tabs (#1794)
- New User Window Too Small For Error Signs (#1615)
- Page Toolbar Freezes, if Upper Refresh Button in Users Clicked Too Fast (#1262)
- Credential Error When Creating Or Deleting New User (#1070)
- Error When Deleting Users (#1069)
- Kapua Returns An Error Although User Successfully Created Or Deleted (#1022)
- User Can Delete Itself (#1445)
- "Null value" Error When Trying To Edit User Parameters (#1701)
- Error When Creating User With DisplayName, Email And Phone Number Maxed Out (#1376)
- Dialogue Box Closes if User With Non-Unique Name Entered (#1264)
- User Cannot Edit Its Settings (#1215)
- No Upper Limit For User's Filter Box (#1179)
- No Error Message If maxNumberChildUsers exceeded (#983)
- Unable to add Permissions to new User (#841)
- Quatation Marks Problem In Users and Jobs (#1717)
Users - Credentials
- After Editing API KEY, The List Gets Randomized (#1774)
- When Editing User's Credentials, "Credential Type" is in Form of Disabled Dropdown Menu (#1670)
- Credential Toolbar Looks Disabled After "Unlock" Button Clicked (#1619)
- No Upper Limit For User Password (#1602)
- Kapua Does Not Report Error If Years in Users Entered in Wrong Format (#1248)
- Kapua Reporting Locked User Because Of Password Expired Date (#1852)
- Kapua Reports "Password values do not match" Although Passwords Match (#1894)
- User Unable To Add API_KEY If Buttons Clicked In Certain Sequence (#1858)
- Error Sign In Users -> Credentials On Random Places (#1848)
- Undefined API_KEY (#2048)
Users - Permissions
- Group ID instead of Group Name in Users -> Permissions (#1622)
- Kapua Freezes if Permissions Not Added Properly (#1543)
- "ALL" Permissions Can Be Added to User Multiple Times (#1002)
- Grant Button In Users -> Permissions Not Properly Enabled/Disabled (#1906)
- Group Permission Problem (#1910)
Users - Roles
- Wrong Info Message When Adding Role To a User (#1885)
- Wrong Text in Info Box When Adding Role To User (#1309)
Enhancements
Access Groups
- No "Granted Devices" Tab In Access Groups (#1089)
- Groups Toolbar Not Frozen Although User Has Partial Permission (#1027)
Accounts
- Account Expiration date (#1860)
- Child Account And Settings Input Fields Too Long (#1377)
- Child Account Refresh Button Not Highlighted When Pressed (#1276)
- At Child Account Deletion Error Message Not Shown Correctly (#1201)
- Child Account Toolbar Not Frozen Although User Has Partial Permission (#1072)
- Info Message Not Shown Properly When Deleting Child Account (#1067)
- User Cannot Change Settings Of Certain Child Account (#1055)
- Custom Attributes in Devices Cannot be Used (#875)
Accounts - Users
- User Cannot View Users Of Certain Child Account (#1056)
Accounts - Configurations
- Service List on Settings View is not sorted properly (#1533)
Certificates
- Add query predicate for signature on Certificate entity (#1881)
- certificates - unmanaged error when a user tries to authenticate with no valid cert (#1455)
- certificates - check forwarded flag (#1451)
- JWT certificate now always selected correctly from the DB (#1435)
Connections
- Allow creation of DeviceConnection as DISCONNECTED (#1472)
Data
- Multiple Refresh Buttons in Dataview (#1722)
- Bottom Window Can Cover Refresh Buttons in Data Tab (#1143)
- Problem With Selecting Metrics (#846)
Data - By Topic
- data view by topic - poor performance issue (#1312)
Data - Export
- Export Data Button in Devices -> Events Inactive (#1781)
Datastore
- datastore - elasticsearch index names should have an application prefix (#1345)
- Datastore client - delete indexes (#1063)
Deployment
- Kapua Demo machine running on Docker (#1809)
- Update to the latest stable version of Jetty 9.4.x (#1982)
Devices
- No Description When Editing Device (#1368)
- Tab For Results in Devices Not Shown Correctly When Browser Window Narrowed (#1293)
- No "No Group" Option in Device Filter (#1218)
- Device Toolbar Not Frozen Although User Has Partial Permission (#1031)
Devices - Bundles
- Stop Button in Devices -> Bundles Not Disabled When Active Bundle Deselected (#1719)
Devices - Command
- Number of Characters in Command Window in Devices Not Limited (#1715)
- Commands Can Be Executed Although No Device Selected (#1222)
Devices - Configurations
- Generic Driver Name in Device Configuration (#1219)
- Discard Button In Device Configuration Not Working Properly (#1131)
Devices - Management
- Improve implementation of the Kura Device Call (#1270)
Devices - Tags
- Refresh Button in Devices -> Tags Not in Proper Position (#1779)
- "Tag applied" Instead "Tag successfully applied" When Adding Tags to Devices (#1778)
Domains
- Improve Domain entity for external use (#779)
General
General - About
- Unknown Settings Column in About Tab (#1254)
General - Database
Database schema: General issue with IDs (#207)
General - Filters
- No Space Between Filter Fields and Slider (#1369)
General - UX
- "Modified On" Field Not Updated Properly (#1795)
- Fields in Jobs/Data/Devices Not Limited (#1782)
- Kapua Turns to Page One When Adding or Deleting an Item (#1724)
- Time Not in Proper Format (#1721)
- Kapua Implicitly Exposes Which Users Exist in Database And Which Do Not (#1303)
- Main Tabs Slider Not Working Properly (#1292)
- Edit Toolbar in Settings Jumps To Bottom When Keyboard Used (#1223)
- "Three Dot Sign" For Repositioning Windows Not Positioned Properly (#1193)
- Background Color In Delete Dialogue Box Is Split In Two Parts (#1188)
- Rephrasing Error When User Does Not Have Forwardable Permissions (#1059)
- TimeStamp Time And DateRange Time Not Same (#935)
Jobs
- Implement feature to start a job on a subset of JobTargets (#1567)
- JobEngine isRunning() and stopJob() implementation (#1518)
- No Jobs Filter (#1086)
- Column Without a Name in Jobs (#1076)
- Job Toolbar Not Frozen Although User Has Partial Permission (#1026)
Jobs - Executions
Jobs - Schedules
- In job schedule edit form put date and time pickers in the same row (#1036)
Jobs - Steps
- Job - Automatic step index generation (#1661)
- Job Step Add/Edit dialog label line breaks (#1489)
- Improve KapuaStepContextImpl.getStepProperty(...) method (#1271)
Jobs - Targets
- No Device Display Name in Job -> Targets (#1776)
- Targets Deselected When Pressing Refresh, ClientID or Display Name (#1597)
- Implement a feature to reset the JobTarget status before processing (#1568)
Project Layout
- Drop old leftover modules build (#1461)
- Promote query EntityPredicates classes from implementation to api module (#1346)
REST API
- Improve KapuaDataMessage JAXB Annotations (#1662)
- Unable to unmarshal KapuaListResult objects (#1921)
- REST device/{deviceId}/request resource JSON not up to date (#1883)
- NPE when parsing ScopeId in some cases (#1348)
Tags
- Tag Toolbar Not Frozen Although User Has Partial Permission (#1025)
Users
- User Status Field Not Coloured in Red When User Wants to Disable Itself (#1777)
- User Can Disable Itself (#1736)
- "Add User" Button Not Frozen Although User Has No Write Permissions (#1068)
Users - Roles
- Non-specific Error When Adding Same Role To User (#1110)
Merged no issue-related Pull Requests:
Datastore
- Datastore Indexing Window is now a System Setting (#1944)
- Optional Datastore indexing window by hour, day or week (#1845)
Deployment
- Replaced Tomcat with Jetty in Vagrant (#1798)
Domains
- Fix cleanup domains (#1967)
- Wrong Domain Name For Broker, EndpointInfo and Stream Permissions (#1528)
General
- Refactor all Predicates interfaces to Attributes classes (#1968)
- Account Path in GwtSession (#1749)
- Fix remove import static (#1591)
General - Database
- Fix Liquibase Scripts Checksum (#1742)
General - UX
- Show missing Permission on SubjectUnauthorizedException (#1508)
- Fix for display of long user name (#1382)
Jobs
- Cleanup JobEngine Data when deleting Job (#1731)