[ANN] Rebar3 3.14.0-rc1 and Relx 4.0.0-rc1

Tristan Sloughter t@REDACTED
Sun Apr 19 01:19:34 CEST 2020


The new major version of relx has had its first RC release:

https://github.com/erlware/relx/releases/tag/v4.0.0-rc1

Which has been incorporated into rebar3 in an RC release of its own, 3.14.0-rc1:

https://github.com/erlang/rebar3/releases/tag/3.14.0-rc1

The major relx version was made possible thanks to the Erlang Ecosystem Foundation (https://erlef.org) and the Build and Packaging Working Group (https://erlef.org/wg/building). It is a complete restructuring that has removed what was necessary when it was called separately and used with rebar 2.x but has become unnecessary bloat now that it is called from rebar3.

For users the removal of bloat should only be noticeable in a much faster 'release' and 'tar' command. But we have also made changes that possibly require modification to your configuration or usage of the release start script. Based on the years of real world relx use better defaults have been chosen (see new relx modes: dev, minimal and prod) and the extended start script has been improved with new (more meaningful) command names, removal of the 'rpcterms' command and the 'rpc' command now takes function arguments as a list ending with a period, like '[1, 2, 3].' See the new help output of the start script for more details.

But this isn't all that is new in rebar3:

>From the compiler point of view, we've finally restructured code that dated back from rebar 2.x. We should see correctness improvement in how we trigger partial rebuilds and path inclusion when dealing with cross-app build-time dependencies. While doing so, we cleaned up how we build the file graphs such that partial rebuilds should now be much faster, particularly on larger projects. This refactoring is something we wanted to do for a long time, and comes with some major internal changes that should however not be directly visible to users. This major reorganization is part of why we first use a release candidate.

Please give rebar3 3.14.0-rc1 a try and send us feedback. 

Note: Documentation is not yet updated but a new and improved rebar3.org is in the works and will be updated for rebar3 3.14.0.


More information about the erlang-questions mailing list