Releases: nerves-project/nerves_runtime
Releases · nerves-project/nerves_runtime
v0.8.0
-
Enhancements
- Optimized enumeration of devices at boot. You will likely notice devices
becoming available more quickly. This may uncover race conditions in
application initialization code. - The
syslog
monitoring code has been rewritten in pure Elixir. This
component captures log messages sent by C programs using thesyslog
system
call so that they can be handled by Elixir Logger backends. - The kmsg log monitor still requires C, but the C code is simpler now that it
doesn't processsyslog
messages as well. - The Linux
uevent
processing code was simplified and the C to Elixir
communications refactored to minimize processing of events.
- Optimized enumeration of devices at boot. You will likely notice devices
-
Bug fixes
- Fixed a race condition with the Linux kernel and processing
/sys/devices
that could cause an exception during device enumeration. - Syslog messages w/o terminating newlines are logged now.
- Fixed a race condition with the Linux kernel and processing
v0.7.0
-
Enhancements
- Documentation updates to
nerves_serial_number
,nerves_validated
, and
nerves_autovalidate
. - Added helper function
Nerves.Runtime.KV.UBootEnv.put/2
for writing to the
UBoot env. This is useful for setting provisioning information at runtime. - Added the ability to mock the contents of
Nerves.Runtime.KV
for use in
test and dev. The contents can be set in your application config.config :nerves_runtime, :modules, [ {Nerves.Runtime.KV.Mock, %{"key" => "value"}} ]
- Documentation updates to
-
Bug fixes
- Kernel UEvent
change
messages no longer cause modifications to
system_registry.
- Kernel UEvent
v0.6.5
Update dependencies to only include dialyxir
for [:dev, :test]
, preventing it
from being distributed in the with the hex package. This addresses an issue
where dialyxir
and its dependencies would be included in the applications list
when producing the OTP release and cause :wx
to raise because the target
version of erts
was compiled without it.
v0.6.4
- Bug fixes
- Fix U-Boot environment load issue and add unit tests to cover environment
block generation using either U-Boot tools or fwup - Load rngd if available. If it's available, this greatly shortens the time
for the Linux kernel's random number entropy pool to initialize. This
improves boot time for applications that need random numbers right away.
- Fix U-Boot environment load issue and add unit tests to cover environment
v0.6.3
- Bug fixes
- Fix issue with parsing fw_env.config files with space separated values.
v0.6.2
-
Enhancements
- Updates to docs and typespecs.
-
Bug fixes
- Read the U-Boot environment directly using :file if possible. (OTP-21)
This fixes an issue withfw_printenv
where multi-line values cause the
output to be unparseable.
- Read the U-Boot environment directly using :file if possible. (OTP-21)
v0.6.1
- Bug fixes
- Log the output of system commands to that they're easier to review
- Support mounting
f2fs
(requires support in the Nerves system to work)
v0.6.0
-
New features
- Forward operating system messages from
/dev/log
and/proc/kmsg
to
Elixir'sLogger
. If the log volume is too much to the console, consider
replacing the console logger withring_logger
or another logger backend.
- Forward operating system messages from
-
Bug Fixes
cmd/1
helper improvements to interactively print output from long running
commands.Nerves.Runtime.revert
would always reboot even if told not to.- Cleanup throughout to improve docs, formatting, and newer Elixir stylistic
conventions - Remove scary suid printout when crosscompiling since nothing setuid related
was going on.
v0.5.2
-
Enhancements
- Added
Nerves.Runtime.revert
to revert the device to the inactive
firmware. To use this, the Nerves system needs to include revert
instructions. This is currently being implemented.
- Added
-
Bug Fixes
- Setuid the
uevent
port binary for debugging on the host.
- Setuid the
v0.5.1
- Bug Fixes
- Split device attributes into only two parts