<p dir="ltr">Awesome! Looking forward to transitioning from rebar2 with my stuff.</p>
<p dir="ltr">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!</p>
<p dir="ltr">Cheers!</p>
<p dir="ltr">--<br>
Jesse Gumm<br>
Owner, Sigma Star Systems<br>
414.940.4866 || <a href="http://sigma-star.com">sigma-star.com</a> || @jessegumm</p>
<div class="gmail_quote">On Mar 9, 2016 12:22 PM, "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>