# 1.7.0.1 / 2017-01-04
## Bugs
* Fix OpenBSD support. (#1569) (related to #1543)
# 1.7.0 / 2016-12-26
## Features
* Remove deprecation warnings in Ruby 2.4.0 (#1545) (Thanks, @matthewd!)
* Support egcc compiler on OpenBSD (#1543) (Thanks, @frenkel and @knu!)
## Backwards incompatibilities.
This release ends support for:
* Ruby 1.9.2, for which official support ended on 2014-07-31
* Ruby 1.9.3, for which official support ended on 2015-02-23
* Ruby 2.0.0, for which official support ended on 2016-02-24
* MacRuby, which hasn't been actively supported since 2015-01-13 (see f76b9d6e99)
2.400 (2017-01-01)
- new release version
- remove author tests
- more spelling fixes
2.399_20161227
- FIXES#119468: [PATCH] spelling fixes (reported by GREGOA)
- possible fix for utf8 warnings under perl 5.8.x
2.399_20161210
- update to Unicode 9.0.0
- changed generation of tests so that TODO is no longer required when
the module author's perl doesn't support the newest Unicode version
Version 1.1.18
- Use p1_utils 1.0.6
- fix xref with otp 17
Version 1.1.17
- Add 'undefined' type to some record fields type specs
Version 1.1.16
- Improve XML generator
Release 0.9.6 - Dec 26 2016
---------------------------
* Fix for table with data but without a header.
* Add a warning when the number of series in a chart exceeds Excel's limit
of 255.
Release 0.9.5 - Dec 24 2016
---------------------------
* Fix for missing `remove_timezone` option in Chart class.
Release 0.9.4 - Dec 2 2016
--------------------------
* Added user definable removal of timezones in datetimes. See the
:func:`Workbook` constructor option ``remove_timezone`` and :ref:`Timezone
Handling in XlsxWriter <timezone_handling>`.
* Fix duplicate header warning in :func:`add_table` when there is only one
user defined header.
* Fix for `center_across` property in :func:`add_format`.
documentation:
* Replace auto-generated list of the supported MIME types with an
auto-generated table showing the extensions that are mapped to each MIME type
by default. Partly addresses #569, reported by catkin.
indexers:
* omindex: Add support for indexing markdown files (extension .md or .markdown,
mime-type text/markdown, using "markdown" to convert to HTML).
testsuite:
* Add support for "make installcheck" to run tests against installed version.
build system:
* configure: Fail with clear error with xapian-core < 1.4.0.
portability:
* Fix GCC -Wimplicit-fallthrough warning.
* Add missing <ctime> for time_t.
* Avoid snprintf_for formatting fixed-width integers - it results in warnings
about possible output truncation with GCC7 (which aren't actually possible
due to limited input range) and it's a bit heavyweight for this job anyway.
API:
* Add XAPIAN_AT_LEAST(A,B,C) macro.
* MSet::snippet(): Optimise snippet generation - it's now ~46% faster in a
simple test.
* Add Xapian::DOC_ASSUME_VALID flag which tells Database::get_document() that
it doesn't need to check that the passed docid is valid. Fixes#739,
reported by Germán M. Bravo.
* TfIdfWeight: Add support for the L wdf normalisation. Patch from Vivek Pal.
* BB2Weight: Fix weights when database has just one document. Our existing
attempt to clamp N to be at least 2 was ineffective due to computing
N - 2 < 0 in an unsigned type.
* DPHWeight: Fix reversed sign in quadratic formula, making the upper bound a
tiny amount higher.
* DLHWeight: Correct upper bound which was a bit too low, due to flawed logic
in its derivation. The new bound is slightly less tight (by a few percent).
* DLHWeight,DPHWeight: Avoid calculating log(0) when wdf is equal to the
document length.
* TermGenerator: Handle stemmer returning empty string - the Arabic stemmer
can currently do this (e.g. for a single tatweel) and user stemmers can too.
Fixes#741, reported by Emmanuel Engelhart.
* Database::check(): Fix check that the first docid in each doclength chunk is
more than the last docid in the previous chunk - this code was in the wrong
place so didn't actually work.
* Database::get_unique_terms(): Clamp returned value to be <= document length.
Ideally get_unique_terms() ought to only count terms with wdf > 0, but that's
expensive to calculate on demand.
glass backend:
* When compacting we now only write the iamglass file out once, and we write it
before we sync the tables but sync it after, which is more I/O friendly.
* Database::check(): Fix in SEGV when out == NULL and opts != 0.
* Fix potential SEGV with corrupt value stats.
chert backend:
* Fix potential SEGV with corrupt value stats.
build system:
* Add XO_REQUIRE autoconf macro to provide an easy way to handle version checks
in user configure scripts.
tools:
* quest: Support BM25+, LM and PL2+ weighting schemes.
* xapian-check: Fix when ellipses are shown in 't' mode. They were being shown
when there were exactly 6 entries, but we only start omitting entries when
there are *more* than 6. Fix applies to both glass and chert.
portability:
* Avoid using opendir()/readdir() in our closefrom() implementation as these
functions can call malloc(), which isn't safe to do between fork() and exec()
in a multi-threaded program, but after fork() is exactly where we want to
use closefrom(). Instead we now use getdirentries() on Linux and
getdirentriesattr() on OS X (OS X support bugs shaken out with help from
Germán M. Bravo).
* Support reading UUIDs from /proc/sys/kernel/random/uuid which is especially
useful when building for Android, as it avoids having to cross-build a UUID
library.
* Disable volatile workaround for excess precision SEGV for SSE - previously it
was only being disabled for SSE2.
* When building for x86 using a compiler where we don't know how to disable
use of 387 FP instructions, we now run remote servers for the testsuite under
valgrind --tool=none, like we do when --disable-sse is explicitly specified.
* Add alignment_cast<T> which has the same effect as reinterpret_cast<T> but
avoids warnings about alignment issues.
* Suppress warnings about unused private members. DLHWeight and DPHWeight
have an unused lower_bound member, which clang warns about, but we need to
keep them there in 1.4.x to preserve ABI compatibility.
* Remove workaround for g++ 2.95 bug as we require at least 4.7 now.
* configure: Probe for <cxxabi.h>. GCC added this header in GCC 3.1, which
is much older than we support, so we've just assumed it was available if
__GNUC__ was defined. However, clang lies and defines __GNUC__ yet doesn't
seem to reliably provide <cxxabi.h>, so we need to probe for it.
* Fix "unused assignment" warning.
* configure: Probe for __builtin_* functions. Previously we just checked for
__GNUC__ being defined, but it's cleaner to probe for them properly -
compilers other than GCC and those that pretend to be GCC might provide these
too.
* Use __builtin_clz() with compilers which support it to speed up encoding
and especially decoding of positional data. This speed up phrase searching
by ~0.5% in a simple test.
* Check signed right shift behaviour at compile time - we can use a test on a
constant expression which should optimise away to just the required version
of the code, which means that on platforms which perform sign-extension
(pretty much everything current it seems) we don't have to rely on the
compiler optimising a portable idiom down to the appropriate right shift
instruction.
* Improve configure check for log2(). We include <cmath> so the check really
should succeed if only std::log2() is declared.
* Enable win32-dll option to LT_INIT.
debug code:
* xapian-inspect:
+ Support glass instead of chert.
+ Allow control of showing keys/tags.
+ Use more mnemonic letters than X for command arguments in help.
pre-4.03 versions of OCaml can use the uchar library. Given that pkgsrc
uses 4.04 now, this library will always be empty, but it is needed for
dependency purposes.
* Fix handling of comments in the ppx.
* Fix printing of utf8 in attributes.
* Properly flush ppx errors. This bug was causing some blank error messages.
* Fix handling of whitespaces in <select> in the ppx.
* Use upstream filename as DISTNAME
* The latest version for Chromium build
Changelog:
0.999999999/1.0b10
Released on July 15, 2016
Fix attribute order going to the tree builder to be document order instead of reverse document order(!).
0.99999999/1.0b9
Released on July 14, 2016
Added ordereddict as a mandatory dependency on Python 2.6.
Added lxml, genshi, datrie, charade, and all extras that will do the right thing based on the specific interpreter implementation.
Now requires the mock package for the testsuite.
Cease supporting DATrie under PyPy.
Remove ``PullDOM`` support, as this hasn't ever been properly tested, doesn't entirely work, and as far as I can tell is completely unused by anyone.
Move testsuite to py.test.
Fix#124: move to webencodings for decoding the input byte stream; this makes html5lib compliant with the Encoding Standard, and introduces a required dependency on webencodings.
Cease supporting Python 3.2 (in both CPython and PyPy forms).
Fix comments containing double-dash with lxml 3.5 and above.
Use scripting disabled by default (as we don't implement scripting).
Fix#11, avoiding the XSS bug potentially caused by serializer allowing attribute values to be escaped out of in old browser versions, changing the quote_attr_values option on serializer to take one of three values, "always" (the old True value), "legacy" (the new option, and the new default), and "spec" (the old False value, and the old default).
Fix#72 by rewriting the sanitizer to apply only to treewalkers (instead of the tokenizer); as such, this will require amending all callers of it to use it via the treewalker API.
Drop support of charade, now that chardet is supported once more.
Replace the charset keyword argument on parse and related methods with a set of keyword arguments: override_encoding, transport_encoding, same_origin_parent_encoding, likely_encoding, and default_encoding.
Move filters._base, treebuilder._base, and treewalkers._base to .base to clarify their status as public.
Get rid of the sanitizer package. Merge sanitizer.sanitize into the sanitizer.htmlsanitizer module and move that to saniziter. This means anyone who used sanitizer.sanitize or sanitizer.HTMLSanitizer needs no code changes.
Rename treewalkers.lxmletree to .etree_lxml and treewalkers.genshistream to .genshi to have a consistent API.
Move a whole load of stuff (inputstream, ihatexml, trie, tokenizer, utils) to be underscore prefixed to clarify their status as private.
0.9999999/1.0b8
Released on September 10, 2015
Fix#195: fix the sanitizer to drop broken URLs (it threw an exception between 0.9999 and 0.999999).
0.999999/1.0b7
Released on July 7, 2015
Fix#189: fix the sanitizer to allow relative URLs again (as it did prior to 0.9999/1.0b5).
0.99999/1.0b6
Released on April 30, 2015
Fix#188: fix the sanitizer to not throw an exception when sanitizing bogus data URLs.
0.9999/1.0b5
Released on April 29, 2015
Fix#153: Sanitizer fails to treat some attributes as URLs. Despite how this sounds, this has no known security implications. No known version of IE (5.5 to current), Firefox (3 to current), Safari (6 to current), Chrome (1 to current), or Opera (12 to current) will run any script provided in these attributes.
Pass error message to the ParseError exception in strict parsing mode.
Allow data URIs in the sanitizer, with a whitelist of content-types.
Add support for Python implementations that don't support lone surrogates (read: Jython). Fixes#2.
Remove localization of error messages. This functionality was totally unused (and untested that everything was localizable), so we may as well follow numerous browsers in not supporting translating technical strings.
Expose treewalkers.pprint as a public API.
Add a documentEncoding property to HTML5Parser, fix#121.
1.21 Fri Dec 23 21:19:15 CET 2016
- Apply PR/171 (fixes issue/109) @perlpunk++
- No more "used only once" warnings for $YAML::Indent etc.
- Apply PR/170 (fixes issue/131) hiratara@cpan.org++
- Empty mapping value at the end resolves to null (was becoming empty
string)
- Apply PR/169 (PR/119) patrick.allen.higgins@gmail.com++
- Output key in warning when duplicate key was found
- Apply PR/157 and PR/168 (@lameventanas++ @perlpunk++)
- Allow reading and writing to IO::Handle
Upstream changes:
CHANGES IN formatR VERSION 1.4
NEW FEATURES
o `tidy_source()` can preserve line breaks in character strings in source code
MAJOR CHANGES
o the deprecated functions tidy.source(), tidy.dir(), and tidy.eval() have
been removed; use tidy_source(), tidy_dir() and tidy_eval() instead
o comments that begin with `#+` or `#-` are no longer wrapped; such comments
are treated as knitr chunk options in `knitr::spin()` (#52)
BUG FIXES
o `tidy_source()` should not write an extra space to the last line of code
(thanks, @mr-karan, #49)
o long strings (> 1000 characters) in source code can be preserved now
(thanks, @jholtman, #50)
o `tidy_source()` might move any lines of code starting with `else` back to
the previous lines (thanks, @Auburngrads, #51)
Upstream changes:
stringr 1.1.0
Add sample datasets: fruit, words and sentences.
fixed(), regex(), and coll() now throw an error if you use them with anything other than a plain string (#60). I've clarified that the replacement for perl() is regex() not regexp() (#61). boundary() has improved defaults when splitting on non-word boundaries (#58, @lmullen).
str_detect() now can detect boundaries (by checking for a str_count() > 0) (#120). str_subset() works similarly.
str_extract() and str_extract_all() now work with boundary(). This is particularly useful if you want to extract logical constructs like words or sentences. str_extract_all() respects the simplify argument when used with fixed() matches.
str_subset() now respects custom options for fixed() patterns (#79, @gagolews).
str_replace() and str_replace_all() now behave correctly when a replacement string contains $s, \\\\1, etc. (#83, #99).
str_split() gains a simplify argument to match str_extract_all() etc.
str_view() and str_view_all() create HTML widgets that display regular expression matches (#96).
word() returns NA for indexes greater than number of words (#112).
Remove BROKEN mark(build without Internet access)
Upstream changes:
## 1.1.2 (2016-09-30) **CRAN**
* [BUGFIX] round(), snprintf() is not C++98
-------------------------------------------------------------------------------
## 1.1.1 (2016-05-25) **CRAN**
* [BUGFIX] #214: allow a regex pattern like `.*` to match an empty string.
* [BUGFIX] #210: `stri_replace_all_fixed(c("1", "NULL"), "NULL", NA)`
now results in `c("1", NA)`.
* [NEW FEATURE] #199: `stri_sub<-` now allows for ignoring `NA` locations
(a new `omit_na` argument added).
* [NEW FEATURE] #207: `stri_sub<-` now allows for substring insertions
(via `length=0`).
* [NEW FUNCTION] #124: `stri_subset<-` functions added.
* [NEW FEATURE] #216: `stri_detect`, `stri_subset`, `stri_subset<-` gained
a `negate` argument.
* [NEW FUNCTION] #175: `stri_join_list` concatenates all strings
in a list of character vectors. Useful with, e.g., `stri_extract_all_regex`,
`stri_extract_all_words` etc.
=====================================
Features added
--------------
* 3214: Allow to suppress "unknown mimetype" warnings from epub builder using
:confval:`suppress_warnings`.
Bugs fixed
----------
* 3195: Can not build in parallel
* 3198: AttributeError is raised when toctree has 'self'
* 3211: Remove untranslated sphinx locale catalogs (it was covered by
untranslated it_IT)
* 3212: HTML Builders crashes with docutils-0.13
* 3207: more latex problems with references inside parsed-literal directive
(``\DUrole``)
* 3205: sphinx.util.requests crashes with old pyOpenSSL (< 0.14)
* 3220: KeyError when having a duplicate citation
* 3200: LaTeX: xref inside desc_name not allowed
* 3228: ``build_sphinx`` command crashes when missing dependency
* 2469: Ignore updates of catalog files for gettext builder. Thanks to
Hiroshi Ohkubo.
* 3183: Randomized jump box order in generated index page.
-----------
(codename Replacement, released on July 26th 2015)
- Added `target` parameter to urlize function.
- Added support for `followsymlinks` to the file system loader.
- The truncate filter now counts the length.
- Added equalto filter that helps with select filters.
- Changed cache keys to use absolute file names if available
instead of load names.
- Fixed loop length calculation for some iterators.
- Changed how Jinja2 enforces strings to be native strings in
Python 2 to work when people break their default encoding.
- Added :func:`make_logging_undefined` which returns an undefined
object that logs failures into a logger.
- If unmarshalling of cached data fails the template will be
reloaded now.
- Implemented a block ``set`` tag.
- Default cache size was incrased to 400 from a low 50.
- Fixed ``is number`` test to accept long integers in all Python versions.
- Changed ``is number`` to accept Decimal as a number.
- Added a check for default arguments followed by non-default arguments. This
change makes ``{% macro m(x, y=1, z) %}...{% endmacro %}`` a syntax error. The
previous behavior for this code was broken anyway (resulting in the default
value being applied to `y`).
- Add ability to use custom subclasses of ``jinja2.compiler.CodeGenerator`` and
``jinja2.runtime.Context`` by adding two new attributes to the environment
(`code_generator_class` and `context_class`) (pull request ``404``).
- added support for context/environment/evalctx decorator functions on
the finalize callback of the environment.
- escape query strings for urlencode properly. Previously slashes were not
escaped in that place.
- Add 'base' parameter to 'int' filter.
===========================
* docutils/languages/fa.py
docutils/parsers/rst/languages/fa.py
docutils/languages/la.py
docutils/parsers/rst/languages/la.py:
- Apply [ 133 ] Persian mappings by Shahin Azad.
- Apply [ 135 ] Language modules for Latvian by Alexander Smishlajev
* docutils/nodes.py
- Fix [ 253 ] Attribute key without value not allowed in XML.
* docutils/parsers/
- Apply [ 103 ] Recognize inline markups without word boundaries.
- Enable escaping in embedded URIs and aliases (fixes [ 284 ]).
* docutils/parsers/rst/__init__.py
- Fix [ 233 ] Change the base URL for the :rfc: role.
* docutils/parsers/rst/directives/tables.py
- Apply [ 120 ] tables accept option widths: list of relative widths, 'auto'
or 'grid'.
- Implement feature request [ 48 ]
Add :align: option to the table directives.
Thanks to Takeshi KOMIYA for the patch.
* docutils/parsers/rst/roles.py
- Fix [ 295 ] Class argument for custom role inheriting from math.
* docutils/parsers/rst/tableparser.py
- Really fix [ 159 ] Spurious table column alignment errors.
* docutils/transforms/frontmatter.py
- Add name of generic bibliographic fields as a "classes" attribute value
(after conversion to a valid identifier form).
* docutils/utils/error_reporting.py
- Fix [ 130 ] support streams expectiong byte-strings in ErrorOutput.
* docutils/utils/math/math2html.py
- Add ``\colon`` macro, fix spacing around colons. Fixes [ 246 ].
- New upstream version (additional macros, piecewise integrals and sums).
* docutils/writers/_html_base.py
- New auxiliary module for definitions common to all HTML writers.
* docutils/writers/html5_polyglot/
- New HTML writer generating clean, polyglot_ markup conforming to
`HTML 5`_.
The CSS stylesheets ``minimal.css`` and ``plain.css`` contain required
and recommended layout rules.
* docutils/writers/html4css1/__init__.py
- Add "docutils" to class values for "container" object to address [ 267 ].
- Apply patch [ 119 ] by Anatoly Techtonik: use absolute paths for
``default_stylesheet_path`` and ``default_template_path``.
- Fix [ 266 ] creating labels/class values in description list items.
- Do not use <sup> and <sub> tags inside <pre> (parsed-literal blocks).
- Fix footnotes with content that does not start with a paragraph.
- Use https in default MathJax URL (report Alan G Isaac).
- Outsourcing of common code to _html_base.py.
* docutils/writers/latex2e/__init__.py
- Fix [ 262 ] Use ``\linewidth`` instead of ``\textwidth`` for figures,
admonitions and docinfo.
- Use absolute path for ``default_template_path``.
- Removed deprecated options ``--use-latex-footnotes`` and
``--figure-footnotes``.
- Cleaner LaTeX code for enumerations and literal blocks.
- Use "hyperref" package together with "bookmark" (improved hyperlinking
by the same author).
- Fix [ 286 ] Empty column title cause invalid latex file.
- Fix [ 224 ] Fix rowspan support for tables.
- Let LaTeX determine the column widths in tables with "colwidths-auto".
Not suited for with multi-paragraph cells!
* docutils/writers/odf_odt/__init__.py
- remove decode.encode of filename stored in zip.
* docutils/writers/xetex/__init__.py
- LuaLaTex compatibility: do not load "xunicode".
* tools/
- New front-end ``rst2html5.py``.
* tox.ini
- Test py26, py27, py33 and py34.
To use, install the ``tox`` package via pip or easy_install and use
tox from the project root directory.
.. _polyglot: http://www.w3.org/TR/html-polyglot/
.. _HTML 5: http://www.w3.org/TR/html5/
.. _XHTML 1.0: http://www.w3.org/TR/xhtml1/
Common Changes
* CLDR 30.0.3
* Time zone database version 2016j
* ICU SVN repository structure change. See the note on the Source Code Access page for more information.
ICU4C Fixes
* 12815 uspoof_getSkeleton sets backwards-incompatible illegal argument exception
* 12822 digitlist.cpp won't compile on msvc under Node.js
* 12825 uspoof_check goes into an "infinite loop" when U+30FB is in an input string
* 12832 GreekUpper::toUpper skips the final character on a non-terminated UTF-8 string
* 12849 u_strToTitle returns incorrect length if destination is NULL
* 12868 uprv_convertToPosix() Windows bug
iso-codes 3.72
--------------
Dr. Tobias Quathamer <toddy@debian.org>
Thu, 8 Dec 2016
[ ISO 3166-2 ]
* Update from iso.org for Great Britain. Thanks to Vitali Yakavenka
for the bug report. Closes: alioth#315563
[ ISO 3166-2 translations ]
* German by Dr. Tobias Quathamer
3.7.0 (2016-12-10)
==================
Features added
--------------
* GH#217: ``XMLSyntaxError`` now behaves more like its ``SyntaxError``
baseclass. Patch by Philipp A.
* GH#216: ``HTMLParser()`` now supports the same ``collect_ids`` parameter
as ``XMLParser()``. Patch by Burak Arslan.
* GH#210: Allow specifying a serialisation method in ``xmlfile.write()``.
Patch by Burak Arslan.
* GH#203: New option ``default_doctype`` in ``HTMLParser`` that allows
disabling the automatic doctype creation. Patch by Shadab Zafar.
* GH#201: Calling the method ``.set('attrname')`` without value argument
(or ``None``) on HTML elements creates an attribute without value that
serialises like ``<div attrname></div>``. Patch by Daniel Holth.
* GH#197: Ignore form input fields in ``form_values()`` when they are
marked as ``disabled`` in HTML. Patch by Kristian Klemon.
Bugs fixed
----------
* GH#206: File name and line number were missing from XSLT error messages.
Patch by Marcus Brinkmann.
Other changes
-------------
* Log entries no longer allow anything but plain string objects as message text
and file name.
* ``zlib`` is included in the list of statically built libraries.