/NEWS

http://github.com/zotonic/zotonic · #! · 647 lines · 466 code · 181 blank · 0 comment · 0 complexity · 3143b2bb234d9c56112cb6e48d7fc684 MD5 · raw file

  1. Welcome to Zotonic!
  2. Release 0.9.0, not yet released
  3. -------------------------------
  4. * New core features:
  5. Ability to make mobile sites using automatic user agent classification
  6. and template selection based on the detected user agent.
  7. All base HTML has moved to use the Twitter Bootstrap CSS framework
  8. instead of Atatonic. This includes the admin (which got a new design)
  9. and the base templates for the skeleton sites. All Atatonic CSS files
  10. have been removed from Zotonic. Cufon is also no longer included.
  11. Modules can now implement their own URL dispatch mechanisms through
  12. #dispatch{} notifications. They are triggered when the regular
  13. dispatch rules do not match.
  14. * New tags/changed tags
  15. {% javascript %}...{% endjavascript %}
  16. Adds javascript that will be run after jQuery has been initialized.
  17. In dynamic content it will run after the DOM has been updated with the
  18. template where the javascript was defined.
  19. {% image %} new attribute: imageclass
  20. Image classes are defined using property files in the template
  21. directory. Which image class definition is chosen depends on the
  22. user agent classification.
  23. * Modules
  24. mod_geomap
  25. New module: Provides mapping and geocoding.
  26. mod_comment
  27. Added the possibility to have comments be moderated before submitting.
  28. mod_survey
  29. Largely rewritten. Now uses the new 'blocks' structure for adding
  30. questions to the survey.
  31. mod_ssl
  32. New module: adds SSL support to sites.
  33. Previously only a single certificate could be used per zotonic
  34. server. With this module each site can have its own https listeners and
  35. certificates. When you don't supply a certificate then a self signed
  36. certificate and private key will be generated.
  37. * New filters
  38. menu_subtree:
  39. Finds the menu below a particular resource id.
  40. Usage: m.rsc.main_menu.menu|menu_subtree:id
  41. escape_link:
  42. Escapes a text, inserts <br/> tags, and makes anchor elements of all
  43. links in the text. The anchor elements have the 'nofollow' attribute.
  44. * New scomps
  45. geomap_static:
  46. Makes the HTML for a static map of a location.
  47. Uses the OpenStreetMaps tiles.
  48. Example usage:
  49. {% geomap_static id=id n=3 %}
  50. (Show the location of the resource 'id' in a grid of 3x3 tiles).
  51. Release 0.8.0, released on 2012-04-11
  52. -------------------------------------
  53. * New core features:
  54. Module manager: module manager startup stability fixes, module
  55. dependencies and starting/stopping modules in the correct order.
  56. Status site - the site status got a redesign to be more in line with
  57. the current zotonic.com site. It now shows a friendly welcome
  58. message and requires a login to view / manage the running zotonic
  59. sites.
  60. PostgreSQL - we stabilized the pgsql connection pool in the presence
  61. of database connection failures and improvoved query timeout
  62. handling.
  63. The "host" option in a site's config file is now optional. When not
  64. present it will be derived from the site's directory name.
  65. * New / updated modules:
  66. ** mod_oembed - Provides an easier way to embed external content into
  67. your site, using the OEmbed standard.
  68. ** mod_translation - added support for RTL languages like Hebrew and
  69. Arabic in the admin interface. Content pages that are translated in
  70. multiple languages now have a separate URL for each language
  71. version. Translations of the admin interface were added for Irish,
  72. Spanish, Estonian and Polish.
  73. ** mod_mailinglist - Improved the mailinglist interface. It is now much
  74. easier to track to which list a page has been sent to, to preview
  75. the mailing and to view and manage bounced emails.
  76. ** mod_development - On Linux, development has been made easier by
  77. integrating inotify. Supports on-the-fly compilation of Erlang
  78. files, flushing caches, and compiling/minifying
  79. LESS/SCSS/Coffeescript.
  80. * Other minor features
  81. ** New filter: index_of, which gives the index of an item in a list.
  82. ** filter_random:random/3 - create random sublist with length l.
  83. ** range filter: easily generate lists with integers
  84. ** replace_args filter: replace $N in string from a list of replacement values.
  85. ** date validator: validate input date against a given date format.
  86. * Development process
  87. The git master branch switched to using git submodules for the most
  88. important external dependencies.
  89. Documentation got updated, most source files now have @doc tags which
  90. are generated and available online at from
  91. http://zotonic.com/documentation
  92. Release 0.7.0, released on 2011-07-28
  93. -------------------------------------
  94. * New core features:
  95. Native SMTP support for sending and receiving e-mails in any Zotonic
  96. site. We integrated Andrew Thompson's gen_smtp library which allows us
  97. to manage outgoing ??nd incoming mails. mod_logging provides a new
  98. email log-view for inspecting what mails go in and out.
  99. A "zotonic" shell command. The "zotonic.sh" shell command has been
  100. replaced by a more generic and more powerful shell command with
  101. support for pluggable subcommands.
  102. Module repository: Zotonic now supports installing system-wide modules
  103. which are not part of the core repository. We have created a place
  104. where externally contributed modules can be linked at
  105. http://modules.zotonic.com/. Modules registered on that site
  106. can be easily installed through the "addsite" subcommand.
  107. The default website has been replaced by the notion of "skeleton"
  108. sites. The "zotonic addsite" command lets you create a new Zotonic
  109. website based on one of the (currently two) website templates.
  110. * New modules:
  111. ** mod_email_relay
  112. Relay received e-mails to an user's email address. Serving as an
  113. example for the SMTP functionality, this module looks up a username
  114. by the local part of a received e-mail and forwards the mail to the
  115. mail address the user configured.
  116. ** mod_email_receive
  117. Handle received e-mails, notifies email observers depending on a
  118. stored mapping of recipient addresses.
  119. ** mod_import_csv
  120. Fairly generic module for importing CSV files, updating or creating
  121. new content on the fly.
  122. ** mod_import_wordpress
  123. Basic import module for Wordpress WXR file format, allowing you to
  124. migrate a Wordpress blog into Zotonic.
  125. ** Discontinued modules
  126. To make Zotonic more lightweight and remove some of the build
  127. dependencies, some infrequently used modules have been removed from
  128. the core and moved to their own repository, at
  129. http://code.google.com/p/zotonic-modules/. These modules are
  130. mod_search_solr, mod_pubsub, mod_slideshow, mod_broadcast,
  131. mod_imageclipper, mod_admin_event and mod_calendar. They can still be
  132. easily installed with the help of the "zotonic installmodule"
  133. command. The mod_emailer module (and its esmtp library) has been
  134. removed in favor of the native SMTP sending/receiving capabilities.
  135. Each module now also can have its own dependencies by including a
  136. "deps" subfolder in the module. This is used for example in the
  137. mod_pubsub external module which has the exmpp library as a dependency.
  138. * Other minor features
  139. ** to_json filter for representing template values as JSON objects
  140. ** split filter for splitting a string
  141. ** slice filter for manipulating lists
  142. ** Added {% raw %}..{% endraw %} support for representing literal code blocks.
  143. ** erlydtl: Added possibility to define atoms using backquoted strings.
  144. ** admin templates are reorganized, allowing to write admin customizations with less code
  145. ** translations of the admin updated and more translations added
  146. * Bugfixes
  147. Too many bugfixes to list. However, the base system is becoming more
  148. stable and this release aims to be a good step towards the 1.0.
  149. Release 0.6.1, released on 2011-07-06
  150. -------------------------------------
  151. This is a bugfix release. See doc/changelogs/0.6.1.txt for all the
  152. relevant bugfixes.
  153. Release 0.6.0, released on 2011-02-12
  154. -------------------------------------
  155. * New features:
  156. ** SSL support
  157. Zotonic has gotten support for serving web pages over secure HTTPS
  158. connections. When configured, it listens by default on port 8443.
  159. See http://zotonic.com/https-support for details.
  160. ** z_logger
  161. A new subsystem for the low-level logging and tracing of requests.
  162. This module should be used to log lower level events during
  163. development time. Higher-level log messages (e.g. events by
  164. Zotonic modules) are still handled by 'mod_logging'.
  165. ** multilingual content
  166. Every resource can have be translated in as many languages as you
  167. like. The admin has gotten an interface to provide the editing of
  168. the multiple language versions. Available languages are fully
  169. dynamically configurable.
  170. ** z_depcache
  171. Partial rewrite of depcache system, is now faster and using more
  172. the process dictionary of the calling process to cache often used
  173. values.
  174. * New and changed modules:
  175. ** mod_signal
  176. New module providing a handy signal and slot mechanism for use in templates.
  177. ** mod_tkvstore
  178. New module providing a simple typed key/value store for modules and Erlang code.
  179. ** mod_translation
  180. Check if the user has a preferred language (in the user's persistent
  181. data). If not then check the accept-language header (if any)
  182. against the available languages.
  183. ** mod_mailinglist
  184. Tweaks in the templates, updated dutch translations; do not send
  185. mail when deleting recipient from admin; Added 'recipient_id' to
  186. some e-mails so that the e-mails are sent in the correct language.
  187. ** mod_authentication
  188. Fix user name display in password reminder e-mail.
  189. ** mod_emailer
  190. Fix for e-mail override, escape the '@' in the original e-mail address.
  191. Added flushing of poll messages
  192. ** mod_seo
  193. Added option to set a no-index for a complete site.
  194. New Google Analytics tracker code. With thanks to Richard Fergie.
  195. ** mod_contact
  196. Configurable from address for contact email
  197. ** mod_admin_identity
  198. Fix for finding users, select only identity records with type 'username_pw'
  199. ** mod_calendar
  200. Better handling for undefined date_end values.
  201. ** mod_search
  202. Improper months ordering in archive_year_month query. (#134)
  203. ** mod_menu
  204. Possibility to create an arbitrary number of different menu's. Also
  205. a new filter (menu_trail) which gets the menu trail for the main menu.
  206. * Changes to template filters and tags
  207. ** 'first' filter
  208. added optional length parameter
  209. ** min/max and minmax
  210. 3 new filters were added to clamp a value in an (integer) range.
  211. ** filesizeformat
  212. New filter, similar to the Django filesizeformat filter.
  213. ** lib tag
  214. Extended the lib tag with a 'use_absolute_url' option.
  215. ** confirm/alert actions
  216. These actions were changed and now use HTML dialogs instead of javascript popups.
  217. ** reversed
  218. New filter to reverse a list
  219. ** menu tag
  220. Added 'menu_id' parameter to specify which menu to render
  221. ** date_diff
  222. New filter to calculate the difference between two dates
  223. ** tinymce_add, tinymce_remove
  224. New actions to dynamically initialize of de-initialize rich textareas
  225. ** trigger_event
  226. New action to trigger a named wire.
  227. ** wire
  228. Added a new 'visible' wire type, which triggers when the wired
  229. element comes into view (by scrolling or using 'show').
  230. ** lazy
  231. New scomp which shows a 'loader' image and performs onetime actions
  232. when loader comes into view.
  233. * General bug fixes
  234. - Fix for 'double-dot' in e-mails when using postfix. Also encode the $. characters using quoted-printable.
  235. - Fix for format_price filter. Show thousands when no cents.
  236. - Make video embed code editable.
  237. - Merged various webmachine fixes, updating it to 1.7.3:
  238. - support {stream, TotalSize, StreamFun} body result for range-capable streams
  239. - Add infinity timeout to gen_server calls
  240. - Allow multiple IP/port bindings
  241. - split chunk header on semicolon just in case a client is using chunk extensions
  242. - properly extract peername from all rfc1918 addrs
  243. - change H7 to match on any if-match, not just *
  244. - webmachine: WM-1.7.3(compat) ignores client's Content-Type on HTTP PUT requests (#130)
  245. - webmachine: prevent using chunked transfer encoding with HTTP/1.0.
  246. - increase the startup timeouts for the gen_servers to prevent startup race condition
  247. - Update mochiweb to latest version from mochi/mochiweb github repository (1.5.0)
  248. - Pulled latest epgsql driver to support Postgres notifications.
  249. - Added additional mime types (Office 2007, .rar)
  250. - z_session: Only mark the persistent store as dirty when a persistent value changes.
  251. - pgsql: Fix for a problem where a postgres connection was not returned to the pool in case of a sql error.
  252. - z_media_preview: some files without a preview where not showing an icon.
  253. - fixed an DoS vulnerability in Mochiweb/SSL
  254. - Added flushing for most periodic internal messages (e.g. tick, poll)
  255. - windows: fix build.cmd; remove some unix-specificness from imagemagick shell commands
  256. - mochiweb: Cookie expire date format string now follows rfc2109
  257. - ACL checks on static file serving
  258. - Comet: support for cross-domain comet connections
  259. Release 0.5.0, released on 2010-10-03
  260. -------------------------------------
  261. * New features:
  262. ** Simpler module system
  263. Modules are simpler, do not have to be a fullblown
  264. gen_server. Registering z_notifier for modules is made more simpler
  265. by using erlang's introspection on modules.
  266. ** i18n support through gettext
  267. Gettext .po and .pot file support for translations. Templates can
  268. be translated per module. Pot files are automatically generated
  269. from the templates.
  270. ** Pluggable Access Control system
  271. The new ACL structure works through pluggable ACL modules. Two ACL
  272. modules are included as examples. mod_acl_adminonly, where all
  273. users are admins, and mod_acl_simple_roles, which implements a
  274. simple role based ACL system.
  275. ** Authentication can now be customized and extended.
  276. mod_authentication is the basic module used for
  277. authentication. This module can be extended. The mod_facebook is an
  278. (incomplete) example of such an extender. mod_authentication
  279. implements the username/password authentication, including logon
  280. and logoff. It also supports 'password forgotten' e-mails.
  281. ** User signup
  282. Non admin users can sign up using the mod_signup. This module works
  283. in harmony with the authentication module and authentication
  284. extenders.
  285. ** New OTP supervisor hierarchy.
  286. The PostgreSQL connection pool is now part of the individual
  287. sites. Sites are more isolated and can be individually started,
  288. restarted or stopped. It is possible to add and remove sites
  289. without restarting Zotonic. Modules are now isolated and the
  290. running status of a module is displayed in the admin's module
  291. overview.
  292. ** A status overview site, zotonic_status.
  293. zotonic_status shows the running status of all sites. When logged
  294. in, the user can start/stop/restart sites using his browser. It is
  295. also possible to do 'hg pull' updates of sites that contain a
  296. mercurial repo.
  297. ** New ErlyDTL tags: {% inherit %}, {% overrule %}
  298. ** New ErlyDTL support for multiple argument {% with %}: {% with a,b as c,d %}
  299. ** New ErlyDTL support for filters with multiple parameters.
  300. ** New ErlyDTL test set, including regression tests.
  301. ** New ErlyDTL filters
  302. group_by_title_firstchar, is_visible, pprint, urlize, without_embedded_media.
  303. ** Media preview enhancements
  304. {% image %} now supports the the following new arguments:
  305. 'extent' - create a larger image then the original not by scaling
  306. up but by adding a border to the image.
  307. 'removebg' - removes the image's
  308. background. It accepts an optional fuzziness parameter (range
  309. 0..100).
  310. 'upscale' - Forces a small image to scale up to the requested
  311. dimensions.
  312. ** Extended support for Websocket connections.
  313. The two newest protocols, as used by Chrome and Safari, are
  314. supported.
  315. ** mod_development improvements
  316. It now supports turning on or off the concatenation of {% lib %}
  317. includes as one file or separate files, and can give a live trace
  318. of translated templates, showing clearly the template inheritance
  319. and selections.
  320. ** mod_menu improvements
  321. It implements the menu now as a template, easing your own menu implementation.
  322. ** mod_emailer improvements
  323. It can now inline images into the e-mails
  324. ** New: mod_slideshow
  325. It can make a slideshow of any collection, you can add your own slide templates.
  326. ** New: mod_contact
  327. Simple contact form which gets sent over e-mail
  328. ** New: mod_facebook
  329. Facebook logon
  330. ** New: mod_imageclipper
  331. A simple javascript image-clipper bookmarklet for grabbing images
  332. from other websites.
  333. ** New: mod_logging
  334. A realtime log of debug messages and errors in the system.
  335. ** System wide configuration system (z_config) using a configuration file at 'priv/config'
  336. * Bugfixes:
  337. ** AllowHTML5 audio and video tags (#75)
  338. ** Typo in m_config, line 127. undefind -> undefined (#83)
  339. ** setting initial admin password does not work (#88)
  340. ** After upgrading the code to latest changeset admin authentication causes exception (#91)
  341. ** Menu module does not follow ACL rules (#92)
  342. ** Crash in start.sh using Erlang R14A on Mac OS X 10.6 (#93)
  343. ** Extra Atom Link (#95)
  344. ** Makefiles use rm GNUism (#96)
  345. ** z_email:split_name_email/1 does not what it says it should do (#97)
  346. ** dots in page paths are transformed into dashes (#98)
  347. ** attaching media to pages does not work correctly (#99)
  348. ** After a module crashes, the new dynamic observe_* methods are not re-initialized (#100)
  349. ** setting page path and unique name is broken (#101)
  350. ** IF statements on empty rsc_list structures (#104)
  351. ** When image is too small, providing only a width should not make the image very large (#105)
  352. ** And many various other fixes which users noted on the mailinglist and were fixed quickly.
  353. Release 0.4.0, released on 2010-04-19
  354. -------------------------------------
  355. * New modules:
  356. ** mod_pubsub
  357. Enables resource sharing over XMPP's PubSub; share content between
  358. sites and get realtime updates when content changes. See:
  359. http://scherpenisse.net/id/644
  360. ** mod_search_solr
  361. Added a module which plugs into Zotonic's search system to support
  362. Solr (http://lucene.apache.org/solr/). Using Solr enables quick
  363. fulltext searching and facetting.
  364. * New features:
  365. ** Default site improvements
  366. The default site of a vanilla Zotonic install has been improved
  367. with nicer graphics, cleaner typography, a "contact form"
  368. example and styles for the Twitter module.
  369. ** "More results" scomp
  370. A twitter/facebook style ajaxified "read more" pager, which is a
  371. button which will fetch more results for the current search
  372. question inline on the same page.
  373. ** Windows support
  374. Initial support for building and running Zotonic on the Windows platform.
  375. ** Database schema support
  376. Multiple sites running inside one Postgres database is now possible
  377. thanks to Postgres' support for multiple table namespaces (schema's)
  378. ** Template expressions
  379. It is now possible to use full boolean and arithmetic expressions in the ErlyDTL templates.
  380. ** Webserver IPv6 support
  381. ** Yandex.Video support in mod_video_embed module (#52)
  382. ** PID-file for zotonic (#74)
  383. ** Support for HTML5 audio/video tags in TinyMCE editor (#75)
  384. ** Newer TinyMCE 3.3.2 release from upstream (#69)
  385. ** Newer Mochiweb r153 release from upstream
  386. * Bugfixes:
  387. ** page_path controller should not redirect to the default_page_url (#6)
  388. ** Get the name of the current dispatch rule (#21)
  389. ** zotonic fails after postgresql restart (#49)
  390. ** Unreliable pivot? (#50)
  391. ** Module manager should feedback when module cannot be started. (#51)
  392. ** Do not depend on the 'default' site (#59)
  393. ** i18n of scomp_pager (#62)
  394. ** Buttons and "Logoff" link problems in Chrome (#63)
  395. ** Comment form breaks on new default site (#64)
  396. ** Getting an unknown_rsc error on startup (#66)
  397. ** Zotonic fails to (re)start if an existing admin panel is open with browser supporting WebSockets (#70)
  398. ** Can't save location without e-mail (#71)
  399. ** Improve the default styles to include list bullets/numbers (#72)
  400. ** Twitter module cannot be enabled (#76)
  401. Release 0.3.0, released on 2010-01-25
  402. -------------------------------------
  403. * New modules:
  404. ** mod_comment
  405. Enables a simple commenting system on your site using mod_comment.
  406. * New core features
  407. ** A new default site
  408. The default site of a vanilla Zotonic install is now modelled after
  409. a simple blog-style website, complete with an archive section,
  410. keywords, navigation to previous and next posts, atom feeds and comments.
  411. ** Speed improvements
  412. The Webmachine code was restructured to be more lean-and-mean,
  413. yielding up to 20% more performance on page requests.
  414. ** WebSockets support
  415. When WebSockets is available in the browser, then it is used as a
  416. replacement for the Comet long poll. Currently only Google Chrome
  417. supports this feature but it is expected to arrive in other
  418. browsers soon.
  419. ** Admin updates
  420. Support for editing a location (Google map picker), a new
  421. collection type "query" was added for creating "saved searches".
  422. ** EUnit support
  423. A start has been made to put the core functionality of Zotonic in
  424. unit tests using the EUnit testing framework. As of yet, only a
  425. small fraction of the code has been covered, but we'll keep working
  426. on increasing the code coverage of the tests.
  427. * Bugfixes:
  428. ** Resizing animated GIFs (#28)
  429. ** Determining EXIF orientation for images (#27)
  430. ** The OAuth API key management interface is now available from the admin. (#35)
  431. ** Hiding "meta" pages from the admin overview (#12)
  432. ** And dozens of small fixes which did not go through the issue tracker.
  433. Release 0.2.0, released on 2009-12-11
  434. -------------------------------------
  435. * New modules:
  436. ** mod_broadcast
  437. Send system messages to all users which are currently logged in in
  438. the Zotonic admin.
  439. ** mod_calendar
  440. Shows event resources in a week-overview, and generates ICalendar
  441. feeds.
  442. ** mod_mailinglist
  443. Module which allows you to define groups of recipients and send
  444. mailings to them. Can also send via the unix sendmail program.
  445. ** mod_twitter
  446. Receives feeds for Zotonic persons,using the Twitter streaming API.
  447. * New core features:
  448. ** "catinclude" and "all catinclude" tags
  449. These include templates based on the category of a resource. Used
  450. in the admin to create custom fields based on category.
  451. http://zotonic.com/documentation/760/catinclude
  452. ** Query search model
  453. Generate lists of resources on the fly. Used in mod_atom_feed to
  454. generate atom feeds, and has an API entrypoint, /api/search.
  455. http://zotonic.com/documentation/761/the-query-search-model
  456. ** More template filters:
  457. in_future, in_past, rand, twitter, escape_ical
  458. * Bugfixes:
  459. ** Dynamic postgresql pool size, based on system load (issue #4)
  460. ** Issue in postgres pooling on stresstesting (#15)
  461. ** Uploaded files now get a proper mime type and extension (#5)
  462. ** And other issues: #2, #3, #9, #11, #14, #19, #20
  463. Release 0.1.0, released on 2009-11-13
  464. -------------------------------------
  465. * Initial release.
  466. * Packaged the zotonic.com site as the prime "example" site in the default install.