[erlang-questions] [ANN] Rebar3 first stable release 3.0.0

Siraaj Khandkar <>
Wed Mar 9 19:35:37 CET 2016


+1 I'm feeling this rebern!

On 3/9/16 1:23 PM, Richard Jones wrote:
> congratulations! thanks for making rebar great again 🎉
> On 9 Mar 2016 6:21 p.m., "Tristan Sloughter" <> wrote:
>
>> We are happy to announce the first stable release of rebar3 with version
>> 3.0.0.
>>
>> A bit over a year ago, we had set out to make rebar great again. We
>> believe we have done it, and now have a solid core on which to build more
>> tools and grow a better community.
>>
>> Now, this doesn't mean there are no things to improve or that the code
>> base is bug-free. It does however mean that we are now committed to
>> backwards compatibility as we move forward with rebar3's next improvements.
>>
>> If you have never tried rebar3, the big item names since rebar 2.x are:
>>
>>     - repeatable builds with a big commitment to OTP principles
>>     - commands that know their own dependencies
>>     - support for profiles, allowing contextual configuration of
>>     applications (for example, test dependencies can be kept apart from regular
>>     deps)
>>     - documentation is seen as a feature
>>     - support for packages through hex.pm
>>     - new plugin interface and mechanisms, with command namespaces
>>     - mechanisms to override dependencies' configurations
>>     - switching releases to relx
>>     - and a lot of improvements to existing commands such as templates,
>>     dialyzer, shell, and so on.
>>
>> You will find documentation and how to get started with rebar3 on the
>> website: http://www.rebar3.org/docs/getting-started
>>
>> For package publishing checkout the documentation on hex.pm:
>> https://hex.pm/docs/rebar3_publish
>>
>> If you feel like getting started, we have had numerous posts about the new
>> features and user experiences:
>>
>>     - http://ferd.ca/dev/rebar3-shell.html
>>     -
>>     http://blog.erlware.org/rebar3-features-part-1-local-install-and-upgrade/
>>     - http://blog.erlware.org/rebar3-features-part-2-dependency-tree/
>>     - http://blog.erlware.org/rebar3-features-part-3-overrides/
>>     - http://blog.erlware.org/rebar3-features-part-4-profiles/
>>     -
>>     http://blog.erlware.org/rebar3-features-part-5-dependency-branch-handling/
>>     - http://blog.erlware.org/rebar3-features-part-6-_checkouts-2/
>>     - http://blog.erlware.org/rebar3-hex-plugin/
>>
>> Heinz Gies wrote about his experience migrating to rebar3 form rebar2 at
>> http://blog.licenser.net/blog/2015/07/10/migrating-to-rebar3/
>>
>> The How I Start Erlang guide was updated to use rebar3:
>> https://howistart.org/posts/erlang/1
>>
>> And a guide about managing package has been written by Bruce Yinhe:
>> https://medium.com/@brucify/using-rebar3-to-manage-erlang-packages-282f78adff1e#.ay10goc0z
>>
>> Lastly, for those who have already adopted the tool, here is what has
>> changed since beta-4:
>>
>>     - rebar3/902: Less color <https://github.com/rebar/rebar3/pull/902>
>>     - rebar3/921: Fix error reports on missing include paths
>>     <https://github.com/rebar/rebar3/pull/921>
>>     - rebar3/922: warn on incorrectly specified test options in
>>     rebar.config <https://github.com/rebar/rebar3/pull/922>
>>     - rebar3/923: support temporary cdn change with HEX_CDN os var
>>     <https://github.com/rebar/rebar3/pull/923>
>>     - rebar3/924: only add package list of versions to registry if it has
>>     the right build tool support <https://github.com/rebar/rebar3/pull/924>
>>     - rebar3/925: upgrade eunit_formatters for OTP 18 support
>>     <https://github.com/rebar/rebar3/pull/925>
>>     - rebar3/927: upgrade eunit_formatters to 0.3.1 for OTP18 bug fix
>>     <https://github.com/rebar/rebar3/pull/927>
>>     - rebar3/928: Ct output improvements
>>     <https://github.com/rebar/rebar3/pull/928>
>>     - rebar3/930: Handle force flags in leading position
>>     <https://github.com/rebar/rebar3/pull/930>
>>     - rebar3/934: don't add a provider if the same namespace and name
>>     already exists <https://github.com/rebar/rebar3/pull/934>
>>     - rebar3/935: Default to no eunit formatter if verbose specified
>>     <https://github.com/rebar/rebar3/pull/935>
>>     - rebar3/941: preserve attributes when copying files in
>>     rebar_utils:cp_r for unix <https://github.com/rebar/rebar3/pull/941>
>>     - rebar3/942: special handling of relx configs in profiles
>>     <https://github.com/rebar/rebar3/pull/942>
>>     - rebar3/943: remove backward_compat entry from travis s3
>>     <https://github.com/rebar/rebar3/pull/943>
>>     - rebar3/945: auto-update the registry if a pkg isn't found, fail if
>>     it still isn't found <https://github.com/rebar/rebar3/pull/945>
>>     - rebar3/948: Fix a small bug in the MIB compiler when building
>>     dependencies <https://github.com/rebar/rebar3/pull/948>
>>     - rebar3/949: fetch eunit_formatters config not from the command args
>>     but from the config <https://github.com/rebar/rebar3/pull/949>
>>     - rebar3/963: Tup merge tests
>>     <https://github.com/rebar/rebar3/pull/963>
>>     - rebar3/965: fix tupple merging for realsies.
>>     <https://github.com/rebar/rebar3/pull/965>
>>     - rebar3/966: allow ct suites to be specified at root of project (or
>>     root of app) <https://github.com/rebar/rebar3/pull/966>
>>     - rebar3/967: symlink mib hrl output in apps `include' directories
>>     <https://github.com/rebar/rebar3/pull/967>
>>     - rebar3/970: upgrade certifi to latest release
>>     <https://github.com/rebar/rebar3/pull/970>
>>     - rebar3/982: Allow bootstrap to pick up existing Hex cache and deps
>>     <https://github.com/rebar/rebar3/pull/982>
>>     - rebar3/983: Add support for total code coverage
>>     <https://github.com/rebar/rebar3/pull/983>
>>     - rebar3/986: A bad template index does not crash; shows warning
>>     <https://github.com/rebar/rebar3/pull/986>
>>     - rebar3/987: Plugin templates
>>     <https://github.com/rebar/rebar3/pull/987>
>>     - rebar3/988: Fix wrong relative path resolution
>>     <https://github.com/rebar/rebar3/pull/988>
>>     - rebar3/989: convert ~> versions to highest matching
>>     <https://github.com/rebar/rebar3/pull/989>
>>     - rebar3/991: Upgrade relx to v3.11.0
>>     <https://github.com/rebar/rebar3/pull/991>
>>     - rebar3/992: Bump cth_readable to 1.1.1
>>     <https://github.com/rebar/rebar3/pull/992>
>>     - rebar3/993: contributors -> maintaiers in template app data
>>     <https://github.com/rebar/rebar3/pull/993>
>>     - rebar3/994: warn if the directories eunit' orct' show up in
>>     `src_dirs' <https://github.com/rebar/rebar3/pull/994>
>>     - rebar3/995: Support old-style shell for rebar3 shell
>>     <https://github.com/rebar/rebar3/pull/995>
>>     - rebar3/996: Updates cth_readable so it supports dumb terminals
>>     <https://github.com/rebar/rebar3/pull/996>
>>     - rebar3/999: Fix windows stuff
>>     <https://github.com/rebar/rebar3/pull/999>
>>     - rebar3/1005: only need to compare ref and not ref+url in git resource
>>     <https://github.com/rebar/rebar3/pull/1005>
>>     - rebar3/1006: only apply default and prod profile to dependencies
>>     <https://github.com/rebar/rebar3/pull/1006>
>>     - rebar3/1007: install project app plugins after discovering them not
>>     before <https://github.com/rebar/rebar3/pull/1007>
>>     - rebar3/1008: Unquote templates, add a warning instead.
>>     <https://github.com/rebar/rebar3/pull/1008>
>>     - rebar3/1009: merge overlay entries into a single {overlay, list()}
>>     for relx <https://github.com/rebar/rebar3/pull/1009>
>>     - rebar3/1010: upgrade relx to 3.12.0
>>     <https://github.com/rebar/rebar3/pull/1010>
>>     - rebar3/1012: Remove triple brackets in bbmustache templates
>>     <https://github.com/rebar/rebar3/pull/1012>
>>     - rebar3/1013: upgrade bbmustache and relx
>>     <https://github.com/rebar/rebar3/pull/1013>
>>     - rebar3/1016: when using the --file' argument toeunit' paths were
>>     being converted <https://github.com/rebar/rebar3/pull/1016>
>>     - rebar3/1017: check at runtime instead of compile time for
>>     file:list_dir_all/1 <https://github.com/rebar/rebar3/pull/1017>
>>     - rebar3/1018: change detection of valid modules for eunit
>>     <https://github.com/rebar/rebar3/pull/1018>
>>     - rebar3/1021: convert 'app' to 'application' in eunit_opts to match
>>     cmdline args <https://github.com/rebar/rebar3/pull/1021>
>>     - rebar3/1022: Display error message when bad config is loaded
>>     <https://github.com/rebar/rebar3/pull/1022>
>>     - rebar3/1023: Rework README and CONTRIBUTING documents
>>     <https://github.com/rebar/rebar3/pull/1023>
>>     - rebar3/1024: deduplicate default test set generated by rebar3 eunit
>>     <https://github.com/rebar/rebar3/pull/1024>
>>     - rebar3/1025: add unstable install/upgrade instructions to readme
>>     <https://github.com/rebar/rebar3/pull/1025>
>>     - rebar3/1029: local install and local upgrade
>>     <https://github.com/rebar/rebar3/pull/1029>
>>     - rebar3/1031: add profile option to clean task
>>     <https://github.com/rebar/rebar3/pull/1031>
>>     - rebar3/1033: Fix bash completion regression (cf66dfd6ba) and make
>>     lopt strings more resilient <https://github.com/rebar/rebar3/pull/1033>
>>     - rebar3/1035: Add module directory to include path
>>     <https://github.com/rebar/rebar3/pull/1035>
>>     - rebar3/1041: Add test case for relx overlay vars
>>     <https://github.com/rebar/rebar3/pull/1041>
>>     - rebar3/1043: don't strip the project apps when running ct with just
>>     a root suite specified <https://github.com/rebar/rebar3/pull/1043>
>>     - rebar3/1045: don't lose overrides in an app when installing plugins
>>     it uses <https://github.com/rebar/rebar3/pull/1045>
>>     - rebar3/1046: add user-agent to http request headers
>>     <https://github.com/rebar/rebar3/pull/1046>
>>     - rebar3/1047: Ignore unknown warning when dialyzer < 2.8
>>     <https://github.com/rebar/rebar3/pull/1047>
>>     - rebar3/1048: Add secondary hook for rebar_prv_compile
>>     <https://github.com/rebar/rebar3/pull/1048>
>>     - rebar3/1050: check top level config for minimum or blacklisted otps
>>     at start <https://github.com/rebar/rebar3/pull/1050>
>>     - rebar3/1053: upgrade relx to 3.15.0
>>     <https://github.com/rebar/rebar3/pull/1053>
>>     - rebar3/1061: Make lock files future-proof
>>     <https://github.com/rebar/rebar3/pull/1061>
>>     - rebar3/1062: update relx to 3.16.0 to include color intesity update
>>     <https://github.com/rebar/rebar3/pull/1062>
>>     - rebar3/1065: give top level plugin providers precedence over default
>>     providers <https://github.com/rebar/rebar3/pull/1065>
>>     - rebar3/1066: Bump cth_readable
>>     <https://github.com/rebar/rebar3/pull/1066>
>>     - rebar3/1067: set default color intensity to high
>>     <https://github.com/rebar/rebar3/pull/1067>
>>     - rebar3/1068: upgrade relx to 3.17.0
>>     <https://github.com/rebar/rebar3/pull/1068>
>>     - rebar3/1070: Hex improvements
>>     <https://github.com/rebar/rebar3/pull/1070>
>>     - rebar3/1071: break up do/1 function in install_deps to make upgrade
>>     less confusing <https://github.com/rebar/rebar3/pull/1071>
>>     - rebar3/1073: Support --setcookie option
>>     <https://github.com/rebar/rebar3/pull/1073>
>>     - rebar3/1075: add project_providers after initing default providers
>>     but allow overrides <https://github.com/rebar/rebar3/pull/1075>
>>     - rebar3/1076: Add me to THANKS for suffering through Tristan's code
>>     <https://github.com/rebar/rebar3/pull/1076>
>>     - rebar3/1082: Fixed rebar.config shell_apps setting
>>     <https://github.com/rebar/rebar3/pull/1082>
>>     - rebar3/1090: fix auto-registry update to work even when not a locked
>>     pkg-vsn <https://github.com/rebar/rebar3/pull/1090>
>>     - rebar3/1091: Run all hooks
>>     <https://github.com/rebar/rebar3/pull/1091>
>>     - rebar3/1092: Add short-options to the eunit provider.
>>     <https://github.com/rebar/rebar3/pull/1092>
>>     - rebar3/1098: error on a cover spec in ct_opts
>>     <https://github.com/rebar/rebar3/pull/1098>
>>     - rebar3/1099: add support for common tests include flag
>>     <https://github.com/rebar/rebar3/pull/1099>
>>     - rebar3/1100: Fix quoting problem in zsh completion
>>     <https://github.com/rebar/rebar3/pull/1100>
>>     - rebar3/1101: Take CT options errors and turn them to warnings
>>     <https://github.com/rebar/rebar3/pull/1101>
>>     - rebar3/1102: include project_plugins in plugins that can be upgraded
>>     <https://github.com/rebar/rebar3/pull/1102>
>>     - rebar3/1103: bump certifi to 0.4.0
>>     <https://github.com/rebar/rebar3/pull/1103>
>>     - rebar3/1104: move dialyze setting of debug_info to overrides in
>>     profile <https://github.com/rebar/rebar3/pull/1104>
>>     - rebar3/1106: define the 'EUNIT' macro in the test profile
>>     <https://github.com/rebar/rebar3/pull/1106>
>>     - rebar3/1107: upgrade cth_readable
>>     <https://github.com/rebar/rebar3/pull/1107>
>>     - rebar3/1108: make omar happy
>>     <https://github.com/rebar/rebar3/pull/1108>
>>     - rebar3/1110: pass loglevel used in rebar3 to relx
>>     <https://github.com/rebar/rebar3/pull/1110>


More information about the erlang-questions mailing list