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

Jesse Gumm <>
Wed Mar 9 20:02:42 CET 2016


Awesome! Looking forward to transitioning from rebar2 with my stuff.

Thanks for all the hard work to make this happen. Following from the
sidelines on the rebar mailing list has been informative. Now to just get
my hands dirty after all the hard work is done!

Cheers!

--
Jesse Gumm
Owner, Sigma Star Systems
414.940.4866 || sigma-star.com || @jessegumm
On Mar 9, 2016 12:22 PM, "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/cc737c90/attachment.html>


More information about the erlang-questions mailing list