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