Skip to content

Releases: smarthome-go/smarthome

Smarthome v0.1.0

20 Aug 15:44
Compare
Choose a tag to compare
Smarthome v0.1.0 Pre-release
Pre-release

Changelog for v0.1.0

Note: This is a significant release because it marks the official end of active, breaking development.
Changes from here will follow the SemVer guidelines and will try to reduce breaking changes as much as possible.

Web-UI

  • Removed debug-logs from the web-UI
  • Removed the material-symbols dependency due to irrational network-loads
  • Automatically detect nighttime and use weather icon accordingly
  • Cleaned the Web-UI code and removed unneeded parts

Homescript

  • Add workspaces which allow visual groups of coherent scripts
  • The URL of the HMS-editor is now changed reactively which allows sharing the URL
  • The HMS-execution via the F-X keys is now prevented when a script is already running
  • Improved the HMS editor's mobile layout

Server

  • The sunrise & sunset time is now included in every weather response

Smarthome v0.0.60

19 Aug 19:19
Compare
Choose a tag to compare
Smarthome v0.0.60 Pre-release
Pre-release

Changelog for v0.0.60

Homescript Web-UI

  • Added a visual indicator for running scripts to the HMS list selector

Dashboard Web-UI

  • Allowed the possibility to terminate scripts which are already running from the Quick Actions component on the dashboard
  • Optimized the Quick Actions display for mobile devices
  • Finalized the Quick Actions alignment trough invisible dummies
  • Tweaked the general reactivity of the dashboard, for example the power usage chart's scaling
  • Added a reminder dashboard component for viewing and removing reminders
  • Added some visual padding to the dashboard's weather component's contents
  • Fixed failing no-automations detection in dashboard automations / schedules component

Reminder Web-UI

  • Fixed the misleading edit-button behavior which was occurring when modifying a reminder
  • The reminders on the reminder page are now sorted by-priority (in descending order)

General Web-UI

  • Added a much more human-friendly way of displaying a notification's time
  • Made the nav bar much more mobile-friendly (especially on landscape orientation)

Server

  • Removed undesired debug print statements from backend code
  • Removed unneeded Smarthome-CLI from the server's docker-image
  • This decreased the docker-image size by 20.7% in comparison to v0.0.59
  • Added functionality to the lockdown mode, which will now block any form of switch-request

Smarthome v0.0.59

18 Aug 20:06
Compare
Choose a tag to compare
Smarthome v0.0.59 Pre-release
Pre-release

Changelog for v0.0.59

Web UI

  • The installable version of the web-ui now allows every possible rotation
  • Upgraded all third-party NPM web dependencies
  • Added an option to the system configuration page which sets the OWM (OpenWeatherMap) Api key
  • Added the material-symbols dependency for more icon support
  • Added system cache deletion button to the system settings page

Dashboard

  • Incremented visual elevation for a better design
  • Added automations & schedules as a dashboard component
  • Improved dashboard component layout
  • Added the current weather as a dashboard component
  • Improved display for empty quick actions

Server

  • Removed data races from Go backend tests
  • Added efficient weather caching
  • Fixed HMS sigTerm termination bug which caused all scripts of a certain ID to be terminated
  • Implemented call-stack analysis before dispatching a termination signal
  • Fixed security vulnerability which affects the system configuration
  • Authentication tokens can now be imported and exported regularly
  • Added a API route for listing the currently active Homescript jobs

Smarthome v0.0.58

14 Aug 20:39
Compare
Choose a tag to compare
Smarthome v0.0.58 Pre-release
Pre-release

Changelog for v0.0.58

Dashboard

  • Added Quick Actions as a dashboard component
  • Improved the dashboard's reactivity

Power Usage Monitor

  • Added the unit Watts to the tooltip label
  • Removed line tension which leads to more sharp edges
  • Optimized graph scaling on non-widescreen devices
  • Decreased measurement data point radii
  • Improved the graph's fill gradient to be less dominant

Power Usage Data Collection

  • Added a safety check which prevents errors from happening during the calculation of the power usage
  • This bug could occur if you only had switches which each 'used' 0 Watts
  • Added a scheduler which performs a periodic power usage snapshot (every hour)
  • This should help make the graph more accurate and should avoid the generation of misleading slopes
  • Added data filtering and automated improvement of the power usage data points
  • Redundant measurements are now automatically removed from the records
  • This will improve the chart's visuals and will make it more organized (Easier to spot real changes)

Server Improvements

  • Fixed non-running HMS URL cache flushing scheduler
  • Fixed a bug in the Homescript runtime environment
    • When using an exec call, termination of the Homescript would not work properly
    • Only the inner Homescript, the exec target would get terminated
    • This issue is now resolved, however exec will return an error if terminated

Smarthome v0.0.57

13 Aug 21:09
Compare
Choose a tag to compare
Smarthome v0.0.57 Pre-release
Pre-release

Changelog for v0.0.57

Dashboard

  • Started work on the dashboard
  • Added the first component: a power-usage graph

System Configuration Page

  • Fixed edit-button label in the hardware-node edit dialog

Homescript

  • Upgraded Homescript to v0.17.0
  • Then to v0.16.0
  • Added the currentWeek variable the even function and the ping function
Getting the Current Week
  • Returns the ISO 8601 week number of the current year
  • Ranges from 1 to 53
print(currentWeek)
Checking if a Number is Even
  • Takes an integer as its input (floats will be implicitly converted to int)
  • Checks if the parameter is even and returns an according boolean value
print(even(1))
Performing an ICMP Ping
  • Requires a hostname and a timeout (in seconds)
  • Returns a boolean indicating whether the requested host is online or offline
print(ping('localhost', 0.5))

Server Backend

  • Added all necessary functions to support the collection of power usage data
  • On every switch's power change, a snapshot of the current power usage is taken and saved into the database

Smarthome v0.0.56

12 Aug 20:30
Compare
Choose a tag to compare
Smarthome v0.0.56 Pre-release
Pre-release

Changelog for v0.0.56

System Configuration Page

  • Added a system configuration page which is accessible under /system
  • Is able to modify values like
    • The server's geolocation
    • System-wide automation system status
    • System-wide lockdown mode (currently no functionality)
  • The dashboard includes easy overview and management over the used hardware (currently only nodes)
    • View hardware nodes and their online-status
    • Add hardware nodes
    • Edit hardware nodes
    • Delete hardware nodes
  • Includes an overview and management over the system's event logs
    • Allows viewing logs (filtering by log-level)
    • Allows deletion of old logs (* > 30 days*)
    • Allows deletion of all logs
    • Allows deletion of a single event log entry
  • Allows easy configuration import and export functionality

Profile Page

  • Fixed color bug which occurs when color and the darkTheme setting are changed in the same edit
  • Added functionality to the manual reload button
    • Reloads user data
    • Reloads permissions
    • Reloads authentication tokens
  • Fixed previously broken permission-viewer dialog
  • The avatar upload now also allows UPPERCASE file endings (Because e.g. Canon cameras produce .JPG)
  • Always reset the token add dialog's input field after a successful submit

Server Backend

  • Improved error log when a node health check fails
  • Add logs to node health check
  • Addressed trivial API data validation vulnerability
  • Added evaluation of system configuration in the setup file runner
  • Fixed significant bug in database table deletion function
  • The database is now automatically deleted when performing a setup import (only via the web-UI)
  • If a setup file could not be imported, the rescue user with password rescue is created
  • Removed misleading logs when deleting event logs
  • Improved code quality due to refactoring of some database code
  • Fixed significant security vulnerability affecting camera feeds

Smarthome v0.0.55

10 Aug 11:21
Compare
Choose a tag to compare
Smarthome v0.0.55 Pre-release
Pre-release

Changelog for v0.0.55

Token Authentication

  • The API endpoint at /api/login/token now returns information about the token that was used to authenticate (only if the token was valid)
  • This release does not add a lot of features but is required for maintaining compatibility with SDK version 0.19.0.

Example

Request

POST to /api/login/token with following body

{
    "token": "650feaafc1487d18bd8c5a805363be96"
}
Returns

200 OK

{
    "username": "test",
    "tokenLabel": "myapp"
}

Smarthome v0.0.54

09 Aug 21:22
Compare
Choose a tag to compare
Smarthome v0.0.54 Pre-release
Pre-release

Changelog for v0.0.54

Token Authentication

  • Services can now use the API endpoint at /api/login/token to authenticate themselves using a token
  • This release does not add a lot of features but is required for maintaining compatibility with the SDK.

Example Request

POST to /api/login/token with following body

{
    "token": "650feaafc1487d18bd8c5a805363be96"
}

Smarthome v0.0.53

09 Aug 19:11
Compare
Choose a tag to compare
Smarthome v0.0.53 Pre-release
Pre-release

Changelog for v0.0.53

Profile Page GUI

  • A user can now change their password using the button under the Danger Zone
  • This will sign out the user immediately and will therefore force the user to remember their password
  • Significantly improved the layout on different viewports, for example widescreen and mobile
  • Minimized layout shifts during page load
  • Added authentication tokens and their management to the profile page
  • Improved avatar image reset button location using a dynamic popup
  • The profile page is now officially usable and almost completed

Authentication Tokens

  • As described above, authentication tokens have been added to Smarthome
  • In the future, the SDK will add support for tokens in order to increase the security of the Smarthome infrastructure

Homescript

  • Removed status code checking during linting of http functions

User Permissions

  • Renamed the permission Logs to Event Logs

Code Quality / Bugfixes

  • Removed unneeded uui NPM dependency

Smarthome v0.0.52

08 Aug 22:30
Compare
Choose a tag to compare
Smarthome v0.0.52 Pre-release
Pre-release

Changelog for v0.0.52

User Profile GUI

  • Added a first version of the user profile GUI

Features

  • User data visualization
  • User data modification
  • Avatar display
  • Avatar deletion and modification
  • User account deletion

Homescript

  • Bumped the Homescript runtime to v0.15.2
  • Therefore fixed a possible server panic when using the builtin http function

Networking

  • Homescript can now use the sigTerm in order to cancel the builtin http and get functions during a request
  • Significantly improved lint times when using networking inside Homescript
  • Implemented a caching-system which caches correctly linted URLs inside a database table
  • Each cache entry expires after 12 hours, thus keeping each URL up-to-date and reducing database table size

Backend Code Quality

  • Refactored a large portion of the backend user avatar logic
  • Refactored user avatar database functions to avoid unfitting code
  • Upgraded all used Go modules

Developer Notes

  • Removed useless test in cpre/config/config_test.go
  • Bumped dependency vite to ^3.0.0 and therefore fixed broken npm i
  • Removed annoying test output from core/config/export_test.go

Documentation

  • Added hint for session keys to Docker.md

GUI fixes

  • Eliminated large content shift in NavBar pages
  • Added missing data attributes to the global data store
  • Made permission names and descriptions more concise and readable
  • Fixed scrollable room page on non-widescreen layouts