1# 2.6.4 2 3* rebar/619: [Fix cdb processing when a file is skipped](https://github.com/rebar/rebar/pull/619) 4 5# 2.6.3 6 7* rebar/610: [qc: lift experimental notice](https://github.com/rebar/rebar/pull/610) 8* rebar/611: [port_compiler: consistently format default_env/0](https://github.com/rebar/rebar/pull/611) 9* rebar/612: [Introduce and use compat random number module](https://github.com/rebar/rebar/pull/612) 10* rebar/614: [Add an additional check for the existence of a 'rebar.beam' file](https://github.com/rebar/rebar/pull/614) 11* rebar/615: [port_compiler: generate clang compilation db](https://github.com/rebar/rebar/pull/615) 12* rebar/616: [port_compiler: clean up compile_each()](https://github.com/rebar/rebar/pull/616) 13* rebar/617: [port_compiler: auto-select C++ specific link template](https://github.com/rebar/rebar/pull/617) 14 15# 2.6.2 16 17* rebar/532: [Automatically clean neotoma-generated erl files, regression test](https://github.com/rebar/rebar/pull/532) 18* rebar/549: [Add Windows continuous integration through AppVeyor](https://github.com/rebar/rebar/pull/549) 19* rebar/551: [fprof: document Cachegrind support](https://github.com/rebar/rebar/pull/551) 20* rebar/556: [fprof: further document Cachegrind support](https://github.com/rebar/rebar/pull/556) 21* rebar/557: [Fix windows eunit tests](https://github.com/rebar/rebar/pull/557) 22* rebar/558: [Add qualified name tests docs (see pr #119)](https://github.com/rebar/rebar/pull/558) 23* rebar/560: [Lock retest dependency](https://github.com/rebar/rebar/pull/560) 24* rebar/562: [Add support for Windows integration testing](https://github.com/rebar/rebar/pull/562) 25* rebar/567: [Allow windows release to use etc conf dir](https://github.com/rebar/rebar/pull/567) 26* rebar/570: [xref: fix dialyzer warning introduced in 69802f63120](https://github.com/rebar/rebar/pull/570) 27* rebar/573: [Provide additional debug logging on relup generation](https://github.com/rebar/rebar/pull/573) 28* rebar/578: [Add the latest OTP 18 version to the Travis build](https://github.com/rebar/rebar/pull/578) 29* rebar/580: [Additional Common Test regression tests](https://github.com/rebar/rebar/pull/580) 30* rebar/581: [Update retest dependency url](https://github.com/rebar/rebar/pull/581) 31* rebar/586: [Ensure ebin created for dia compiler](https://github.com/rebar/rebar/pull/586) 32* rebar/587: [rebar_require_vsn: Update regexp to account for newer OTP versions](https://github.com/rebar/rebar/pull/587) 33* rebar/588: [Look for ct .spec files in the ct_dir that was specified](https://github.com/rebar/rebar/pull/588) 34* rebar/589: [Introduce REBAR_DEPS_PREFER_LIBS env variable to alter search behaviour](https://github.com/rebar/rebar/pull/589) 35* rebar/590: [Treat port env vars as expandable only if they self reference](https://github.com/rebar/rebar/pull/590) 36* rebar/591: [Fix/eunit tests surefire crash](https://github.com/rebar/rebar/pull/591) 37* rebar/594: [Introduce REBAR_VSN_CACHE_FILE env variable to load/save vsn cache](https://github.com/rebar/rebar/pull/594) 38* rebar/599: [Fix bug when running gcc in cross_sizeof](https://github.com/rebar/rebar/pull/599) 39* rebar/602: [Support full-source rebar3-style deps (deps without Version Regexes)](https://github.com/rebar/rebar/pull/602) 40* rebar/603: [add deprecated message](https://github.com/rebar/rebar/pull/603) 41* rebar/605: [Add necessary OSX flags for port driver linking](https://github.com/rebar/rebar/pull/605) 42* rebar/606: [Revert 'Treat port env vars as expandable only if they self reference'](https://github.com/rebar/rebar/pull/606) 43 44# 2.6.1 45 46* rebar/514: [Add license to relnotes tool per reviewer request](https://github.com/rebar/rebar/pull/514) 47* rebar/518: [Generate reserved file for erlc regression test](https://github.com/rebar/rebar/pull/518) 48* rebar/520: [Fixed version of #451](https://github.com/rebar/rebar/pull/520) 49* rebar/521: [rebar_utils: fix comment](https://github.com/rebar/rebar/pull/521) 50* rebar/522: [Fixed version of #395](https://github.com/rebar/rebar/pull/522) 51* rebar/524: [completion: add libid= to bash and zsh scripts](https://github.com/rebar/rebar/pull/524) 52* rebar/530: [Allow behaviors defined inside xref_extra_path](https://github.com/rebar/rebar/pull/530) 53* rebar/535: [Add regression test for covered common test](https://github.com/rebar/rebar/pull/535) 54* rebar/537: [Fix eunit test on OTP18](https://github.com/rebar/rebar/pull/537) 55* rebar/538: [Fix #536](https://github.com/rebar/rebar/pull/538) 56* rebar/539: [Add erl_first_files in eunit_first_files and qc_first_files](https://github.com/rebar/rebar/pull/539) 57* rebar/540: [Complete port compiler help string](https://github.com/rebar/rebar/pull/540) 58* rebar/543: [rmemo: use a better R13 check (Reported-by: Stavros Aronis)](https://github.com/rebar/rebar/pull/543) 59* rebar/545: [Fix #544](https://github.com/rebar/rebar/pull/545) 60* rebar/546: [Added report and verbose options for LFE compile.](https://github.com/rebar/rebar/pull/546) 61 62# 2.6.0 63 64* rebar/203: [Pluggable proto compilers gpb](https://github.com/rebar/rebar/pull/203) 65* rebar/273: [Use target_dir as source of new version in generate-appups](https://github.com/rebar/rebar/pull/273) 66* rebar/293: [Check C source dependencies in needs_compile](https://github.com/rebar/rebar/pull/293) 67* rebar/305: [Fix compiler invocation on multiarch Linux](https://github.com/rebar/rebar/pull/305) 68* rebar/322: [Treat vsn mismatch as warning if -k/--keep-going](https://github.com/rebar/rebar/pull/322) 69* rebar/336: [Add details on Dialyzer with "make check"](https://github.com/rebar/rebar/pull/336) 70* rebar/337: [Implement eflame -p/--profile support](https://github.com/rebar/rebar/pull/337) 71* rebar/338: [Processing .app.src.script expects a single value to be returned.](https://github.com/rebar/rebar/pull/338) 72* rebar/344: [Manually clean up paths.](https://github.com/rebar/rebar/pull/344) 73* rebar/351: [fish shell completions for rebar](https://github.com/rebar/rebar/pull/351) 74* rebar/352: [Add typer target (rebase of #309)](https://github.com/rebar/rebar/pull/352) 75* rebar/354: [compiler respects 'keep_going' flag](https://github.com/rebar/rebar/pull/354) 76* rebar/355: [Fix 'make build_plt'](https://github.com/rebar/rebar/pull/355) 77* rebar/356: [Fix minor typo in CONTRIBUTING.md](https://github.com/rebar/rebar/pull/356) 78* rebar/360: [Minor follow-up fixes for #293](https://github.com/rebar/rebar/pull/360) 79* rebar/368: [Escape more characters in path (fix #367)](https://github.com/rebar/rebar/pull/368) 80* rebar/371: [Fix cover print truncation when coverage is 100%](https://github.com/rebar/rebar/pull/371) 81* rebar/372: [Implement eval command via nodetool](https://github.com/rebar/rebar/pull/372) 82* rebar/376: [Remove check adding ebin to path for edoc target](https://github.com/rebar/rebar/pull/376) 83* rebar/378: [deps: fix delete-deps if deps_dir ends with dot](https://github.com/rebar/rebar/pull/378) 84* rebar/382: [Adapt dialyzer_reference to ba466e2d changes](https://github.com/rebar/rebar/pull/382) 85* rebar/385: [Fix Dialyzer warning introduced in 0caf047f](https://github.com/rebar/rebar/pull/385) 86* rebar/386: [Recompile .proto files with gpb also with prefix/suffix](https://github.com/rebar/rebar/pull/386) 87* rebar/386: [Recompile .proto files with gpb also with prefix/suffix](https://github.com/rebar/rebar/pull/386) 88* rebar/386: [Recompile .proto files with gpb also with prefix/suffix](https://github.com/rebar/rebar/pull/386) 89* rebar/399: [Increase the timeout for the inttest/proto_gpb](https://github.com/rebar/rebar/pull/399) 90* rebar/400: [add Emacs/vi header to non-dummy test modules](https://github.com/rebar/rebar/pull/400) 91* rebar/403: [Update reference to installation notes](https://github.com/rebar/rebar/pull/403) 92* rebar/404: [Consistently format export attributes](https://github.com/rebar/rebar/pull/404) 93* rebar/405: [Generate cachegrind file if erlgrind is available](https://github.com/rebar/rebar/pull/405) 94* rebar/406: [Fix deps path check in rebar_ct:collect_glob/3](https://github.com/rebar/rebar/pull/406) 95* rebar/408: [Fix/remove duplicate console message](https://github.com/rebar/rebar/pull/408) 96* rebar/411: [Fix app.config argument passing when using ct_run (take 2)](https://github.com/rebar/rebar/pull/411) 97* rebar/413: [Revert "Merge pull request #386 ... gpb-recompilation...detection"](https://github.com/rebar/rebar/pull/413) 98* rebar/418: [Fix #415 (reltool vsn check)](https://github.com/rebar/rebar/pull/418) 99* rebar/420: [Mock gpb and protobuffs, in inttest, replacing external dependencies](https://github.com/rebar/rebar/pull/420) 100* rebar/421: [inttest/ct3: fix travis-ci breakage](https://github.com/rebar/rebar/pull/421) 101* rebar/424: [Gpb recompilation detection (using base compiler)](https://github.com/rebar/rebar/pull/424) 102* rebar/425: [Copy instead of rsync gpb and protobuffs inttest mocks](https://github.com/rebar/rebar/pull/425) 103* rebar/426: [Fixed #133. Release upgrade now handle long and short names properly.](https://github.com/rebar/rebar/pull/426) 104* rebar/428: [Remove a git url in gpb and protobuffs inttest configs](https://github.com/rebar/rebar/pull/428) 105* rebar/430: [Exit with proper status code if 'eval' fails](https://github.com/rebar/rebar/pull/430) 106* rebar/432: [Document recursive_cmds in -r help string as well](https://github.com/rebar/rebar/pull/432) 107* rebar/433: [inttest/ct3: fix overlong line](https://github.com/rebar/rebar/pull/433) 108* rebar/437: [Fix .app.src.script bug introduced in b44b4f4](https://github.com/rebar/rebar/pull/437) 109* rebar/440: [Delete obsolete file](https://github.com/rebar/rebar/pull/440) 110* rebar/442: [.travis.yml: print information before running script](https://github.com/rebar/rebar/pull/442) 111* rebar/444: [Fix incorrect "not an app dir" warning](https://github.com/rebar/rebar/pull/444) 112* rebar/445: [rebar doesn't respect the order of erl_first_files given in the rebar.conf file](https://github.com/rebar/rebar/pull/445) 113* rebar/447: [Support custom protobuf directory](https://github.com/rebar/rebar/pull/447) 114* rebar/449: [Support .appup.src files](https://github.com/rebar/rebar/pull/449) 115* rebar/452: [added 'shell' command to bash-completion](https://github.com/rebar/rebar/pull/452) 116* rebar/456: [Generate json output from cover](https://github.com/rebar/rebar/pull/456) 117* rebar/458: [Change env var delimiter to match non-word](https://github.com/rebar/rebar/pull/458) 118* rebar/459: [Remove -m64 flag.](https://github.com/rebar/rebar/pull/459) 119* rebar/460: [Add Dialyzer plugin](https://github.com/rebar/rebar/pull/460) 120* rebar/461: [Fix OTP .appup.src processing on empty lists](https://github.com/rebar/rebar/pull/461) 121* rebar/463: [Print more info when profiling](https://github.com/rebar/rebar/pull/463) 122* rebar/466: [Improve test targets in Makefile](https://github.com/rebar/rebar/pull/466) 123* rebar/467: [Refactor logic and optimizations in rebar_erlc_compiler:doterl_compile/4](https://github.com/rebar/rebar/pull/467) 124* rebar/469: [Fix dialyzer warnings](https://github.com/rebar/rebar/pull/469) 125* rebar/470: [Fix whitespace errors](https://github.com/rebar/rebar/pull/470) 126* rebar/471: [Fix whitespace errors](https://github.com/rebar/rebar/pull/471) 127* rebar/475: [Adapt to 18.x time api changes](https://github.com/rebar/rebar/pull/475) 128* rebar/477: [Enable parse transformations in rebar config](https://github.com/rebar/rebar/pull/477) 129* rebar/478: [bootstrap: better warning fix (Thanks James Fish)](https://github.com/rebar/rebar/pull/478) 130* rebar/482: [Windows runner - CD to node root](https://github.com/rebar/rebar/pull/482) 131* rebar/484: [/me added to THANKS](https://github.com/rebar/rebar/pull/484) 132* rebar/485: [avoid pre-compile time errors in expand_include_lib_path](https://github.com/rebar/rebar/pull/485) 133* rebar/487: [erlc: fix recently introduced whitespace errors](https://github.com/rebar/rebar/pull/487) 134* rebar/489: [Fix crash on failed build console output](https://github.com/rebar/rebar/pull/489) 135* rebar/494: [Update line number of allowed dialyzer error](https://github.com/rebar/rebar/pull/494) 136* rebar/496: [Update PLT detail for make build_plt](https://github.com/rebar/rebar/pull/496) 137* rebar/499: [Try one more location for the OTP_VERSION file](https://github.com/rebar/rebar/pull/499) 138* rebar/500: [Makefile: clean only .rebar/erlcinfo](https://github.com/rebar/rebar/pull/500) 139* rebar/502: [Don't crash if missing OTP_VERSION file (fix #350)](https://github.com/rebar/rebar/pull/502) 140* rebar/504: [Drop `shared` PLTs support and change PLT name to <OTP-VSN>.plt](https://github.com/rebar/rebar/pull/504) 141* rebar/505: [rebar_utils: explain pdict use](https://github.com/rebar/rebar/pull/505) 142* rebar/508: [rebar_core: add missing newline in log msg](https://github.com/rebar/rebar/pull/508) 143* rebar/509: [erlc: do not crash if dep file cannot be found](https://github.com/rebar/rebar/pull/509) 144* rebar/510: [Fix 'make deps'](https://github.com/rebar/rebar/pull/510) 145* rebar/511: [Add and use memoization server](https://github.com/rebar/rebar/pull/511) 146* rebar/512: [rmemo: properly handle unsupported call](https://github.com/rebar/rebar/pull/512) 147 148 149# Rebar 2.5.1 150 151* rebar/299: [Fix OS X resource fork handling (Reported-by: Richard O'Keefe)](https://github.com/rebar/rebar/pull/299) 152* rebar/307: [bootstrap now accepts --help usage flag](https://github.com/rebar/rebar/pull/307) 153* rebar/316: [fix for #314 (rebar shell somehow blocks using io:format in gen_server handle_call)](https://github.com/rebar/rebar/pull/316) 154* rebar/327: [Adapt arch string to versioning scheme changes (>= 17.x)](https://github.com/rebar/rebar/pull/327) 155* rebar/328: [Follow-up typo fixes for #327](https://github.com/rebar/rebar/pull/328) 156* rebar/330: [Remove experimental label from 'eunit tests='](https://github.com/rebar/rebar/pull/330) 157* rebar/332: [Update dialyzer_reference](https://github.com/rebar/rebar/pull/332) 158 159# Rebar 2.5.0 160 161* Reverted rebar/281: [Move include/rebar.hrl to src/rebar.hrl](https://github.com/rebar/rebar/pull/281) as it broke backwards compatibility 162 163# Rebar 2.4.0 164 165* rebar/52: [Slim release support](https://github.com/rebar/rebar/pull/52) 166* rebar/112: [Add code coverage analysis functionality to `qc'](https://github.com/rebar/rebar/pull/112) 167* rebar/119: [Add qualified name tests specification (see #118)](https://github.com/rebar/rebar/pull/119) 168* rebar/130: [ct fixes](https://github.com/rebar/rebar/pull/130) 169* rebar/136: [Add support for the Perforce VCS client via the "p4" tool](https://github.com/rebar/rebar/pull/136) 170* rebar/195: [Switch template instructions](https://github.com/rebar/rebar/pull/195) 171* rebar/229: [Add REBAR to environment before executing hooks](https://github.com/rebar/rebar/pull/229) 172* rebar/260: [Quote include/lib paths to handle spaces in Erlang installs (fixes build on windows)](https://github.com/rebar/rebar/pull/260) 173* rebar/280: [improve output when using `rebar shell`](https://github.com/rebar/rebar/pull/280) 174* rebar/281: [Move include/rebar.hrl to src/rebar.hrl](https://github.com/rebar/rebar/pull/281) 175* rebar/284: [Error 'Command not found' when sname is used](https://github.com/rebar/rebar/pull/284) 176* rebar/285: [Fix #249 (erlc regression)](https://github.com/rebar/rebar/pull/285) 177* rebar/288: [Extend and document contributing rules](https://github.com/rebar/rebar/pull/288) 178* rebar/289: [erlc: fix typo in update_erlcinfo/3 clause that would make the function fail](https://github.com/rebar/rebar/pull/289) 179* rebar/290: [erlc: replace if expression with case of](https://github.com/rebar/rebar/pull/290) 180* rebar/292: [Namespaced types: fix build for 17.0](https://github.com/rebar/rebar/pull/292) 181* rebar/296: [Add gen_event template](https://github.com/rebar/rebar/pull/296) 182 183 184# Rebar 2.3.1 185 186## PR's Merged 187 188* rebar/242: [Extra commits for #129](https://github.com/rebar/rebar/pull/242) 189* rebar/244: [Document skip_apps=, apps=, and require_*_vsn](https://github.com/rebar/rebar/pull/244) 190* rebar/251: [Make sure that eunit/qc_compile_opts works](https://github.com/rebar/rebar/pull/251) 191* rebar/255: [rebar.app: remove superfluous quoting](https://github.com/rebar/rebar/pull/255) 192* rebar/274: [Use lowercase for Windows drive name to resolve issue #250](https://github.com/rebar/rebar/pull/274) 193 194# Rebar 2.3.0 195 196## PR's Merged 197 198* rebar/98: [Repetition of environment variable definitions in child processes (ports)](https://github.com/rebar/rebar/pull/98) 199* rebar/115: [Incorrect REMSH args when sname is used.](https://github.com/rebar/rebar/pull/115) 200* rebar/129: [Speed up the compilation process v5](https://github.com/rebar/rebar/pull/129) 201* rebar/139: [Allow specification of module dependencies for appups](https://github.com/rebar/rebar/pull/139) 202* rebar/175: [CWD plugins regression](https://github.com/rebar/rebar/pull/175) 203* rebar/188: [Xref extra path](https://github.com/rebar/rebar/pull/188) 204* rebar/208: [Fix typo in rebar_erlydtl_compiler](https://github.com/rebar/rebar/pull/208) 205* rebar/219: [Added R16B01 and R16B02 to travis config.](https://github.com/rebar/rebar/pull/219) 206* rebar/221: [Adapt erlydtl compiler plugin to latest version of erlydtl](https://github.com/rebar/rebar/pull/221) 207* rebar/223: [Add random_suite_order option to eunit command](https://github.com/rebar/rebar/pull/223) 208* rebar/224: [allow suites or tests as options for eunit and ct](https://github.com/rebar/rebar/pull/224) 209* rebar/230: [eunit: fix dialyzer warnings introduced in 03da5e0b](https://github.com/rebar/rebar/pull/230) 210* rebar/232: [Document support for abbreviated commands](https://github.com/rebar/rebar/pull/232) 211* rebar/233: [docs: fix #228](https://github.com/rebar/rebar/pull/233) 212* rebar/234: [Fix #220 (Reported-by: Joseph Norton)](https://github.com/rebar/rebar/pull/234) 213* rebar/237: [Add partial support for Erlang/OTP 17](https://github.com/rebar/rebar/pull/237) 214* rebar/252: [file_utils: properly report errors (fix #95)](https://github.com/rebar/rebar/pull/252) 215* rebar/254: [Fix 'rebar generate' regression (#253)](https://github.com/rebar/rebar/pull/254) 216* rebar/265: [Fix 'rebar help clean' function_clause error](https://github.com/rebar/rebar/pull/265) 217* rebar/268: [Fix #267 (code path regression)](https://github.com/rebar/rebar/pull/268) 218* rebar/269: [Update THANKS](https://github.com/rebar/rebar/pull/269) 219 220# Rebar 2.2.0 221 222## PR's Merged 223 224* rebar/152: [Fix erl_opts use](https://github.com/rebar/rebar/pull/152) 225* rebar/154: [Fix update-deps with certain forms of the {tag, ...} type](https://github.com/rebar/rebar/pull/154) 226* rebar/155: [Fixes for #137 and #142](https://github.com/rebar/rebar/pull/155) 227* rebar/157: [Don't over-aggressively clean the code path in the presence of lib_dir directives](https://github.com/rebar/rebar/pull/157) 228* rebar/172: [Add missing dep examples and fix existing ones](https://github.com/rebar/rebar/pull/172) 229* rebar/173: [Fix false reporting of (plain) vsn strings](https://github.com/rebar/rebar/pull/173) 230* rebar/174: [rebar_core: fix Dialyzer warning introduced in aa46d85 (#157)](https://github.com/rebar/rebar/pull/174) 231* rebar/177: [Delete unused inttest/retest binary](https://github.com/rebar/rebar/pull/177) 232* rebar/179: [Make list of commands (for unabbreviation) easier to maintain](https://github.com/rebar/rebar/pull/179) 233* rebar/183: [generate-upgrade can now take target_dir argument](https://github.com/rebar/rebar/pull/183) 234* rebar/184: [Fix log levels](https://github.com/rebar/rebar/pull/184) 235* rebar/185: [Switch retest dep to upstream (dizzyd/retest.git)](https://github.com/rebar/rebar/pull/185) 236* rebar/189: [inttest/rgen1: increase retest timeout (30s -> 60s)](https://github.com/rebar/rebar/pull/189) 237* rebar/190: [inttest/rgen_1: double the timeout a second time](https://github.com/rebar/rebar/pull/190) 238* rebar/191: [Fix #187 (rename getopt and mustache)](https://github.com/rebar/rebar/pull/191) 239* rebar/196: [Print a more appropriate message on 'rebar info'](https://github.com/rebar/rebar/pull/196) 240* rebar/198: [Clean up rebar.config.script](https://github.com/rebar/rebar/pull/198) 241* rebar/199: [rebar_dia_compiler: fix Dialyzer warnings](https://github.com/rebar/rebar/pull/199) 242* rebar/200: [bootstrap: avoid trying to run 'debug' command](https://github.com/rebar/rebar/pull/200) 243* rebar/201: [Added a library template.](https://github.com/rebar/rebar/pull/201) 244* rebar/210: [Fix #205 (erlydtl:compile/3 returns warnings)](https://github.com/rebar/rebar/pull/210) 245* rebar/212: [Fix basho/rebar#388](https://github.com/rebar/rebar/pull/212) 246* rebar/214: [Document compile_only=true](https://github.com/rebar/rebar/pull/214) 247* rebar/215: [Remove experimental flags](https://github.com/rebar/rebar/pull/215) 248