Releases: nerves-project/nerves_bootstrap
v1.0.0-rc.2
- Updates
- Remove
build_embeddedfrom the mix.exs since it was unnecessary - Fix update check in
mix local.nerves - Various changes to align new project generator with the one in Elixir 1.6.
- Add rootfs_overlay directory and populate it with an iex.exs to load the
nerves_runtime IEX helpers. This replaces a common manual process of doing
this or something similar afterwards. - Add a commented out reference for enabling Erlang's heartbeat monitor
- Remove
v1.0.0-rc.1
- Bug fixes
- Various
mix formatupdates to the template - Update template so that projects use v1.0.0-rc system releases so that they
compile - Fix archive update check logic
- Various
v0.8.2
- Bug Fixes
- Fixed check for update logic to exclude pre releases if on stable
and show new pre releases / stable if current version is pre release.
- Fixed check for update logic to exclude pre releases if on stable
v1.0.0-rc.0
Nerves no longer automatically compiles any nerves_package that is missing
it's pre-compiled artifact. This turned out to rarely be desired and caused
unexpectantly long compilation times when things like the Linux kernel or gcc
got compiled.
When a pre-compiled artifact is missing, Nerves will now tell you what your
options are to resolve this. It could be retrying mix deps.get to download it
again. If you want to force compilation to happen, add a :nerves option for
the desired package in your top level project:
{:nerves_system_rpi0, "~> 1.0-rc", nerves: [compile: true]}v0.8.1
- Bug Fixes
deps.getanddeps.updatealiases should always be added to the
project regardless of target.
v0.8.0
In the last relase (0.7.x) we added two additional aliases deps.get and
deps.update. In this release, we added an alias for run.
This led to a point where is became unreasonable to manage
all the required aliases in the project mix.exs. We changed the pratice to
allow nerves_bootstrap to manage the required aliases for you by calling
Nerves.Bootstrap.add_aliases/1, however, this causes users who
did not have the nerves_bootstrap archive installed to be stuck in an error
loop unless they would cd to a directory that did not contain an offending
mix.exs file to install the missing archive.
This version provides a safer way of allowing nerves_bootstrap to manage
its required aliases by hooking into a single alias: loadconfig.
To update, you will need to modify your mix.exs to the following:
# mix.exs
def project do
[
# ...
aliases: ["loadconfig": [&bootstrap/1]],
]
end
# Starting nerves_bootstrap adds the required aliases to Mix.Project.config()
# Aliases are only added if MIX_TARGET is set.
def bootstrap(args) do
Application.start(:nerves_bootstrap)
Mix.Task.run("loadconfig", args)
end- Enhancements
precompilewill compile all Nerves packages instead of only the system
and its children.- Calling
runwhileMIX_TARGETis set will raise an exception for
trying to run cross compiled code on the host. Application.start(:nerves_bootstrap)will attempt to add aliases to the
mix project on the top of the stack ifMIX_TARGETis set.
v0.7.1
- Enhancements
- Added alias for
deps.updateto appendnerves.deps.getto fetch
artifacts.
- Added alias for
v0.7.0
- Enhancements
-
Added Mix task
nerves.deps.get -
nerves_bootstrapwill check for updates whennerves.deps.getis called. -
Added
Nerves.Bootstrap.add_aliases/1
This helper function ensures that your project has the required Nerves
mix aliases defined and in the correct execution order. The function takes
the existing aliases as a keyword list and injects the required Nerves aliases.
You will need to update yourmix.exstarget aliases to use this version of
nerves_bootstraplike this:defp aliases(_target) do [ # Add custom mix aliases here ] |> Nerves.Bootstrap.add_aliases() end
You should also update your required dependency for nerves to
{:nerves, "~> 0.9", runtime: false}
-
- Bug Fixes
- disable precompiler when calling
mix nerves.cleanto prevent having to
build the package so we can clean it. - Fixes issue where project dependencies that contain calls to
System.get_env
in their config or mix file or rebar deps that haverebar-config.script
overrides that makeos:getenvcalls were not being configured for the
cross compile environment.
- disable precompiler when calling
v0.6.4
- Enhancements
- Changed update location from Github to hex.pm
- Fixed compiler warning
- Synchronize new project template with Elixir 1.6 updates (includes formatter)
v0.6.3
- Enhancements
- Removed unsupported systems from default targets and added x86_64.
- Moved to independent hex package.