Release 0.11.0

Welcome Zotonic 0.11.0, released on October 8, 2014. These notes list the most important changes for this new feature release.

Full timezone support

Timezone support was added to the core. All dates are now stored in UTC. Existing resources with old dates (in local time!) are converted on read, assuming the configured server timezone. You need to set the timezone in the zotonic.config file, for example:

{timezone, "Europe/Berlin"}

A site-specific timezone can de set with the mod_l10n.timezone configuration.

Database driver and pool

The database driver and pool has been replaced by the standard epgsql and poolboy Erlang applications. This means we no longer use a special forked Zotonic version of the epgsql Postgres driver. As a nice side effect, database queries run 5-10% faster on the new database code. See the test report here:

Global changes

The default place for user-defined sites and external modules has been changed to the defaults user/sites and user/modules, respectively.

Also, the global file priv/config has been obsoleted in place of a new global configuration file, ~/.zotonic/zotonic.config. Zotonic actually looks in several places for its global configuration file, including /etc/zotonic/zotonic.config. See Global configuration for all information on this topic.

Updated modules

Added timezone support.
Added dispatch debugging and explanation. Added checkbox to disable the api-service /api/development/recompile
The live custom tag was added to mod_mqtt, allowing you to live update a part of the page on pubsub events. Documentation for mod_mqtt has been improved and a debugging option has been added so you can see which topics are published and subscribed to.
The Zotonic logo is now included in the distribution as a Webfont, resulting in crisp logo’s in the admin and on the default Zotonic status website.

New an updated filters

An optional second argument for the timezone has been added.
An optional third argument for the timezone has been added.
An optional second argument is added to specify the text added where the text is truncated.
Truncates a HTML text to a specific length, ensures that all open tags are properly closed.

New transport mechanism

The client-server communication is now based on UBF-encoded messages. It has become easier to send messages to specific pages (browser tabs) and to do bi-directional communication in general. See Transport for all information on this topic.


User-defined Erlang dependencies
It is now possible to add extra rebar deps to Zotonic, by adding them to the zotonic.config file.
Version-locking of dependent Erlang applications
Zotonic now uses the Rebar lock-deps plugin to keep all included dependencies at the versions that they were at when Zotonic was released. This improves the longterm stability of the Zotonic release.
Rememberme cookie changes
The rememberme cookie (used for automatic logon) is now based on a token instead of the user id. The token is reset if the user’s password is changed. Cookies set using the previous scheme are invalidated.
Reuqest context notification
Added the notification request_context. This is a foldl with the Context and is called after the request’s query arguments are parsed using z_context:ensure_qs/1. It can be used to perform transformations or actions based on the query arguments.


The following people were involved in this release:

Alberto López, Arjan Scherpenisse, Arthur Clemens, David de Boer, Jeff Bell, jult, Maas-Maarten Zeeman, Marc Worrell, Mawuli Adzaku and Stephan Herzog.

Edit on GitHub

Release 0.11.1 Release Notes Release 0.10.2

Referred by

Release 0.12.0

Welcome Zotonic 0.12.0, released on October 8, 2014.