ExpressionEngine 2.8.0 Released

We’ve just released ExpressionEngine 2.8.0 which has new features and fixes–some of which we profiled earlier this week–but here are some of the high points.

Template Routes

Template Routes, advanced.

Template Routes are a long requested feature that add even more flexibility to the most flexible CMS out there. It’s easy to define a route that will ensure that the correct data makes it to the correct template.

In addition, we’ve made it easy to link to those routes using the new {route=... tag:

{route='template_group/template' variable='data'}

The {route=... tag renders a link to the route belonging to that template, as opposed to the standard template_group/template link produced by the {path=... variable. The {route=... tag will also take any variables defined on the tag and place them into the correct segment of the route.

Template Layouts

The days of multiple {embed} tags wrapped around all of your content are gone thanks to Template Layouts. Instead, you can create a single layout template:


And then declare the layout at the top of templates that want to use that layout:

{layout="site/.layout" title="The Title"}
Template Contents

The contents of the templates that use that layout are sent to the {layout:contents} variable along with any other variables you send in the {layout} tag or by using {layout:set}.

Caching Drivers

ExpressionEngine has always had file caching as an option for sites that needed more performance. That included both template caching and tag caching, but you were tied to the file system which was still something of a bottleneck. With the addition of the new Caching Drivers you can now use Memcached or Redis. For sites that get heavy traffic, this can be a boon:

If Memcached or Redis are already running on their default ports on the server, it’s a matter of changing the Caching Driver to your preferred method. Even better, we’ve made it very easy for third-party developers to store and retrieve data in your cache of choice:

ee()->cache->save('mydata', $data, 300);
$data = ee()->cache->get('mydata');

Relative Dates

Take one look at Twitter, Facebook, or a number of other sites and you’ll see that Relative Dates are a really convenient way of determining how long ago something was posted. We decided it made sense to add it to ExpressionEngine:

{entry_date:relative stop="+1 day" format="%F %d, %Y"}

Which results in:

9 hours ago

Not detailed enough? Relative dates have all of the flexibility that you expect from us, so check out the documentation to learn more.

The Rest

There’s more to this release than those four features, you’ll also find that we:

  • Cleaned up control panel URLs
  • Refactored pagination template tags for consistency
  • Improved security
    • Refactored secure forms so there are fewer submission errors
    • Removed session length variables in favor of longer sessions when using Remember Me
    • Disabled the control panel’s login modal if you’ve checked Remember Me
  • Added the ability to disable individual extensions without uninstalling or losing data
  • Added a new RSS Parser plugin
  • Added a Pagination and RSS Parser library for developers
  • Updated Forums to 3.1.15

You can find the rest of the changes in the changelog. You can find both ExpressionEngine 2.8.0 and Forums 3.1.15 in your download area.


.(JavaScript must be enabled to view this email address) or share your feedback on this entry with @ellislab on Twitter.