Releases: erlang/rebar3
Releases · erlang/rebar3
Second Beta
Breaking improvements:
- major change in dependency handling -- source and package dependencies are now considered equal, so transitive source deps stop overtaking top-level package dependencies.
May break things for users who relied on that behaviour in mixed repositories - introduce code coverage options as cover_opts config tuple
- do not install profile-based dependencies of dependencies (stop getting your deps' meck or debug behaviour)
- lock files are sorted to minimize variations in the future and ease diffing
New:
- added proxy support to rebar3 fetches
- SSL certificate validation
- fish shell completions
- add
treecommand to print the origin of transitive dependencies - aliased packages such as
{uuid, {pkg, uuid_erl}}and{uuid, "1.0.0", {pkg, uuid_erl}}are now supported, whereuuid_erlis the package name anduuidthe library's
actual name. - add support for
--fileargument in eunit
Fixed:
- fixes to reading app.src.script (for yaws)
- minor template updates
- fixes to profiles application
- reduced memory usage (shell agent, leaks patched)
- fixes for windows (robocopy, symlinks)
- mibs fixes
- fixes to git resource handling (http, custom ssh users supported)
- hooks optimizations
- clear out all usages of 'cd'
- upgrade of dependencies has many improvements
- better error reporting and logging
- major fixes to upgrade and locking mechanisms
- fixes in recompilation of CT suites
- fixes to plugin handling
- directories looking for apps are restricted to what is documented
- escaping paths in shell commands
- edoc provider runs in a 'docs' profile
- clean provider detection of dependencies is fixed
rebar3 pkgsoutput is sorted- fix dialyzer warnings
- fixes to dependency overrides
First Beta
Changes since alpha-6:
- windows support
artifactsconfiguration option for validation of non-Erlang rebar3 generated artifacts (hooks, etc.)- improvement to escriptize provider
- Dialyzer provider is made compatible with rebar 2.x's so the option set is shared across releases
- exporting config vars to the environment for hooks to be compatible with rebar3's structure
- nicer error messages
- CT fixes
- added a
pluginsnamespace with providers to list and upgrade them - lots of plugins fixes
- rebar3 builds from packages
- package list is sorted
- fixes to relx argument orders
alpha-6
- ErlyDTL templating replaced by Mustache properly (some bugfixes)
- Size of rebar3 script cut roughly in half
rebar3 shellhas received an overhaul and now has an agent running (r3:do(compile))- package handling overhaul (including checksum verifications and local disk cache)
- much better plugin handling
- bugs fixed in handling upgrading and lock files
- bug fixes related to path-handling
- fixes to hooks and tests
- addition of options to exclude apps, add various source directories
tarandreleasecommands are now hookable- better error reporting
- more bug fixes
alpha-5
Changes since alpha-4:
- rebar3 now bootstraps itself
- app compile fixes on app info contents and config inheritance
- dropping ErlyDTL and going to Mustache for smaller executable sizes
and faster load time on small CPUs - dropping
erlydtl compilecommand, ErlyDTL task moved to a plugin - default dependencies are always fetched in the right place and don't
need to be copied across profile runs - escriptize fixes
unlockcommand added- resolving/avoiding clashes when a rebar3 dep and an application
dependency conflict together - profile deduplication (
rebar3 as test,test,prod,test eunitreturns
the profile/directories forprod+test) upgradecommand bugfixes to recognize promotion of transient deps to
top-level deps- support template when rebar3 is run as an embedded library
- some optimizations
- parse transform support is better in erl_opts
- fixes to package handling
- fixes to
rebar3 deps