Releases: nerves-hub/nerves_hub_web
v2.0.0
Trying to create a Changelog from the previous tagged version v1.3.0
from
January 2023 is frankly a bit much.
The fundamentals:
- Performant at scale: It is used in production with hundreds of thousands of connected devices. It works well.
- Remove AWS: It is now easy to run and set up on any hosting platform
There is also a lot more. The initial announcement of 2.0
has the basic idea. The only idea that isn't currently actively pursued or
already delivered is MQTT and that is bound to pop up again in the future.
A lot of this work should be credited to Eric Oestrich and he gave an update
on it at the Nerves Meetup.
Jon Carstens covered some of the work during
his NervesConf talk as a well.
After the 2.x changes were available Josh Kalderimis joined in and started
looking at ease of use which led to a lot of various improvements but the
biggest one is the alternative device authentication method: Shared Secret
Since then we have contributions from 19 people where Eric Oestrich dominates
the stats. Followed by Josh Kalderimis. Then Jon Carstens.
There are a lot of things planned. SmartRent, NervesCloud and other users of
the project are in active collaboration on improving the featureset, the
performance and the user experience. We want this to be not just a great tool
for developers that choose Nerves but a surprising delight and joy to use.
Migration
You should be able to migrate using the Ecto migrations. Nothing should be
break if you migrate a 1.x install to the 2.x releases. We still recommend
that you set aside time for dealing with anything unusual that might come up.
You may also need some time to deprovision the AWS resources you no longer
need.
v1.3.0
Potentially Breaking Change
Versions were updated to Elixir 1.14.2 and OTP 25.2. Much testing has been done to
attempt to catch any potential SSL/TLS issues before release and the update should
be fairly safe, but it is worth keeping an eye on.
Added
- Add
NervesHubWebCore.Workers.TruncateAuditLogs
for periodic cleaning of
audit logs table (thanks @LostKobrakai) - Firmware UUIDs hyperlink to the firmware#show page (thanks @TheCraftedGem)
- Add pretty 404 Not Found page (thanks @TheCraftedGem)
- Audit Log on device disconnect (thanks @TheCraftedGem)
Fixed
- TLS 1.2 is forced for support with past OTP versions and to prevent
devices using cryptochips from being able to connect- Note:
:sha
and:sha224
signature algorithms were dropped as there is a potential
bug negotiating them on a device with cryptochips if the server presents them as options.
Since they are not typically used, it was decided to remove the support to fix the bug
until more investigation can be done when reviewing OpenSSL 3.0
- Note:
- [#871] Fix JITP>product relation to allow multiple profiles (thanks @jeanparpaillon)
DeviceLive.Index
now sorts and paginates via the database instead of loading
all devices into memory. Fixes an issue where a production with thousands of devices
may fail to load the index page (thanks @oestrich)- Moving to the DB level broke the ability to sort/query by
Connection Status
.
This will be adjusted and fixed in a later release
- Moving to the DB level broke the ability to sort/query by
- Fix incorrect query in
Fix Accounts.get_user_by_email_or_username/1
(Thanks @zolakeith!) - Paginate audit logs instead of loading the complete feed (thanks @LostKobrakai)
- Sort devices
Last Communication
correctly whennil
Updated
- Device imports now support certificates Base64 encoded as DER format
- Sort firmware dropdown options by version number (thanks @TheCraftedGem)
v1.2.0
v1.1.0
Fixed
- Default to TLS 1.2 for all connections. This fixes issues if TLS 1.3 is
used or attempted. See NervesHubWeb: Potential SSL Issues
v1.0.4
Fixed
- Fix return value passed to consume_upload_entry/3 (thanks @tonnenpinguin)
v1.0.3
v1.0.2
v1.0.1
Fixed
- Fixed on/off toggling on deployment#show page (thanks @tonnenpinguin!)
v1.0.0
The official start of NervesHub versioning. See the NervesHub documentation
for more information and Custom Deployment
guide for setting up your own instance.