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

Richard Jones <>
Wed Mar 9 19:23:16 CET 2016


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>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160309/d2044b13/attachment-0001.html>


More information about the erlang-questions mailing list