relx v4.0.0-rc1 Release Notes

Release Date: 2020-04-18 // about 4 years ago
  • ๐Ÿ†• 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 so relx does not need to do a discovery step
      • Releases are no longer discovered unless needed
    • โž• Add support for exref, {exref, [Apps]} and src_tests
      • Neither form of exref will work if using rebar3 as an escript. Install with rebar3 local install in order to use this feature.
    • โž• Add support for multiple mode types:
      • dev: Same as the old dev_mode option. Creates symlinks for applications and configuration.
      • minimal: Same as prod 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 of nodetool
      • remote shell will not bind to a listen port making use of epmdless simpler

    ๐Ÿ†• New Defaults

    • extended_start_script is true by
    • Automatically includes config/sys.config[.src] and config/vm.args[.src]
      • set {sys_config, false} and {vm_args, false} to force them to be left out
    • ๐Ÿš€ Release boot script is now always named start.boot

    ๐Ÿ› Bug Fixes

    Backwards Incompatible Changes

    Start Script

    • ๐Ÿš€ eval requires trailing period: bin/<release_script> eval "3."
    • ๐Ÿšš rpcterms removed
    • ๐Ÿš€ rpc takes list of arguments, so to call foo:bar(1,2,3): bin/<release_script> foo bar "[1,2,3]."
    • start renamed to daemon
      • attach renamed to daemon_attach
    • remote_console has aliases remote and remsh

    ๐Ÿš€ Release building

    • ๐Ÿšš Provider support removed from relx
    • ๐Ÿ‘ No support for goal restrictions like {appname, "> 1.1.1"}