= HEAD

* Add head plugin, for handling HEAD requests like GET requests with an empty body (jeremyevans)

* Optimize consuming patterns by using a positive lookahead assertion (jeremyevans)

* Add not_allowed plugin, for automatically returning 405 Method Not Allowed responses (jeremyevans)

* Optimize match blocks with no arguments (jeremyevans)

* Add content_for plugin, for storing content in one template and retrieving it in another (jeremyevans)

* Add render_each plugin, for rendering a template for each value in an enumerable (jeremyevans)

* Add backtracking_array plugin, allowing array matchers to backtrack if later matchers do not match (jeremyevans)

* Add :all hash matcher, allowing array matchers to include conditions where you want to match multiple conditions (jeremyevans)

* Add json plugin, allowing match blocks to return arrays/hashes, returning JSON (jeremyevans)

* Add view_subdirs plugin, for setting a subdirectory for views on a per-request basis (jeremyevans)

* Allow default halt method to take no arguments, and use the current response (jeremyevans)

* Add symbol_views plugin, allowing match blocks to return a template name symbol (jeremyevans)

* Add per_thread_caching plugin, for using separate caches per thread instead of shared thread-safe caches (jeremyevans)

* Add hash_matcher class method, for easily creating hash match methods (jeremyevans)

* Add symbol_matchers plugin, for using symbol-specific matching regexps (jeremyevans)

* Add csrf plugin for csrf protection using rack_csrf (jeremyevans)

* Optimize r.is, r.get, r.post and similar methods by reducing the number of Array objects created (jeremyevans)

* Support RequestClassMethods and ResponseClassMethods in plugins (jeremyevans)

* Add Roda::RodaCache for a thread safe cache, currently used for match patterns, templates, and plugins (jeremyevans)

* Optimize matching by caching consume regexp for strings, regexp, symbol, and :extension matchers (jeremyevans)

* Add r.root for GET / requests, for easier to read version of r.get "" (jeremyevans)

* Optimize r.is terminal matcher, remove :term hash matcher (jeremyevans)

* Make flash plugin no longer depend on sinatra-flash (jeremyevans)

* Move version file to roda/version so it can be required separately without loading dependencies (jeremyevans)

= 0.9.0 (2014-07-30)

* Initial public release