Last Update: 2019-08-13 08:40:01 -0700


  • The render/view methods in the render plugin, when called with a single string/symbol argument (the most common case), are now up to 2x faster in cache: false mode by directly calling compiled template methods. This takes the performance increase in 3.22.0 and applies it to cache: false mode in addition to cache: true mode. If the template file has changed, the compiled method is removed, and a new compiled method replaces it.

  • Template modification detection in the render plugin now uses a faster check for modification, which also avoids a race condition.

  • The type_routing plugin now handles requests with nothing but the extension in the request path. This fixes cases when you have one app partially route a request, and send the request to another app, and that app uses the type_routing plugin and has an r.is call at the root level.

  • The roda/session_middleware middleware now works correctly if the type_routing plugin is loaded into Roda itself (as opposed to a Roda subclass).

  • The exception_page plugin now always shows the line number for each line. Previously, it only showed the line number if it was showing the content of the line, which complicated debugging in cases where the content of the line was no longer retrievable due to file system permissions or restrictions (e.g. chroot).