Commit 83b6dd7 updated rebar to a version that is no longer recursive by default when searching for templates for its "create" subcommand. Add the "-r" option to the rebar invocation in scripts/new_webmachine.sh to make sure it finds its templates properly.
ibrowse and meck are only used for testing and should not be imposed as dependencies on projects using webmachine. rebar.config.script is used to support a dev_only_deps key in rebar.config. The mechanism is triggered by a marker file DEV_MODE written to the top-level of the project directory. If found, the dev_only_deps are merged into deps. The project's Makefile is modified to create the DEV_MODE file. Those doing dev work on webmachine can continue to run builds via standard make commands. Projects pulling in a dep on webmachine via rebar will receive just the needed bits.
We have a special version of ensure_all_started that uses the default Erlang implementation if it's available, and otherwise falls back to our own reimplemented version of the function. This is useful to have in places other than just the one test function, so I'm factoring this out into the webmachine_util module.
Add the ability to specify a boolean configuration parameter to the webmachine_access_log_handler module to have it include request duration reporting as part of its log output. The request durations are reported in microseconds and this option is disabled by default so that the current default behavior is maintained.
When a request contains a non-standard HTTP method name, Erlang and mochiweb return it as a string rather than an atom. This caused problems in several parts of webmachine, including logging and tracing. Fix all parts of the code that assumed method names were always atoms. Add new unit tests for the fixed areas.