libunistring provides a library that implements Unicode strings (in
three flavours: UTF-8 strings, UTF-16 strings, UTF-32 strings),
together with functions for Unicode charactets (character names,
classifications, properties) and functions for string processing
(formatted output, width, word breaks, line breaks, normalization,
case folding, regular expressions).
per maintainer's update request by PR 45971.
2011-05-14 4.18
Fixed bug in uni2ascii in which in certain cases the subsitution
count was too high, fixing Debian bug #626268.
Patched to handle situation in NetBSD which lacks getline.
Clarified semantics of pure option as converting characters
in ascii range other than space and newline.
Fixed bug in which this was not implemented correctly for UTF8 types.
2011-02-16 4.17
Added to uni2ascii the following conversions to nearest ascii equivalent:
U+2022 bullet to 'o'
U+00B7 middle dot to period
U+0085 next line to newline
U+2028 line separator to newline
2010-12-12 4.16
Ascii2uni Q format now works again.
Added U+2033 to characters converted to nearest ascii equivalent by uni2ascii B option.
2010-08-29 4.15
Renamed endian.h u2a_endian.h to avoid conflict with external endian.h.
Removed getline() from ascii2uni.c since it is standard as of POSIX2008.
Why the "configure" script insists on being invoked with the argument
"--disable-Bsymbolic" after it has correctly detected that the linker
doesn't support this option is a mystery to me. You would think that the
whole purpose of the test is to disable this option if it doesn't work.
2.3.2 (2011-11-11)
==================
Features added
--------------
* ``lxml.objectify.deannotate()`` has a new boolean option
``cleanup_namespaces`` to remove the objectify namespace
declarations (and generally clean up the namespace declarations)
after removing the type annotations.
* ``lxml.objectify`` gained its own ``SubElement()`` function as a
copy of ``etree.SubElement`` to avoid an otherwise redundant import
of ``lxml.etree`` on the user side.
Bugs fixed
----------
* Fixed the "descendant" bug in cssselect a second time (after a first
fix in lxml 2.3.1). The previous change resulted in a serious
performance regression for the XPath based evaluation of the
translated expression. Note that this breaks the usage of some of
the generated XPath expressions as XSLT location paths that
previously worked in 2.3.1.
* Fixed parsing of some selectors in cssselect. Whitespace after combinators
">", "+" and "~" is now correctly ignored. Previously is was parsed as
a descendant combinator. For example, "div> .foo" was parsed the same as
"div>* .foo" instead of "div>.foo".
Other changes
--------------
2.3.1 (2011-09-25)
==================
Features added
--------------
* New option ``kill_tags`` in ``lxml.html.clean`` to remove specific
tags and their content (i.e. their whole subtree).
* ``pi.get()`` and ``pi.attrib`` on processing instructions to parse
pseudo-attributes from the text content of processing instructions.
* ``lxml.get_include()`` returns a list of include paths that can be
used to compile external C code against lxml.etree. This is
specifically required for statically linked lxml builds when code
needs to compile against the exact same header file versions as lxml
itself.
* ``Resolver.resolve_file()`` takes an additional option
``close_file`` that configures if the file(-like) object will be
closed after reading or not. By default, the file will be closed,
as the user is not expected to keep a reference to it.
Bugs fixed
----------
* HTML cleaning didn't remove 'data:' links.
* The html5lib parser integration now uses the 'official'
implementation in html5lib itself, which makes it work with newer
releases of the library.
* In ``lxml.sax``, ``endElementNS()`` could incorrectly reject a plain
tag name when the corresponding start event inferred the same plain
tag name to be in the default namespace.
* When an open file-like object is passed into ``parse()`` or
``iterparse()``, the parser will no longer close it after use. This
reverts a change in lxml 2.3 where all files would be closed. It is
the users responsibility to properly close the file(-like) object,
also in error cases.
* Assertion error in lxml.html.cleaner when discarding top-level elements.
* In lxml.cssselect, use the xpath 'A//B' (short for
'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for
the css descendant selector ('A B'). This makes a few edge cases
like ``"div *:last-child"`` consistent with the selector behavior in
WebKit and Firefox, and makes more css expressions valid location
paths (for use in xsl:template match).
* In lxml.html, non-selected ``<option>`` tags no longer show up in the
collected form values.
* Adding/removing ``<option>`` values to/from a multiple select form
field properly selects them and unselects them.
Other changes
--------------
* Static builds can specify the download directory with the
``--download-dir`` option.
2.3 (2011-02-06)
================
Features added
--------------
* When looking for children, ``lxml.objectify`` takes '{}tag' as
meaning an empty namespace, as opposed to the parent namespace.
Bugs fixed
----------
* When finished reading from a file-like object, the parser
immediately calls its ``.close()`` method.
* When finished parsing, ``iterparse()`` immediately closes the input
file.
* Work-around for libxml2 bug that can leave the HTML parser in a
non-functional state after parsing a severly broken document (fixed
in libxml2 2.7.8).
* ``marque`` tag in HTML cleanup code is correctly named ``marquee``.
Other changes
--------------
* Some public functions in the Cython-level C-API have more explicit
return types.
2.3beta1 (2010-09-06)
=====================
Features added
--------------
Bugs fixed
----------
* Crash in newer libxml2 versions when moving elements between
documents that had attributes on replaced XInclude nodes.
* ``XMLID()`` function was missing the optional ``parser`` and
``base_url`` parameters.
* Searching for wildcard tags in ``iterparse()`` was broken in Py3.
* ``lxml.html.open_in_browser()`` didn't work in Python 3 due to the
use of os.tempnam. It now takes an optional 'encoding' parameter.
Other changes
--------------
2.3alpha2 (2010-07-24)
======================
Features added
--------------
Bugs fixed
----------
* Crash in XSLT when generating text-only result documents with a
stylesheet created in a different thread.
Other changes
--------------
* ``repr()`` of Element objects shows the hex ID with leading 0x
(following ElementTree 1.3).
2.3alpha1 (2010-06-19)
======================
Features added
--------------
* Keyword argument ``namespaces`` in ``lxml.cssselect.CSSSelector()``
to pass a prefix-to-namespace mapping for the selector.
* New function ``lxml.etree.register_namespace(prefix, uri)`` that
globally registers a namespace prefix for a namespace that newly
created Elements in that namespace will use automatically. Follows
ElementTree 1.3.
* Support 'unicode' string name as encoding parameter in
``tostring()``, following ElementTree 1.3.
* Support 'c14n' serialisation method in ``ElementTree.write()`` and
``tostring()``, following ElementTree 1.3.
* The ElementPath expression syntax (``el.find*()``) was extended to
match the upcoming ElementTree 1.3 that will ship in the standard
library of Python 3.2/2.7. This includes extended support for
predicates as well as namespace prefixes (as known from XPath).
* During regular XPath evaluation, various ESXLT functions are
available within their namespace when using libxslt 1.1.26 or later.
* Support passing a readily configured logger instance into
``PyErrorLog``, instead of a logger name.
* On serialisation, the new ``doctype`` parameter can be used to
override the DOCTYPE (internal subset) of the document.
* New parameter ``output_parent`` to ``XSLTExtension.apply_templates()``
to append the resulting content directly to an output element.
* ``XSLTExtension.process_children()`` to process the content of the
XSLT extension element itself.
* ISO-Schematron support based on the de-facto Schematron reference
'skeleton implementation'.
* XSLT objects now take XPath object as ``__call__`` stylesheet
parameters.
* Enable path caching in ElementPath (``el.find*()``) to avoid parsing
overhead.
* Setting the value of a namespaced attribute always uses a prefixed
namespace instead of the default namespace even if both declare the
same namespace URI. This avoids serialisation problems when an
attribute from a default namespace is set on an element from a
different namespace.
* XSLT extension elements: support for XSLT context nodes other than
elements: document root, comments, processing instructions.
* Support for strings (in addition to Elements) in node-sets returned
by extension functions.
* Forms that lack an ``action`` attribute default to the base URL of
the document on submit.
* XPath attribute result strings have an ``attrname`` property.
* Namespace URIs get validated against RFC 3986 at the API level
(required by the XML namespace specification).
* Target parsers show their target object in the ``.target`` property
(compatible with ElementTree).
Bugs fixed
----------
* API is hardened against invalid proxy instances to prevent crashes
due to incorrectly instantiated Element instances.
* Prevent crash when instantiating ``CommentBase`` and friends.
* Export ElementTree compatible XML parser class as
``XMLTreeBuilder``, as it is called in ET 1.2.
* ObjectifiedDataElements in lxml.objectify were not hashable. They
now use the hash value of the underlying Python value (string,
number, etc.) to which they compare equal.
* Parsing broken fragments in lxml.html could fail if the fragment
contained an orphaned closing '</div>' tag.
* Using XSLT extension elements around the root of the output document
crashed.
* ``lxml.cssselect`` did not distinguish between ``x[attr="val"]`` and
``x [attr="val"]`` (with a space). The latter now matches the
attribute independent of the element.
* Rewriting multiple links inside of HTML text content could end up
replacing unrelated content as replacements could impact the
reported position of subsequent matches. Modifications are now
simplified by letting the ``iterlinks()`` generator in ``lxml.html``
return links in reversed order if they appear inside the same text
node. Thus, replacements and link-internal modifications no longer
change the position of links reported afterwards.
* The ``.value`` attribute of ``textarea`` elements in lxml.html did
not represent the complete raw value (including child tags etc.). It
now serialises the complete content on read and replaces the
complete content by a string on write.
* Target parser didn't call ``.close()`` on the target object if
parsing failed. Now it is guaranteed that ``.close()`` will be
called after parsing, regardless of the outcome.
Other changes
-------------
* Official support for Python 3.1.2 and later.
* Static MS Windows builds can now download their dependencies
themselves.
* ``Element.attrib`` no longer uses a cyclic reference back to its
Element object. It therefore no longer requires the garbage
collector to clean up.
* Static builds include libiconv, in addition to libxml2 and libxslt.
2.2.8 (2010-09-02)
==================
Bugs fixed
----------
* Crash in newer libxml2 versions when moving elements between
documents that had attributes on replaced XInclude nodes.
* Import fix for urljoin in Python 3.1+.
2.2.7 (2010-07-24)
==================
Bugs fixed
----------
* Crash in XSLT when generating text-only result documents with a
stylesheet created in a different thread.
(while here, register egg-info).
0.6.4.1 (11.04.2009)
---------
* support writing to file-like objects
* add support for setting formula cell options
* add support for using color name strings to set the Font color
properties
* add support for setting default row height records
* add set_column, set_columns, and write_cols which are similar
to the perl counter parts and allow setting/writing to multiple columns
* allow page breaks to be intergers in the page break list
* add support for setting print area, and beginnings of other macros
and builtin functions
* allow None to be given to add_style to set default style
* Accepted patch for some bugs in the RK conversion routine from
John Machin
* add support for setting default results for formulas
* fix bug in lexer where symbols of more than one character are
not recognized
* Fix#1621199: typo causes DIMENSIONS record to have wrong number
of columns
* add support hyperlinks
* FIX#1618833: XFStyle defaults are now copies of the default properties.
While here,
* set LICENSE=public-domain
* no need to buildlink with obsolated py-xml, add py-expat to DEPENDS instead.
* distutils pkg, switch to use lang/python/distutils.mk.
from ANNOUNCE:
Gnosis Utils 1.2.2
This release contains a bugfix in xml.pickle for mx.DateTime.
Gnosis Utils 1.2.1
This release contains a minor bugfix in xml.pickle.
Gnosis Utils 1.2.0
This release of the Gnosis Utilities contains several new modules,
as well as fixes, enhancements, and speedups in existing
subpackages.
* Update HOMEPAGE.
Changelog:
* Version 1.1.0 - November 2011, by Martin von Gager
* Updated Czech, German, Spanish, Finnish, Dutch, Polish, Slovenian,
Swedish and Ukrainian translations.
* Fix several issue with the use of screen in the test suite.
* Allow WDIFF_PAGER to override PAGER environment variable.
* Do not autodetect less, so we don't auto-enable less-mode.
This should improve things for UTF8 text. (Savannah bug #34224)
Less-mode is considered deprecated, as it isn't fit for multi-byte
encodings. Nevertheless it can still be enabled on the command line.
* Version 1.0.2 - September 2011, by Martin von Gagern
* Unofficial beta release
* Introduces use of ngettext to allow correct handling of plural forms
Changes from previous:
----------------------
2010-10-10 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.4.0 released.
* scripts/pod2man: Remove the code to generate the #! line and
supporting code and instead rely on ExtUtils::MakeMaker to handle
that during package build.
* scripts/pod2text: Likewise.
* scripts/pod2man.PL: Renamed to pod2man.
* scripts/pod2text.PL: Renamed to pod2text.
* Makefile.PL: Remove PL_FILES section.
* pod/perlpodstyle.pod: New style guide for POD documentation,
split mostly from the NOTES section of the pod2man man page.
* scripts/pod2man.PL: Remove NOTES section, now maintained as the
separate perlpodstyle document.
* Makefile.PL: Add perlpodstyle.1 to the generated man pages.
* lib/Pod/Man.pm (cmd_para): Do not strip escaped trailing
whitespace, such as that created by S<> at the end of a line,
since the backslash is then taken by *roff as escaping the
newline. Thanks, Kevin Ryde.
* t/man.t: Test S<> at the end of lines.
* lib/Pod/Man.pm (output): If the utf8 option is given, encode
output in UTF-8 if there is no encoding layer. Now requires the
Encode module.
(start_document): Rather than forcibly change the PerlIO encoding
layer, probe the PerlIO layers with protection for Perl versions
without PerlIO and set a flag indicating whether to encode on the
fly on output.
* lib/Pod/Text.pm: Likewise.
* Makefile.PL: Mark Encode as required.
* t/man-perlio.t: Test Pod::Man output to a file handle with a
PerlIO encoding layer already applied.
* t/text-perlio.t: Likewise for Pod::Text.
ChangeLog:
0.615 Tue Jan 17 01:32:07 2012 +1100 <joe@kafsemo.org>
- Fix test skipping when Unicode is unsupported.
0.614 Mon Jan 9 00:24:10 2012 +1100 <joe@kafsemo.org>
- Fix regression in 0.613 and set encoding on GLOBs.
0.613 Sat Jan 7 22:51:26 2012 +1100 <joe@kafsemo.org>
- Use 'Object->new()' syntax throughout (#65840).
- Support passing in any arbitrary object that has a print()
method (from Jason Rodrigues).
ChangeLog:
- nothing for 3.39 in upstream noted
version 3.38
date: 2011-07-27
# minor maintenance release
fixed: RT 65865: _ should be allowed at the start on an XML name
https://rt.cpan.org/Ticket/Display.html?id=65865
reported by Steve Prokopowich
removed: making att and class lvalues created problems: in certain
context they made regular calls to the method create empty
attributes. I could find no satisfactory fix,they were either
incompletes, or to complex for often used methods. So att and
class are back to being regular, non l-value methods.
latt and lclass are the l-value versions.
added: documented the -html option for xml_grep, that allows processing
HTML input
added: the -Tidy option to xml_grep, that uses HTML::Tidy to convert
HTML to XML
This tool will parse a PDF document to identify the fundamental
elements used in the analyzed file. It will not render a PDF
document. The code of the parser is quick-and-dirty, I'm not
recommending this as text book case for PDF parsers, but it gets
the job done.
Based on PR 45815 by Kiyono, Goro.
Migemo is a library to generate regex pattern to search Japanese (which includes
Hiragana/Kanji) text without any IME easily. C/Migemo is an implementation of
that Migemo library.
changes:
- README file was improved to provide better guidance
for users
- show the text-web-browser converting command in
verbose mode for better debugging
- workaround passivetex limitation for chapters
titles starting with L
- use passivetex/fop extensions by default, provide
--noextensions option to disable them
- basic experimental support for conversion from docbook
to epub
-bugfixes
* Stop to treat NetBSD's sed as GNU sed, not full compatible.
* Then, no need to reset TOOLS_PLATFORM.gsed for NetBSD if USE_TOOLS+=gsed and
real GNU sed is required.
* In addition, convert simple USE_TOOLS+=gsed to conditionally, without NetBSD.
* convert {BUILD_,}DEPENDS+=gsed to USE_TOOLS, all tools from gsed are real gsed.
* Extensive, extensive unit test refactoring
* Convert the Docbook documentation to ReST
* Include the documentation in the source distribution
* Consolidate the disparate README files into one
* Support Jython somewhat (almost all unit tests pass)
* Support Python 3.2
* Fix Python 3 issues exposed by improved unit tests
* Fix international domain name issues exposed by improved unit tests
* Issue 148 (loose parser doesn't always return unicode strings)
* Issue 204 (FeedParserDict behavior should not be controlled by `assert`)
* Issue 247 (mssql date parser uses hardcoded tokyo timezone)
* Issue 249 (KeyboardInterrupt and SystemExit exceptions being caught)
* Issue 250 (`updated` can be a 9-tuple or a string, depending on context)
* Issue 252 (running setup.py in Python 3 fails due to missing sgmllib)
* Issue 253 (document that text/plain content isn't sanitized)
* Issue 260 (Python 3 doesn't decompress gzip'ed or deflate'd content)
* Issue 261 (popping from empty tag list)
* Issue 262 (docs are missing from distribution files)
* Issue 264 (vcard parser crashes on non-ascii characters)
* Issue 265 (http header comparisons are case sensitive)
* Issue 271 (monkey-patching sgmllib breaks other libraries)
* Issue 272 (can't pass bytes or str to `parse()` in Python 3)
* Issue 275 (`_parse_date()` doesn't catch OverflowError)
* Issue 276 (mutable types used as default values in `parse()`)
* Issue 277 (`python3 setup.py install` fails)
* Issue 281 (`_parse_date()` doesn't catch ValueError)
* Issue 282 (`_parse_date()` crashes when passed `None`)
* Issue 285 (crash on empty xmlns attribute)
* Issue 286 ('apos' character entity not handled properly)
* Issue 289 (add an option to disable microformat parsing)
* Issue 290 (Blogger's invalid img tags are unparseable)
* Issue 292 (atom id element not explicitly supported)
* Issue 294 ('categories' key exists but raises KeyError)
* Issue 297 (unresolvable external doctype causes crash)
* Issue 298 (nested nodes clobber actual values)
* Issue 300 (performance improvements)
* Issue 303 (unicode characters cause crash during relative uri resolution)
* Remove "Hot RSS" support since the format doesn't actually exist
* Remove the old feedparser.org website files from the source
* Remove the feedparser command line interface
* Remove the Zope interoperability hack
* Remove extraneous whitespace
Gruber's SmartyPants plugin for various CMSs.
SmartyPants is a web publishing utility that translates plain ASCII
punctuation characters into "smart" typographic punctuation HTML
entities. SmartyPants can perform the following transformations:
* Straight quotes ( " and ' ) into "curly" quote HTML entities
* Backticks-style quotes (``like this'') into "curly" quote HTML entities
* Dashes (-- and ---) into en- and em-dash entities
* Three consecutive dots (...) into an ellipsis entity
1.2.8.0 Tue Dec 13 14:45:07 UTC 2011
[Changes contributed by Olly Betts]
- Add note to README about documentation, pointing out that the docs
for Xapian are useful.
- Improve note in README about moving to SWIG-generated wrappers in the
next release series.
1.2.7.0 Wed Aug 10 06:14:53 UTC 2011
[Changes contributed by Olly Betts]
- Note in README that the hand-coded XS wrappers are heading for
retirement.
1.2.6.0 Sun Jun 12 11:55:42 UTC 2011
[Changes contributed by Adam Sjøgren]
- Wrap new method QueryParser::set_max_wildcard_expansion().
(ticket#350)
1.2.5.0 Mon Apr 4 14:00:38 UTC 2011
[Changes contributed by Olly Betts]
- simpleindex.pl - use 'while' to loop over input lines - 'foreach'
reads them all in and then loops over them, while reads and processes
line by line.
- Add '1;' to the end of t/symbol-test/SymbolTest.pm.
1.2.4.0 Thu Dec 19 12:41:49 UTC 2010
[Changes contributed by Olly Betts]
- Xapian exceptions were still being thrown as strings in Perl in
some cases. Now all cases throw a subclass of Search::Xapian::Error.
For compatibility with code which expects the previous behaviour
these subclasses auto-stringify to the string which would have been
thrown before.
- Make sure all Perl files have 'use strict;' and 'use warnings;'.
- Remove superfluous 'use Carp;' from generated error classes.
- t/document.t,t/index.t,t/search.t: Test TermIterator::get_termname().
- Makefile.PL now looks for CXXFLAGS and CPPFLAGS passed on the
command line, and adds them to CCFLAGS in the generated Makefile.
[Changes contributed by Tim Brody]
- New testcase t/10query.t.
[Changes contributed by David F. Skoll and Dave O'Neill]
- Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
still work when multiple Perl modules which link to xapian-core are
loaded. (ticket#522)
1.2.3.0 Tue Aug 24 06:03:12 UTC 2010
[Changes contributed by Tim Brody]
- Allow user-specified ExpandDecider to be specified to get_eset().
[Changes contributed by Jess Robinson]
- Fix bogus "can't find libtool" error when rerunning Makefile.PL and
XAPIAN_CONFIG isn't explicitly specified.
1.1.4.0 Mon Feb 15 14:08:51 UTC 2010
[Changes contributed by Henry Combrinck]
- Add wrappers for the spelling correction functionality (ticket#420).
- Add wrapper for Database::close() (ticket#422).
1.1.3.0 Wed Nov 18 11:00:23 UTC 2009
[Changes contributed by Olly Betts]
- Wrap new Xapian::SerialisationError class.
- Ship simplematchdecider.pl example, which was added in 1.0.13.1 but
accidentally not added to 1.1.1.0.
- Work around odd rerunning of Makefile.PL by MakeMaker when srcdir !=
builddir.
1.1.1.0 Tue Jun 9 13:22:07 UTC 2009
[Changes contributed by Olly Betts]
- Add Search::Xapian::MSet::items() method which returns an array
tied to the MSet (much like Search::Xapian::Enquire::matches(), but
you get easy access to the MSet object itself too).
- Add the ability to tie an ESet to an array and a new
Search::Xapian::ESet::items() method to make use of it.
- Add new translated version of the simple examples from the Python
bindings.
- Add more fully featured examples: full-indexer.pl and
full-searcher.pl.
- Add better test coverage for MatchDecider.
- Catch C++ exceptions from methods of Document and rethrow as Perl
exceptions (ticket#284).
- Add dependency to regenerate Makefile if Xapian.pm changes (since the
former contains a version number extracted from the latter).
1.1.0.0 Thu Apr 22 13:56:31 GMT 2009
[Changes contributed by Andreas Marienborg and Olly Betts]
- Xapian C++ exceptions classes are now wrapped and C++ exceptions
are caught and rethrown in Perl as the wrapped classes.
[Changes contributed by Olly Betts]
- Xapian-core now uses libtool 2.2.x, which has required changes to
the how we cram libtool into the MakeMaker-generated Makefile.
However, there's still a wrinkle in this change - you can't currently
run "make install" in a tree configured to use an uninstalled
xapian-core.
1.0.23.0 Fri Jan 14 04:18:24 UTC 2011
[Changes contributed by David F. Skoll and Dave O'Neill]
- Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
still work when multiple Perl modules which link to xapian-core are
loaded (ticket#522).
1.0.22.0 Sun Oct 3 12:36:44 UTC 2010
[Changes contributed by Jess Robinson]
- Fix bogus "can't find libtool" error when rerunning Makefile.PL and
XAPIAN_CONFIG isn't explicitly specified.
[Changes contributed by Tim Brody]
- New testcase t/10query.t.
1.2.8:
API:
* Add support to TermGenerator and QueryParser for indexing and searching CJK
text using n-grams. Currently this is only enabled when the environmental
variable XAPIAN_CJK_NGRAM is set to a non-empty value.
portability:
+ Some fixes for warnings when cross-compiling to mingw.
* tests/soaktest/soaktest.cc: With Sun's compiler, random() and srandom()
aren't in <cstdlib> so we need to use <stdlib.h> instead.
1.2.7:
API:
* Document objects now track whether any document positions have been modified
so that replacing a modified document can completely skip considering
updating positions if none have changed. Currently the flint, chert, and
brass backends implement this optimisation. A common case this speeds up is
adding and/or removing boolean filter terms to/from existing documents - for
example this gives an 18% speedup for adding tags in notmuch.
portability:
* Fix -Wshadow warnings from GCC 4.6.
* Fix warning from GCC 3.3.
1.2.6:
API:
* QueryParser:
+ Add new set_max_wildcard_expansion() method to allow limiting the number of
terms a wildcard can expand to. (ticket#350)
+ If default_op is OP_NEAR or OP_PHRASE then disable stemming of the terms,
since we don't index positional information for stemmed terms by default.
* Spelling correction was failing to correctly handle words which had the same
trigram in an even number of times.
portability:
* Fix to build for mingw.
1.2.5:
API:
* Enquire::get_eset() now accepts a min_wt argument to allow the minimum wanted
weight to be specified. Default is 0, which gives the previous behaviour.
* QueryParser: Handle NEAR/<offset> and ADJ/<offset> where offset isn't an
integer the same way at the end of the query as in the middle.
* Replication:
+ Only keep $XAPIAN_MAX_CHANGESETS changeset files when generating a new one
(previously this variable only controlled if we generated changesets or
not). Closes ticket#278.
+ $XAPIAN_MAX_CHANGESETS is reread each time, rather than only when the
database is opened.
+ If you build Xapian with DANGEROUS mode enabled, changeset files now
actually have the appropriate flag set (the reader will currently throw an
exception, but that's better than quietly handling them incorrectly).
portability:
* api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
* api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to atomically
update stub file after compaction (ticket#525).
* Fix uninitialised variable warnings with gcc -O3.
* Eliminate std::string member of global static object used when compiled with
--enable-log which was causes problems on Mac OS X.
* Fix some issues highlighted by clang++ warnings.
1.2.4:
API:
* QueryParser:
+ Avoid a double free if Query construction throws an exception in a
particular case. Fixes ticket#515.
+ Allow phrase generators between a probabilistic prefix and the term itself
(e.g. path:/usr/local).
+ The correct window size wasn't being set in some cases when default_op was
set to OP_PHRASE.
* Enquire::get_mset():
+ Avoid pointlessly trying to allocate lots of memory if the first document
requested is larger than the size of the database.
+ An empty query now returns an MSet with firstitem set correctly -
previously firstitem was always 0 in this case.
* Document: Initialise docid to 0 when creating a document from
scratch, as documented.
* Compactor:
+ Move the database compaction and merging functionality into this new class,
and make xapian-compact a simple wrapper around this class. (ticket#175)
+ Inputs can now be stub database directories or files, in which case the
databases in the stub are used as inputs.
+ Add support for compacting to a stub database, which can be one of the
inputs (for atomic update).
+ If spellings and/or synonyms were only present in some source databases,
they weren't copied to the output database, but now they are.
portability:
* configure: Add support for --enable-sse=sse and --enable-sse=sse2 to allow
control of which SSE instructions to use.
* configure: Enable use of SSE maths on x86 by default with Sun's compiler.
* configure: Beef up the test for whether -lm is required and add a special
case to force it to be for Sun's C++ compiler - there's some interaction with
libtool and/or shared objects which means that the previous configure test
didn't think -lm is needed here when it is.
* Fix to build on OpenBSD 4.5 with GCC 3.3.5.
* Need to avoid excess precision on m68k when targeting models 68010, 68020,
68030 as well as 68000.
* Fix compilation with Sun's C++ compiler.
* Fix testsuite to build on Solaris < 10.
1.2.3:
API:
* Database::get_spelling_suggestion() will now suggest a correction even if the
passed word is in the dictionary, provided the correction has at least the
same frequency. Partly addresses #225.
* QueryParser:
+ Fix handling of groups of terms which are all stopwords - in situations
where this causes a problem we now disable stopword checks for such groups.
(ticket#245)
+ Fix to be smarter about handling a boolean filter term containing ".." in
the presence of valuerangeprocessors.
portability:
* configure: Don't pass -mtune=generic unless GCC >= 4.2 is in use
(ticket#492).
* Fix handling of some obscure cases of resolving relative paths on Microsoft
Windows. (ticket#243).
* Optimise closing of all unwanted file descriptors after forking by using
closefrom() if available, and otherwise providing our own implementation
(optimised to some extent for many platforms).
* Fix test harness to build under Microsoft Windows (ticket#495).
1.2.2:
portability:
* Revert 1.2.1 change to visibility of Xapian::Weight's copy constructor as
it making it private broke compilation with GCC 4.1 (which seems to be a
bug in this compiler version).
* tests/harness/testsuite.cc: Need <cstdio> for sprintf(). Fixes compilation
error which was masked if valgrind was installed. (ticket#489)
pkgsrc changes:
* Remove options (the "quartz" backend was unrelated to Darwin and
no longer exists).
* Unconditionally buildlink libuuid. If that's overzealous, improve
its builtin detection.
Release 1.2.9 - 2011/12/29
--------------------------
Improvements
^^^^^^^^^^^^
* Supported Fedora 16.
* Dropped Fedora 15 support.
* [groonga] Improved the default server ID address to work
on unresolved host name environment. [Reported by @uzulla]
* Supported MAP_HUGETLB.
* [admin] Supported throughput chart.
* Stopped adding nul character in ``grn_itoh()``. [#1194]
[Reported by SHIDARA Yoji]
* Added ``grn_obj_get_values()``.
* Added ``grn_obj_delete_by_id()``.
* Supported string vector column for query expansion. [#1216]
* Added ``--filter`` option to :doc:`/commands/delete` to delete
many record at once. [#1225]
* Supported approximate type customization for
:doc:`/functions/geo_in_circle` and :doc:`/functions/geo_distance`. [#1226]
* Made ``geo_distance2()`` and ``geo_distance3()`` are deprecated.
* Changed to use ``null`` instead of ``""`` for empty geo
point value in JSON output.
* Almost supported MessagePack output. [#1215] [Worked by SHIDARA Yoji]
* Added missing newlines after drilldown result tags in XML output.
* Supported truncate for grn_dat.
* Supported longest common prefix search by grn_dat.
Fixes
^^^^^
* [windows] Fixed inverted map type.
* Fixed -Wno- compiler flag detection. [Patch by Arnaud Fontaine]
* Fixed a problem that ``groonga --version`` reports wrongly
about MeCab. [#1209] [Patch by SHIDARA Yoji]
* Added missing lock into ``grn_obj_remove()``.
* Fixed Content-Type on error. [#1220] [Patch by SHIDARA Yoji]
* Fixed a problem that deleting SIS (Semi Infinite String)
may keep a garbage.
Drop ${PHP_BASE_VARS} from PKGVERSION by default.
It used to be required to support multiple php version.
But after PHP version based ${PHP_PKG_PREFIX} was introduced,
such trick is not required anymore.
In addition to this, such version name schme invokes unwanted version bump
when base php version is bumped, plus, such version scheme is hard to
use for DEPENDS pattern.
To avoid downgrading of package using such legacy version scheme,
PECL_LEGACY_VERSION_SCHEME is introduced.
If it is defined, current version scheme is still used for currently
supported PHP version (5 and 53), but instead of ${PHP_BASE_VARS},
current fixed PHP base version in pkgsrc is used to avoid unwanted version bump
from update of PHP base package.
With newer PHP (54, or so on), new version scheme will be used if
it is defined.
This trick will not be required and should be removed after php5 and php53 will
be gone away from pkgsrc.
Changes
* 1 minor change:
- Added a converter that extracts the TOC of a document (requested by
Brendan Hay). Note that this is only useful if you use kramdown as a
library!
* 7 bug fixes
- Fixed a typo: It should be --output and not --ouput (patch by
postmodern)
- Fixed HTML converter to correctly output empty span tags (patch by
John Croisant)
- Fixed bug RF#29350: Parsing of HTML tags with mismatched case now
works
- Fixed bug RF#29426: Content of style tags is treated as raw text now
- HTML converter now uses rel instead of rev to be HTML5 compatible
(patch by Joe Fiorini)
- Fixed Ruby 1.9.3 related warnings
- Fixed HTML parser to work around an implementation change of
Array#delete_if in Ruby 1.9.3
The bad file permissions on ispell/README.txt prevented the package from
building on DragonFly with PKG_DEVELOPER=yes. I'm not sure how it's passing
on NetBSD unless the bulk reports I'm seeing aren't using that option.
MultiJSON
Lots of Ruby libraries utilize JSON parsing in some form, and everyone has
their favorite JSON library. In order to best support multiple JSON parsers
and libraries, multi_json is a general-purpose swappable JSON backend library.
== 4.2.9 / November 25, 2011
* Fix RbConfig / Config warning in Ruby 1.9.3. [Steve Purcell, Robert Gleeson, and unclaimedbaggage]
* Use RSTRING_NOT_MODIFIED header for Rubinius [Dirkjan Bussink]
2011-12-01 (1.6.3)
* Let JSON.load('') return nil as well to make mysql text columns (default to
'') work better for serialization.
2011-11-21 (1.6.2)
* Add support for OpenStruct and BigDecimal.
* Fix bug when parsing nil in quirks_mode.
* Make JSON.dump and JSON.load methods better cooperate with Rails' serialize
method. Just use: serialize :value, JSON
* Fix bug with time serialization concerning nanoseconds. Thanks for the
patch go to Josh Partlow (jpartlow@github).
* Improve parsing speed for JSON numbers (integers and floats) in a similar way to
what Evan Phoenix <evan@phx.io> suggested in:
https://github.com/flori/json/pull/103
2011-09-18 (1.6.1)
* Using -target 1.5 to force Java bits to compile with 1.5.