Introduction
============
This Zope product provides two new tools for the CMF in order to make MIME
types based transformations on the portal contents, and so an easy to way to
plugin some new transformations for previously unsupported content types. The
provided tools are:
portal_transform (the transform tool)
handle transformation of data from a mime type to another
A bunch of ready to use transformations are also provided. Look at the
documentation for more information.
Notice this package can also be used as a standalone Python package. If
you've downloaded the Python distribution, you can't make it a Zope
product since Zope files have been removed from this distribution.
This product is an off-spring of the Archetypes project.
Compatibility
-------------
- For Plone 4 and 5.0, use version 2.x.
- For Plone 5.1 and later, use version 3.
- For Plone 6 and later, use version 4.
Authors
-------
- Benjamin Saller <bcsaller@yahoo.com>
- Sidnei da Silva <sidnei@x3ng.com>
- Sylvain Thenault <sylvain.thenault@logilab.fr>
Changelog
=========
.. 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
4.1.0 (2024-08-09)
------------------
New features:
- Shortcut in safe_html: Check for signs of html or script, skip further processing if none are found. (#66)
4.0.3 (2024-04-25)
------------------
Bug fixes:
- Use ``Cleaner`` from new package ``lxml_html_clean``.
This was factored out from ``lxml`` in version 5.2.0.
See https://lxml-html-clean.readthedocs.io/
[maurits] (#3938)
4.0.2 (2024-01-22)
------------------
Internal:
- Update configuration files.
[plone devs] (80cf330f)
4.0.1 (2023-03-14)
------------------
Internal:
- Merge the safest bits of the changes wanted by plone/meta (#58)
4.0.0 (2023-02-22)
------------------
Breaking changes:
- The package is now compatible with Plone 6 and Python 3.8+. (#51)
Bug fixes:
- Fix deprecation warnings (#51)
3.2.2 (2023-02-08)
------------------
Bug fixes:
- Update to Zope4 only including troove classifiers. [jensens] (#50)
3.2.1 (2022-10-28)
------------------
Bug fixes:
- Fixed regular expression in tests on Python 3.11.
[maurits] (#48)
- Tests: fixed incompatibility with lxml 3.9+ on Linux.
This gives slightly different output.
[maurits] (#818)
3.2.0 (2022-03-17)
------------------
Bug fixes:
- Prevent auto-closed empty tags in safe_html output.
[cekk] (#43)
3.1.12 (2021-09-15)
-------------------
Bug fixes:
- Fix "ValueError: invalid literal for int() with base 10" when transforming some html to text.
[pbauer] (#46)
3.1.11 (2021-06-30)
-------------------
Bug fixes:
- Split method cleaner_options off from scrub_html in safe_html transform.
This makes it easier to monkey patch or subclass.
[maurits] (#44)
- REST transform: ignore warnings and stylesheet keyword arguments.
They can be abused.
From `Products.PloneHotfix20210518 <https://plone.org/security/hotfix/20210518/writing-arbitrary-files-via-docutils-and-python-script>`_.
[maurits] (#3274)
3.1.10 (2020-09-21)
-------------------
Bug fixes:
- Fixed invalid escape sequences.
[maurits] (#3130)
3.1.9 (2020-09-07)
------------------
Bug fixes:
- Fixed deprecation warning for DocumentTemplate.DT_Util.html_quote.
[maurits] (#41)
3.1.8 (2020-04-23)
------------------
Bug fixes:
- Minor packaging updates. (#1)
- Use markdown extension settings from markup control panel.
[pabo3000, thomasmassmann] (#30)
3.1.7 (2019-05-21)
------------------
Bug fixes:
- Fix: 'DeprecationWarning: Flags not at the start of the expression'
[jensens] (#40)
3.1.6 (2019-03-02)
------------------
Bug fixes:
- When form tag is added to the valid tags, do not remove it anyway.
By default the cleaner would always remove form tags and kill button, input, select, and textarea tags
Fixes `issue 2693 <https://github.com/plone/Products.CMFPlone/issues/2693>`_.
[maurits] (#2693)
3.1.5 (2018-11-01)
------------------
Bug fixes:
- Some transform were returning unicode instead of strings in Python 2 (#37)
- fix scrub_html when passing unicode [pbauer] (#38)
3.1.4 (2018-09-23)
------------------
Bug fixes:
- fix test for python 3
[petschki]
3.1.3 (2018-06-21)
------------------
Bug fixes:
- Start fixing startup in py3
[ale-rt, pbauer]
- Stop using ATTestCase for tests.
[davisagli]
3.1.2 (2018-02-05)
------------------
Bug fixes:
- Add Python 2 / 3 compatibility. [maurits]
3.1.1 (2017-11-24)
------------------
Bug fixes:
- Do not expose dead settings in ``safe_html`` ZMI settings page.
This fixes `Products.CMFPlone #2130 <https://github.com/plone/Products.CMFPlone/issues/2130>`_
[jensens]
3.1 (2017-09-03)
----------------
Breaking changes:
- Fix and migrate safe_html filter completely into Plone registry and sync settings with TinyMCE.
Also some unused options in controlpanel where removed, like stripped_combinations and class_blacklist.
[MrTango]
3.0.0 (2017-04-02)
------------------
Breaking changes:
- Use lxml.html.Cleaner for safe HTML transforms (PLIP 1441)
[prakharjoshi, tomgross]
2.2.2 (2017-02-20)
------------------
New features:
- Add the possibility to switch on markdown extension through the zmi.
[pabo3000]
2.2.1 (2016-08-19)
------------------
Fixes:
- Fix regression in rest transform vs. old Zope2 reStructuredText wrapper:
headings now proper level in settings for body, which was necessary to
preserve levels assumed in downstream use of this transform
(e.g. Archetypes). Behavior now matches that of previous wrapper.
[seanupton]
2.2.0 (2016-02-14)
------------------
New:
- Use docutils for rest since the rest-wrapper was removed from zope2.
[pbauer]
- Depend on ``Pillow>=3.1.0``.
[jensens]
- Add the fenced_code_blocks extension for Markdown Transformations
and depend on Markdown >=2.6.5.
https://pythonhosted.org/Markdown/extensions/fenced_code_blocks.html
[pcdummy]
Fixes:
- Fix: After using ``Pillow>=3.1.0`` fix TIFF test output for this new
version of Pillow writing a ``dword`` instead of a ``word`` as type in
the IFD header for the width.
[jensens]
- Fix output of TransformTest to not contain binary in case of failure. This
broke the test result parser.
[jensens]
- cleanup: autopep8, isort sorted imports, utf8 header, security decorators,
zca decorators, minor manual edits
[jensens]
- Make tests compatible with OS other than Ubuntu 14.04.
[do3cc]
2.1.10 (2015-09-15)
-------------------
- Add iframe as a valid tag
[vangheem]
2.1.9 (2015-09-04)
------------------
- fix unicode issue in safe_html when there is entity in script tag
[gotcha]
2.1.8 (2015-08-20)
------------------
- fix error mis-configured transforms would cause:
"AttributeError: 'NoneType' object has no attribute 'items'"
[vangheem]
2.1.7 (2015-06-24)
------------------
- fix safe_html with entities after a <script> tag
[gotcha]
- Remove CMFDefault dependency
[tomgross]
2.1.6 (2015-04-22)
------------------
- Do not escape <, >, and & inside script tag when it is not suppressed.
[gotcha]
2.1.5 (2015-03-13)
------------------
- Do not fail tests if a mimetype already has been registered in the tests.
[timo]
- Update output gif; Pillow 2.7.0 no longer optimizes the palette of gifs in RGB mode.
[davisagli]
2.1.4 (2014-09-07)
------------------
- Don't force utf-8 when sub is run on a unicode string. This fixes
unicodedecodeerror when we have a match in a unicode string containing
non ascii chars.
[tmog]
2.1.3 (2014-01-27)
------------------
- Nothing changed.
2.1.2 (2012-12-09)
------------------
- Adjust safe_html transform to block various XSS vulnerabilities. This fixes
https://plone.org/products/plone/security/advisories/20121106/18
[davisagli]
2.1.1 (2012-10-05)
------------------
- Do not try to handle invalid tags : we take for granted that html coming out
of converters do not hold any of embed, script, object or applet tags.
2.1 (2012-10-05)
----------------
- Avoid throwing exceptions on js attrs and invalid tags in word_to_html
transform
[gotcha]
- Handle charrefs & entityrefs in data and attributes equally (unchanged)
if converting to safe_html
[tom_gross]
2.0.7 - 2011-07-04
------------------
The following three changes collectively fix
http://plone.org/products/plone/security/advisories/CVE-2011-1949
- 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]
2.0.6 - 2011-04-03
------------------
- Update RoleManager import to avoid deprecation warning on Zope 2.13.
[davisagli]
2.0.5 - 2011-02-26
------------------
- Fix regression due to the security declarations added in 2.0.4: convertTo
should still be public, but not publishable.
[davisagli]
2.0.4 - 2011-02-25
------------------
- Fix missing security declarations.
[davisagli]
2.0.3 - 2010-11-24
------------------
- Fix manage_options which accidentally got turned into a tuple in some
refactoring.
[swampmonkey]
- Added missing `url` metadata.
[hannosch]
2.0.2 - 2010-10-27
------------------
* Close ``<p>`` tags properly in ``configureTransform.zpt``.
[swampmonkey]
* Add HTML5 tags as valid: `article`, `aside`, `audio`, `canvas`, `command`,
`datalist`, `details`, `figcaption`, `figure`, `footer`, `header`, `hgroup`,
`keygen`, `mark`, `rp`, `rt`, `ruby`, `section`, `source`, `summary`,
`time`, `video`.
[limi]
2.0.1 - 2010-07-18
------------------
* Use the standard libraries doctest module.
[hannosch]
* Added `padding-left` to the style whitelist, to let TinyMCE's indent work.
This closes http://dev.plone.org/plone/ticket/10557.
[hannosch]
* PEP8 adjustments for the safe_html transform.
[hannosch]
2.0 - 2010-07-16
----------------
* Lower test requirements for transform tests to only check the start of each
file. There's too many subtle differences in the exact output on different
machines.
[hannosch]
* PEP8 cleanup of the transform engine code.
[hannosch]
2.0b6 - 2010-06-13
------------------
* Repeat safe_html transform to block a malicious HTML injection vector.
Thanks to evilbungle for the report.
[MatthewWilkes]
2.0b5 - 2010-04-10
------------------
* Let mimetype maps with empty transform lists be handled more gracefully.
Fixes: http://dev.plone.org/plone/ticket/10402, refs: r12421.
[thet]
* Fixed a problem where the cache would return data from transforms
which are sensitive to virtual hosting (such as the resolve UID
transforms used by visual editors) which had been cached for a
different virtual host.
[rossp]
2.0b4 - 2010-03-01
------------------
* Restore output/logo.jpg and output/logo.bmp from 1.6 branch.
[stefan]
2.0b3 - 2010-02-19
------------------
* Make tests pass with poppler's pdftohtml converter. Standalone
pdftohtml produces different output and should be avoided.
[stefan]
2.0b2 - 2010-02-05
------------------
* Updated expected output images to most current format.
[hannosch]
2.0b1 - 2010-01-03
------------------
* Fixed a serious performance issue in the find transform path algorithm.
This refs http://dev.plone.org/plone/ticket/9497.
[hannosch, sig]
* Protect against failures in the transform engine, which prevented zexp
imports of sites.
[hannosch]
* Fixed package dependency declaration.
[hannosch]
2.0a2 - 2009-12-02
------------------
* Added HTML5 tags as allowed tags.
[limi]
* Made sure the meta tag is stripped, since not doing it can let things like
HTML redirects slip through, which makes for unpredictable behavior.
[limi]
* Added style to nasty tags, addresses http://dev.plone.org/plone/ticket/9015.
[jonstahl]
2.0a1 - 2009-11-13
------------------
* Added stripped_attributes, stripped_combinations, style_whitelist and
class_blacklist attributes to the safe_html transform.
[robgietema]
* Avoid acquiring `mimetypes_registry` and call it via a proper API.
[hannosch]
* Downgraded log messages about unavailable binaries to debug level.
[hannosch]
* Updated test output to be compatible with docutils 0.5.
[hannosch]
* Removed z3 sub-package. Interfaces are in the interfaces module.
[hannosch]
* Cleaned up package metadata.
[hannosch]
* Declare test dependencies in an extra and fixed deprecation warnings
for use of Globals.
[hannosch]
* Made the graph tests conditional on the availability of the external
binaries for the transform.
[hannosch]
* Removed useless assert statements.
[hannosch]
* Structured Text is gone in Zope 2.12.
[hannosch]
* Transforms to target mimetype with multiple alias mimetypes in
mimetypes_registry failed. This closes
http://dev.plone.org/plone/ticket/8187.
[hannosch]
* Added logging to markdown and textile transforms if the libraries are not
installed. This closes http://dev.plone.org/plone/ticket/8285.
[hannosch]
* Purge old zope2 Interface interfaces for Zope 2.12 compatibility.
Consider branching before this checking if releases required before Plone 4.
[elro]
1.6.4 - 2009-10-08
------------------
* Clean up temporary files/directories after memory errors and failed
conversions.
[witsch]
1.6.3 - 2009-09-09
------------------
* Fix handling of CDATA sections.
[optilude]
1.6.2 - 2009-06-18
------------------
* Fix NameError in the purgeCache method.
[davisagli]
* Fix the way that unsafe transforms calls the input file for the command line
plugin.
[encolpe]
* Make markdown transformation unicode safe and depend on Markdown>=1.7
[tomster]
1.6.1 - 2008-09-30
------------------
* Fixed rest tests when run on Zope 2.11. The raw and include directives are
disabled but no longer removed.
[hannosch]
* Disabled markdown and textile tests when their libraries aren't installed
[fschulze]
* Implemented entity conversion in html to plain text transform.
[fschulze]
* Added metadata.xml file to the profile.
[hannosch]
* Allowed the abbr, acronym, var, dfn, samp, address, bdo, thead, tfoot,
col, and colgroup tags by default, since they are harmless, valid XHTML
and shouldn't be filtered. Fixes:
http://dev.plone.org/plone/ticket/6712 and
http://dev.plone.org/plone/ticket/7251
[limi]
* Added proper Z3 interfaces and added direct implements statements instead
of applying the changes later on with zcml. Reduced number of zcml files
to one.
[hannosch]
1.6.0 - 2007-08-16
------------------
1.6.0-rc2 - 2007-07-27
----------------------
* Updated componentregisty.xml to new style.
[hannosch]
1.6.0-rc1 - 2007-07-04
----------------------
1.6.0-b4 - 2007-04-28
---------------------
* Go back to using getToolByName for CMF tools.
[wichert]
1.6.0-b3 - 2007-03-20
---------------------
* Removed tests/runalltests.py and tests/framework.py as they have
outlived their usefulness. To run tests use Zope's testrunner:
./bin/zopectl test --nowarn -s Products.PortalTransforms
[stefan]
1.6.0-b2 - 2007-03-05
---------------------
* Adjusted rest tests for Zope 2.10 output.
[hannosch]
1.6.0-b1 - 2007-02-27
---------------------
* XXX Please use HISTORY.txt when you make changes
1.6.0-a1 - 2007-02-06
---------------------
* Implemented PLIP 149
[tomster]
1.5.2 - Unreleased
------------------
* Add another XSS fix from for handling extraneous brackets.
[dunny]
* Add XSS fixes from Anton Stonor to safe_html transform.
[alecm, stonor]
1.5.1-final - 2007-04-17
------------------------
* note for release-managers: The version-bump to 1.5 was a bit early, but now
as we have it, i keep it and next release number in the cycle needed for
Archetypes 1.4.2 (used for Plone 2.5.2) of PortalTransforms is then the 1.5
final.
We dont need increasing of release numbers because of Plone 3.0,
Archetypes 1.5, ... if there's no change in the dependen product, like
this one.
[jensens]
1.5.0-final - 2006-12-15
------------------------
1.5.0-a1 - 2006-10-25
---------------------
* casting to int is evil without previous check of the type. so we assume as
in CMFPlone just zero for non-int-castable values.
[jensens]
* the values in the safe_html valid tag dictionary can become strings when
modifying them via the ZMI. Explicitly convert them to integers before
testing their value.
[wichert]
1.4.1-final - 2006-09-08
------------------------
* Shut down a noisy logging message to DEBUG level.
[hannosch]
* Converted logging infrastructure from zLOG usage to Python's logging module.
[hannosch]
* Avoid DeprecationWarning for manageAddDelete.
[hannosch]
* Spring-cleaning of tests infrastructure.
[hannosch]
1.4.0-beta1 - 2006-03-26
------------------------
* removed odd archetypes 1.3 style version checking
[jensens]
* Removed BBB code for CMFCorePermissions import location.
[hannosch]
* removed deprecation-warning for ToolInit
[jensens]
1.3.9-final02 - 2006-01-15
--------------------------
* nothing - the odd version checking needs a version change to stick to
Archetypes version.
[yenzenz]
1.3.9-RC1 - 2005-12-29
----------------------
* Fixed [ 1293684 ], unregistered Transforms are not unmaped,
Transformation was deleted from portal_transforms, but remained
active.
http://sourceforge.net/tracker/index.php?func-detail&aid-1293684&group_id-75272&atid-543430
Added a cleanup that unmaps deleted transforms on reinstall
[csenger]
* Replaced the safe_html transformation with a configurable version
with the same functionality. Migration is handled on reinstall.
http://trac.plone.org/plone/ticket/4538
[csenger] [dreamcatcher]
* Removed CoUnInitialize call. According to Mark Hammond: The
right thing to do is call that function, although almost no one
does (including pywin32 itself, which does CoInitialize the main
thread) and I've never heard of problem caused by this
omission.
[sidnei]
* Fix a long outstanding issue with improper COM thread model
initialization. Initialize COM for multi-threading, ignoring any
errors when someone else has already initialized differently.
https://trac.plone.org/plone/ticket/4712
[sidnei]
* Correct some wrong security settings.
[hannosch]
* Fixed the requirements look-up from the policy
(#1358085)
1.3.8-final02 - 2005-10-11
--------------------------
* nothing - the odd version checking needs a version change to stick to
Archetypes version.
[yenzenz]
1.3.7-final01 - 2005-08-30
--------------------------
* nothing - the odd version checking needs a version change to stick to
Archetypes version.
[yenzenz]
1.3.6-final02 - 2005-08-07
--------------------------
* nothing - the odd version checking needs a version change to stick to
Archetypes version.
[yenzenz]
1.3.6-final - 2005-08-01
------------------------
* Added q to the list of valid and safe html tags by limi's request.
Wrote test for safe_html parsing.
[hannosch]
* Added ins and del to the list of valid and safe html tags.
[ 1199917 ] XHTML DEL tag is removed during the safe_html conversion
[tiran]
1.3.5-final02 - 2005-07-17
--------------------------
* changed version to stick to appropriate Archetypes Version.
[yenzenz]
1.3.5-final - 2005-07-06
------------------------
* pdf_to_html can show images now. Revert it to command transformer and
make it work under windows.
[panjunyong]
* refined command based unsafe transform to make it work with windows.
[panjunyong]
* Disabled office_uno by default because it doesn't support multithread yet
[panjunyong]
* Rewrote office_uno to make it work for the recent PyUNO.
[panjunyong]
1.3.4-final01 - 2005-05-20
--------------------------
* nothing (I hate to write this. But the odd version checking needs it).
[yenzenz]
1.3.4-rc1 - 2005-03-25
----------------------
* Better error handling for safe html transformation
[tiran]
1.3.3-final - 2005-03-05
------------------------
* Updated link to rtf converter to http://freshmeat.net/projects/rtfconverter/
[tiran]
* Small fix for the com office converter. COM could crash if word is
invisible. Also a pop up might appeare when quitting word.
[gogo]
* Fixed [ 1053846 ] Charset problem with wvware word_to_html conversion
[flacoste]
* Fixed python and test pre transforms to use html quote special characters.
Thx to stain. [ 1091670 ] Python source code does not escape HTML.
[tiran]
* Fixed [ 1121812 ] fix PortalTransforms unregisterTransformation()
unregisterTransformation() misses to remove from the zodb the persistence
wrapper added to the transformation
[dan_t]
* Fixed [ 1118739 ] popentransform does not work on windows
[duncanb]
* Fixed [ 1122175 ] extra indnt syntax error in office_uno.py
[ryuuguu]
* fixed bug with some transformers' temp filename: it tried to use original
filename which is encoded in utf8 and may constrain invalid charset for my
Windows server. Just use filename as: unknown.suffix
[panjunyong]
* STX header level is set to 2 instead of using zope.conf. Limi forced me to
change it.
[tiran]
* fixed bug: word_to_html uses office_com under windows
1.3.2-5 - 2004-10-17
--------------------
* Fixed [ 1041637 ] RichWidget: STX level should be set to 3 instead 1. The
structured text transform is now using the zope.conf option or has an
optional level parameter in the convert method.
[tiran]
* Added win32api.GetShortPathName to libtransforms/commandtransform
so binaries found in directories which have spaces in their names
will work as expected
[runyaga]
1.3.2-4 - 2004-09-30
--------------------
* nothing changed
1.3.2-3 - 2004-09-25
--------------------
* Fixed more unit tests
[tiran]
1.3.2-2 - 2004-09-17
--------------------
* Fixed [ 1025066 ] Serious persistency bug
[dmaurer]
* Fixed some unit tests failures. Some unit tests did fail because the reST
and STX output has changed slightly.
[tiran]
* Don't include the first three lines of the lynx output which are url,
title and a blank line. This fixed also a unit test because the url
which was a file in the fs did change every time.
[tiran]
* Fixed a bug in make_unpersistent. It seemed that this method touched values
inside the mapping.
[dreamcatcher]
1.3.2-1 - 2004-09-04
--------------------
* Disabled filters that were introduced in 1.3.1-1. The currently used
transform path algo is broken took too long to find a path.
[tiran]
* Cleaned up major parts of PT by removing the python only implementation which
was broken anyway
* Fixed [ 1019632 ] current svn bundle (rev 2942) broken
1.3.1-1 - 2004-08-16
--------------------
* Introduce the concept of filters (one-hop transforms where the source and
destination are the same mimetype).
[dreamcatcher]
* Add a html filter to extract the content of the body tag (so we don't get a
double <body> when uploading full html files).
[dreamcatcher]
* Change base class for Transform to SimpleItem which is equivalent to the
previous base classes and provides a nice __repr__.
[dreamcatcher]
* Lower log levels.
[dreamcatcher]
* cache.py: Added purgeCache, fixed has cache test.
[tiran]
* Fixed non critical typo in error message
[tiran]
1.3.0-3 - 2004-08-06
--------------------
* Added context to the convert, convertTo and __call__ methods. The context is
the object on which the transform was called.
[tiran]
* Added isCacheable flag and setCacheable to idatastream (data.py). Now you can
disable the caching of the result of a transformation.
[tiran]
* Added __setstate__ to load new transformations from the file system.
[tiran]
* Fixed [ 1002014 ] Add policy screen doesn't accept single entry
[tiran]
1.3.0-2 - 2004-07-29
--------------------
* Added workaround for [ 997998 ] PT breaks ZMI/Find [tiran]
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/Products.PortalTransforms",
"name": "Products.PortalTransforms",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "Zope Plone Transform",
"author": "Benjamin Saller",
"author_email": "plone-developers@lists.sourceforge.net",
"download_url": "https://files.pythonhosted.org/packages/ec/98/4bf21f004aee6eb2374fa8d10819d7e1a74ece7d225f3339e9787e1670f8/products_portaltransforms-4.1.0.tar.gz",
"platform": null,
"description": "Introduction\n============\n\nThis Zope product provides two new tools for the CMF in order to make MIME\ntypes based transformations on the portal contents, and so an easy to way to\nplugin some new transformations for previously unsupported content types. The\nprovided tools are:\n\nportal_transform (the transform tool)\n handle transformation of data from a mime type to another\n\nA bunch of ready to use transformations are also provided. Look at the\ndocumentation for more information.\n\nNotice this package can also be used as a standalone Python package. If\nyou've downloaded the Python distribution, you can't make it a Zope\nproduct since Zope files have been removed from this distribution.\n\nThis product is an off-spring of the Archetypes project.\n\n\nCompatibility\n-------------\n\n- For Plone 4 and 5.0, use version 2.x.\n\n- For Plone 5.1 and later, use version 3.\n\n- For Plone 6 and later, use version 4.\n\n\nAuthors\n-------\n\n- Benjamin Saller <bcsaller@yahoo.com>\n- Sidnei da Silva <sidnei@x3ng.com>\n- Sylvain Thenault <sylvain.thenault@logilab.fr>\n\nChangelog\n=========\n\n.. You should *NOT* be adding new change log entries to this file.\n You should create a file in the news directory instead.\n For helpful instructions, please see:\n https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst\n\n.. towncrier release notes start\n\n4.1.0 (2024-08-09)\n------------------\n\nNew features:\n\n\n- Shortcut in safe_html: Check for signs of html or script, skip further processing if none are found. (#66)\n\n\n4.0.3 (2024-04-25)\n------------------\n\nBug fixes:\n\n\n- Use ``Cleaner`` from new package ``lxml_html_clean``.\n This was factored out from ``lxml`` in version 5.2.0.\n See https://lxml-html-clean.readthedocs.io/\n [maurits] (#3938)\n\n\n4.0.2 (2024-01-22)\n------------------\n\nInternal:\n\n\n- Update configuration files.\n [plone devs] (80cf330f)\n\n\n4.0.1 (2023-03-14)\n------------------\n\nInternal:\n\n\n- Merge the safest bits of the changes wanted by plone/meta (#58)\n\n\n4.0.0 (2023-02-22)\n------------------\n\nBreaking changes:\n\n\n- The package is now compatible with Plone 6 and Python 3.8+. (#51)\n\n\nBug fixes:\n\n\n- Fix deprecation warnings (#51)\n\n\n3.2.2 (2023-02-08)\n------------------\n\nBug fixes:\n\n\n- Update to Zope4 only including troove classifiers. [jensens] (#50)\n\n\n3.2.1 (2022-10-28)\n------------------\n\nBug fixes:\n\n\n- Fixed regular expression in tests on Python 3.11.\n [maurits] (#48)\n- Tests: fixed incompatibility with lxml 3.9+ on Linux.\n This gives slightly different output.\n [maurits] (#818)\n\n\n3.2.0 (2022-03-17)\n------------------\n\nBug fixes:\n\n\n- Prevent auto-closed empty tags in safe_html output.\n [cekk] (#43)\n\n\n3.1.12 (2021-09-15)\n-------------------\n\nBug fixes:\n\n\n- Fix \"ValueError: invalid literal for int() with base 10\" when transforming some html to text.\n [pbauer] (#46)\n\n\n3.1.11 (2021-06-30)\n-------------------\n\nBug fixes:\n\n\n- Split method cleaner_options off from scrub_html in safe_html transform.\n This makes it easier to monkey patch or subclass.\n [maurits] (#44)\n- REST transform: ignore warnings and stylesheet keyword arguments.\n They can be abused.\n From `Products.PloneHotfix20210518 <https://plone.org/security/hotfix/20210518/writing-arbitrary-files-via-docutils-and-python-script>`_.\n [maurits] (#3274)\n\n\n3.1.10 (2020-09-21)\n-------------------\n\nBug fixes:\n\n\n- Fixed invalid escape sequences.\n [maurits] (#3130)\n\n\n3.1.9 (2020-09-07)\n------------------\n\nBug fixes:\n\n\n- Fixed deprecation warning for DocumentTemplate.DT_Util.html_quote.\n [maurits] (#41)\n\n\n3.1.8 (2020-04-23)\n------------------\n\nBug fixes:\n\n\n- Minor packaging updates. (#1)\n- Use markdown extension settings from markup control panel.\n [pabo3000, thomasmassmann] (#30)\n\n\n3.1.7 (2019-05-21)\n------------------\n\nBug fixes:\n\n\n- Fix: 'DeprecationWarning: Flags not at the start of the expression'\n [jensens] (#40)\n\n\n3.1.6 (2019-03-02)\n------------------\n\nBug fixes:\n\n\n- When form tag is added to the valid tags, do not remove it anyway.\n By default the cleaner would always remove form tags and kill button, input, select, and textarea tags\n Fixes `issue 2693 <https://github.com/plone/Products.CMFPlone/issues/2693>`_.\n [maurits] (#2693)\n\n\n3.1.5 (2018-11-01)\n------------------\n\nBug fixes:\n\n\n- Some transform were returning unicode instead of strings in Python 2 (#37)\n- fix scrub_html when passing unicode [pbauer] (#38)\n\n\n3.1.4 (2018-09-23)\n------------------\n\nBug fixes:\n\n- fix test for python 3\n [petschki]\n\n\n3.1.3 (2018-06-21)\n------------------\n\nBug fixes:\n\n- Start fixing startup in py3\n [ale-rt, pbauer]\n\n- Stop using ATTestCase for tests.\n [davisagli]\n\n\n3.1.2 (2018-02-05)\n------------------\n\nBug fixes:\n\n- Add Python 2 / 3 compatibility. [maurits]\n\n\n3.1.1 (2017-11-24)\n------------------\n\nBug fixes:\n\n- Do not expose dead settings in ``safe_html`` ZMI settings page.\n This fixes `Products.CMFPlone #2130 <https://github.com/plone/Products.CMFPlone/issues/2130>`_\n [jensens]\n\n\n3.1 (2017-09-03)\n----------------\n\nBreaking changes:\n\n- Fix and migrate safe_html filter completely into Plone registry and sync settings with TinyMCE.\n Also some unused options in controlpanel where removed, like stripped_combinations and class_blacklist.\n [MrTango]\n\n\n3.0.0 (2017-04-02)\n------------------\n\nBreaking changes:\n\n- Use lxml.html.Cleaner for safe HTML transforms (PLIP 1441)\n [prakharjoshi, tomgross]\n\n\n2.2.2 (2017-02-20)\n------------------\n\nNew features:\n\n- Add the possibility to switch on markdown extension through the zmi.\n [pabo3000]\n\n\n2.2.1 (2016-08-19)\n------------------\n\nFixes:\n\n- Fix regression in rest transform vs. old Zope2 reStructuredText wrapper:\n headings now proper level in settings for body, which was necessary to\n preserve levels assumed in downstream use of this transform\n (e.g. Archetypes). Behavior now matches that of previous wrapper.\n [seanupton]\n\n\n2.2.0 (2016-02-14)\n------------------\n\nNew:\n\n- Use docutils for rest since the rest-wrapper was removed from zope2.\n [pbauer]\n\n- Depend on ``Pillow>=3.1.0``.\n [jensens]\n\n- Add the fenced_code_blocks extension for Markdown Transformations\n and depend on Markdown >=2.6.5.\n https://pythonhosted.org/Markdown/extensions/fenced_code_blocks.html\n [pcdummy]\n\nFixes:\n\n- Fix: After using ``Pillow>=3.1.0`` fix TIFF test output for this new\n version of Pillow writing a ``dword`` instead of a ``word`` as type in\n the IFD header for the width.\n [jensens]\n\n- Fix output of TransformTest to not contain binary in case of failure. This\n broke the test result parser.\n [jensens]\n\n- cleanup: autopep8, isort sorted imports, utf8 header, security decorators,\n zca decorators, minor manual edits\n [jensens]\n\n- Make tests compatible with OS other than Ubuntu 14.04.\n [do3cc]\n\n\n2.1.10 (2015-09-15)\n-------------------\n\n- Add iframe as a valid tag\n [vangheem]\n\n\n2.1.9 (2015-09-04)\n------------------\n\n- fix unicode issue in safe_html when there is entity in script tag\n [gotcha]\n\n\n2.1.8 (2015-08-20)\n------------------\n\n- fix error mis-configured transforms would cause:\n \"AttributeError: 'NoneType' object has no attribute 'items'\"\n [vangheem]\n\n\n2.1.7 (2015-06-24)\n------------------\n\n- fix safe_html with entities after a <script> tag\n [gotcha]\n\n- Remove CMFDefault dependency\n [tomgross]\n\n\n2.1.6 (2015-04-22)\n------------------\n\n- Do not escape <, >, and & inside script tag when it is not suppressed.\n [gotcha]\n\n\n2.1.5 (2015-03-13)\n------------------\n\n- Do not fail tests if a mimetype already has been registered in the tests.\n [timo]\n\n- Update output gif; Pillow 2.7.0 no longer optimizes the palette of gifs in RGB mode.\n [davisagli]\n\n\n2.1.4 (2014-09-07)\n------------------\n\n- Don't force utf-8 when sub is run on a unicode string. This fixes\n unicodedecodeerror when we have a match in a unicode string containing\n non ascii chars.\n [tmog]\n\n\n2.1.3 (2014-01-27)\n------------------\n\n- Nothing changed.\n\n\n2.1.2 (2012-12-09)\n------------------\n\n- Adjust safe_html transform to block various XSS vulnerabilities. This fixes\n https://plone.org/products/plone/security/advisories/20121106/18\n [davisagli]\n\n\n2.1.1 (2012-10-05)\n------------------\n\n- Do not try to handle invalid tags : we take for granted that html coming out\n of converters do not hold any of embed, script, object or applet tags.\n\n\n2.1 (2012-10-05)\n----------------\n\n- Avoid throwing exceptions on js attrs and invalid tags in word_to_html\n transform\n [gotcha]\n\n- Handle charrefs & entityrefs in data and attributes equally (unchanged)\n if converting to safe_html\n [tom_gross]\n\n\n2.0.7 - 2011-07-04\n------------------\n\nThe following three changes collectively fix\nhttp://plone.org/products/plone/security/advisories/CVE-2011-1949\n\n- In the safe_html transform, abort parsing if a broken declaration is found.\n [evilbungle, davisagli]\n\n- In the safe_html transform, remove data URIs.\n [davisagli]\n\n- In the safe_html transform, ignore null bytes when checking for unsafe\n attributes with scripts.\n [davisagli]\n\n\n2.0.6 - 2011-04-03\n------------------\n\n- Update RoleManager import to avoid deprecation warning on Zope 2.13.\n [davisagli]\n\n2.0.5 - 2011-02-26\n------------------\n\n- Fix regression due to the security declarations added in 2.0.4: convertTo\n should still be public, but not publishable.\n [davisagli]\n\n2.0.4 - 2011-02-25\n------------------\n\n- Fix missing security declarations.\n [davisagli]\n\n2.0.3 - 2010-11-24\n------------------\n\n- Fix manage_options which accidentally got turned into a tuple in some\n refactoring.\n [swampmonkey]\n\n- Added missing `url` metadata.\n [hannosch]\n\n2.0.2 - 2010-10-27\n------------------\n\n* Close ``<p>`` tags properly in ``configureTransform.zpt``.\n [swampmonkey]\n\n* Add HTML5 tags as valid: `article`, `aside`, `audio`, `canvas`, `command`,\n `datalist`, `details`, `figcaption`, `figure`, `footer`, `header`, `hgroup`,\n `keygen`, `mark`, `rp`, `rt`, `ruby`, `section`, `source`, `summary`,\n `time`, `video`.\n [limi]\n\n2.0.1 - 2010-07-18\n------------------\n\n* Use the standard libraries doctest module.\n [hannosch]\n\n* Added `padding-left` to the style whitelist, to let TinyMCE's indent work.\n This closes http://dev.plone.org/plone/ticket/10557.\n [hannosch]\n\n* PEP8 adjustments for the safe_html transform.\n [hannosch]\n\n2.0 - 2010-07-16\n----------------\n\n* Lower test requirements for transform tests to only check the start of each\n file. There's too many subtle differences in the exact output on different\n machines.\n [hannosch]\n\n* PEP8 cleanup of the transform engine code.\n [hannosch]\n\n2.0b6 - 2010-06-13\n------------------\n\n* Repeat safe_html transform to block a malicious HTML injection vector.\n Thanks to evilbungle for the report.\n [MatthewWilkes]\n\n2.0b5 - 2010-04-10\n------------------\n\n* Let mimetype maps with empty transform lists be handled more gracefully.\n Fixes: http://dev.plone.org/plone/ticket/10402, refs: r12421.\n [thet]\n\n* Fixed a problem where the cache would return data from transforms\n which are sensitive to virtual hosting (such as the resolve UID\n transforms used by visual editors) which had been cached for a\n different virtual host.\n [rossp]\n\n2.0b4 - 2010-03-01\n------------------\n\n* Restore output/logo.jpg and output/logo.bmp from 1.6 branch.\n [stefan]\n\n2.0b3 - 2010-02-19\n------------------\n\n* Make tests pass with poppler's pdftohtml converter. Standalone\n pdftohtml produces different output and should be avoided.\n [stefan]\n\n2.0b2 - 2010-02-05\n------------------\n\n* Updated expected output images to most current format.\n [hannosch]\n\n2.0b1 - 2010-01-03\n------------------\n\n* Fixed a serious performance issue in the find transform path algorithm.\n This refs http://dev.plone.org/plone/ticket/9497.\n [hannosch, sig]\n\n* Protect against failures in the transform engine, which prevented zexp\n imports of sites.\n [hannosch]\n\n* Fixed package dependency declaration.\n [hannosch]\n\n2.0a2 - 2009-12-02\n------------------\n\n* Added HTML5 tags as allowed tags.\n [limi]\n\n* Made sure the meta tag is stripped, since not doing it can let things like\n HTML redirects slip through, which makes for unpredictable behavior.\n [limi]\n\n* Added style to nasty tags, addresses http://dev.plone.org/plone/ticket/9015.\n [jonstahl]\n\n2.0a1 - 2009-11-13\n------------------\n\n* Added stripped_attributes, stripped_combinations, style_whitelist and\n class_blacklist attributes to the safe_html transform.\n [robgietema]\n\n* Avoid acquiring `mimetypes_registry` and call it via a proper API.\n [hannosch]\n\n* Downgraded log messages about unavailable binaries to debug level.\n [hannosch]\n\n* Updated test output to be compatible with docutils 0.5.\n [hannosch]\n\n* Removed z3 sub-package. Interfaces are in the interfaces module.\n [hannosch]\n\n* Cleaned up package metadata.\n [hannosch]\n\n* Declare test dependencies in an extra and fixed deprecation warnings\n for use of Globals.\n [hannosch]\n\n* Made the graph tests conditional on the availability of the external\n binaries for the transform.\n [hannosch]\n\n* Removed useless assert statements.\n [hannosch]\n\n* Structured Text is gone in Zope 2.12.\n [hannosch]\n\n* Transforms to target mimetype with multiple alias mimetypes in\n mimetypes_registry failed. This closes\n http://dev.plone.org/plone/ticket/8187.\n [hannosch]\n\n* Added logging to markdown and textile transforms if the libraries are not\n installed. This closes http://dev.plone.org/plone/ticket/8285.\n [hannosch]\n\n* Purge old zope2 Interface interfaces for Zope 2.12 compatibility.\n Consider branching before this checking if releases required before Plone 4.\n [elro]\n\n1.6.4 - 2009-10-08\n------------------\n\n* Clean up temporary files/directories after memory errors and failed\n conversions.\n [witsch]\n\n1.6.3 - 2009-09-09\n------------------\n\n* Fix handling of CDATA sections.\n [optilude]\n\n1.6.2 - 2009-06-18\n------------------\n\n* Fix NameError in the purgeCache method.\n [davisagli]\n\n* Fix the way that unsafe transforms calls the input file for the command line\n plugin.\n [encolpe]\n\n* Make markdown transformation unicode safe and depend on Markdown>=1.7\n [tomster]\n\n1.6.1 - 2008-09-30\n------------------\n\n* Fixed rest tests when run on Zope 2.11. The raw and include directives are\n disabled but no longer removed.\n [hannosch]\n\n* Disabled markdown and textile tests when their libraries aren't installed\n [fschulze]\n\n* Implemented entity conversion in html to plain text transform.\n [fschulze]\n\n* Added metadata.xml file to the profile.\n [hannosch]\n\n* Allowed the abbr, acronym, var, dfn, samp, address, bdo, thead, tfoot,\n col, and colgroup tags by default, since they are harmless, valid XHTML\n and shouldn't be filtered. Fixes:\n http://dev.plone.org/plone/ticket/6712 and\n http://dev.plone.org/plone/ticket/7251\n [limi]\n\n* Added proper Z3 interfaces and added direct implements statements instead\n of applying the changes later on with zcml. Reduced number of zcml files\n to one.\n [hannosch]\n\n1.6.0 - 2007-08-16\n------------------\n\n1.6.0-rc2 - 2007-07-27\n----------------------\n\n* Updated componentregisty.xml to new style.\n [hannosch]\n\n1.6.0-rc1 - 2007-07-04\n----------------------\n\n1.6.0-b4 - 2007-04-28\n---------------------\n\n* Go back to using getToolByName for CMF tools.\n [wichert]\n\n1.6.0-b3 - 2007-03-20\n---------------------\n\n* Removed tests/runalltests.py and tests/framework.py as they have\n outlived their usefulness. To run tests use Zope's testrunner:\n ./bin/zopectl test --nowarn -s Products.PortalTransforms\n [stefan]\n\n1.6.0-b2 - 2007-03-05\n---------------------\n\n* Adjusted rest tests for Zope 2.10 output.\n [hannosch]\n\n1.6.0-b1 - 2007-02-27\n---------------------\n\n* XXX Please use HISTORY.txt when you make changes\n\n1.6.0-a1 - 2007-02-06\n---------------------\n\n* Implemented PLIP 149\n [tomster]\n\n1.5.2 - Unreleased\n------------------\n\n* Add another XSS fix from for handling extraneous brackets.\n [dunny]\n\n* Add XSS fixes from Anton Stonor to safe_html transform.\n [alecm, stonor]\n\n1.5.1-final - 2007-04-17\n------------------------\n\n* note for release-managers: The version-bump to 1.5 was a bit early, but now\n as we have it, i keep it and next release number in the cycle needed for\n Archetypes 1.4.2 (used for Plone 2.5.2) of PortalTransforms is then the 1.5\n final.\n We dont need increasing of release numbers because of Plone 3.0,\n Archetypes 1.5, ... if there's no change in the dependen product, like\n this one.\n [jensens]\n\n1.5.0-final - 2006-12-15\n------------------------\n\n1.5.0-a1 - 2006-10-25\n---------------------\n\n* casting to int is evil without previous check of the type. so we assume as\n in CMFPlone just zero for non-int-castable values.\n [jensens]\n\n* the values in the safe_html valid tag dictionary can become strings when\n modifying them via the ZMI. Explicitly convert them to integers before\n testing their value.\n [wichert]\n\n1.4.1-final - 2006-09-08\n------------------------\n\n* Shut down a noisy logging message to DEBUG level.\n [hannosch]\n\n* Converted logging infrastructure from zLOG usage to Python's logging module.\n [hannosch]\n\n* Avoid DeprecationWarning for manageAddDelete.\n [hannosch]\n\n* Spring-cleaning of tests infrastructure.\n [hannosch]\n\n1.4.0-beta1 - 2006-03-26\n------------------------\n\n* removed odd archetypes 1.3 style version checking\n [jensens]\n\n* Removed BBB code for CMFCorePermissions import location.\n [hannosch]\n\n* removed deprecation-warning for ToolInit\n [jensens]\n\n1.3.9-final02 - 2006-01-15\n--------------------------\n\n* nothing - the odd version checking needs a version change to stick to\n Archetypes version.\n [yenzenz]\n\n1.3.9-RC1 - 2005-12-29\n----------------------\n\n* Fixed [ 1293684 ], unregistered Transforms are not unmaped,\n Transformation was deleted from portal_transforms, but remained\n active.\n http://sourceforge.net/tracker/index.php?func-detail&aid-1293684&group_id-75272&atid-543430\n Added a cleanup that unmaps deleted transforms on reinstall\n [csenger]\n\n* Replaced the safe_html transformation with a configurable version\n with the same functionality. Migration is handled on reinstall.\n http://trac.plone.org/plone/ticket/4538\n [csenger] [dreamcatcher]\n\n* Removed CoUnInitialize call. According to Mark Hammond: The\n right thing to do is call that function, although almost no one\n does (including pywin32 itself, which does CoInitialize the main\n thread) and I've never heard of problem caused by this\n omission.\n [sidnei]\n\n* Fix a long outstanding issue with improper COM thread model\n initialization. Initialize COM for multi-threading, ignoring any\n errors when someone else has already initialized differently.\n https://trac.plone.org/plone/ticket/4712\n [sidnei]\n\n* Correct some wrong security settings.\n [hannosch]\n\n* Fixed the requirements look-up from the policy\n (#1358085)\n\n\n1.3.8-final02 - 2005-10-11\n--------------------------\n\n* nothing - the odd version checking needs a version change to stick to\n Archetypes version.\n [yenzenz]\n\n1.3.7-final01 - 2005-08-30\n--------------------------\n\n* nothing - the odd version checking needs a version change to stick to\n Archetypes version.\n [yenzenz]\n\n1.3.6-final02 - 2005-08-07\n--------------------------\n\n* nothing - the odd version checking needs a version change to stick to\n Archetypes version.\n [yenzenz]\n\n1.3.6-final - 2005-08-01\n------------------------\n\n* Added q to the list of valid and safe html tags by limi's request.\n Wrote test for safe_html parsing.\n [hannosch]\n\n* Added ins and del to the list of valid and safe html tags.\n [ 1199917 ] XHTML DEL tag is removed during the safe_html conversion\n [tiran]\n\n1.3.5-final02 - 2005-07-17\n--------------------------\n\n* changed version to stick to appropriate Archetypes Version.\n [yenzenz]\n\n1.3.5-final - 2005-07-06\n------------------------\n\n* pdf_to_html can show images now. Revert it to command transformer and\n make it work under windows.\n [panjunyong]\n\n* refined command based unsafe transform to make it work with windows.\n [panjunyong]\n\n* Disabled office_uno by default because it doesn't support multithread yet\n [panjunyong]\n\n* Rewrote office_uno to make it work for the recent PyUNO.\n [panjunyong]\n\n1.3.4-final01 - 2005-05-20\n--------------------------\n\n* nothing (I hate to write this. But the odd version checking needs it).\n [yenzenz]\n\n1.3.4-rc1 - 2005-03-25\n----------------------\n\n* Better error handling for safe html transformation\n [tiran]\n\n1.3.3-final - 2005-03-05\n------------------------\n\n* Updated link to rtf converter to http://freshmeat.net/projects/rtfconverter/\n [tiran]\n\n* Small fix for the com office converter. COM could crash if word is\n invisible. Also a pop up might appeare when quitting word.\n [gogo]\n\n* Fixed [ 1053846 ] Charset problem with wvware word_to_html conversion\n [flacoste]\n\n* Fixed python and test pre transforms to use html quote special characters.\n Thx to stain. [ 1091670 ] Python source code does not escape HTML.\n [tiran]\n\n* Fixed [ 1121812 ] fix PortalTransforms unregisterTransformation()\n unregisterTransformation() misses to remove from the zodb the persistence\n wrapper added to the transformation\n [dan_t]\n\n* Fixed [ 1118739 ] popentransform does not work on windows\n [duncanb]\n\n* Fixed [ 1122175 ] extra indnt syntax error in office_uno.py\n [ryuuguu]\n\n* fixed bug with some transformers' temp filename: it tried to use original\n filename which is encoded in utf8 and may constrain invalid charset for my\n Windows server. Just use filename as: unknown.suffix\n [panjunyong]\n\n* STX header level is set to 2 instead of using zope.conf. Limi forced me to\n change it.\n [tiran]\n\n* fixed bug: word_to_html uses office_com under windows\n\n1.3.2-5 - 2004-10-17\n--------------------\n\n* Fixed [ 1041637 ] RichWidget: STX level should be set to 3 instead 1. The\n structured text transform is now using the zope.conf option or has an\n optional level parameter in the convert method.\n [tiran]\n\n* Added win32api.GetShortPathName to libtransforms/commandtransform\n so binaries found in directories which have spaces in their names\n will work as expected\n [runyaga]\n\n1.3.2-4 - 2004-09-30\n--------------------\n\n* nothing changed\n\n1.3.2-3 - 2004-09-25\n--------------------\n\n* Fixed more unit tests\n [tiran]\n\n1.3.2-2 - 2004-09-17\n--------------------\n\n* Fixed [ 1025066 ] Serious persistency bug\n [dmaurer]\n\n* Fixed some unit tests failures. Some unit tests did fail because the reST\n and STX output has changed slightly.\n [tiran]\n\n* Don't include the first three lines of the lynx output which are url,\n title and a blank line. This fixed also a unit test because the url\n which was a file in the fs did change every time.\n [tiran]\n\n* Fixed a bug in make_unpersistent. It seemed that this method touched values\n inside the mapping.\n [dreamcatcher]\n\n1.3.2-1 - 2004-09-04\n--------------------\n\n* Disabled filters that were introduced in 1.3.1-1. The currently used\n transform path algo is broken took too long to find a path.\n [tiran]\n\n* Cleaned up major parts of PT by removing the python only implementation which\n was broken anyway\n\n* Fixed [ 1019632 ] current svn bundle (rev 2942) broken\n\n1.3.1-1 - 2004-08-16\n--------------------\n\n* Introduce the concept of filters (one-hop transforms where the source and\n destination are the same mimetype).\n [dreamcatcher]\n\n* Add a html filter to extract the content of the body tag (so we don't get a\n double <body> when uploading full html files).\n [dreamcatcher]\n\n* Change base class for Transform to SimpleItem which is equivalent to the\n previous base classes and provides a nice __repr__.\n [dreamcatcher]\n\n* Lower log levels.\n [dreamcatcher]\n\n* cache.py: Added purgeCache, fixed has cache test.\n [tiran]\n\n* Fixed non critical typo in error message\n [tiran]\n\n1.3.0-3 - 2004-08-06\n--------------------\n\n* Added context to the convert, convertTo and __call__ methods. The context is\n the object on which the transform was called.\n [tiran]\n\n* Added isCacheable flag and setCacheable to idatastream (data.py). Now you can\n disable the caching of the result of a transformation.\n [tiran]\n\n* Added __setstate__ to load new transformations from the file system.\n [tiran]\n\n* Fixed [ 1002014 ] Add policy screen doesn't accept single entry\n [tiran]\n\n1.3.0-2 - 2004-07-29\n--------------------\n\n* Added workaround for [ 997998 ] PT breaks ZMI/Find [tiran]\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "MIME based content transformations",
"version": "4.1.0",
"project_urls": {
"Homepage": "https://pypi.org/project/Products.PortalTransforms"
},
"split_keywords": [
"zope",
"plone",
"transform"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4b0698b0b976a5e4136acaba82fc893bb94a4fe828a6077c8c90269495099259",
"md5": "28e16f62782aa1b3412d8d34350bd086",
"sha256": "1f504f5cf9381ea8dea60be10e78408eac9bb2ee045136da1956b650c61644b7"
},
"downloads": -1,
"filename": "Products.PortalTransforms-4.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "28e16f62782aa1b3412d8d34350bd086",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 220470,
"upload_time": "2024-08-09T21:10:10",
"upload_time_iso_8601": "2024-08-09T21:10:10.589105Z",
"url": "https://files.pythonhosted.org/packages/4b/06/98b0b976a5e4136acaba82fc893bb94a4fe828a6077c8c90269495099259/Products.PortalTransforms-4.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec984bf21f004aee6eb2374fa8d10819d7e1a74ece7d225f3339e9787e1670f8",
"md5": "b978aa8bf692ca1669e87ad4e32cd4a3",
"sha256": "b37e7b7396670a3b1b5bef01068829a146ad8539b9984a218d11f80d8fb136fb"
},
"downloads": -1,
"filename": "products_portaltransforms-4.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b978aa8bf692ca1669e87ad4e32cd4a3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 204332,
"upload_time": "2024-08-09T21:10:13",
"upload_time_iso_8601": "2024-08-09T21:10:13.710392Z",
"url": "https://files.pythonhosted.org/packages/ec/98/4bf21f004aee6eb2374fa8d10819d7e1a74ece7d225f3339e9787e1670f8/products_portaltransforms-4.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-09 21:10:13",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "products.portaltransforms"
}