Releases: smarthome-go/smarthome
Releases · smarthome-go/smarthome
Smarthome v0.1.0
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
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 tov0.0.59
- Added functionality to the lockdown mode, which will now block any form of switch-request
Smarthome v0.0.59
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
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
- When using an
Smarthome v0.0.57
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 theeven
function and theping
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
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
andexport
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 passwordrescue
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
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
version0.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
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
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
andmobile
- 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
toEvent Logs
Code Quality / Bugfixes
- Removed unneeded
uui
NPM dependency
Smarthome v0.0.52
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 builtinhttp
andget
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 brokennpm 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