Changelog History
Page 1
-
v3.14.3 Changes
December 02, 2020- bump relx to v4.2.0
- See changes in relx v4.2.0 here
- ๐ Add support for relx config file
- bump relx to v4.2.0
-
v3.14.2 Changes
November 19, 2020Here's all the changes that may impact some behaviour:
- ๐ Lots of Relx-related fixes as 4.x stabilizes, including:
- fixes in handling of
system_libs
- bringing back
start
andattach
commands (with warnings) - additional bugfixes for embedded, NixOS, and windows systems
- fixes in handling of
- ๐ Rework DEBUG=1 mode to be user-centric output and introduce separate DIAGNOSTIC=1 mode for implementer-level logging (see also: Reworking more of the DEBUG output to be friendly)
- ๐ Trigger rebuilds when OTP compiler version changes (also includes fixes to plugins using checkout directories)
- Fix endless recursion in del_dep overrides
- ๐ Fix lock file not being generated when no deps are present in the config
- Change xref paths to only those of runtime deps
- ๐ Fix compile issue on windows when OS language is not english
- fix logger reset for the shell provider
- Re-vendor hex_core in at 0.7.x
- Fix
relup
command arguments and add validation - Add checkouts location back to rebar3 path
- ๐ Support pre-fetched deps for nix
- set explicit encoding when reading and writing hex config
- โก๏ธ Update references to changed API elements
- ๐ Remove verbosity option that was taken out in relx 4.x
- โก๏ธ Run pkg updates on plugin upgrades (see also: Fixup plugin upgrade autoupdate)
- Make rebar3 templates check for name clashes
- Patch
rebar_base_compiler
to handle extensions with no leading dot (legacy compiler interface) - Handle unicode in author's name in templates
- Specify dependencies for MIB files
- โ Ignore
global
anddefault
in empty profiles warning foras
- Use infinity timeout for rebar_compiler_epp resolve call
- Add
alias
to examplerebar.config.sample
- โ Fix
dialyzer
warning output for optionunknown
- Add xref_ignores to sample config file
- Prevent xref crash when function deemed undefined has no local context
- Output relative paths in Dialyzer output (now controlled by the
compiler_source_format
option)
And some Internal Changes:
- โ Prevent dialyzer warnings on OTP 23
- ๐ณ Add a docker recipe for rebar3 itself
- Fix spec for download callback
- Add rebar_hex_repos:remove_from_auth_config/2
- Bumping cth_readable version and other small cleanups
- โ Add regression test for dep override infinite loop
- โก๏ธ Fix README (see also: Update README.md and Update README with supported Erlang/OTP versions)
- โก๏ธ Update link for Rebar 2.x to Rebar3
- use 'aws cp' when copying escript to s3
๐ Contributions from 17 people are part of this release, and the project health is starting to look better; thanks to everyone involved!
- ๐ Lots of Relx-related fixes as 4.x stabilizes, including:
-
v3.14.0 Changes
August 31, 2020๐ New Features (since 3.13.2):
- ๐
git_subdir
dependencies (and #2290) allow to only get a subdirectory of a given git repository. This change will not work with older rebar3 versions and may error out their build if used, although an identical plugin could be written to patch up for that use case. Declare the dependency as:{git_subdir, Url, {branch, Name}, Dir}
{git_subdir, Url, {tag, Ref}, Dir}
{git_subdir, Url, {ref, Ref}, Dir}
- ๐ Add powershell script generation option for escriptize on windows; use for rebar3 itself
- ๐ dialyzer support: run single-app success typing and store project apps in PLT
- โ
Add symlink to the
ct_run
of the last common test run - ๐ง ipv6 support for proxy configuration
- ๐ Source file encoding specifier support for templates
- Allow passing arguments in r3:do and r3:async_do
- Add templating feature for "from" file/template
Relx Changes (including more new features):
- ๐ relx 4.0 support, see the full release notes for the lot of new features and changes it contains
- ๐ add --all option for release building in parallel
Compiler Changes:
- โก๏ธ Update compiler hooks order and internal compiler phases
- Split up the compiler DAG
- Switch to EPP analysis covering all apps at once when compiling
- ๐ Track build artifacts in DAG
- ๐ Another Compiler Refactor: Performance & Cleanup
- Name the app being escriptized to help readability when escriptize is run as a hook
- ๐ Additional performance improvements for large projects
- Fix directory recursion in compiler
- ๐ prv_plugins_upgrade: fix compilation of upgraded plugins
Other Changes:
- OTP-23 readiness
- โก๏ธ Update hex core to v0.6.8, which includes some security work, and creates a new lockfile version. Related: eliminate lock file warnings when upgrading from 1.1.0 locks
- Add vendor_hex_core.sh script
- 0๏ธโฃ Allow users to override default hex auth config
- ๐ Fix tests in Windows; adjust absolute paths behaviour for OTP-22 and later
- output checkouts compilation to
_build/<profile>/checkouts/
, which helps prevent long-standing issues with the ebin/ directory being left around in the source location - ๐ Support ENV var for mix in the bare compiler (related to - Allow specifying the outdir in bare compiler added in 3.13.1)
- checking epmd is started without a crash for features requiring named nodes
- Fix typo in abort message
- Newer version of the certifi certs bundle; a good thing to keep up
- ๐ Annotate generated escript with last release version for quicker version checks without calling the tool
- ๐ Simplify windows script
- Return an error if no apps are found when using bare compiler
- xref now outputs relative file paths
- Move
absolute_path/2
andnormalized_path
torebar_file_utils
- rebar_git_resource: fix {vsn, git} parser
- Fix race condition in rebar_prv_shell boot
- ๐ฆ re-enable use of rebar_packages_cdn in rebar_pkg_resource
- ๐ only write lock file if locks have changed
- rebar_git_resource: allow non-single-digit git versions
- rebar_dir: return _checkouts path in a canonical form
- Bump cth_readable (1.4.8) to fix assertion macros
- Proper Unicode handling in port process output
- get a sorted list of modules for coverage output (screen and HTML)
- Run dialyzer for extra_src_dirs
- ๐ remove warning when booting applications in the shell
- Fix bootstrap crashes when compilers get modified
- ๐ Remove erl_interface from makefile template which is deprecated.
- โฌ๏ธ Improve warnings about checkout dependencies when locking and upgrading
- โฌ๏ธ Bump a bunch of dependencies
- Extract rebar3 libs in a version dependent directory when using
rebar3 local
commands - Feature shell.script_file in rebar.config.sample
- ๐ Add extra pattern matching clause to not crash handling with keep_logs in
rebar3 ct
- ๐ Fix symlink to last CT logs directory with logdir option present
- ๐ Fix keep_logs option crashing when having more than N directories
- shell: provide error message when applications list is bad
- Match on dep name in overrides
- ๐ง Fix use of
ct
on projects without CT suites and configuration - properly track app vsn that is the evaluated application vsn rather than just the source one
- Escape more characters for shell stuff
- ๐
-
v3.14.0-rc2 Changes
May 28, 2020๐ New Features (since 3.13.2):
- ๐
git_subdir
dependencies (and #2290) allow to only get a subdirectory of a given git repository. This change will not work with older rebar3 versions and may error out their build if used, although an identical plugin could be written to patch up for that use case. Declare the dependency as:{git_subdir, Url, Dir}
{git_subdir, Url, {tag, Ref}, Dir}
{git_subdir, Url, {ref, Ref}, Dir}
- ๐ Add powershell script generation option for escriptize on windows; use for rebar3 itself
- ๐ dialyzer support: run single-app success typing and store project apps in PLT
- โ
Add symlink to the
ct_run
of the last common test run - ๐ง ipv6 support for proxy configuration
- ๐ Source file encoding specifier support for templates
- Allow passing arguments in r3:do and r3:async_do
Relx Changes (including more new features):
- ๐ relx 4.0 support, see the full release notes from rc-1 and the changes in rc-2 for the lot of new features and changes it contains
- ๐ add --all option for release building in parallel
Compiler Changes:
- โก๏ธ Update compiler hooks order and internal compiler phases
- Split up the compiler DAG
- Switch to EPP analysis covering all apps at once when compiling
- ๐ Track build artifacts in DAG
- ๐ Another Compiler Refactor: Performance & Cleanup
- Name the app being escriptized to help readability when escriptize is run as a hook
Other Changes:
- OTP-23 readiness
- โก๏ธ Update hex core to v0.6.8, which includes some security work, and creates a new lockfile version. Related: eliminate lock file warnings when upgrading from 1.1.0 locks
- Add vendor_hex_core.sh script
- 0๏ธโฃ Allow users to override default hex auth config
- ๐ Fix tests in Windows; adjust absolute paths behaviour for OTP-22 and later
- output checkouts compilation to
_build/<profile>/checkouts/
, which helps prevent long-standing issues with the ebin/ directory being left around in the source location - ๐ Support ENV var for mix in the bare compiler (related to - Allow specifying the outdir in bare compiler added in 3.13.1)
- checking epmd is started without a crash for features requiring named nodes
- Fix typo in abort message
- Newer version of the certifi certs bundle; a good thing to keep up
- ๐ Annotate generated escript with last release version for quicker version checks without calling the tool
- ๐ Simplify windows script
- Return an error if no apps are found when using bare compiler
- xref now outputs relative file paths
- Move
absolute_path/2
andnormalized_path
torebar_file_utils
- rebar_git_resource: fix {vsn, git} parser
- Fix race condition in rebar_prv_shell boot
- ๐ฆ re-enable use of rebar_packages_cdn in rebar_pkg_resource
- ๐ only write lock file if locks have changed
- rebar_git_resource: allow non-single-digit git versions
- rebar_dir: return _checkouts path in a canonical form
- Bump cth_readable (1.4.8) to fix assertion macros
- Proper Unicode handling in port process output
- get a sorted list of modules for coverage output (screen and HTML)
- Run dialyzer for extra_src_dirs
- ๐ remove warning when booting applications in the shell
- Fix bootstrap crashes when compilers get modified
- ๐
-
v3.14.0-rc1 Changes
April 18, 2020- ๐ Initial relx 4.0 support
- See relx 4.0.0-rc1 release for more details
- ๐ Track build artifacts in DAG
- Return an error if no apps are found when using bare compiler
- xref improvements: now outputs relative file paths
- โ
Add symlink to the
ct_run
of the last common test run - Move
absolute_path/2
andnormalized_path
torebar_file_utils
- rebar_git_resource: fix {vsn, git} parser
- ๐ rebar3: ipv6 support for proxy
- Switch to EPP analysis covering all apps at once when compiling
- Fix race condition in rebar_prv_shell boot
- rebar_compiler_dag: implement single-pass pruning
- Force use of tls1.2 for http fetching to work on OTP-23-rc1
- ๐ฆ Re-enable use of rebar_packages_cdn in rebar_pkg_resource
- ๐ Source file encoding specifier support for template
- ๐ Only write lock file if locks have changed
- rebar_git_resource: allow non-single-digit git versions
- rebar_dir: return _checkouts path in a canonical form
- Bump cth_readable (1.4.8) to fix assertion macros
- โก๏ธ Update hex core to v0.6.8
- Split up the compiler DAG
- Add vendor_hex_core.sh
- Proper Unicode handling in port process output
- โก๏ธ Update compiler hooks order and internal compiler phases
- Get a sorted list of modules for coverage output (screen and HTML)
- Run dialyzer for extra_src_dirs
- ๐ Remove warning when booting applications in the shell
- Allow passing arguments in r3:do and r3:async_do
- 0๏ธโฃ Allow users to override default hex auth config
- ๐ Initial relx 4.0 support
-
v3.13.2 Changes
April 23, 2020๐ This is a small patch release that aims to backport a fix from master to help interoperability of rebar3 3.13.x with external tooling by annotating the built scripts with versions, so that said tools can find the version supported without needing to invoke rebar3 itself.
-
v3.13.0 Changes
December 22, 2019- ๐ Silence http_uri deprecation warnings on OTP-23
- add rebar_string:trim function for removing all leading/trailing whitespace
- Add
--statistics
option to dialyzer command - ๐ Fix epmd start on windows
- Allow cleaning specific apps or deps only
- Disable bbmustache escaping
- ๐ Handle missing OTP apps better
- ๐ Support
profile_string
overlay var in releases - Reload logger config in CT suites
- 0๏ธโฃ Disable the default logger handler in shell if required
- Fix case clause which used wrong element order
- โ๏ธ Fix a couple typos in readme
-
v3.12.0 Changes
August 21, 2019๐ 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