
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Products.validation
Advanced tools
Data validation package for Zope.
.. You should NOT be adding new change log entries to this file. You should create a file in the news directory instead. For helpful instructions, please see: https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst
.. towncrier release notes start
Breaking changes:
pkg_resources namespace with PEP 420 native namespace.
Support only Plone 6.2 and Python 3.10+.
@petschkiInternal:
Bug fixes:
recursiveTranslate that broke with latest Zope 5.11.
zope.i18n already supports recursive translation out of the box since 2008.
[maurits] (#70)Breaking changes:
Products/validation/validators/validator.py.
This had backwards compatibility imports in a way that did not work on Python 3.
So apparently no one needed this so far.
[maurits] (#60)New features:
Internal:
Bug fixes:
Bug fixes:
Bug fixes:
New features:
Bug fixes:
Bug fixes:
Cleaned up package metadata. [hannosch]
Declare test dependencies in an extra and fixed deprecation warnings for use of Globals. [hannosch]
Removed useless assert statements. Assert is not a function. [hannosch]
Purge old zope2 Interface interfaces for Zope 2.12 compatibility. Consider branching before this commit if release required before Plone 4. [elro]
Cleaned up lots of old BBB code. [hannosch]
Email validator did not allow apostrophe in the local part of an email address. This closes http://dev.plone.org/plone/ticket/7947. [hannosch]
Relaxed EmptyValidator requirement that REQUEST has a form. This closes http://dev.plone.org/plone/ticket/7346. [bostrick, hannosch]
Cut the validation short when there is only one validator and this validator is 'sufficient', which means it does not need to validate. [maurits]
Removed an unnecessary call on Zope startup to the test method in chain.py. [maurits]
Fix: ValidatorError was used (at least theoretically) in chain.py but not imported. [maurits]
Fixed the translated error messages to use Message objects correctly. The
mapping attribute of Messages can only contain Unicode. Added a helper
method safe_unicode to convert non-unicode string data into Unicode.
[hannosch]
Fixed a SyntaxError in RangeValidator. [hannosch]
Added isMailto validator for mailto:user@host.tld [tiran]
Added protocol list for isUrl validator with lot's of additional protocols:
http, ftp, irc, news, imap, gopher, jabber, webdav, smb, fish, ldap, pop3,
smtp, sftp, ssh
The *s variants like https are included by the re.
[tiran]
Added isValidId validator. Thanks to Francis J. Lacoste for his first implementation and Christian Theune for his CMF only implementation. [tiran]
Fixed isUnixLikeName validator [tiran]
Updated README.txt [tiran]
Fixed last failing unit tests [tiran]
Removed old setup.py [tiran]
Added isEmptyNoError validator to fix [ 1023153 ] isEmpty validator must return empty string when it failed. {tiran]
Don't show error msg in chain when a validator doesn't return StringTypes. It was required for isEmptyNoError validator which is returning False. {tiran]
Fixed typo in RegexValidator [tiran]
Unit tests now based on ZopeTestCase [tiran]
FAQs
Data validation package for Zope
We found that Products.validation demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.