Skip to content

Releases: erlang/rebar3

3.9.0

3.8.0

05 Jan 22:01
3.8.0
Compare
Choose a tag to compare

3.7.5

27 Nov 23:24
3.7.5
Compare
Choose a tag to compare

3.7.4

24 Nov 22:25
3.7.4
0907cce
Compare
Choose a tag to compare
  • revert ebin_modules to include all beams minus extra_src (#1955) -- fix for adding modules built from non-erl files, like beams built from erlydtl templates

3.7.3

24 Nov 16:38
3.7.3
Compare
Choose a tag to compare
  • Fix a compiler issue that could cause problem in some plugins

3.7.2

24 Nov 01:04
3.7.2
Compare
Choose a tag to compare
  • Fixing a bug with recursive source directories' modules not being properly tracked

3.7.1

23 Nov 22:00
3.7.1
093792b
Compare
Choose a tag to compare
  • fix base path used for yrl/xrl includefile configs (#1952)

3.7.0

23 Nov 18:03
3.7.0
Compare
Choose a tag to compare

Rebar 3.7.0 is a huge release, done with the help and support of the IEUG,
which is currently working towards a software foundation for the Erlang ecosystem.

These release notes contain all the changes since the last stable release (3.6.0),
and repeat information you might have read in changelogs of release candidates.

The big, huge, major new features include the following work, done with the help and
support from the IEUG, which is currently working towards establishing a software foundation
for the Erlang ecosystem:

  • A full rework of how Hex packages are handled. We now support the Hex v2 protocol,
    support their concept of private organisations. There is also added support
    for layered hex indexes, allowing the usage of mirrors and self-hosted indexes,
    and the local index cache is built lazily, meaning Rebar3 should be leaner
    in its usage of local storage and memory regarding hex (#1884)
  • major rework of the plugin system around custom compilers and resource providers,
    which allow the development of better resource handlers and file compilation. (#1893 and #1888)
    This has allowed the development of a plugin, rebar_mix
    which allows building of Elixir applications as dependencies within Rebar3 projects.

Documentation for the new features include:

The following new features were also added:

  • The ability to only compile dependencies, which is useful for docker images (#1888)
  • Added support for breakpoints to be added in tests (or other arbitrary tasks). You can see the new documentation for breakpoints for usage instructions (#1924)
  • Add support for a REBAR_GIT_CLONE_OPTIONS environment variable which lets people set
    up git caching of repositories for faster fetches across projects when calling it
    with values such as REBAR_GIT_CLONE_OPTIONS="--reference ~/.cache/repos.reference" (#1844)
  • Support alias formats with namespaces ({Namespace, Cmd} and {Namespace, Cmd, Args}) (#1941)

Multiple bugfixes have also been included:

  • reset default profile app plugins to empty if at the top level (#1885)
  • properly support top level app erl_opts from REBAR_CONFIG os var (#1889)
  • only print skip warning if dep version is different (#1886)
  • warn if a matched package version is retired, and skip prereleases (#1897)
  • upgrade relx and set base_dir in overlay_vars (#1902)
  • Bump bbmustache and fix templates (#1862)
  • Fix sample config punctuation (#1890)
  • fix: only evaluate config scripts and apply overrides once per app (#1879)
  • check last modified time on erl files for xrl and yrl files before compiling (#1938)
  • Fix plugins list display to include project plugins (#1942)
  • fix install output result (#1939)
  • add emacs temp files to ignored lists in templates (#1929)
  • Fix misleading config in app templates (#1927)
  • check if git/hg is installed before fetching deps (#1921)
  • Fallback when logging isn't initialized and a crash happens (#1920)
  • Add reference to rebar3 new help in rebar3 help new since the switch is non-obvious (#1949)
  • Fix shell hook variable expansion on windows (#1918)
  • Major refactor of BEAM env path handling when loading modules for plugins and the compiler (#1907)

We've also updated the docs (some links were already present above), including a new workflow section that we hope to grow, and reupdated the manpages bundled with each version.

We encourage everyone to switch to the newer version.

3.7.0-rc2

05 Oct 15:10
3.7.0-rc2
d59b5fd
Compare
Choose a tag to compare
3.7.0-rc2 Pre-release
Pre-release
  • reset default profile app plugins to empty if at the top level (#1885)
  • properly support top level app erl_opts from REBAR_CONFIG os var (#1889)
  • only print skip warning if version is different (#1886)
  • add option to compiler provider to only build dependencies (#1888)
    • add compile type for dynamic project compilation (allows for overriding the entire compilation process of an individual application, for example so Elixir projects that are built with mix)
    • rebar_compiler is a new behaviour that a plugin can implement to be called on any use of the compile provider to compile source files and keep track of their dependencies.
    • only include modules in the .app modules list that are from src_dirs while leaving out those from extra_src_dirs
  • warn if the matched package is retired, skip prerelease (#1897)
  • upgrade relx and set base_dir in overlay_vars (#1902)
  • compiler behaviour (#1893)
  • Bump bbmustache and fix templates (#1862)
  • Fix sample config punctuation (#1890)

From 3.7.0-rc1:

  • support for hex v2, multiple repository fetching, private organizations (#1884)
    • see rebar3_hex for instructions authenticating against private organizations and working with repositories
  • fix: only eval config scripts and apply overrides once per app (#1879)

3.7.0-rc1

14 Sep 02:33
3.7.0-rc1
Compare
Choose a tag to compare
3.7.0-rc1 Pre-release
Pre-release
  • support for hex v2, multiple repository fetching, private organizations (#1884)
    • see rebar3_hex for instructions authenticating against private organizations and working with repositories
  • fix: only eval config scripts and apply overrides once per app (#1879)