Changelog:
0.10.0 - 0.10.1
- Fix crash when NULL is passed as input stream.
- Use symbol visibility on Linux. The library only exports public functions
now.
- Avoid infinite loop. (libwpd#3)
- Remove bashism. (libwpd#5)
- Fix various crashes and hangs when reading broken files found with the
help of american-fuzzy-lop.
- Make --help output of all command line tools more help2man-friendly.
- Miscellaneous fixes and cleanups.
Problems found with existing distfile:
distfiles/libiconv-1.13-cp932.patch.gz
No changes made to the libiconv distinfo file.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
may alter the compiler selection.
In this particular case, librevenge depends on boost-libs, which will
set GCC_REQD and possibly select a GCC dependency, so long as the compiler
hasn't been forcibly pre-selected by including compiler.mk too early.
Fixes build of libwpd on platforms with a native GCC older than what
boost-libs calls for.
maintainership (all this okayed by the old maintainer, Jeremy C. Reed).
Changes from 0.9.2 include (apart from various bugfixes):
- WPX_SEEK_END for WPXMemoryInputStream (Laurent Alonso)
- Metadata for wpd2html (David Hislop)
- Change source code layout so that public headers be in inc/ and its
subdirectories
- libwpd.h and libwpd-stream.h are not generated headers anymore
- Change the way we get version from libwpd build
- Improvements to WPXOLEStream class
- Added MPL2+ to the licenses libwpd is released under
- Revert an accidental ABI change in WPXPropertyList
- Link the Windows static libraries with DLL runtimes
- libwpd-stream: Add experimental support for ZIP storages
- libwpd-stream: Add WPX_SEEK_END to the WPXSeekType enum
(Be sure that you are at offset 0 using it and check return value
in order to be compatible with lower versions of libwpd)
- New Visual Studio 2008 and Visual Studio 2010 build files
- Don't output points as integer. This solves some rounding issues along
with possibility of writing 10.5 point font size (Fridrich)
- General improvement of code quality by buiding with -Weffc++ option (Fridrich)
- Improvement of textbox code (Laurent Alonso)
- Improvement of arabic charset mapping (Smokey Ardisson)
- Build system rewrite and improvement (Tomas Chvatal)
- Cleanup of return values (Thomas Klausner)
- Conversion of extended characters in WP 42 parser (Fridrich)
0.9.1 - 0.9.2
- Fix build with gcc 4.6.x (Caolan McNamara)
- Handle graciously corrupted WP6 prefix data (Fridrich)
- Initial conversion of Mac double byte script characters (Fridrich)
- Internally use UCS4 instead of UCS2 (Fridrich)
- Add Arabic character conversion for WP5 parser (Fridrich)
- Allow conversion of one WP character to a sequence of unicode
characters (Fridrich)
- Miscellaneous conversion fixes (Edward Mendelson, Fridrich)
* Parse correctly WP 2 for Mac documents without resource fork
* Improvements in parsing of pictures in WP1 parser
* Fix wrong sizes of some functions in WP1 and WP42 parsers
* Fix handling of character attributes
CHANGES:
0.8.x - 0.9.0
- Conversion of page-numbering (William)
- Conversion of embedded images and text boxes in WP1, WP3, WP5 and WP6 documents
(Fridrich)
- Conversion of password protected WP1, WP3, WP42 and WP5 documents (Fridrich)
- Conversion of annotations/comments in WP6 parser (Fridrich)
- Fix some greek characters so that Text written in WP5.1 with Printer Polyglott
convert correct.
- Fix unicode mappings of some older Symbol and Dingbats fonts (Fridrich)
- Drop the libgsf dependency in favour of pure C++ implementation of the WPXInputStream
interface (Fridrich, Ariya)
- Fix the footnote/endnote/comment/annotation/textbox writing in wpd2html converter
- Improve metadata parsing (David Hislop)
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
0.8.13 - 0.8.14
- Fix some warnings due to unused variables
- Fix a warning due to a name hiding.
- Fix two loops with corrupted documents (Thank you, sum1!)
0.8.12 - 0.8.13
- Implement readahead in the WPXStreamImplementation class (Jan Holesovsky, Fridrich)
- Fix some memory issues properly (each class deletes what it allocated) (Fridrich)
- Work around an issue with relative seeks backward and certain versions of libstdc++
in the buffered stream implementation (Fridrich, sum1)
- Fix a problem of conversion of some page breaks due to an unreachable block in the
code (Fridrich)
- Fix a crasher in a rare case of a footnote/endnote being defined in a table and the
footnote/endnote having itself a table (Fridrich).
- Fix some null pointer crashes with corrupted documents in table code and in cases where
there is no prefix ID present (sum1, Fridrich).
- Fix a out of bounds array in parsing WP5 extended characters with broken documents
(sum1).
- Remove some abuse of pointers (Fridrich).
- In "wpd2raw --callback", return "-1" if no one callback was called (Fridrich).
- Fix some issues with incorrect indents in some rear cases (Fridrich).
- Fix some signedness problems (Fridrich).
0.8.11 - 0.8.12
- Enable building of statically linked tools even when a shared library is built,
useful for scripting the creation of win32 release packages (Robert Staudinger,
Fridrich Strba)
- Package also the tools automatically for win32 (Fridrich)
- Do not build doxygen documentation on win32 unless explicitely asked for it (Fridrich)
- Convert Tab Set function for WP5 parser (Fridrich)
- Basic conversion of tabulators and indents in WP3 parser (Smokey Ardisson, Fridrich)
- Basic conversion of tabulators and indents in WP5 parser (Fridrich)
- Convert the most usual Macintosh fonts from fontId to font name in WP1 parser
(Hubert Figuiere, Fridrich)
- Fix compilation with the upcoming gcc 4.3 (Rene Engelhard, Fridrich)
0.8.10 - 0.8.11
- Fix incorrect conversion of tables with cells spanning more then 127 rows due to
incorrect information in the file-format (Fridrich)
- Fix incorrect reading of font name information in prefix packets (Fridrich)
- Fixing http://bugzilla.abisource.com bug #10957: Bad -L flags in Makefile.am break
compiling if different libwpd version is already installed (Daniel Mack)
- Fixing http://bugzilla.abisource.com bug #10958: Risky -I ordering (Daniel Mack)
- Making a proper release win32 (MinGW) binaries crosscompilation on Linux possible and
smooth (Fridrich)
0.8.9 - 0.8.10
- Fix a locale dependency in our float to string conversion (Fridrich)
- Enhance our reading of document meta data for WP6 (David Hislop)
- Fix some sillies and be gracious with documents with corrupted prefix packets (Fridrich)
- Prevent the heuristic typedetection from throwing (Fridrich)
- Add a new stream implementation based on C++ streams, rendering libgsf dependency
very optional; deprecate GSFInputStream (Fridrich)
- Allow building of wpd2foo tools by Micro$oft Visual studio (David Hislop, Fridrich)
CHANGES:
0.8.8 - 0.8.9
- Fix http://qa.openoffice.org/issues/show_bug.cgi?id=74134, a bug in WP1 document
type detection where we could try to seek to a negative place in document (Fridrich)
- Fix a regression wrt. 0.8.7 preventing the conversion of tab table in
WP1 and WP3 file-format (Fridrich)
- Fixed several overflow bugs reported by iDefense. An attacker could create a
carefully crafted Word Perfect file that could cause an application linked with
libwpd, such as OpenOffice, to crash or possibly execute arbitrary code if the
file was opened by a victim. (CVE-2007-0002) (iDefense's Sean Larsson, Fridrich)
0.8.7 - 0.8.8
- Add unit tests for the stream class (Fridrich & Andrew Ziem)
- Ignore foot/endnotes that are referenced inside other foot/endnotes (Fridrich);
fixes http://www.openoffice.org/issues/show_bug.cgi?id=71487
- Handle graciously unsupported password-protected documents; (Fridrich)
fixes http://www.openoffice.org/issues/show_bug.cgi?id=72307
- Remove warnings on main OpenOffice.org platforms (Fridrich)
- Remove some potential memory leaks in the WPXPropertyList class and optimize
the WPXPropertyList subscription operator (Fridrich)
- When possible, pass WPXStrings by reference instead of passing them by copy
(Fridrich)
- Refactor WPXString to not cast from and to void*; refactor WPXPropertyList and
WPXPropertyListVector classes as to save a bunch of virtual calls (Fridrich)
CHANGES:
0.8.6 - 0.8.7
- Revert the alignment fix, in order to mimick the way WP for Mac renders
the documents (Fridrich)
- Support for WP Mac 1.x documents (Fridrich)
- Fix memory leak in standalone converters (Andrew Ziem)
- Miscellaneous code cleanups (Fridrich)
0.8.5 -> 0.8.6
- Initial support of WP Mac 2.x documents (Fridrich)
- Fix an alignment bug where alignment was propagated from multicolumn
sections into following single column sections (Fridrich)
- Initial conversion of headers/footers in WP42 parser (Fridrich)
- Fix some parser errors in WP42 parser; now we seek to the right place
and parse correctly all functions (Fridrich)
- Fixed crash in wpd2foo if invoked with non-existing filename (Jody Goldberg)
- Assure that the table we send to the listener implementation is a valid
table independent of how messy the table is in the WP document (Fridrich)
- Fix situations where there is no tab position information in WPUs inside
the tabulator function; the fallback works now even if the position is 0
like in WP6 for DOS documents.
- Try not to crash under any circumstance by sanitizing the code and throwing
exception in illogical, but in WP documents very real, situations (sum1,
Fridrich)
- Make every implementation of WPXInputStream that we use return !0 if a seek
fails; be more paranoiac with the result of read functions (sum1, Fridrich)
- Ignore corrupted prefix packets in WP5 documents (Fridrich)
- Try to convert as much information as possible even in corrupted WP3, WP5 and
WP6 documents (Fridrich) - Libwpd now converts many documents that make crash
WordPerfect itself.
- Fine-tune the WP42 document detection. Detect as many WP42 files as possible
while still discarding plain text documents (Fridrich, Marc)
- Let the WP6 parser not die if the prefix packet it refers to is corrupted or
absent (Fridrich)
- Fix hangs while parsing a corrupted WP6ExtendedDocumentSummaryPacket (sum1,
Fridrich)
- General improvement of libwpd's conversion-success-rate and extensive QA with
more than 46'000 real life documents (Mr. SUM1)
0.8.4 -> 0.8.5
- Conversion of font face, size and colour in WP5 parser, including the
default font information (Fridrich)
- Conversion of foot/endnotes in WP5.x format (Fridrich)
- Conversion of headers/footers in WP3 and WP5 parsers (Fridrich)
- Prevent negative paragraph margins due to page margin change.
Removes the ugly text-border lines running across the text in
OpenOffice.org (Fridrich)
- Make page margins constant between two hard page breaks (Fridrich)
- Convert page margin changes into section margins in multi-column sections
- Move absolute position values in multicolumn sections from whatever column
they are in into the first one. Fixes the off-page position of the second
table in 05mechanicalservice.wpd (Fridrich)
- Defer page span change to the end of the current paragraph if it is
opened in order to prevent a paragraph break where it is not there in the
original document (Fridrich)
- Fix http://bugzilla.abisource.com/show_bug.cgi?id=10105, an incorrect
conversion of table alignment in WP3.x file format (Fridrich)
- Fix small issue with incorrect number of pages in page-spans (Fridrich)
- Fix an issue with "==" operator for WPXPageSpan classes. The result is now
the same independent on the order of the operands (Fridrich)
- Fix http://bugzilla.abisource.com/show_bug.cgi?id=10279, a crash if a table
from the middle of the tableList is in footnote and/or endnote (Marc, Fridrich)
- Add an option "--info" to wpd2text; called with this option, wpd2text dumps the
information of the document instead of converting it. This could be useful for
beagle (Fridrich)
- Refactoring of the listener structure and split of WPXListener into WPXContentListener
and WPXStylesListener (Fridrich, Marc and Cyrille Moureaux as a guest star)
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
- Fix compilation with gcc >= 4.1.0
- Initial support for tables in WP5.x format
- Fix compilation on MacOSX
- Conversion of font name, size and colour for WP3.x format
- Collapse the LL and HL Listeners into one classe each
- Initial support of tables in WP3.x format including the cell background
colour
- Conversion of sections with multiple columns in WP3.x format
- Conversion of foot/endnotes in WP3.x format
- Adding an assignment operator to WPXString class as well as trying
to make it much more a std::string wrapper
From Jeremy Reed in pkgsrc-wip, updated to 0.8.1 by me.
libwpd is a library for reading and writing WordPerfect(tm)
documents.
This package also includes utilities for converting to HTML
and plain text.