Plone 4.1 (Aug 08, 2011)

The second feature release in the 4.x series.

For additional information about this project, please visit the overview page .

For installation instructions go to: http://docs.plone.org/manage/installing.

There may be hotfixes applicable to this release. Always check the Plone Hotfix Page before production deployment.

Available downloads

Release Notes

State Final release
License GPL
Release Manager Eric Steele

Feature enhancements in this release

The following features are associated with this release:

Update to Zope 2.13
Zope 2.13 is the next stable release of Zope 2. It comes with a new and faster version of the ZODB, built-in WSGI support, updated Zope Toolkit packages and a much faster ZCatalog.
Add "SiteAdmin" role
Provide class of user who should have full access to manage content and configuration in a Plone site, but who should be protected from access to places where they are more likely to cause harm than good (such as the ZMI).
Tags MultiSelectionWidget w/scrollbar & checkboxes
Implement a new content tagging widget, improving usability and accessibility.
Improved commenting infrastructure
Include plone.app.discussion, which adds support for moderation, notifications, and greater extensibility.
Ship with plone.app.caching
Simplify and sanitise the setting of caching response headers.
Include plone.app.registry
Provides a debconf-like (or about:config-like) settings registry for Plone add-ons.
Include z3c.form
Utilize the z3c.form library.
Standalone UUID implementation
A lightweight, simple UUID mechanism that is independent of any content implementation.
Table sort internationalization
Provide a solution for making data sortable by dates in any format (such as "Monday 1st, June, 2010") without any javascript customization, and through a standard way.
Include plone.testing and plone.app.testing
Reduce the complexity involved in creating tests with a clean, well-documented framework based on layers.
Separate Products.CMFPlone from the Plone egg and its optional dependencies
The Plone package currently lists a number of dependencies which are not installed by default. We should make it possible for advanced integrators to avoid including that code at all.
Factor custom output transformations out of the editors
Refactor image captioning and UID resolution functionality, to make it independent of TinyMCE and kupu packages.
Set and enforce base coding standards for our own JavaScript
Clean existing JavaScript code. Define standards for future submissions.

Change log

plone.recipe.zope2instance: 4.1.6 → 4.1.7

  • Renamed the optional 998-resources.zcml (introduced in 4.1.6) to 998-resources-configure.zcml, otherwise it does not get loaded in the standard site.zcml. [maurits]

distribute: 0.6.16 → 0.6.19

Products.ZCatalog: 2.13.14 → 2.13.15

feedparser: 4.1 → 5.0.1

Products.ATContentTypes: 2.1.2 → 2.1.3

Products.PloneLanguageTool: 3.2.2 → 3.2.3

Products.PlonePAS: 4.0.7 → 4.0.8

  • Fire IPrincipalDeleted when a user is deleted. [stefan, ggozad]

Products.PortalTransforms: 2.0.6 → 2.0.7

  • In the safe_html transform, abort parsing if a broken declaration is found. [evilbungle, davisagli]
  • In the safe_html transform, remove data URIs. [davisagli]
  • In the safe_html transform, ignore null bytes when checking for unsafe attributes with scripts. [davisagli]

Products.TinyMCE: 1.2.6 → 1.2.7

archetypes.referencebrowserwidget: 2.4.2 → 2.4.3

  • Use label tags for selectable items. [esteele]
  • Fix: text search searches from navigation root. [thomasdesvenain]
  • moved checkPermission from widget template to helper [tom_gross]
  • Fix referencebrowser.js error when using allow_sorting = 1 [toutpt]

archetypes.schemaextender: 2.1 → 2.1.1

plone.app.content: 2.0.6 → 2.0.7

  • Replace links to .../@@folder_contents by links to .../folder_contents so that 'Content' tab remains selected after a folder action. This fixes http://dev.plone.org/plone/ticket/10122. [thomasdesvenain]

plone.app.contentmenu: 2.0.3 → 2.0.4

  • Set height/width of contentmenu icons through browser menu code. [thomasdesvenain]

plone.app.discussion: 2.0.4 → 2.0.7

plone.app.form: 2.0.2 → 2.0.3

  • Made (more) compatible with chameleon by using a simpler way to get the wysiwyg editor. [maurits]
  • Add MANIFEST.in. [WouterVH]

plone.app.i18n: 2.0 → 2.0.1

  • Use template parameter in language selector's viewlet zcml declaration. Make it easier to customize in add-ons. [toutpt]

plone.app.iterate: 2.1.1 → 2.1.2

  • Include Products.CMFCore for Plone 4.1 compatibility. [thomasdesvenain, WouterVH]

plone.app.jquerytools: 1.2 → 1.3

  • Add events triggering so you can hook into it more. [vangheem]
  • Don't break if a formselector was specified but the overlay has no form. [davisagli]
  • Refactor setup of AJAX-loaded content so it's easier to call from custom code. [davisagli]
  • It's now possible to repeatedly apply prepOverlay to the same element and have the last-applied case win. Previously, once prepOverlay had been used on an element, all subsequent uses on that element were ignored. [smcmahon]
  • Add documentation in README for using jQuery Tools event handlers. [smcmahon]

plone.app.layout: 2.1.6 → 2.1.8

plone.app.linkintegrity: 1.4.1 → 1.4.2

plone.app.locales: 4.0.7 → 4.0.8

  • Updated translations. [Plone translators]

plone.app.redirector: 1.1.1 → 1.1.2

  • Don't break in the objectMoved handler if the request has no ACTUAL_URL, to facilitate testing. [davisagli]
  • Add MANIFEST.in. [WouterVH]

plone.app.vocabularies: 2.1.2 → 2.1.3

plone.app.workflow: 2.0.3 → 2.0.4

  • If user has inherited local roles on a folder and removes inheritance on sharing page, locally set roles that were inherited before to avoid definitive loss of access. This refs http://dev.plone.org/plone/ticket/11945. [thomasdesvenain]
  • In sharing view, return empty list immediately if search_term is the translated "Search for user or group" message. [vincentfretin]
  • In sharing view, the search for users and groups was done twice, once in macro_wrapper template and another one in the user-group-sharing macro in sharing template because of duplicate variable definitions. [vincentfretin]

plone.app.z3cform: 0.5.4 → 0.5.6

plone.portlet.collection: 2.0.2 → 2.0.3

  • Change the target_collection query to use a portal_type instead of an object_provides restriction. The data for the former is much more likely in the ZODB cache as many catalog queries use it. [hannosch]
  • Fix 'Show more...' handling so it doesn't cause portletFooter to disappear. Fixes http://dev.plone.org/plone/ticket/9415. [msmith64]

plone.reload: 2.0b1 → 2.0

  • Update test assertions to avoid deprecation warnings under Python 2.7. [hannosch]
  • Relicensed to BSD. [hannosch]
  • Minor PEP8 cleanup. [hannosch]
  • Exclude tests from the shipped source distribution. [hannosch, iElectric]

plone.z3cform: 0.7.6 → 0.7.7

plonetheme.classic: 1.1 → 1.1.1

plonetheme.sunburst: 1.1.4 → 1.1.5

  • Fixed IE8 issue where a ghost top-margin would appear above the headline in the folder summary listing. [malthe]
  • Add shadow and border for iframe overlays to match images and ajax overlays. [smcmahon]
  • Fixed: portal footer is in a 'row' div. [thomasdesvenain]
  • Clean up HTML comments in main_template. [davisagli]
  • Add ids on content core viewlet managers. [thomasdesvenain]
  • Fixed: siteactions background-color was applied to whole page. Add a clear: left. [thomasdesvenain]
  • Add IEFixes.css to CSS registry in case plonetheme.classic is not installed. [elro]
  • Removed comment in IEFixes.css concerning the now removed IE8.js. [elro]
  • Fixed: spinner is back in main_template. [thomasdesvenain]