Releases: nerves-project/nerves_runtime
v0.13.7
- Changes
- Add
Nerves.Runtime.Heart.guarded_immediate_reboot/0
to ungracefully reboot. - Modify
Nerves.Runtime.FwupOps.factory_reset/1
to immediately reboot to
avoid a graceful shutdown unintentionally partially undoing the factory
reset work. - Default EXT4 application partitions to remount read-only when formatted.
This changes the behavior from file I/O returning file system corruption
errors to file I/O returning read-only filesystem errors. The change was
made for consistency with F2FS and to lock things down as soon as corruption
was detected.
- Add
v0.13.6
v0.13.5
- Changes
- Add
Nerves.Runtime.FwupOps
to make it easier to run commands from the
revert.fw
(older) andops.fw
(newer) files. The firmware revert logic
had always used this, and this makes getting to factory reset and preventing
reverts easier. Some operations aren't available on all Nerves systems. - Various documentation and syntactical updates instigated by Elixir 1.15.
- Add
v0.13.4
- Changes
- Fixed new compiler warnings with Elixir 1.15
- Support the Nerves Heart v2.2 snooze feature.
Nerves.Runtime.Heart.snooze/0
will request thatheart
continues to pet
the hardware watchdog and ignore lack of updates from Erlang for a short
amount of time to allow debug of conditions that would otherwise be
interrupted by a watchdog timeout. - Report errors from Heart functions rather than hang forever when Erlang
:heart
is unresponsive. - Support additional status from Nerves Heart v2.2 to report the initial
bootup grace period timeout and snooze timeout remaining.
v0.13.3
v0.13.2
Support Nerves Heart v2.0.0 attributes and features. Nerves Heart v2.0.0 is a
major update that addresses rare cases where devices would fail to reboot or
detect an issue. It also adds helpful statistics. See the docs for details.
Nerves Heart v1.x versions are still supported.
- Changes
- Support guarded reboot and poweroff if Nerves Heart 2.0 is available.
Reboots and poweroffs still gracefully stop the VM, but they now don't
require Busyboxreboot
orpoweroff
, and they stop petting the hardware
watchdog to set a hard limit. - Support Nerves Heart initialization completion notifications. This lets you
protect the time between boot and:heart.set_callback/1
should something
happen that prevents the callback from being set. This addresses an issue
where the VM would think everything is great since it wasn't calling the
callback to find out that it was not.
- Support guarded reboot and poweroff if Nerves Heart 2.0 is available.
v0.13.1
- Changes
- Handle another way key-value stores were being mocked pre-v0.13.0.
- Fix default
boardid_path
in mix.exs
v0.13.0
This update replaces Nerves.Runtime.target/0
with
Nerves.Runtime.mix_target/0
. It is not believed that the former function was
used much, but if you do use it, note the return value change in mix_target/0
.
- Changes
- Support customizable key-value store backends so that it's possible to store
firmware and board metadata outside of U-Boot environment blocks. See the
:kv_backend
configuration option. - Support changing the firmware revert script path (see
:revert_fw_path
) - Decide host vs. target differences at compile time to avoid target-only
or host-only logic and dependencies existing unnecessarily at run-time.
- Support customizable key-value store backends so that it's possible to store
v0.12.0
This is a major update to nerves_runtime
that removes SystemRegistry. SystemRegistry has been disabled by default for years, but it could be re-enabled if device insertion and removal events were needed. That functionality has been moved to nerves_uevent
and updated to use the property_table
library used by VintageNet.
Elixir 1.11 is the minimum supported Elixir version now.
To upgrade from prior versions of nerves_runtime
:
- If you're using
:system_registry
at all, please review the:nerves_uevent
documentation for new library. - Remove
config :nerves_runtime, :kernel, use_system_registry: false
from yourtarget.exs
. It's not used any more. - If you had
config :nerves_runtime, :kernel, autoload_modules: false
in yourtarget.exs
, change it toconfig :nerves_uevent, autoload_modules: false
.
-
Bug fixes
- Run
reboot
andpoweroff
sequences in their own Erlang process. This fixes a bug were the process that callsreboot
gets killed partway through the reboot process and the system doesn't actually reboot.
- Run
-
Changes
- Kernel logging and syslog monitoring has been moved to
nerves_logging
. The
functionality is the same as before, but it's now possible to use withoutnerves_runtime
. - Added convenience routines for getting status from
nerves_heart
.
- Kernel logging and syslog monitoring has been moved to
v0.11.10
- Bug fixes
- Update the initial device scan to be deterministic and to trigger events for
containers before the devices they contain. This fixes a subtle issue that
prevented RT5379 WiFi module drivers from automatically being loaded. - Batch up modprobe invocations
- Update the initial device scan to be deterministic and to trigger events for