v4.0.0
New Features
- Actually removal of features:
- No longer an
escript
- Functionality that is a duplicate of
rebar3
has been removed rebar3
is now able to pass a map of OTP Applications sorelx
does not need to do a discovery step- Releases are no longer discovered unless needed
- No longer an
- Add support for
systools
checksexref
,{exref, [Apps]}
andsrc_tests
- Neither form of
exref
will work if usingrebar3
as an escript. Install withrebar3 local install
in order to use this feature. The default xref analysis done by relx now makes this option less useful but it is kept to allow a user to choose what is best for them.
- Neither form of
- Alternative to
exref
added which is enabled by default,check_for_undefined_functions
. check_for_undefined_functions option using xref on release - Add support for multiple
mode
types:dev
: Same as the olddev_mode
option. Creates symlinks for applications and configuration.minimal
: Same asprod
but does not include ERTS in the release.prod
: Strips debug info from beam modules, includes ERTS and excludes src
- Extended start script no longer requires exact version of ERTS but attempts to use the one in the
PATH
if none is bundled in release - On OTP-23:
- extended start script will use
erl_call
instead ofnodetool
- remote shell will not bind to a listen port making use of
epmdless
simpler
- extended start script will use
- include_start_script_for allows setting which type of scripts to include
- flexible release cookie
- preserve order of applications in release config -- Thanks @moiseev for the initial fix and test used for this issue!
- add overlay var for each application in the release
- otp-23 support and new env var ERL_DIST_PORT
- support getting ERL_DIST_PORT from vm.args -erl_epmd_port argument
New Defaults
extended_start_script
istrue
by- Automatically includes
config/sys.config[.src]
andconfig/vm.args[.src]
- set
{sys_config, false}
and{vm_args, false}
to force them to be left out
- set
- Release boot script is now always named
start.boot
- add check_for_undefined_functions option using xref on release
Bug Fixes
{include_src, false}
properly leaves outsrc
andinclude
of all applications, including OTP system applications- copy dir in overlay bug
- remove doc and man dir from erts when copying to release
- fix fallback version number that is currently a tuple {plain, "0"}
- boot script name is different after tarring
- how to call an rpc with multiple arguments?
- git describe failure
- correctly delete symlinks on windows (resolves #801)
- Windows: add powershell start script, fix nodetool ping output
- Windows: Fix issue on making junctions on paths with spaces
- otp-23 support fix: don't use undefined for longname remote shell
- use RELX_RPC_TIMEOUT in nodetool for timeout
- fix foreground subcommand with shell/input
- fix heart command setup and the reboot test of it
Backwards Incompatible Changes
Start Script
eval
requires trailing period:bin/<release_script> eval "3."
rpcterms
removedrpc
takes list of arguments, so to callfoo:bar(1,2,3)
:bin/<release_script> foo bar "[1,2,3]"
start
renamed todaemon
attach
renamed todaemon_attach
remote_console
has aliasesremote
andremsh
Release building
- Provider support removed from
relx
- No support for goal restrictions like
{appname, "> 1.1.1"}