Prefer py-Pillow over py-imaging (if not installed) permitting better
performance, successful test results and at the same time remove the
python-3 incompatibility.
CHANGES
=======
This is a summary of changes made to the reportlab source code for each release.
Please refer to subversion backlogs (using the release dates) for more details
or for releases which we have not provide a higher level changes list for.
E.g. to retrieve the changes made between release 3.1 and release 3.2, type::
$ hg log -r adb3f0d
The contributors lists are in no order and apologies to those accidentally not
mentioned. If we missed you, please let us know!
RELEASE 3.3 17/02/2016
-----------------------
* Canvas & Doctemplate now allow specification of the initial font Name, Size & Leading. Prevously you had to mess with rl_settings to accomplish this.
* Canvas & Doctemplate now support specification of the crop/art/trim/bleed boxes.
* Add option to auto generate missing TTF font names. Handy for CJKers with home produced fonts. Also attempt to prevent usage of multiple TTFs with same name.
* Paragraph styles now have justifyBreaks to control justification of lines broken with <br/>.
* Paragraph styles now have justifyLastLine=n to control justification of last lines with more than n words (0 means do not).
* Added EAN-5 and ISBN barcode widgets (contribution by Edward Greve).
* Bug fix of QrCodeWidget (prompted by https://bitbucket.org/fubu/).
* Frames now have support for automatic flowables at the top of frame. story support via the class reportlab.platypus.flowables.SetTopFlowables.
* Added support for Trapped and ModDate PDF info dictionary keys.
* Bug fix for pie charts with no data (raised by Michael Spector).
* New barcodes BarcodeCode128Auto & BarcodeECC200DataMatrix (contributed by Kyle MacFarlane).
* Improved LinePlot marker handling.
* PyPy improvements inspired by Marius Gedminas.
* Bug fix in reportlab.lib.utils.simpleSplit (reported by Chris Buergi <cb@enerweb.ch>).
* Unwanted escaping in renderSVG fixed (reported by Ruby Yocum).
* Bug fix in _rl_accel.c (remove excess state and fix refcount breakage reported by Mark De Wit <mark.dewit@iesve.com>).
* Code128 barcode length optimization inspired by Klaas Feenstra.
* Paragraph <sup>/<super> & <sub> tags now support rise & size attributes to allow special control over position & font size.
* Splitting tables now remove unwanted styles in the first part of the split (reported by Lele Gaifax).
* test changes inspired by https://bitbucket.org/stoneleaf
* ReportLab now runs all tests under Python 2.7, 3.3, 3.4 & 3.5.
### Contributors:
* Edward Greve
* https://bitbucket.org/fubu/
* Michael Spector
* Kyle MacFarlane
* Marius Gedminas
* Chris Buergi
* Ruby Yocum
* Mark de Wit
* Klaas Feenstra
* Lele Gaifax
* https://bitbucket.org/stoneleaf
RELEASE 3.2 01/06/2015
-----------------------
* Added proportional underlining specific to font sizes, set via the `underlineProportion` attribute of ParagraphStyles.
* TrueType fonts: added support for cmaps 10 & 13
* DocTemplate class now supports a boolean `displayDocTitle` argument.
* TableofContents now supports a formatter argument to allow formatting of the displayed page numbers (eg for appendices etc).
* Table `repeatRows` can now be a tuple of row numbers to allow incomplete ranges of rows to be repeated.
* Tables now do pass instance.`spaceBefore` & `spaceAfter` to their split children when split
* Several strangenesses were fixed in the pdfbase.pdfform module; Multiple usage is now allowed.
* Error message fixes
* Various environment fixes for Google Application Environment
* Resource fixes
* PDFDoc can now set the `Lang` attribute
* canvas.drawString and similar now allow the character spacing to be set
* Index of accented stuff has been improved
* RTL code was improved
* fix Propertyset.clone
* `flowables.py`: fix ImageAndFlowables so it avoids testing negative availableWidth
### Contributors:
* Steven Jacobs
* Philip Semanchuk
* Marius Gedminas
* masklinn
* Kale Franz
* Albertas Agejavas
• Anders Hammarquist
* jvanzuela @ bitbucket
* Glen Lindermann
* Greg Jones
* James Bynd
* fcoelho @ bitbucket
RELEASE 3.1 22/04/2014
-----------------------
If you are running ReportLab 3.0.x, the changes are minor.
* support for emoji - characters outside the Unicode basic multilingual plane
* improved pip-based installers will pull in all the needed dependencies; Pillow 2.4 appears to deal with all our issues.
### Contributors
* Ivan Tchomgue
* Waldemar Osuch
* masayuku
* alexandrel_sgi
RELEASE 3.0 14/02/2014
-----------------------
ReportLab 3.0 now supports Python 2.7, 3.3 and higher.
There has been a substantial internal rewrite to ensure consistent use of unicode strings for
natural-language text, and of bytes for all file format internals. The intent
is to make as few API changes as possible so that there should be little or no
impact on users and their applications. Changes are too numerous but can be
seen on Bitbucket.
### Python 3.x compatibility
* Python 3.x compatibility. A single line of code should run on 2.7 and 3.3
* __init__.py restricts to 2.7 or >=3.3
* __init__.py allow the import of on optional reportlab.local_rl_mods to allow monkey patching etc.
* rl_config now imports rl_settings & optionally local_rl_settings
* ReportLab C extensions now live inside reportlab; _rl_accel is no longer required; All _rl_accel imports now
pass through reportlab.lib.rl_accel
* xmllib is gone, alongside the paraparser stuff that caused issues in favour of HTMLParser.
* some obsolete C extensions (sgmlop and pyHnj) are gone
* Improved support for multi-threaded systems to the _rl_accel extension module.
* Removed reportlab/lib/ para.py & pycanvas.py; these would better belong in third party packages,
which can make use of the monkeypatching feature above.
### New features
* Add ability to output greyscale and 1-bit PIL images without conversion to RGB. (contributed by Matthew Duggan)
* highlight annotation (contributed by Ben Echols)
### Other
* numerous very minor fixes, visible through BitBucket.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
2.7:
This release, 2.7, will be the last major one to support Python
2.5, 2.6, and 2.7. It contains a small number of fixes and additions
since our last release in September 2012. You may think of it as
a 'long term stable' branch - if key bugs emerge we will issue
2.7.1, 2.7.2 releases and so on.
Charts / graphics
Added SimpleTimeSeriesPlot
added _computeMaxSpace
added in lineStyle (for bars)
improved SVG rendering
Pie Chart now has an 'innerRadiusFraction' to allow doughnut-like
appearance for 2d charts (it has no effect with 3d charts).
The separate 'doughnut' chart lacks many pie chart features
and should only be used if you wanted multiple nested doughnuts.
Bug fixes:
piecharts.py: fix Pie3d __init__ to call its superclass
linecharts.py: fix swatch creation
fixed y axis in the simple time series plot
PDF
Fixes to testshapes & pdfform resetting
colors.py
various minor fixes
Platypus
Defined a small bullet rather than a big circle as the default
for unordered lists
fixed attribute spelling bug
fixed CJK + endDots
#################################################################################
#################### RELEASE 2.6 27/09/2012 #################
#################################################################################
This is a minor release focusing mainly on improved documentation. There are a
number of minor enhancements, and a larger number of previous-undocumented
enhancements which we have documented better.
###General changes
* Manuals have been reformatted with more pleasing code snippets and tables of
contents, and reviewed and expanded
###Flowing documents (Platypus):
* Added support for HTML-style list objects
* Added flexible mechanism for drawing bullets
* Allowed XPreformatted objects to use Asian line wrapping
* Added an 'autoNextPageTemplate' attribute to PageTemplates. For example you
can now set up a 'chapter first page template' which will always be followed
by a 'continuation template' on the next page break, saving the programmer from
having to issue control flow commands in the story.
* added a TopPadder flowable, which will 'wrap' another Flowable and move it
to the bottom of the current page.
* More helpful error messages when large tables cannot be rendered
* Documentation for images within text (test_032_images)
* Trailing dots for use on contents pages
###Charts and graphics:
* Support for UPCA bar codes
* We now have a semi-intelligent system for labelling pie charts with
callout lines. Thanks to James Martin-Collar, a maths student at Warwick
University, who did this as his summer internship.
* Axes - added startOffset and endOffset properties; allowed for axis
background annotations.
* Bar charts - allow more control of z Index (i.e. drawing order of axes and
lines)
* Pie charts - fixed bugs in 3d appearance
* SVG output back end has seen some bugs fixed and now outputs resizeable SVG
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
* No need to buildlink with obsolated py-xml, add py-expat to DEPENDS instead.
* add test target for self-tests.
* distutils pkg, switch to use python/distutils.mk
Bump PKGREVISION.
* Support for colour separated PDF output and other optimisations and
features for high-quality printing, including enforcement of colour
models for CMYK, RGB, and "spot colours"
* Long table optimisations are now turned on by default. Previously,
documents with very long tables spanning many pages could take a long
time to create because we considered the whole table to work out row
and column sizes. A patch was submitted some time ago to fix this
controlled by a flag in the rl_config file, but this was set 'off'
for compatibility. Users are often not aware of this and we haven't
found any real-world cases where the new layout technique works badly,
so we are turning this behaviour on.
* New support for QR barcodes.
on some platforms that lacked shared library support in the past. The
list hasn't been maintained at all and the gain is very limited, so just
get rid of it.
Major changes include full Unicode supoprt, better support for Asian
languages, support for JPEG CMYK images, links in Platypus, better
wrapping, barcode support, better support for legends of graphics and
many more.
Addtional changes in pkgsrc include the merge of py-reportlab-renderPM
package and use of external libart.
changes:
-can run out of a Python 2.3 zip archive
-some fixes and feature additions
[pkgsrc] this distfile doesn't trigger the pax-as-tar bug, so remove
the build dependency on GNU tar
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
changes:
Fixes from Max Neunhöffer (pyRXP) and peter Borocz (pdfmetrics).<br/>
ReportLab graphics now has some 3D charts.<br/>
Improved support for True Type Fonts in renderPM.<br/>
Added Henning von Bargen's LongTables optimisation.<br/>
Added Marc Stober's underline fixes.<br/>
Restored/improved platypus layout error detection.<br/>
New platypus FlexFigure flowable.<br/>
ReportLab is mostly jython compatible without Python 2.3 problems. <br/>
Pythonpoint improvements.<br/>
Many bugfixes.
on other Python extensions to propagate the Python version properly,
it is necessary to include "python/extension.mk" before the extensions'
"buildlink2.mk" files.
Main changes since ReportLab 1.16:
- Pythonpoint improvements contributed by Turgut Uyar & Tim Roberts.
- Para.py fix from doug@pennatus.com.
- Pdfgen image fixes.
- Spiderchart from Andy Robinson.
- Better distutils support with Dirk Datzert's assistance.
- Improvements for Asian fonts in paragraphs.
- Added _rl_accel._Ascii85Decode.
- Graphics and other bug fixes.
- Bug & leak fixes.
- improvements to pyRXP which can now be used in 16bit mode.
- Tables now can have row and column spanning.
- renderPM can now do PICT images.
- More charts and improvements to existing graphics classes.