Hi, I'm testing our application[1] with last packages[2]. Only 2 failures[3]! Seems easy to resolve. It's cool. Does anyone can create a ZTK 2.0a2 with these changes? I can help on this if needed. BTrees = 4.0.8 ZODB = 4.0.0 docutils = 0.11 lxml = 3.2.1 py = 1.4.3 python-subunit = 0.0.15 pytz = 2013.7 setuptools = 1.3 six = 1.4.1 testtools = 0.9.32 transaction = 1.4.1 zc.buildout = 2.2.1 zc.recipe.egg = 2.0.1 zc.resourcelibrary = 1.3.2 zdaemon = 4.0.0 zope.browser = 2.0.2 zope.browserresource = 4.0.2 zope.index = 4.0.1 zope.interface = 4.0.5 zope.lifecycleevent = 4.0.5 zope.pagetemplate = 4.0.4 zope.password = 4.0.2 zope.principalregistry = 4.0.0a2 zope.processlifetime = 2.0.0 zope.proxy = 4.1.3 zope.publisher = 4.0.0a4 zope.ramcache = 2.0.0 zope.security = 4.0.0 zope.session = 4.0.0a2 zope.size = 4.0.1 zope.testbrowser = 4.0.2 zope.testrunner = 4.4.0 zope.traversing = 4.0.0a3 zope.untrustedpython = 4.0.0 zope.viewlet = 4.0.0a1 [1] 70k SLOC, 30 packages, ~140 vendor packages [2] Our of list of packages BTrees = 4.0.8 Chameleon = 2.13-1 Paste = 1.7.5.1 PasteDeploy = 1.5.0 PasteScript = 1.7.5 Pygments = 1.6 RestrictedPython = 3.6.0 Sphinx = 1.1.3 WebOb = 1.2.3 ZConfig = 2.9.2 ZODB = 4.0.0 docutils = 0.11 lxml = 3.2.1 mechanize = 0.2.5 persistent = 4.0.6 py = 1.4.3 python-gettext = 2.1 python-subunit = 0.0.15 pytz = 2013.7 setuptools = 1.3 six = 1.4.1 testtools = 0.9.32 transaction = 1.4.1 z3c.json = 0.5.5 z3c.jsonrpc = 0.7.2 z3c.pagelet = 2.0.0a1 z3c.profiler = 0.10.0 z3c.pt = 3.0.0a1 z3c.ptcompat = 2.0.0a1 z3c.template = 1.4.0 zc.buildout = 2.2.1 zc.lockfile = 1.0.0 zc.recipe.egg = 2.0.1 zc.recipe.filestorage = 1.0.1 zc.recipe.testrunner = 2.0.0 zc.resourcelibrary = 1.3.2 zdaemon = 4.0.0 zope.annotation = 4.2.0 zope.app.applicationcontrol = 3.5.10 zope.app.appsetup = 4.0.0a1 zope.app.debug = 3.4.1 zope.app.dependable = 3.5.1 zope.app.locales = 3.7.4 zope.app.publication = 3.14.0 zope.app.testing = 3.10.0 zope.app.wsgi = 4.0.0a4 zope.applicationcontrol = 4.0.0a1 zope.authentication = 4.1.0 zope.browser = 2.0.2 zope.browsermenu = 4.1.0a1 zope.browserpage = 4.1.0a1 zope.browserresource = 4.0.1 zope.cachedescriptors = 4.0.0 zope.catalog = 4.0.0a1 zope.component = 4.1.0 zope.componentvocabulary = 2.0.0a1 zope.configuration = 4.0.2 zope.container = 4.0.0a3 zope.contentprovider = 4.0.0a1 zope.contenttype = 4.0.1 zope.copy = 4.0.2 zope.copypastemove = 4.0.0a1 zope.datetime = 4.0.0 zope.deferredimport = 4.0.0 zope.deprecation = 4.0.2 zope.dottedname = 4.0.1 zope.dublincore = 4.0.0 zope.error = 4.1.0 zope.errorview = 0.11 zope.event = 4.0.2 zope.exceptions = 4.0.6 zope.fanstatic = 0.12 zope.filerepresentation = 4.0.2 zope.formlib = 4.3.0a1 zope.hookable = 4.0.1 zope.i18n = 4.0.0a4 zope.i18nmessageid = 4.0.2 zope.index = 4.0.1 zope.interface = 4.0.5 zope.intid = 4.0.0a1 zope.keyreference = 4.0.0a2 zope.lifecycleevent = 4.0.3 zope.location = 4.0.2 zope.login = 2.0.0a1 zope.mimetype = 2.0.0a1 zope.minmax = 2.0.0 zope.mkzeoinstance = 3.9.4 zope.pagetemplate = 4.0.4 zope.password = 4.0.2 zope.pluggableauth = 2.0.0a1 zope.principalannotation = 4.0.0a2 zope.principalregistry = 4.0.0a2 zope.processlifetime = 2.0.0 zope.proxy = 4.1.3 zope.ptresource = 4.0.0a1 zope.publisher = 4.0.0a4 zope.ramcache = 2.0.0 zope.schema = 4.3.2 zope.security = 4.0.0 zope.securitypolicy = 4.0.0a1 zope.sendmail = 4.0.0a2 zope.session = 4.0.0a2 zope.site = 4.0.0a1 zope.size = 4.0.1 zope.sqlalchemy = 0.4 zope.structuredtext = 4.0.0 zope.tal = 4.0.0a1 zope.tales = 4.0.1 zope.testbrowser = 4.0.2 zope.testing = 4.1.2 zope.testrunner = 4.4.0 zope.traversing = 4.0.0a3 zope.untrustedpython = 4.0.0 zope.viewlet = 4.0.0a1 [3] warning: zope.tal.taldefs.TALError: $ must be doubled or followed by a simple path in expression u'string:bcn_input warning ${error_fmt/rtt_warning_asc | string:}', at line 95, column 9 + | PTRuntimeError: ['Compilation failed', "zope.tal.taldefs.TALError: $ must be doubled or followed by a simple path in expression u'string:bcn_input warning ${error_fmt/rtt_warning_asc | string:}', at line 95, column 9"] (re.search('<input.*name="filter\.field1"\s+value="value"\s+class="filter"', rendered) is not None) Differences (ndiff with -expected +actual): - True + False -- Sebastien Douche <sdouche@gmail.com> Twitter: @sdouche / G+: +sdouche