3.12.0
New features:
- upgrade relx 3.33.0, which contains a lot of useful fixes regarding booting of epmd, arbitrary overlay variables now being supported from rebar3, fixes around templates, paths on Windows, and other path handling issues.
- support REBAR_BASE_DIR env variable to optionally choose another target than
_build
. This value was already settable from a rebar.config file, but not from the environment. This can prove useful for Docker images, for example. - Support rebar config dir env var, allowing to use
REBAR_GLOBAL_CONFIG_DIR
to change the global directory used by rebar3 for a specific run only - Warn when there's mismatch between rebar.lock & original package checksum. The feature was already safe, but would not communicate the failure clearly.
And still a lot of fixes:
- format error from provider init and print as warning, which fixes issues with some plugins, particularly rebar_mix, used for elixir dependencies
- Fixing duplicate macro definition in umbrella edoc. This used to cause crashes in specific project structures.
- Ensure EDoc opts in umbrella apps are respected
- Repair edoc functionality on rebar3 itself
- Update vendored in hex_core to version 0.5.1
- de-duplicate dependency list in rebar_compiler_erl.erl, which could be costly for third-party languages when it came to module-level dependency analysis
- Fix reloading logger_level in the shell or tests with custom sys.config files
- rebar3 dialyzer: Warn when debug_info is disabled
- keep resources in new state used in plugins upgrade
- Fix crash when a dependency is missing app.src file
- Fix custom compiler mods typespecs, add edoc
- Bump cth_readable to fix lager support on OTP-21+
- Make missing file report more comprehensive during compilation errors
- Gracious loading of unloaded but blacklisted mods in rebar3 shell.
- Only lint app files when compiling, to prevent too frequent warnings