Backwards Compatibility¶ ↑
-
RodaResponse#set_cookie and delete_cookie have been removed.
-
Roda.request_module and .response_module have been removed.
-
Roda.hash_matcher has been removed.
-
The :extension hash matcher has been removed.
-
The :param and :param! hash matchers have been removed.
-
RodaRequest#full_path_info has been removed.
-
The :opts render plugin option is no longer respected, Use the :template_opts option instead.
-
Plugin option hashes for the chunked, default_headers, error_email, and render plugins are now frozen.
-
The :header hash matcher in the header_matchers plugin now yields the header value to the block.
-
Roda.json_result_classes in the json plugin is now frozen.
-
The PATH_INFO and SCRIPT_NAME env variables are no longer modified during routing.
-
Roda#initialize now takes an env hash, and call now takes the route block. The private _route method has been removed.
-
RodaRequest#keep_remaining_path/#updating_remaining_path private methods have been removed.
-
The render plugin’s :layout option is now always set to true or false, specifying whether a layout should be used by default. The template used for a layout is now located as the :template option inside :layout_opts.
New Plugins¶ ↑
-
A padrino_render plugin has been added, which adds render/partial methods that work similarly to Padrino’s.
Other New Features¶ ↑
-
A Roda#render_template private method has been added to the render plugin. All internal users of render should switch to calling render_template.
-
The halt plugin now integrates with the symbol_views and json plugins, allowing things like:
r.halt(:template) r.halt('key'=>'value')
Other Improvements¶ ↑
-
The error_handler plugin now rescues ScriptError in addition to StandardError. This handles SyntaxError (raised by ERB), LoadError (raised by require), and NotImplementedError (raised by TSort).
-
Using a :layout=>true option to the render plugin’s view method now uses the default layout template, instead of a template named ‘true’. It can be used to force a layout even if the render plugin has been configured to not use a layout by default.
-
Roda
apps that use the middleware plugin can now be used as regular rack apps. Previously, using the middleware plugin made it impossible to use the app as a regular rack app. -
Roda#request and response are now faster.
-
Roda
avoids creating unnecessary hashes in more places now.