Zotonic 0.6.0 released

Arjan Scherpenisse <>
Sat Feb 12 17:24:57 CET 2011


Dear Zotonic users and Erlang enthusiasts,

I am pleased to announce the release of Zotonic 0.6.0, the Erlang CMS
and web framework.

It can be downloaded from the usual place on google code:
http://code.google.com/p/zotonic/downloads/list

The most prominent changes in this release are multi-language
translateable content and SSL support. The changelog containing all
major changes and fixes is attached below.

Many thanks to all the people who have contributed to this release by
sending patches or filing issues on the bug tracker.


kind regards,

Arjan Scherpenisse
Marc Worrell



Release 0.6.0, released on 2011-02-12
-------------------------------------

* New features:

** SSL support
   Zotonic has gotten support for serving web pages over secure HTTPS
   connections. When configured, it listens by default on port 8443.
   See http://zotonic.com/https-support for details.

** z_logger
   A new subsystem for the low-level logging and tracing of requests.
   This module should be used to log lower level events during
   development time. Higher-level log messages (e.g. events by
   Zotonic modules) are still handled by 'mod_logging'.

** multilingual content
   Every resource can have be translated in as many languages as you
   like. The admin has gotten an interface to provide the editing of
   the multiple language versions. Available languages are fully
   dynamically configurable.

** z_depcache
   Partial rewrite of depcache system, is now faster and using more
   the process dictionary of the calling process to cache often used
   values.


* New and changed modules:

** mod_signal
   New module providing a handy signal and slot mechanism for use in
templates.

** mod_tkvstore
   New module providing a simple typed key/value store for modules and
Erlang code.

** mod_translation
   Check if the user has a preferred language (in the user's persistent
   data). If not then check the accept-language header (if any)
   against the available languages.

** mod_mailinglist
   Tweaks in the templates, updated dutch translations; do not send
   mail when deleting recipient from admin; Added 'recipient_id' to
   some e-mails so that the e-mails are sent in the correct language.

** mod_authentication
   Fix user name display in password reminder e-mail.

** mod_emailer
   Fix for e-mail override, escape the '@' in the original e-mail address.
   Added flushing of poll messages

** mod_seo
   Added option to set a no-index for a complete site.
   New Google Analytics tracker code. With thanks to Richard Fergie.

** mod_contact
   Configurable from address for contact email

** mod_admin_identity
   Fix for finding users, select only identity records with type
'username_pw'

** mod_calendar
   Better handling for undefined date_end values.

** mod_search
   Improper months ordering in archive_year_month query. (#134)

** mod_menu
   Possibility to create an arbitrary number of different menu's. Also
   a new filter (menu_trail) which gets the menu trail for the main menu.


* Changes to template filters and tags

** 'first' filter
   added optional length parameter

** min/max and minmax
   3 new filters were added to clamp a value in an (integer) range.

** filesizeformat
   New filter, similar to the Django filesizeformat filter.

** lib tag
   Extended the lib tag with a 'use_absolute_url' option.

** confirm/alert actions
   These actions were changed and now use HTML dialogs instead of
javascript popups.

** reversed
   New filter to reverse a list

** menu tag
   Added 'menu_id' parameter to specify which menu to render

** date_diff
   New filter to calculate the difference between two dates

** tinymce_add, tinymce_remove
   New actions to dynamically initialize of de-initialize rich textareas

** trigger_event
   New action to trigger a named wire.

** wire
   Added a new 'visible' wire type, which triggers when the wired
   element comes into view (by scrolling or using 'show').

** lazy
   New scomp which shows a 'loader' image and performs onetime actions
   when loader comes into view.



* General bug fixes
 - Fix for 'double-dot' in e-mails when using postfix. Also encode the
$. characters using quoted-printable.
 - Fix for format_price filter. Show thousands when no cents.
 - Make video embed code editable.
 - Merged various webmachine fixes, updating it to 1.7.3:
   - support {stream, TotalSize, StreamFun} body result for
range-capable streams
   - Add infinity timeout to gen_server calls
   - Allow multiple IP/port bindings
   - split chunk header on semicolon just in case a client is using
chunk extensions
   - properly extract peername from all rfc1918 addrs
   - change H7 to match on any if-match, not just *
 - webmachine: WM-1.7.3(compat) ignores client's Content-Type on HTTP
PUT requests (#130)
 - webmachine: prevent using chunked transfer encoding with HTTP/1.0.
 - increase the startup timeouts for the gen_servers to prevent startup
race condition
 - Update mochiweb to latest version from mochi/mochiweb github
repository (1.5.0)
 - Pulled latest epgsql driver to support Postgres notifications.
 - Added additional mime types (Office 2007, .rar)
 - z_session: Only mark the persistent store as dirty when a persistent
value changes.
 - pgsql: Fix for a problem where a postgres connection was not returned
to the pool in case of a sql error.
 - z_media_preview: some files without a preview where not showing an icon.
 - fixed an DoS vulnerability in Mochiweb/SSL
 - Added flushing for most periodic internal messages (e.g. tick, poll)
 - windows: fix build.cmd; remove some unix-specificness from
imagemagick shell commands
 - mochiweb: Cookie expire date format string now follows rfc2109
 - ACL checks on static file serving
 - Comet: support for cross-domain comet connections





More information about the erlang-questions mailing list