Upstream changes (from CHANGELOG.md):
# 1.8.5 / 2018-10-04
## Security Notes
[MRI] Pulled in upstream patches from libxml2 that address CVE-2018-14404
and CVE-2018-14567. Full details are available in [#1785]
(https://github.com/sparklemotion/nokogiri/issues/1785).
Note that these patches are not yet (as of 2018-10-04) in an upstream
release of libxml2.
## Bug fixes
* [MRI] Fix regression in installation when building against system
libraries, where some systems would not be able to find libxml2 or
libxslt when present. (Regression introduced in v1.8.3.) [#1722]
* [JRuby] Fix node reparenting when the destination doc is empty. [#1773]
This is the newer 2.x release series of enchant. The package does not
conflict with the older 1.x (textproc/enchant). The goal is to move
all reverse-depends to this version, then delete enchant 1.
2018-10-27 -- 0.9.0
>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
* Fixed: Out-of-bounds write in uriComposeQuery* and uriComposeQueryEx*
Commit 864f5d4c127def386dd5cc926ad96934b297f04e
Thanks to Google Autofuzz team for the report!
* Fixed: Detect integer overflow in uriComposeQuery* and uriComposeQueryEx*
Commit f76275d4a91b28d687250525d3a0c5509bbd666f
Thanks to Google Autofuzz team for the report!
* Fixed: Protect uriResetUri* against acting on NULL input
Commit f58c25069cf4a986fe17a80c5b38687e31feb539
>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
* Fixed: Be fully compliant to C89 (GitHub #28) and C++98 in test code
* Fixed: Fix off-by-one in uriComposeQueryCharsRequired* and ...Ex*
Reported space requirements were 1 byte bigger than necessary
* Changed: Marked as deprecated:
Deprecated functions:
uriNormalizeSyntaxMaskRequired[AW]
uriParseUri[AW]
uriParseUriEx[AW]
* Added: Add convenience functions to ease user code to parse a single URI
New functions:
uriParseSingleUri[AW]
uriParseSingleUriEx[AW]
uriParseSingleUriExMm[AW]
* Added: Support for custom memory managers (GitHub #26, #35), see Doxygen
New functions (as extension of existing ones):
uriAddBaseUriExMm[AW]
uriComposeQueryMallocExMm[AW]
uriDissectQueryMallocExMm[AW]
uriFreeQueryListMm[AW]
uriFreeUriMembersMm[AW]
uriNormalizeSyntaxExMm[AW]
uriParseSingleUriExMm[AW]
uriRemoveBaseUriMm[AW]
New functions (for convenience):
uriCompleteMemoryManager
uriEmulateCalloc
uriEmulateReallocarray
uriTestMemoryManager
New error codes:
URI_ERROR_MEMORY_MANAGER_FAULTY
URI_ERROR_MEMORY_MANAGER_INCOMPLETE
New types:
UriFuncCalloc
UriFuncFree
UriFuncMalloc
UriFuncRealloc
UriFuncReallocarray
UriMemoryManager
* Added: Add non-void versions of uriNormalizeSyntaxMaskRequired*
New functions:
uriNormalizeSyntaxMaskRequiredEx[AW]
* Changed: Migrate test suite from CppTest to GoogleTest 1.8.1
* Improved: Make test suite free of memory leaks (GitHub #31)
Thanks to AddressSanitizer!
* Removed: Support for pointless define URI_SIZEDOWN (GitHub #29)
Related configure option --enable-sizedown has also been removed.
* Soname: 1:23:0
indexers:
* omindex:
+ Improve date handling in .eml files. We now handle a "Date:" header
without the day of the week, which is allowed by RFC822 and RFC2822
(though seems rare in practice). If the date can't be parsed, we now
just omit the date information rather than failing to process the file.
+ Add support for indexing Apple iWork documents (Keynote (.key), Numbers
(.numbers) and Pages (.pages)) using libetonyek. Currently only the file
variants are handled since omindex doesn't currently support indexing a
directory as a document.
+ Index Visio files using vsd2xhtml.
+ Extend --filter to support filters which produce SVG as output.
+ Handle SVG embedded in XML with svg: namespace prefix.
+ Add --read-filters option to read a list of filters from a file, each line
of which is a rule as passed to --filter. Based on a patch from Gaurav
Arora.
+ Add new --mime-type-match option which allows specifying a MIME
Content-Type for a given shell filename pattern pattern (with the special
Content-Type values "ignore" and "skip" supported, as for --mime-type).
+ Adjust --mime-type to allow ':' in the extension. A valid MIME
Content-Type can't contain a colon, so if the argument to --mime-type
contains more than one colon it makes more sense to split at the *last*
colon (we used to split at the first), as an extension could conceivably
contain a colon. Mostly this change is for consistency with the new
--mime-type-match option, where the leafname pattern could reasonably
contain a colon.
+ Remove failed entries for ignored files. If a file is mapped to
pseudo-mimetype "ignore" then remove any existing failure record for it so
that ignored files so we don't potentially end up with a lot of cruft
failure records for files we are no longer trying to index.
+ If a file fails to index due to failing to allocate enough memory we now
try to flag it as failed to index so it will be skipped by default on
future runs. This should help to avoid indexing getting stuck on
problematic files.
+ Add a "pages" field with the number of pages in the document where we
know how to determine this (currently only for PDF files for which pdfinfo
reports this information).
+ Handle initially empty database exactly the same was as when --overwrite
is specified. This probably has no user-visible consequences, but it's
cleaner for the handling to be exactly the same.
* scriptindex:
+ Improve scriptindex diagnostic messages. All diagnostics are now labelled
as "error", "warning" or "note" as appropriate, and we now consistently
report "FILE:LINE:" (and also "COLUMN:" in most cases) to make it clearer
where the problem lies.
+ Add new "split" action which splits the text on a specified delimiter and
executes the following actions for each piece. Based on a patch by Gaurav
Arora.
+ Missing whitespace after the closing " on an action argument is now
flagged as an error. Previously scriptindex would attempt to parse
the following characters as the next action.
+ Support C-like escapes for quoted parameter values. Notably this means it
is now possible to include `"` in quoted parameter values.
omega:
+ Value-based date range filters can now be specified via CGI parameters
START.N, END.N and/or SPAN.N where N is a value slot number, allowing
multiple concurrent filters on different slots to be specified.
+ Support YYYY and YYYYMM limits in term-based date ranges. Previously
value-based date ranges supported these as limits, but term-based date
ranges gave an error.
+ Add stem_strategy option and deprecate existing stem_all option in favour
of this new more versatile option.
+ Support "natural" $sort option via new flag "#" which sorts embedded
natural numbers in numerical order.
+ Support numeric $sort option via new flag "n", similar to GNU sort -n.
+ Rewrite field parsing to be more efficient, and store fields in an
unordered_map for faster lookup.
API:
* QueryParser,TermGenerator: Add new stemming mode STEM_SOME_FULL_POS.
This stores positional information for both stemmed and unstemmed terms,
allowing NEAR and ADJ to work with stemmed terms. The extra positional
information is likely to take up a significant amount of extra disk space so
the default STEM_SOME is likely to be a better choice for most users.
* Database::check(): Fetch and decompress the document data to catch problems
with the splitting of large data into multiple entries, corruption of the
compressed data, etc. Also check that empty document data isn't explicitly
stored for glass.
* Fix an incorrect type being used for term positions in the TermGenerator API.
These were Xapian::termcount but should be Xapian::termpos. Both are
typedefs for the same 32-bit unsigned integer type by default (almost always
"unsigned int") so this change is entirely compatible, except that if you
were configuring 1.4.7 or earlier with --enable-64bit-termcount you need to
also use the new --enable-64bit-termpos configure option with 1.4.8 and up or
rebuild your applications. This change was necessary to make
--enable-64bit-termpos actually useful.
* Add Document::remove_postings() method which removes all postings in a
specified term position range much more efficiently than by calling
remove_posting() repeatedly. It returns the number of postings removed.
* Fix bugs with handling term positions >= 0x80000000. Reported by Gaurav
Arora.
* Document::add_posting(): More efficiently handle insertion of a batch of
extra positions in ascending order.
* Query: Simplify OP_SYNONYM with single OP_WILDCARD subquery by converting to
OP_WILDCARD with combiner OP_SYNONYM, which means such cases can take
advantage of the new matcher optimisation in this release to avoid needing
document length for OP_WILDCARD with combiner OP_SYNONYM.
matcher:
* Avoid needing document length for an OP_WILDCARD with combiner OP_SYNONYM.
We know that we can't get any duplicate terms in the expansion of a wildcard
so the sum of the wdf from them can't possibly exceed the document length.
* OP_SYNONYM: No longer tries to initialise weights for its subquery, which
should reduce the time taken to set up a large wildcard query.
* OP_SYNONYM: Fix frequency estimates when OP_SYNONYM is used with a
subquery containing OP_XOR or OP_MAX - in such cases the frequency
estimates for the first subquery of the OP_XOR/OP_MAX were used for
all its subqueries. Also the estimated collection frequency is
now rounded to the nearest integer rather than always being rounded
down.
glass backend:
* Revert change made in 1.4.6:
Enable glass's "open_nearby_postlist" optimisation (which especially helps
large wildcard queries) for writable databases without any uncommitted
changes as well.
The amended check isn't conservative enough as there may be postlist changes
in the inverter while the table is unmodified. This breaks testcase
T150-tagging.sh in notmuch's testsuite, reported by David Bremner.
* When indexing a document without any terms we now avoid some unnecessary work
when storing its termlist.
tools:
* xapian-delve: Test for all docs empty using get_total_length() which is
slightly simpler internally than get_avlength(), and avoids an exact floating
point equality check.
examples:
* quest: Support --weight=coord.
* xapian-pos: New tool to show term position info to help debugging when using
positional information in more complex ways.
portability:
* Fix undefined behaviour from C++ ODR violation due to using the same name
two different non-static inline functions. It seems that with current GCC
versions the desired function always ends up being used, but with current
clang the other function is sometimes used, resulting in database corruption
when using value slots in docid 16384 or higher with the default glass
backend. Patch from Germán M. Bravo.
* Suppress alignment cast warning on sparc Linux. The pointer being cast is to
a record returned by getdirentries(), so it should be suitable aligned.
* Drop special handling for Compaq C++. We never actually achieved a working
build using it, and I can find no evidence that this compiler still exists,
let alone that it was updated for C++11 which we now require.
* Create new database directories in race-free way.
* Avoid throwing and handling an exception in replace_document() when
adding a document with a specified docid which is <= last_docid but currently
unused.
* Use our portable code for handling UUIDs on all platforms, and only use
platform-specific code for generating a new UUID. This fixes a bug with
converting UUIDs to and from string representation on FreeBSD, NetBSD and
OpenBSD on little-endian platforms which resulted in reversed byte order in
the first three components, so the same database would report a different
UUID on these platforms compared to other platforms. With this fix, the
UUIDs of existing databases will appear to change on these platforms
(except in rare "palindronic" cases). Reported by Germán M. Bravo.
* Fix to build with a C++17 compiler. Previously we used a "byte" type
internally which clashed with "std::byte" in source files which use
"using namespace std;". Fixes#768, reported by Laurent Stacul.
* Adjust apitest testcase stubdb2 to allow for NetBSD oddity: NetBSD's
getaddrinfo() in IPv4 mode seems to resolve ::1 to an IPv4 address on the
local network.
* Avoid timer_create() on OpenBSD and NetBSD. On OpenBSD it always fails with
ENOSYS (and there's no prototype in the libc headers), while on NetBSD it
seems to work, but the timer never seems to fire, so it's useless to us (see
#770).
* Use SOCK_NONBLOCK if available to avoid a call to fcntl(). It's supported by
at least Linux, FreeBSD, NetBSD and OpenBSD.
* Use O_NOINHERIT for O_CLOEXEC on Windows. This flag has essentially the same
effect, and it's common in other codebases to do this.
* On AIX O_CLOEXEC may be a 64-bit constant which won't fit in an int. To
workaround this stupidity we now call the non-standard open64x() instead
of open() when the flags don't fit in an int.
* Add functions to add/multiply with overflow check. These are implemented
with compiler builtins or equivalent where possible, so the overflow check
will typically just require a check of the processor's overflow or carry
flag.
This is a library that's part of providing a fully featured spellchecker
for Finnish. From DESCR:
This is a minimal hfst optimized lookup format based spell checker library and
a demonstrational implementation of command line based spell checker. The
library is licenced under Apache licence version 2, other licences can be
obtained from University of Helsinki.
GITHUB_PROJECT by default is already PKGBASE, no need to reinitialize it.
Reuse PKGVERSION_NOREV for GITHUB_TAG.
Remove commented out WRKSRC while here.
1.6.2
Library changes: no. Same as 1.6.1.
Command line tool:
- Added German translation
- Fixed bug with wrong output encoding, not respecting system locale.
1.6.1
Library changes:
- Performance improvements in suggest()
- Fixes regressions for Hungarian related to compounding.
- Fixes regressions for Korean related to ICONV.
Command line tool:
- Added Tajik translation
- Fix regarding serching of OOo dicts installed in user folder
Manpages:
- Fix microsoft-cp1251 to cp1251. Dicts should not use the first.
- Typos.
1.6.0
Changes in the library:
- Performance improvement in ngsuggest(), suggestions should be faster.
- Revert MAXWORDLEN to 100 as in 1.3.3 for performance reasons.
- MAXWORDLEN can be set during build time with -D defines.
- Fix crash when word with 102 consecutive X is spelled.
Changes in the command line tool:
- -D shows all loaded dictionares insted of only the first.
- -D properly lists all available dictionaries on Windows.
1.5.4
Fixes bug related to the Hungarian dictionary and the command COMPOUNDSYLLABLE
1.5.3
Remove a unneded #include header in the public hunspell.hxx
1.5.2
Fixes backward compatibility with 1.4 at API level. Now it should be complete.
1.5.1
- Lot of stability fixes
- Fixed compilation errors on various systems (Windows, FreeBSD)
- Small performance improvement compared to 1.4.0
- Added new API with C++ types (string, vector), yet full API backward compatibility with 1.4 is kept
1.4.1
Past begin() iterator decrement error
VS Debug build threw error on decrement past begin.
1.4.0
New release that strips out fixed length buffers from large parts of the library
Note: dictmgr.hxx header is dropped
1.1.2:
* Fix for issue where in_memory files weren't compressed.
* Fix write() so that it handles array formulas as documented.
* Fix for issue with special characters in worksheet table functions.
* Added warnings for input issues in :func:write_rich_string() such as blank
strings, double formats or insufficient parameters.
2.5.9:
Bugfixes
* Clean AutoFilter name definitions
* Attribute missing from Shape object
* Failure to read all DrawingML means workbook can't be read
Pull Requests
* Allow newlines in formulae
* Fix whitespace in front of infix operator in formulae
Upstream changes:
2.500 2018-10-06
- update to Unicode 10.0.0
- Net::IDN::UTS46: remove workarounds for pre-9.0.0 test vectors; the
module now more closely follows the written spec
- Net::IDN::UTS46: fix validation for some non-valid characters
- Net::IDN::UTS46: for perl 5.8.x/5.10.x, include workaround for bidi
validation where some labels would incorrectly be marked as invalid
[B1] because of a bug in perl's Unicode implementation
- Net::IDN::Punycode: fix for warnings under perl ≤ 5.8.7 (EXPERIMENTAL)
Push diff implementation (from libdiff) directly into the code instead of using the external library. From a patch by Anton Lindqvist as suggested on the OpenBSD ports mailing lits. Thank you!
Significantly update the diffing algorithm. First, make some general fixes to the algorithm. Second, improve the "optimisations" phase by adding top-down analysis that matches un-matched, non-terminal adjacent children. This helps with text changes in text-only paragraphs. Third, add a SES (shortest edit script) computation for matched adjacent text nodes. Lastly, add the new diff function manpages.
Portability: don't use %F for date formatting. This doesn't work with some libc versions. Also some documentation readability improvements.
Strip leading white-space from metadata extracted using -X. Sync with newest oconfigure.
Document the metadata functionality in lowdown(5), thanks to Christina Sophonpanich (thanks!). Also sync with newest oconfigure.
Add a "diff" tool, lowdown-diff(1). This utility uses an algorithm adapted from Detecting Changes in XML Documents to compute the semantic difference between two parse trees. It is fully documented. While there, also add more inter-paragraph spacing to -Tms output, producing more elegant documents, and continue fleshing out lowdown(5). Also add some more metadata recognition in -s output for all modes (copyright, affiliation, etc.).
Re-wrote escape parser to -Tms and -Tman to respect roff special characters. Have e-mail autolinks respect the mailto: in pdfhref'd output, and have links with mailto: omit the schema in display just like in -Thtml. Make block-list-items render properly in -Tms and -Tman. Also introduce lowdown(5), a work-in-progress to document the Markdown formatting accepting by this system. The first were noted, and the last contributed in full, by Christina Sophonpanich — thanks!
Fixed compilation on Linux and Mac OS X by adding memrchr compatibility. Noted by Christina Sophonpanich — thanks!
Considerable clean-up of -Tms and -Tman, with the aim of much higher PDF output quality: proper nested list support, hyperlinks, PS/PDF TOC, and even some images (PS/EPS only—experimental!). Also, after some pointers on the groff mailing list, use the correct invocation for generating PDF output. Fix up footnote printing to use automatic -ms macros and registers, if applicable.
Also added support for the "affiliation" metadata keyword.
Added some CommonMark support, initially just escaped newlines, supported only when the commonmark input flag is specified. Removed the sphd input flag in favour of commonmark. Also fixed raw HTML block outputting and setext-style level-two headers.
PTable is a simple Python library designed to make it quick and easy to
represent tabular data in visually appealing ASCII tables, originally forked
from PrettyTable.
- fixed xterm256 and truecolor whitespace output #2
(https://gitlab.com/saalen/highlight/issues/90)
- fixed LaTeX, TeX, SVG and ODT whitespace output (regression of 3.45)
- added darkplus theme (https://gitlab.com/saalen/highlight/merge_requests/84)
- converted ChangeLog to AsciiDoc
- allowed state test indicators to match both whitespace (ws) and the
enclosing state (others)
- CLI: default output changed to xterm256 or truecolor if run in a
terminal with color support and only a single file is outputted
- GUI: added checkbox in the clipboard tab to output selected lines only
Version 0.8.4
Support an escaped pipe char in a table cell.
Fix ordered and unordered list.
Fix spaces between = in HTML tags
Add max_recursive_depth for list and blockquote.
Fix fences code block.
Version 1.0:
NOTE jsonpickle no longer supports Python2.6, or Python3 < 3.4. The officially supported Python versions are now 2.7 and 3.4+.
Improved Pandas and Numpy support.
Improved support for pickling iterators.
Better support for the stdlib json module when simplejson is not installed.
jsonpickle will now output python3-style module names when pickling builtins methods or functions.
jsonpickle will always flatten primitives, even when max_depth is reached, which avoids encoding unicode strings into their u'string' representation.
Nested classes are now supported on Python 3.
Better support for older (pre-1.9) versions of numpy
Changelog:
[ANNOUNCE] Link-Grammar Version 5.5.0 is now available.
Version 5.5.0 of link-grammar has been released. It contains several
important bug-fixes for opencog users.
* The previous version accidentally broke the opencog API. This version
fixes it.
* Linkages generated by the "ANY" random parser were not actually being
randomized. This is now fixed. (Bug reported by Andres.)
* Poorly-formated dictionaries no longer report errors. (Bug reported
by Alexei/Anton)
The complete list of changes is:
* Fix accidental API breakage that impacts OpenCog.
* Fix memory leak when parsing with null links.
* Python bindings: Add an optional parse-option argument to parse().
* Add an extended version API and use it in "link-parser --version".
* Fix spurious errors if the last dict line is a comment.
* Fix garbage report if EOF encountered in a quoted dict word.
* Fix garbage report if whitespace encountered in a quoted dict word.
* Add a per-command help in link-parser.
* Add a command line completion in link-parser.
* Enable build of word-graph printing support by default.
* Add idiom lookup in link-parser's dict lookup command (!!idiom_here).
* Improve handling of quoted words (e.g. single words in "scare
* quotes").
* Fix random selection of linkages so that it's actually random.
You can download link-grammar from
http://www.abisource.com/downloads/link-grammar/current/
The website is here:
https://www.abisource.com/projects/link-grammar/
WHAT IS LINK GRAMMER?
The Link Grammar Parser is a syntactic parser of English (and other
languages as well), based on Link Grammar, an original theory of English
syntax. Given a sentence, the system assigns to it a syntactic structure,
which consists of a set of labelled links connecting pairs of words.
=================================================================
=================================================================
=================================================================
[ANNOUNCE] Link-Grammar Version 5.4.4 is now available.
I'm pleased to announce that version 5.4.4 is now available. I don't
normally announce minor versions, but this one was almost named 5.5.0.
Which suggests that there were some important changes. Dictionary
loading is now thread safe. Security vulnerabilities are fixed. Parsing
of Russian is now 2x faster than before. Connectors can be individually
given length limits - handy for morphology and phonetic agreement - and
the root reason for the Russian speedup. An assortment of fixes to the
English dictionary, including a reversal of some back-sliding in the
test corpus.
You can download link-grammar from
http://www.abisource.com/downloads/link-grammar/current/
The website is here:
https://www.abisource.com/projects/link-grammar/
WHAT IS LINK GRAMMER?
The Link Grammar Parser is a syntactic parser of English (and other
languages as well), based on Link Grammar, an original theory of English
syntax. Given a sentence, the system assigns to it a syntactic structure,
which consists of a set of labelled links connecting pairs of words.
=================================================================
=================================================================
=================================================================
[ANNOUNCE] Link-Grammar Version 5.4.0 is now available.
I'm pleased to announce that version 5.4.0 is now available. Besides
including various bug fixes, this release is notable for completely
restructuring the organization of the source code, grouping files into
directories according to the processing stage that they implement. See
below for the full ChangeLog.
You can download link-grammar from
http://www.abisource.com/downloads/link-grammar/current/
The website is here:
https://www.abisource.com/projects/link-grammar/
WHAT IS LINK GRAMMER?
The Link Grammar Parser is a syntactic parser of English (and other
languages as well), based on link grammar, an original theory of English
syntax. Given a sentence, the system assigns to it a syntactic
structure, which consists of a set of labelled links connecting pairs of
words. The parser also produces a "constituent" (Penn tree-bank style
phrase tree) representation of a sentence (showing noun phrases, verb
phrases, etc.).
0.7.12:
* Add a tidelift_url option, which when set (default is None/unset) adds a small text snippet to the donate.html sidebar component, linking to the given URL string.
* Add a generic donation badge/url option (visually powered by https://shields.io/) as well as a service-specific donation option for OpenCollective.
* Fix a typo in the code-block font family, which incorrectly specified Deja Vu Sans Mono instead of DejaVu Sans Mono. This would primarily impact systems lacking the first two fonts (Consolas and Menlo) such as Linux desktops.
* Remove Gittip/Gratipay output from the donate.html sidebar component, since the actual service has been insolvent since 2017. The configuration options remain in place for the time being (to avoid breaking backwards compatibility) but no longer do anything.
* On some browsers/platforms, ‘badge’-style sidebar elements were displaying dotted underlines. This was unintentional and explicit styling has been added to remove them. Credit to Steven Loria.
* Reorganize the customization page to break up the now rather long list of “variables and feature toggles” into additional sections; includes alphabetizing those lists, to make it a bit easier to find docs for a specific setting.
v0.4.2
Fixes
Set base font size on <html>
Fix HTML search not working with Sphinx-1.8
Other Changes
Upload signed packages to PyPI with twine
Do not enforce period at the end of copyright statement
Version 2.11
* New features:
- Add json_pack() format specifiers s*, o* and O* for values that
can be omitted if null
- Add json_error_code() to retrieve numeric error codes
- Enable thread safety for json_dump() on all systems. Enable thread
safe json_decref() and json_incref() for modern compilers
- Add json_sprintf() and json_vsprintf()
* Bug Fixes:
- Fix incorrect report of success from json_dump_file() when an error
is returned by fclose()
- Make json_equal() const-correct
- Fix incomplete stealing of references by json_pack()
* Build:
- Work around gcc's -Wimplicit-fallthrough.
- Fix CMake detection of sys/types.h header
- Fix jansson.pc generated by CMake to be more consistent with the one
generated using GNU Autotools
* Other:
- Miscellaneous documentation fixes
- Remove unnecessary reference actions from parsers
Version 2.10
* New features:
- Add JSON_EMBED encoding flag allowing arrays and objects to be encoded
into existing streams
- Add json_dumpb() function for dumping to a pre-allocated buffer
- Add json_dumpfd() and json_loadfd() functions for dumping to streaming
file descriptors
- Add support for parsing buffers larger than 2GB
* Build:
- Fix CMake build when LONG_LONG_INT is defined as ""
* Other:
- Internal code cleanup
Version 2.9
* New features:
- Add json_auto_t to automatically decref a value that goes out
of scope. Available only on GCC and Clang.
* Build:
- Fix CMake build (at least on Linux) by removing conflicting
jansson_config.h from the distribution
- Change CMake install target generation to be optional
* Documentation:
- Small documentation fixes.
Version 2.8
* New features:
- Always preserve insertion order of object items.
json_object_iter() and friends, json_object_foreach() and
json_dumps() and friends now always work in the insertion order of
object items
- Add json_object_foreach_safe() macro that allows
json_object_del() calls during iteration
- Add json_get_alloc_funcs() to allow reading the allocation
functions set by json_set_alloc_funcs()
- Add json_pack() format specifiers s?, o? and O? for values that
can be null
* Bug fixes:
- Fix a crash when parsing inputs consisting of very deeply nested
arrays or objects
- Never convert numbers to integers in the parser when
JSON_DECODE_INT_AS_REAL is set. This fixes error messages for
overflowing numbers when JSON_DECODE_INT_AS_REAL is set
- Fix a use-after-free in json_pack() error handling.
- Fix subnormal number parsing on mingw32.
- Handle out-of-memory situations gracefully in the hashtable
implementation
* Build:
- Fix build with CMake on all versions of Visual Studio up to 2015
- Fix pkgconfig libdir when using CMake
- Fix CMake config for static CRT builds on Windows
- Fix warnings on LLVM 6.0 targeting iOS arm64
- Add coverlls.io support via Travis for a nice test coverage badge
- Don't expect jansson_config.h to be in the compiler's include
path
- Add a build-time option to set initial hashtable size
- Use snprintf and strncpy in place of sprintf and strcpy to silence
linker warnings on OpenBSD
* Documentation:
- Fix various typos in documentation, and a broken link
- Add an example program in examples/
- Fix building of documentation man pages
- Document the fact that copying objects doesn't preserve the
insertion order of keys
* Tests:
- Don't use the nonstandard __FUNCTION__ macro in tests.
- Use expr instead of $((...)) in shell scripts for Solaris 10
compatibility.
- Disable Visual Studio warning C4756 when triggered deliberately in
tests
- Other minor fixes
* Other changes:
- List all unrecognized object keys when strict unpacking fails
- Alter the order of the members of the hashtable_pair struct for
easier debugging.
- Minor performance improvement to json_dump() and friends
- Minor style fixes
python-markdown2 2.3.6
* Add TOC depth option
* Fix to add TOC html to output via CLI
* Do not remove anchors in safe_mode
* fixing cuddled-lists with a single list item
* Fix Wrong rendering of last list element
* link-patterns fix
* Replace a deprecated method
* DeprecationWarning: invalid escape sequence
* Fix "make test" in Python 3
* Fix CVE-2018-5773
Upstream changes:
1.37 - 2018-09-27, H.Merijn Brand
* Moved pod-tests from t to xt
* Add munge as alias for munge_column_names
* Update Devel::PPPort
* Simplified ref-check defines in XS (issue 12, thanks pali)
2.5.8:
Cannot control how missing values are displayed in charts.
Cell references can’t be used for chart titles
Params in iter_cols and iter_rows methods are slightly wrong.
5.4.1:
Fix error in a newly added test.
Changed code format and quality checking infrastructure.
5.4.0:
Re-expose natsort_key as "public" and remove the associated DepricationWarning.
Add better developer documentation.
Refactor tests.
Bump allowed fastnumbers version.
Release 1.8.1:
Incompatible changes
LaTeX \pagestyle commands have been moved to the LaTeX template. No changes in PDF, except possibly if \sphinxtableofcontents, which contained them, had been customized in conf.py.
Bugs fixed
* Incorrect default path for sphinx-build -d/doctrees files
* autodoc emits deprecation warning for autodoc_default_flags
* lambda object causes PicklingError on storing environment
* Sphinx fails to build with syntax error in Python 2.7.5
* add latexpdf to make.bat for non make-mode
* Autodoc does not work with enum subclasses with properties/methods
* autodoc: crashed on modules importing eggs
* latex: ImportError: cannot import name ‘DEFAULT_SETTINGS’
* autodoc: autofunction emits a warning for callable objects
* Fix TypeError in error message when override is prohibited
* PDF builds of ‘howto’ documents have no page numbers
* mathbase: math_role and MathDirective was disappeared in 1.8.0
* latex: Index has disappeared from PDF for Japanese documents
* py domain: :type: field can’t process :term: references
* py domain: TypeError has been raised for class attribute
kramdown 1.17.0 released 31 May 2018
This release adds support for another server side math engine based on KaTeX
but with an easier installation method. There are also various fixes, the
most important one being a change in the Setext and atx style header parsers
to prevent performance and potential denial of service problems.
Thanks to all the people working on making kramdown better!
Changes
* 3 minor change:
o Add new math engine katex for easier server-side conversion (pull requests
#489, #510 by Gleb Mazovetskiy)
o New configuration options --no-config-file and --config-file FILE for the
kramdown binary (pull request #499 by ccorn)
o Add information to AST whether a codeblock is indented or fenced (issue
#507 and pull request #508 by Dan Allen)
* 4 bug fixes:
o Fix the numeric values of the entities cap and cup (pull request #487 by
Ashe Connor)
o Fix problem with parsing an empty tag inside a table cell while using
html_to_native (issue #514 and pull request #515 by Dan Allen)
o Fix performance issue in Setext and atx style headers when parsing a lot of
space (fixes#505 by Dmitry Krasnoukhov, pull request #513 by Gleb
Mazovetskiy)
o Prevent duplicate warning for reference style links with missing link
identifier (fixes#492 reported by Gregory Pakosz)
* 8 documentation and other changes:
o Expand table of contents example for HTML converter (pull request #484 by
Milo Simpson)
o Use non-deprecated SCSS color function for kramdown homepage (pull request
#485 by ccorn)
o Add usage notes and comparison for KaTeX vs SsKaTeX (pull request #493 by
ccorn)
o Node version 6.0 is now used because of newer mathjax-node requirements
(pull request #498 by ccorn)
o Rakefile adjustments for various math engines (pull request #499 by ccorn)
o Add more files to .gitignore (pull request #518 by Gleb Mazovetskiy)
o Remove some unneeded code for Ruby versions < 2.0 (pull request #502 by
Ashwin Maroli)
o Updated the kramdown website to be more privacy-friendly
Release 1.8.0:
Dependencies
1.8.0b1
* LaTeX: :confval:latex_use_xindy, if True (default for
xelatex/lualatex), instructs make latexpdf to use :program:xindy
for general index. Make sure your LaTeX distribution includes it.
Incompatible changes
1.8.0b2
* html theme: refer pygments_style settings of HTML themes
preferentially
* The URL of download files are changed
* quickstart: Makefile and make.bat are not overwritten if exists
1.8.0b1
* the :py:mod:sphinx.ext.graphviz: extension runs dot in the
directory of the document being built instead of in the root directory of
the documentation.
* extensions which stores any data to environment should return the
version of its env data structure as metadata. In detail, please see
:ref:ext-metadata.
* Sphinx expects source parser modules to have supported file formats as
Parser.supported attribute
* The default value of :confval:epub_author and :confval:epub_publisher are
changed from 'unknown' to the value of :confval:author. This is same as
a conf.py file sphinx-build generates.
* The gettext_compact attribute is removed from document.settings
object. Please use config.gettext_compact instead.
* The processing order on reading phase is changed. smart_quotes, sphinx
domains, :event:doctree-read event and versioning doctrees are invoked
earlier than so far. For more details, please read a description of
:py:meth:.Sphinx.add_transform()
* All substitution_definition nodes are removed from doctree on
reading phase
* docutils.conf on $HOME and /etc directories are ignored. Only
docutils.conf on confdir is refered.
* :samp: role supports to escape curly braces with backslash
* The files under :confval:html_static_path are excluded from source
files.
* latex: Use \sphinxcite for citation references instead \hyperref
* The config value viewcode_import is renamed to
:confval:viewcode_follow_imported_members
* latex: :confval:latex_show_pagerefs does not add pagerefs for
citations
* latex: Now "rubric" elements are rendered as unnumbered section title
* html: The anchor for productionlist tokens has been changed
* Modifying a template variable script_files in templates is allowed now.
Please use app.add_js_file() instead.
* Save environment object also with only new documents
* qthelp builder allows dashes in :confval:qthelp_namespace
* LaTeX: with lualatex or xelatex use by default :program:xindy as
UTF-8 able replacement of :program:makeindex. After
upgrading Sphinx, please clean latex build repertory of existing project
before new build.
* html: hlist items are now aligned to top
* highlightlang directive is processed on resolving phase
* latex: LaTeX template has been chaned. Following elements are moved
into the template:
- \begin{document}
- shorthandoff variable
- maketitle variable
- tableofcontents variable
Deprecated
1.8.0b2
* sphinx.io.SphinxI18nReader.set_lineno_for_reporter() is deprecated
* sphinx.io.SphinxI18nReader.line is deprecated
* sphinx.util.i18n.find_catalog_source_file() has changed; the
*gettext_compact* argument has been deprecated
* sphinx.util.images.guess_mimetype() has changed; the *content*
argument has been deprecated
1.8.0b1
* :confval:source_parsers is deprecated
* :confval:autodoc_default_flags is deprecated
* quickstart: --epub option becomes default, so it is deprecated
* Drop function based directive support. For now, Sphinx only supports class
based directives.
* sphinx.util.docutils.directive_helper() is deprecated
* sphinx.cmdline is deprecated
* sphinx.make_mode is deprecated
* sphinx.locale.l_() is deprecated
* helper function warn() for HTML themes is deprecated
* app.override_domain() is deprecated
* app.add_stylesheet() is deprecated
* app.add_javascript() is deprecated
* app.import_object() is deprecated
* app.add_source_parser() has changed; the *suffix* argument has been
deprecated
* sphinx.versioning.prepare() is deprecated
* Config.__init__() has changed; the *dirname*, *filename* and *tags*
argument has been deprecated
* Config.check_types() is deprecated
* Config.check_unicode() is deprecated
* sphinx.application.CONFIG_FILENAME is deprecated
* highlightlang directive is deprecated
* BuildEnvironment.load() is deprecated
* BuildEnvironment.loads() is deprecated
* BuildEnvironment.frompickle() is deprecated
* env.read_doc() is deprecated
* env.update() is deprecated
* env._read_serial() is deprecated
* env._read_parallel() is deprecated
* env.write_doctree() is deprecated
* env._nitpick_ignore is deprecated
* env.versionchanges is deprecated
* env.dump() is deprecated
* env.dumps() is deprecated
* env.topickle() is deprecated
* env.note_versionchange() is deprecated
* sphinx.writers.latex.Table.caption_footnotetexts is deprecated
* sphinx.writers.latex.Table.header_footnotetexts is deprecated
* sphinx.writers.latex.LaTeXTranslator.footnotestack is deprecated
* sphinx.writers.latex.LaTeXTranslator.in_container_literal_block is deprecated
* sphinx.writers.latex.LaTeXTranslator.next_section_ids is deprecated
* sphinx.writers.latex.LaTeXTranslator.next_hyperlink_ids is deprecated
* sphinx.writers.latex.LaTeXTranslator.restrict_footnote() is deprecated
* sphinx.writers.latex.LaTeXTranslator.unrestrict_footnote() is deprecated
* sphinx.writers.latex.LaTeXTranslator.push_hyperlink_ids() is deprecated
* sphinx.writers.latex.LaTeXTranslator.pop_hyperlink_ids() is deprecated
* sphinx.writers.latex.LaTeXTranslator.check_latex_elements() is deprecated
* sphinx.writers.latex.LaTeXTranslator.bibitems is deprecated
* sphinx.writers.latex.LaTeXTranslator.hlsettingstack is deprecated
* sphinx.writers.latex.ExtBabel.get_shorthandoff() is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlang is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlang_base is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlangopts is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlinenothreshold is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlang is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlang_base is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlangopts is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlinenothreshold is deprecated
* sphinx.ext.mathbase extension is deprecated
* sphinx.ext.mathbase.math node is deprecated
* sphinx.ext.mathbase.displaymath node is deprecated
* sphinx.ext.mathbase.eqref node is deprecated
* sphinx.ext.mathbase.is_in_section_title() is deprecated
* sphinx.ext.mathbase.MathDomain is deprecated
* sphinx.ext.mathbase.setup_math() is deprecated
* sphinx.directives.other.VersionChanges is deprecated
* sphinx.highlighting.PygmentsBridge.unhighlight() is deprecated
* sphinx.ext.mathbase.get_node_equation_number() is deprecated
* sphinx.ext.mathbase.wrap_displaymath() is deprecated
* The trim_doctest_flags argument of sphinx.highlighting.PygmentsBridge
is deprecated
Features added
1.8.0b2
* Ensure frozen object descriptions are reproducible
* apidoc: Add --tocfile option to change the filename of ToC
1.8.0b1
* Add :event:config-inited event
* Add sphinx.config.Any to represent the config value accepts any type of
value
* :confval:source_suffix allows a mapping fileext to file types
* Add :confval:author as a configuration value
* imgconverter: Support to convert GIF to PNG
* sphinx-build command supports i18n console output
* Add app.add_message_catalog() and sphinx.locale.get_translations() to
support translation for 3rd party extensions
* helper function warning() for HTML themes is added
* Add Domain.enumerable_nodes to manage own enumerable nodes for domains
(experimental)
* Add a new keyword argument override to Application APIs
* LaTeX: new key 'fvset' for :confval:latex_elements. For
XeLaTeX/LuaLaTeX its default sets fanvyvrb to use normal, not small,
fontsize in code-blocks
* Add :confval:html_css_files and :confval:epub_css_files for adding CSS
files from configuration
* Add :confval:html_js_files for adding JS files from configuration
* Ensure set object descriptions are reproducible.
* Allow to override :confval:numfig_format partially. Full definition
is not needed.
* Improve warning messages during including
* LaTeX: separate customizability of :rst:role:guilabel and
:rst:role:menuselection
* Add Config.read() classmethod to create a new config object from
configuration file
* Wrap graphviz diagrams in <div> tag
* viewcode: Add :event:viewcode-find-source and
:event:viewcode-follow-imported to load source code without loading
* napoleon: Add strings to translation file for localisation
* Display a warning when invalid values are passed to linenothreshold
option of highlight directive
* C++:
- Add a cpp:texpr role as a sibling to cpp:expr.
- Add support for unions.
- add support for anonymous entities using names staring with @.
- add support for (most) character literals.
- Cross-referencing entities inside primary templates is supported,
and now properly documented.
- add new cross-referencing format for cpp:any and cpp:func roles,
for referencing specific function overloads.
* MathJax should be loaded with async attribute
* html: Output canonical_url metadata if :confval:html_baseurl set
* autosummary: expose inherited_members to template
* mathjax: Add :confval:mathjax_options to give options to script tag
for mathjax
* latex: Don't overwrite .tex file if document not changed
* latex: Add alphanumeric enumerated list support
* Add :confval:latex_use_xindy for UTF-8 savvy indexing, defaults to True
if :confval:latex_engine is 'xelatex' or 'lualatex'.
* SphinxLoggerAdapter.info() now supports location parameter
* setuptools: support nitpicky option
* autoclass directive supports nested class
* Add app.add_html_math_renderer() to register a math renderer for HTML
* Apply :confval:trim_doctest_flags to all builders (cf. text, manpages)
* linkcheck: Add better Accept header to HTTP client
* sphinx-build: Add --keep-going option to show all warnings
* Add :rst:role:math:numref role to refer equations (Same as :rst:role:eq)
* quickstart: epub builder is enabled by default
* Add :confval:singlehtml_sidebars to configure sidebars for singlehtml
builder
* doctest: Skip doctest conditionally
* autodoc: emit a warning for invalid typehints
* autodoc: Add :confval:autodoc_default_options which accepts
option values as dict
Bugs fixed
1.8.0b2
* html: search box overrides to other elements if scrolled
* i18n: warnings for translation catalogs have wrong line numbers
* latex: cross references has been broken by multiply labeled objects
* C++, fixes for symbol addition and lookup. Lookup should no longer break
in partial builds.
* download reference to remote file is not displayed
* html theme: pygments_style of theme was overrided by conf.py
by default
* toctree shows confusible warning when document is excluded
* autodoc: :members: causes :special-members: not to be shown
* autodoc: ImportError is replaced by AttributeError for deeper module
* Incorrect links with :download:, duplicate names, and
parallel builds
* autodoc: failed to analyze source code in egg package
* Sphinx crashes if unknown po file exists
1.8.0b1
* i18n: message catalogs were reset on each initialization
* latex: footnote inside footnote was not rendered
* i18n: fix lang_COUNTRY not fallback correctly for IndexBuilder. Thanks
to Shengjing Zhu.
* productionlist directive generates invalid IDs for the tokens
* (lualatex) PDF build fails if indexed word starts with Unicode character
* latex: index headings "Symbols" and "Numbers" not internationalized
* sphinx-build: Handle errors on scanning documents
* epub: spine has been broken when "self" is listed on toctree
* autosummary does not understand docstring of module level attributes
* C++, prevent nested declarations in functions to avoid lookup problems.
* C++, add missing isPack method for certain template parameter types.
* C++, parse attributes on declerators as well.
* C++, parse delete expressions and basic new expressions as well.
* graphviz: SVGs do not adapt to the column width
Features removed
1.8.0b1
* sphinx.ext.pngmath extension
Documentation
1.8.0b1
* Fix wrong make.bat option for internationalization.
* napoleon: add admonitions added by 4613 to the docs.
v1.8.6
Beautifier has moved to https://beautifier.io
Closed Issues
JS beautify break the angular compile
base64 string is broken with v1.8.4
Bookmarklet becomes totally useless
HTTPS
Beautify breaks when js starts with space followed by multi-line comment
v1.8.4
Broader adoption of 1.8.x revealed a few more high priority fixes
Closed Issues
Multiple newlines added between empty textarea and "unformatted" inline elements
unindent_chained_methods broken
v1.8.3
Closed Issues
Missing Bower Assets
Javascript ternary breaked with await
Object property indented after await
Handlebars formatting problems
beautify.js doesn't have indent_level option
v1.8.1
Closed Issues
Why npm is a dependency?
indent_inner_html not working in v1.8.0
Release 1.1.0:
* Added functionality to align chart category axis labels. See the
label_align property of the :func:set_x_axis() method.
* Added worksheet :func:hide_row_col_headers() method to turn off worksheet
row and column headings.
* Added the :func:set_tab_ratio() method to set the ratio between the
worksheet tabs and the horizontal slider.
* Fixed issue with icon conditional formats when the values were zero.
Release 1.7.9:
Features added
* Make generated texinfo files reproducible by sorting the anchors
Bugs fixed
* crashed on incremental build if document uses include directive
GTK-Doc 1.29 (Aug 28 2018)
===============
GTK-Doc now requires python-3.X. It does not requires python-six anymore.
Note that this is a nonmaintainer release and that tests are known to be broken.
Changes
o 674163 : – html-build.stamp rule broken for out-of-tree builds with absolute paths
o 795744 : Too much escaped string - " & lt;child > " in description of " GtkOverlay as GtkBuildable " section
o 796011 : Crash in ScanDirectory caused by overlooked use of renamed `dir` variable
o 796012 : Several places in rebase.py incorrectly use `match.groups(1)` instead of `match.group(1)`, one causes a crash
Contributors
Adam Williamson
Anders Jonsson
Daniel Mustieles
David D
LRN
Marek Cernocky
Martin Blanchard
Michael Biebl
Michael Catanzaro
Rafael Fontenelle
Sebastian Geiger
Stefan Sauer
Tim Sabsch
Version 1.0.3:
Bugfix: Warn on relative paths in navigation
Bugfix: Handle empty theme_config.yml files correctly
Version 1.0.2:
Bugfix: Provide absolute base_url to error templates
Version 1.0.1:
Bugfix: Prevent page reload when [Enter] is pressed in search box
Bugfix: Avoid calling search until all assets are ready
Bugfix: Exclude README.md if index.md is present
Bugfix: Fix readthedocs theme navigation bug with homepage
Version 1.0:
Keyboard shortcuts changed to not conflict with commonly used accessibility shortcuts
User friendly YAML parse errors
Officially support Python 3.7.
A missing theme configuration file now raises an error.
Empty extra_css and extra_javascript settings no longer raise a warning.
Add highlight.js configuration settings to built-in themes
Close search modal when result is selected
Add a level attribute to AnchorLinks
Add MkDocs version check to gh-deploy script
Improve Markdown extension error messages.
Drop official support for Python 3.3 and set tornado>=5.0
Add support for GitLab edit links
Link to GitHub issues from release notes
Expand {sha} and {version} in gh-deploy commit message
Compress sitemap.xml
Defer loading JS scripts
Add a title attribute to the search input
Update RespondJS to latest version
Always load Google Analytics over HTTPS
Improve scrolling frame rate
Provide more version info.
Refactor writing-your-docs.md
Workaround Safari bug when zooming to < 100%
Remove addition of clicky class to body and animations.
Prevent search plugin from reinjecting extra_javascript files
Refactor copy_media_files util function for more flexibility
Remove PyPI Deployment Docs
Update links to Python-Markdown library
Document how to generate manpages for MkDocs commands
2.5.6:
Read-only mode can leave find-handles open when reading dimensions
Set a worksheet directly as active
Internal row counter not adjusted when rows are deleted or inserted
Release 1.7.8:
Incompatible changes
* The type of env.included has been changed to dict of set
Bugs fixed
* intersphinx: crashed if invalid url given
* manpage: crashed when invalid docname is specified as man_pages
* autodoc: Any typehint causes formatting error
* "document isn't included in any toctree" warning on rebuild with
generated files
* quickstart: escape sequence has been displayed with MacPorts' python
Yaml:
* New module, by Brian Exelbierd (GitHub's #66)
* Fix the behavior with utf-8 files, thanks to Zero King (GitHub's #112)
* Add the references from the Yaml file to the po file (GitHub's #117)
Thanks Zero King.
Texinfo:
* Fix handling of spaces in menu descriptions (Github's #122 and
Debian's #758851).
Text:
* Fix the parsing of fortunes files, which had been broken since
v0.43. The handling has changed a bit, all msgids are now marked as
"no-wrap", because the word wrap in fortunes files usually matters.
* Remove the option for parsing AsciiDoc. There has been a standalone
module for nearly five years, released with v0.45. The AsciiDoc
option for the Text module has been deprecated since then.
* Support pandoc's bibliographic information (title, author, date)
at the beginning of a markdown file. Also fix a trailing newline
in some markdown titles (Debian's #894977).
Man:
* Support .MT and .ME macros for e-mail address markup (Debian's #900965).
* Support .OP, .SY, and .YS macros for command synopses.
Asciidoc:
* handle macros with empty target, thanks Martijn Thé (GitHub's #54)
* Fixed a bug that prevented the asciidoc module to parse correctly four
characters table marks.
Documentation:
* Fix many typos and other issues found by Yuri Chornoivan (GitHub's #104)
and Allan Nordhøy (GitHub's #102) while translating.
* Remove the last references to the alioth servers and mailing lists.
po4a tool:
* po4a --keep-translations will not remove your existing translations
if they fall below the threshold. It won't create badly translated
files either. Use it if you prefer outdated but translated doc to
updated but not translated doc.
po4a-build tool:
* Remove it and all related shell scripts and makefile chunks. It is
deprecated by the po4a tool since a long time, and I could not find
any usage of po4a-build either in Debian or using search engines.
Translations:
* New translation: Norwegian Bokmål, thanks Petter Reinholdtsen.
* Updated: Indonesian, thanks Hori75.
* Updated: Portuguese (Brazil), thanks Rafael Fontenelle.
* Updated: French, Martin Quinson using weblate.
* Updated: Swedish, thanks Anders Jonsson using weblate.
* Updated: German, thanks Helge Kreutzmann.
* Updated: Italian, thanks Marco Ciampa.
* Updated: Dutch, thanks Frans Spiesschaert (Debian's #877248) & weblate.
* Updated: Portuguese, thanks shshshwhs using weblate.
Fixed: xml tags in Portuguese, thanks Jean-Noël Avila.
* Updated: Estonian, thanks Kristjan Räts using weblate.
* Updated: Ukrainian, thanks Yuri Chornoivan using weblate.
* Updated: Russian, thanks Igor using weblate.
* Updated: Ukrainian, thanks Yuri Chornoivan (українська).
* Updated: Portuguese (Brazil), thanks Rafael Fontenelle.
* Updated: German, thanks Helge Kreutzmann.
* Updated: Italian, thanks Marco Ciampa.
* Updated: French, thanks Jean-Baptiste.
* Updated: Vietnamese, thanks to Trần Ngọc Quân.
Other:
* Move to GitHub as the Alioth hosting facility is shutting down.
parse_type extends the parse module (opposite of string.format()) with the
following features:
* build type converters for common use cases (enum/mapping, choice)
* build a type converter with a cardinality constraint (0..1, 0..*, 1..*) from
the type converter with cardinality=1.
* compose a type converter from other type converters
* an extended parser that supports the CardinalityField naming schema and
creates missing type variants (0..1, 0..*, 1..*) from the primary type
converter
1. (bugfix) when splitting a line, null terminate the new line; also
don’t inherit the dle from the previous line
2. (bugfix) fix the broken footnote code; allow multi-paragraph
footnotes, not just one line of footnote.
3. (feature) support github checkbox list items (static configuration option)
a. --github-checkbox does the checkbox with html check entities
b. --github-checkbox=input does them with html <input> elements (set
to disabled so that people can’t check and uncheck willy-nilly)
4. (feature) on systems that support it, use the ‘destructor’
attribute on mkd_shlib_destructor() so it will run automatically when
the library unloads.
5. (feature) add --cxx-binding option to configure.sh to generate a
mkdio.h that’s got an extern "C" wrapper around it.
6. (tweak)delete HGROUP from the list of html5 elements, because the w3c
working group decided to punt it
The bugfix for not null-terminating a split line was reported by Github
user fCorleone, who was running a input mangler program (afl) to stress
discount by feeding random garbage to it. It saw that the splitline()
function (used when breaking out embedded chunks of html) was not
null-terminating the split line chunks, and was throwing errors on that.
(this is something that clang on modern macos catches if you use the
-fsanitize=address option.)
I never actually use footnotes, so I’d been running for about a decade
assuming that footnotes were one or maybe two lines, but github user
somasis pointed out that this was wrong wrong wrong! Ooops; at least it
was fixable w/o much pain and suffering.
HGROUP was caught by github user Crypto-Anarchist in their own branch of
discount, so I cherry-picked that changeset and pulled it back into the
mainline discount.
Release 1.0.8:
Added named exceptions to XlsxWriter. See The Exceptions Class.
Removed the implicit close() in the destructor since it wasn’t guaranteed to work correctly and raised a confusing exception when any other exception was triggered. Note that this is a backward incompatible change. The with context manager is a better way to close automatically, see close().
Added border, fill, pattern and gradient formatting options to set_legend().
Added top_right position to set_legend().
omega:
* New OmegaScript $unique command. The existing $uniq only removes adjacent
entries (like the Unix uniq command) so to fully remove duplicates you need a
sorted input. Sometimes it is desirable to remove duplicates from an
unsorted list without changing the order of the entries which are left, so
add $unique to do that. If the list is sorted already, then $uniq is more
efficient.
* Fix $map to cleanly reject a single argument.
templates:
* templates/query: Merge multiple entries in the term frequency information,
which came from searching several prefixes by default. Reported by Alistair
Buxton on #xapian-discuss.
* When multiple words with the same stem are in the query string we now fully
eliminate duplicates when showing term frequency information.
API:
* Database::check(): Fix bogus error reports for documents with length zero
due to a new check added in 1.4.6 that the doclength was between the stored
upper and lower bounds, which failed to allow for the lower bound ignoring
documents with length zero (since documents indexed only by boolean terms
aren't involved in weighted searches). Reported by David Bremner.
* Query: Use of Query::MatchAll in multithreaded code causes problems because
the reference counting gets messed up by concurrent updates. Document that
Query(string()) should be used instead of MatchAll in multithreaded code, and
avoid using it in library code. Reported by Germán M. Bravo.
* Stem:
+ Stemming algorithms added for Irish, Lithuanian, Nepali and Tamil.
+ Merge Snowball compiler changes which improve code generation.
+ Merge optimisations to the Arabic and Turkish stemmers.
glass backend:
* A long-lived cursor on a table in a WritableDatabase could get into
an invalid state, which typically resulted in a DatabaseCorruptError
being thrown with the message:
Db block overwritten - are there multiple writers?
But in fact the on-disk database is not corrupted - it's just that
the cursor in memory has got into an inconsistent state. It looks
like we'll always detect the inconsistency before it can cause on-disk
corruption but it's hard to be completely certain.
The bug is in code to rebuild the cursor when the underlying table
changes in ways which require that, which is a fairly rare occurrence
to start with, and only triggers when a block in the cursor has been
released, reallocated, and we tried to load it in the cursor at the
same level - the cursor wrongly assumes it has the current version
of the block.
Reported with a reproducer by Sylvain Taverne. Confirmed by David
Bremner as also fixing a problem in notmuch for which he hadn't managed
to find a reduced reproducer.
GtkSpell provides word-processor-style highlighting and replacement
of misspelled words in a GtkTextView widget. Right-clicking a
misspelled word pops up a menu of suggested replacements.
GtkSpell is a library and is mostly of interest to GTK programmers.
This is major version 3 of the library, which is API incompatible
to version 2.
0.722 2018-08-19 PHRED
- Remove unnecessary tests [github/paultcochrane for all]
- Fix link to dist repo
- Added continuous integration configurations
- Minor fixes and cosmetic changes to make code adhere better to current
Perl best practices
- Documentation fixes
0.08 2018-08-21T03:21:47
- Update project metadata: The Perl Shop is now project
maintainer, distribution homepage is now on MetaCPAN, and the
project now includes an appropriate LICENSE file.
This is based on the decision The NetBSD Foundation made in 2008 to
do so, which was already applied to src.
This change has been applied to code which is likely not in other
repositories.
ok board@, reviewed by riastradh@
0.72 Sun Jul 8 17:03:08 CEST 2018
- Update to libyaml 0.2.1 (tinita) It's forbidden now to escape single
quotes inside double quotes
- When disabling $LoadBlessed, return scalars not refs (tinita)
- Save anchors also for blessed scalars (tinita)
Use TEST_DEPENDS.
3.101 2018-08-06T14:32:38Z
- Ensure local_module_url_prefix defaults to current perldoc_url_prefix.
3.100 2018-08-06T02:07:18Z
- Add "local_module_url_prefix" and "local_module_re" args
to allow pointing links for local modules to another site [rt-120452].
Release 1.7.7:
Bugs fixed
* document not in toctree warning when including files only for parallel
builds
* LaTeX: reduce "Token not allowed in a PDF string" hyperref warnings in latex
console output
* LaTeX: suppress "remreset Warning: The remreset package is obsolete" in latex
console output with recent LaTeX
* PDF output: usage of PAPER environment variable is broken since Sphinx
1.5
* LaTeX: fix the :confval:`latex_engine` documentation regarding Latin Modern
font with XeLaTeX/LuaLateX
* autodoc: Fix wrong type annotations for complex typing
* autodoc: Optional types are wrongly rendered
* autodoc crashed by ForwardRef types
* autodoc: No docs generated for functools.partial functions
* autodoc: ``getargspec()`` raises NameError for invalid typehints
* imgmath: math_number_all causes equations to have two numbers in html
* sphinx-quickstart blank prompts in PowerShell
Release 2.2.6 Sun August 12 2018
Bug fixes:
#170#206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer
#204#205 Fix 2.2.5 regression with suspend-resume while parsing
a document like '<root/>'
Other changes:
#165#168 Autotools: Fix docbook-related configure syntax error
#166 Autotools: Avoid grep option `-q` for Solaris
#167 Autotools: Support
./configure DOCBOOK_TO_MAN="xmlto man --skip-validation"
#159#167 Autotools: Support DOCBOOK_TO_MAN command which produces
xmlwf.1 rather than XMLWF.1; also covers case insensitive
file systems
#181 Autotools: Drop -rpath option passed to libtool
#188 Autotools: Detect and deny SGML docbook2man as ours is XML
#188 Autotools/CMake: Support command db2x_docbook2man as well
#174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF
#184#185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF
#207#208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T,
both defaulting to OFF
#175 CMake: Prefer check_symbol_exists over check_function_exists
#176 CMake: Create the same pkg-config file as with GNU Autotools
#178#179 CMake: Use GNUInstallDirs module to set proper defaults for
install directories
#208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM
#180 Windows: Fix compilation of test suite for Visual Studio 2008
#131#173#202 Address compiler warnings
#187#190#200 Fix miscellaneous typos
Version info bumped from 7:7:6 to 7:8:6
Release 2.2.5 Tue October 31 2017
Bug fixes:
#8 If the parser runs out of memory, make sure its internal
state reflects the memory it actually has, not the memory
it wanted to have.
#11 The default handler wasn't being called when it should for
a SYSTEM or PUBLIC doctype if an entity declaration handler
was registered.
#137#138 Fix a case of mistakenly reported parsing success where
XML_StopParser was called from an element handler
#162 Function XML_ErrorString was returning NULL rather than
a message for code XML_ERROR_INVALID_ARGUMENT
introduced with release 2.2.1
Other changes:
#106 xmlwf: Add argument -N adding notation declarations
#75#106 Test suite: Resolve expected failure cases where xmlwf
output was incomplete
#127 Windows: Fix test suite compilation
#126#127 Windows: Fix compilation for Visual Studio 2012
Windows: Upgrade shipped project files to Visual Studio 2017
#33#132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T
#129 examples: Fix compilation for XML_UNICODE_WCHAR_T
#130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T
#144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs
Windows or MinGW for 2-byte wchar_t
#9 Address two Clang Static Analyzer false positives
#59 Resolve troublesome macros hiding parser struct membership
and dereferencing that pointer
#6 Resolve superfluous internal malloc/realloc switch
#153#155 Improve docbook2x-man detection
#160 Undefine NDEBUG in the test suite (rather than rejecting it)
#161 Address compiler warnings
Version info bumped from 7:6:6 to 7:7:6
2018-08-18 -- 0.8.6
* Fixed: Bad/NULL .hostText.afterLast when parsing certain rather pathologic
but well-formed URIs with empty host (e.g. "//:%aa@") (GitHub #15)
Thanks to Kurt Schwehr for the report!
* Fixed: Fix uriRemoveBaseUri for case where scheme, host name,
IPvFuture address or path segments of the source address were
string prefixes of the related counterpart in the base URI.
Thanks to Yang Yu for the patch! (GitHub #19, #20)
* Fixed: Make UriStringToUnixFilename and UriStringToWindowsFilename
support minimal representation a la RFC 8089, e.g. file:/bin/bash
(compare to file:///bin/bash with three slashes) (GitHub #12, #14)
Thanks to Zane van Iperen for the report!
* Fixed: Documentation typos (GitHub #10, #11)
Thanks to Graham Percival!
* Improved: Made API docs of uriRemoveBaseUri more clear
(related to GitHub #19)
* Soname: 1:22:0
0.12.2:
Fixed IPv4 formatted IP address returning True on ipv6
Fixed IPv6 address parsing
Fixed domain validator for international domains and certain edge cases
0.12.1:
Fixed IDNA encoded TLDs in domain validator
Fixed URL validator for URLs with invalid characters in userinfo part
0.12.0:
Added hash validators for md5, sha1, sha224, sha256 and sha512
Made ipv6 validator support IPv4-mapped IPv6 addresses
0.11.3:
Fixed URL validator for URLs containing localhost
0.11.2:
Fixed URL validator for urls with query parameters but without path
0.11.1:
Fixed pyp2rpm build problem
0.11.0:
Fixed public url validation
Made URL validator case insensitive
Drop Python 2.6 support
0.10.3:
Added public parameter to url validator
0.10.2:
Fixed various URL validation issues
0.10.1:
Fixed domain name validation for numeric domain names
Fixed IBAN validation for Norwegian and Belgian IBANs
0.10.0:
Added support for internationalized domain names in domain validator
0.9.0:
Added new validator: domain
Added flake8 and isort checks in travis config
0.8.0:
Added new validator: iban
Changes in version 1.14.4, released on August 8, 2018
--- MAJOR NEW FEATURES ---
* In ASCII output, render mathematical symbols and greek letters
as transliterations conveying the characters' meanings rather
than trying to imitate their shape. Consequently, such characters
can now be used in portable manual pages. All the same, please
limit their use to contexts where they really matter, for example
when showing complicated mathematical formulae.
* First steps towards better support for small screens in HTML
output (responsive design): avoid most style= attributes, in
particular all hard-coded indentations and column widths, and
provide a better mandoc.css style sheet with a @media query,
using em units throughout, and avoiding redundancy in selectors.
* Better HTML output with some more fitting HTML elements, eliminating
needless class= attributes, and avoiding various HTML syntax errors
(element nesting, URL-fragment syntax, duplicate id= attributes).
--- MINOR NEW FEATURES ---
* When a man(1) argument contains a slash, imply -l like in man-db.
* Use TIOCGWINSZ to reduce the default -Owidth and -Oindent during
interactive use on terminals narrower than 79 columns.
* Generated PostScript files are now more than 50% smaller.
* Terminal rendering of eqn(7) is improved in several respects.
* Simplified and nicer output from the mdoc(7) .Lk macro, formatting
all links in-line, even long ones.
* roff(7) \n+ and \n- numerical register auto-increment and -decrement
* roff(7) .nr optional third argument (auto-increment step size)
* Autodetect in ./configure whether the compiler can use -W and -static,
allowing to build on Solaris 10 and 11 without any configure.local.
--- RELIABILITY BUGFIXES ---
* Only activate UTF-8 output when the user really selected UTF-8,
not some other multibyte character encoding.
* Prevent excessive .ll arguments from generating infinite output.
* Fix out of bounds accesses to parse buffers that could happen when
using renamed or user defined macros after roff(7) conditionals.
* Avoid an assertion failure in certain .Bl -column lists.
* Avoid a NULL pointer access on deroff() failure after '.SS ""'.
* Fix a segfault that could be triggered by two invalid .Dt macros.
* Fix two syntax errors in generated PDF files.
* Properly state the page size in generated PostScript files.
* Close a memory leak caused by missing gzclose(3).
* Fix misformatting of man(7) documents lacking .SH macros
in PostScript and PDF output.
* And many minor bugfixes.
--- THANKS TO ---
* Marc Espie (OpenBSD) for implementing the size reduction of
PostScript files, one additional patch for code simplification,
and two bug reports.
* Theo Buehler (OpenBSD) for a bugfix patch,
and Theo de Raadt (OpenBSD) for checking it.
* John Gardner for more than a dozen suggestions regarding HTML output.
* Mike Williams for teaching me how to use %%DocumentMedia and
setpagedevice in PostScript files.
* Werner Lemberg (groff) for feedback on mdoc(7) language changes.
* Colin Watson (man-db) for feedback on man-db semantics.
* Jason McIntyre (OpenBSD) for lots of feedback and suggestions
on diagnostic messages and on the documentation.
* Thomas Klausner (NetBSD) for suggesting two new style messages
and one new feature, for two bug reports, and for release testing.
* Leah Neukirchen (Void Linux) for suggesting a new style message,
five bug reports, and release testing.
* Anthony Bentley (OpenBSD) for reporting multiple bugs and missing
features.
* Paul Irofti (OpenBSD) and Nate Bargmann for suggesting new features.
* Michael Stapelberg (Debian) for bug reports and release testing.
* Christian Weisgerber, Jonathan Gray, Stuart Henderson,
Ted Unangst (OpenBSD), Takeshi Nakayama (NetBSD),
Anton Lazarov, Jakub Klinkovsky, Jan Stary, Jesper Wallin,
Will Backmam, and Wolfgang Mueller for bug reports.
* Sevan Janiyan (NetBSD) for additions to lib.in.
* George Brown for suggesting code simplifications.
* David Coppa, Igor Sobrado (OpenBSD), and Alexander Kuleshov
for documentation improvements.
* Laura Morales and Raf Czlonka for questions resulting in better
documentation.
* Yuri Pankov (illumos) for release testing.
No upstream changelog for UCD itself, but updated for new Unicode 11.0:
http://blog.unicode.org/2018/06/announcing-unicode-standard-version-110.html.
Announcing The Unicode(R) Standard, Version 11.0
Version 11.0 of the Unicode Standard is now available, both the core
specification and data files.
Version 11.0 adds 684 characters, for a total of 137,374 characters.
These additions include seven new scripts, for a total of 146 scripts,
as well as 145 new emoji.
No quotable upstream change summary about unicode emoji, but
updated for Unicode 11.0:
http://www.unicode.org/reports/tr51/index.html
"Starting with Version 11.0 of this specification, the repertoire of
emoji characters is synchronized with the Unicode Standard, and has
the same version numbering system."
Upstream announcemnet:
http://cldr.unicode.org/index/downloads/cldr-33-1
Unicode CLDR 33.1 is an update to CLDR 33 that focuses on
Unicode 11.0 support. Improvements in this release include:
* Data
* Updates to Unicode 11.0
* Adds annotations (names and keywords) for Unicode 11.0 emoji, and makes
improvements to previously-existing annotations.
* Updates Chinese collation stroke order from Unicode 7.0 to Unicode 11.0,
after tooling bug fixes
* Structure*
* No changes. The DTD deltas and DTD Diffs links above point to v33.
* Specification*
* There is no LDML 33.1 document. Instead, only amendments to v33 are
provided, as described below in Specification Amendments.
* Charts*
* There are no charts specifically for v33.1. The link above provides
the Charts34 (currently under development). The differences from Charts33
are mostly captured in the annotations charts and in the annotations
fields of other charts such as delta for German or By Type: smileys.
For more details, see the list of bug fixes.
http://unicode.org/cldr/trac/query?resolution=fixed&milestone=33.1&group=component&max=999
Quotes argument lists to be used in Win32 in several different
situations.
Windows passes its arguments as a single string instead of an array as
other platforms do. In almost all cases, the standard Win32
CommandLineToArgvW function is used to parse this string. cmd.exe has
different rules for handling quoting, so extra work has to be done if it
is involved. It isn't possible to consistantly create a single string
that will be handled the same by cmd.exe and the stardard parsing rules.
Perl will try to detect if you need the shell by detecting shell
metacharacters. The routine that checks that uses different quoting
rules from both cmd.exe and the native Win32 parsing. Extra work must
therefore be done to protect against this autodetection.
Changes:
2.2.0
-----
- Add support for Idris, APL and J
- Add .r to R file extensions
- Add file extensions for TLA+, Isabelle, Coq
- Add support for D
- Add support for PDB
- Add support for thrift
- Add filter for devicetree source files
- Document -W/--width option in the man page
- Add support for pug
- Add support for terraform files
- Misc bug fixes and improvements
1.6:
Fixed another edge case where a tag which is allowed to be empty was erroneously removed if it contained not only whitespace but also a <br> tag.
1.5:
Fixed a few edge whitespace normalization edge cases and a bug where removing an empty tag removed all whitespace.
Added black for automatically formatting the Python code.
By default, links with target="_blank" get an additional rel="noopener" attribute (Article by Mathias Bynens). If you're overriding the list of allowed attributes for anchor tags you must add rel to your list.
4.2.4:
Features added
* Allow using pkg-config for build configuration.
Bugs fixed
* Crash when moving an element to another document with
Element.insert().
0.13.1:
* Bump the major version of the .so library generated up to 4.0 to avoid
conflicts because some downstream packagers of json-c had already done
their own bump to ".so.3" for a much older 0.12 release.
* Add const size_t json_c_object_sizeof()
* Avoid invalid free (and thus a segfault) when ref_count gets < 0
* fix handling of custom double formats that include a ".0"
* Avoid uninitialized variable warnings in json_object_object_foreach
* Issue 396: fix build for certain uClibc based systems.
* Add a top level fuzz directory for fuzzers run by OSS-Fuzz
0.13:
This release, being three and a half years after the 0.12 branch (f84d9c),
has quite a number of changes included. The following is a sampling of
the most significant ones.
Since the 0.12 release, 250 issues and pull requests have been closed.
See issues_closed_for_0.13.md for a complete list.
Deprecated and removed features:
--------------------------------
* All internal use of bits.h has been eliminated. The file will be removed.
Do not use: hexdigit(), error_ptr(), error_descrition() and it_error()
* lh_abort() is deprecated. It will be removed.
Behavior changes:
-----------------
* Tighten the number parsing algorithm to raise errors instead of truncating
the results. For example 12.3.4 or 2015-01-15, which now return null.
See commit 99d8fc
* Use size_t for array length and size. Platforms where sizeof(size_t) != sizeof(int) may not be backwards compatible
See commits 45c56b, 92e9a5 and others.
* Check for failue when allocating memory, returning NULL and errno=ENOMEM.
See commit 2149a04.
* Change json_object_object_add() return type from void to int, and will return -1 on failures, instead of exiting. (Note: this is not an ABI change)
New features:
-------------
* We're aiming to follow RFC 7159 now.
* Add a couple of additional option to json_object_to_json_string_ext:
JSON_C_TO_STRING_PRETTY_TAB
JSON_C_TO_STRING_NOSLASHESCAPE
* Add a json_object_object_add_ex() function to allow for performance
improvements when certain constraints are known to be true.
* Make serialization format of doubles configurable, in two different ways:
Call json_object_set_serializer with json_object_double_to_json_string and a custom
format on each double object, or
Call json_c_set_serialization_double_format() to set a global or thread-wide format.
* Add utility function for comparing json_objects - json_object_equal()
* Add a way to copy entire object trees: json_object_deep_copy()
* Add json_object_set_<type> function to modify the value of existing json_object's
without the need to recreate them. Also add a json_object_int_inc function to
adjust an int's value.
* Add support for JSON pointer, RFC 6901. See json_pointer.h
* Add a json_util_get_last_err() function to retrieve the string describing the
cause of errors, instead of printing to stderr.
* Add perllike hash function for strings, and json_global_set_string_hash() 8f8d03d
* Add a json_c_visit() function to provide a way to iterate over a tree of json-c objects.
Notable bug fixes and other improvements:
-----------------------------------------
* Make reference increment and decrement atomic to allow passing json objects between threads.
* Fix json_object_object_foreach to avoid uninitialized variable warnings.
* Improve performance by removing unneeded data items from hashtable code and reducing duplicate hash computation.
* Improve performance by storing small strings inside json_object
* Improve performance of json_object_to_json_string by removing variadic printf. commit 9ff0f49
* Issue 371: fix parsing of "-Infinity", and avoid needlessly copying the input when doing so.
* Fix stack buffer overflow in json_object_double_to_json_string_format() - commit 2c2deb87
* Fix various potential null ptr deref and int32 overflows
* Issue 332: fix a long-standing bug in array_list_put_idx() where it would attempt to free previously free'd entries due to not checking the current array length.
* Issue 195: use uselocale() instead of setlocale() in json_tokener to behave better in threaded environments.
* Issue 275: fix out of bounds read when handling unicode surrogate pairs.
* Ensure doubles that happen to be a whole number are emitted with ".0" - commit ca7a19
* for Visual Studio, use a snprintf/vsnprintf wrapper that ensures the string is terminated.
* Fix double to int cast overflow in json_object_get_int64.
* Clamp double to int32 when narrowing in json_object_get_int.
* Use strtoll() to parse ints - instead of sscanf
* Miscellaneous smaller changes, including removing unused variables, fixing warning
about uninitialized variables adding const qualifiers, reformatting code, etc...
Upstream changes:
2.10 2018-07-26
- Add no_separators option (RJBS)
- Fix "Negative repeat count does nothing" warning (thanks to Stefan
Bühler)
- Fix Makefile.PL for perl 5.26 where "." is not in @INC by default
(thanks to Petr Písař)
Upstream changes:
0.006 2018-07-09 T. R. Wyant
Only standalone graphemes and non-characters allowed as delimiters
starting with Perl 5.29.0.
Non-ASCII delimiters started working in 5.8.3, so that is what
perl_version_introduced() returns for them.
Collateral with all this, accept word characters as delimiters, but
only with at least one space between the operator and the expression
-- that is, 'qq xyx' is OK, but 'qqxyx' is not.
Upstream changes:
2.07 2018-07-22 23:09:00
- rerelease with unbroken manifest.
2.06 2018-07-22 23:09:00
- Apply changes from Wesley Schwengle (waterkip) to
make tests more resillient
Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES. Consequently, it is redundant for the individual
packages to do the same. Package-specific definitions also prevent
redefining MASTER_SITES in a single common place.
define _ISOC99_SOURCE to mitigate the damage of defining _XOPEN_SOURCE,
just don't define _XOPEN_SOURCE - nothing in the source defines it and
it breaks at least gcc 6.4 on NetBSD-8.0
No PKGREVISION bump as should not affect any building systems
asccidir recursively remove non-ASCII characters from file name.
By default, western languages accents are turned into plain ASCII
characters, and evertything else non ASCII is removed, but a
transliteration map can be provided for more complex translations.
This adds bibtex support to Sphinx. The package is an updated version
of Kamel Derouiche's package in pkgsrc-wip. (It's needed for the update
of lang/coq that's to follow)
- fixed gcc 8 compilation warnings
- fixed Ruby string interpolation
(https://github.com/andre-simon/highlight/issues/70)
- added support for ALAN IF (thanks to Tristano Ajmone)
- added 107 Base16 themes [https://github.com/chriskempson/base16]
(thanks to Tristano Ajmone)
- updated Rust and Java reserved words lists
- revised documentation
- moved extras/css-themes into extras/themes-resources
- added extras/themes-resources/base16 (thanks to Tristano Ajmone)
- GUI: added Base16 theme selection checkbox
- CLI: added --base16 option to enable the new themes
- CLI: accept - as argument to read from stdin
(https://github.com/andre-simon/highlight/issues/73)
Changelog:
Common Changes
Unicode 11: 684 new characters, including 7 new scripts, Mtavruli Georgian capital letters, 5 new Han characters, and 66 new emoji characters.
CLDR 33.1:
Unicode 11 script metadata, collation, Chinese transliteration.
Chinese collation stroke order updated from Unicode 7 to Unicode 11 after tooling bug fixes.
NumberFormatter
A NumberFormatter can now be constructed from a locale-neutral skeleton string (like a DateFormat) (#8610). This is particularly useful in translated messages where placeholder details should not be translated. MessageFormat recognizes the style field as a number skeleton if it is prefixed with "::", as in "Number of files: {num, number, :: round-integer group-min2}." (#13742)
New "conversion" functions for getting a NumberFormatter from a DecimalFormat, and a Format from a NumberFormatter.
New C API (unicode/unumberformatter.h [permanent API docs link TBD]). (#13597) Currently it supports formatting settings only via a skeleton string.
Several still-draft NumberFormatter methods and helper classes have been modified or renamed; the previous versions remain temporarily (as deprecated) for one release, to help with the transition.
Break Iterator Rules: "Safe" rules are no longer required for correct break iterator operation. For back compatibility, existing rule sets containing safe rules will continue to work, with the safe rules they contain being ignored. The Break Iterator binary data format has been updated to reflect this change.
Line Break: The boundary rules have been updated to reflect the Unicode 11 version of UAX #14. Specifically, the handling of Emoji ZWJ sequences has been improved.
ICU4C Specific Changes
Under-the-hood overhaul of number parsing. See the design doc for a summary of changes; behavior is mostly compatible with previous versions, but there are some known differences.
DecimalFormat now wraps the new NumberFormatter code.
Release 1.7.6:
Bugs fixed
* LaTeX \sphinxupquote{} breaks in Russian
* sphinx.testing uses deprecated pytest API; Node.get_marker(name)
* crashed when recommonmark.AutoStrictify is enabled
* latex: crashed with docutils package provided by Debian/Ubuntu
* latex: a label for table is vanished if table does not have a caption
* crashed with numbered toctree
* C, render empty argument lists for macros.
* C++, fix lookup of full template specializations with no template arguments.
* C++, fix assertion on missing references in global scope when using
intersphinx. Thanks to Alan M. Carroll.
* autodoc: crashed by Form Feed Character
* autodoc: loses the first staticmethod parameter for old styled classes
* quickstart: Typing Ctrl-U clears the whole of line
* html: "relations" sidebar is not shown by default
* latex: curly braces in index entries are not handled correctly
* epub: Wrong internal href fragment links
* apidoc: Interface of sphinx.apidoc:main() has changed
* PDF builds of French projects have issues with XeTeX
* napoleon raises RuntimeError with python 3.7
* sphinx-build: Interface of sphinx:main() has changed
* sphinx-build: sphinx.cmd.build.main() refers sys.argv instead of given
argument
* autosummary: warning is emitted when the first line of docstring ends
with literal notation
* autosummary: warnings of autosummary indicates wrong location
* autodoc: crashed on inspecting dict like object which does not support
sorting
* autodoc: Enum argument missing if it shares value with another
* py domain: rtype field could not handle "None" as a type
* LaTeX: indexing of terms containing @, !, or " fails
* html: crashes if copying static files are failed
* autodoc: Fix formatting type annotations for tuples with more than two
arguments
* i18n: crashed by auto-symbol footnote references
* autosummary: module summary has been broken when it starts with heading
- Skip testcase t/parser.t if we're using xapian-core < 1.2.21 which
doesn't support character '!' in the start of a range. Reported by
melmothx on #xapian.
- Add compatibility with Xapian git master.
0.7.11:
[Feature]: Add badge_branch option allowing configurability of which specific Git branch the Travis, Codecov, etc buttons default to.
[Feature]: Add optional next and previous links at the top and bottom of page content. Use theme option show_relbars to enable these.
[Bug] 73: Clean up some problematic font issues.
[Support]: Add setuptools-level entrypoint for improved theme distribution compatibility.
[Support]: Miscellaneous project maintenance updates such as adding to Travis CI and enforcing the use of flake8.
We do not install the "gotext" utility because it introduces a circular
dependency to go-tools. If you really need it (which I doubt), we can
add a separate package.
0.9.6:
Correctly order calendar properties before calendar components
Correctly serialize timestamp values (i.e. REV)
Pass correct formatting string to logger
RRULE: Fix floating UNTIL with dateutil > 2.6.1
Encode params if necessary in serialization
Ignore escaped semi-colons in UNTIL value
RRULE: Fix VTODO without DTSTART
Fixed regexp for VCF Version 2.1
repr changed for datetime.timedelta in python 3.7
general:
* Fix generate_sample() (used by OmegaScript $truncate and omindex) to return
an empty sample instead of throwing an exception when the requested sample
size is less than the size of the truncation indicator string. Patch from
Addy. Fixes https://trac.xapian.org/ticket/754 reported by Gaurav Arora.
indexers:
* Check for the HTML5 doctype or legacy doctype declaration and use default
charset UTF-8 if either is present. Previously we always used ISO-8859-1,
which is correct for older HTML versions, but not for HTML5.
* omindex:
+ When running commands without going through the shell, emulate shell exit
codes 127 (for command not found) and 126 (for other cases where we fail to
run the command). This means the "missing filter" handling should now work
properly for such commands. Noted by Gaurav Arora.
+ Index POD files despite minor formatting errors. We now pass
--errors=stderr to pod2text so that minor formatting errors don't prevent
us from indexing a file. (It may seem that --errors=none is a better
option, but for podlators < 4.11 that results in an ERRATA section in the
generated text version which we then end up indexing; 4.11 fixed that but
we can't assume that's in use). Reported by Gaurav Arora.
* omindex:
+ Check file size before calling libmagic to get the mime type, since
reading the file size is a much cheaper check and we can skip the
libmagic test if the file is empty or larger than the specified
maximum size. Patch from caiyulun.
* scriptindex:
+ Avoid some unnecessary copying of Action objects by making use of C++11
features.
+ Consistently send errors to stderr - some were sent to stdout.
Patch from Gaurav Arora.
+ Add new "hextobin" action. Based on a patch from Gaurav Arora.
+ Warn about non-integer arg to hash.
+ Fix hash action without an argument, which was failing with an assertion.
Based on a patch by Gaurav Arora: https://github.com/xapian/xapian/pull/189
+ Reject 'hash' with argument < 6. The hashing truncates and then adds a
6 character hash of the removed part, so can't produce a result shorter
than 6 characters. Patch from Gaurav Arora.
+ Look for alphanumerics when parsing index actions. None of the current
index actions contain digits, but we give more helpful error messages this
way.
+ Deprecate allowing spaces around = in scripts. This was never documented
as supported, and leads to a missing argument quietly swallowing the next
action rather than using an empty value or giving an error. Reported by
Gaurav Arora in https://github.com/xapian/xapian/pull/182
+ In boolean and unique actions, add a colon between prefix and term when
the term starts with a colon. This means the mapping is reversible, and
matches what omega actually does in this case when it tries to reverse the
mapping. Thanks to Andy Chilton for pointing out this corner case.
+ Add parsedate and valuepacked actions. Together these assist adding date
values for sorting and date range filtering. Based on a patch from Gaurav
Arora.
+ Use DB_RETRY_LOCK to wait if the database is already in use rather than
sleeping for a second and retrying. On most platforms this means we make a
blocking request for the lock, and even on platforms where that's not
supported, we now sleep and retry inside libxapian, and without having to
throw and catch an exception each time.
* scriptindex:
+ Reject index scripts with multiple "unique" actions. We don't handle this
case sensibly, and it doesn't seem like it really has a use, so better to
give an error for people who do this inadvertently.
omega:
* $freq: Speed up some cases by avoiding throwing and catching an exception
when we know the MSet has no term frequency information.
* $sort: New OmegaScript command which does a string sort on an OmegaScript
list, with u (unique) and r (reverse) options.
* $cond: New OmegaScript conditional multi-way conditional. Inspired by LISP's
COND, this provides a neater way to write a cascade of $if checks.
* $switch: New OmegaScript multi-way conditional which provides an even neater
way to write a cascade of $if{$eq{X,VALUE1},$if{$eq{X,VALUE2},...}}.
* $subdb and $subid: New commands which report the subdatabase name and the
docid in that subdatabase.
+ $termprefix and $unprefix: New OmegaScript commands which expose the existing
code inside omega for splitting up a term.
* Use str() to convert time_t to string, which is simpler code and faster than
using snprintf().
* New $seterror command to set the error message. Implemented by Gaurav Arora.
* Make $highlight more efficient. Patch from Vivek Pal.
templates:
* query: Use $prettyurl for the URL shown at the end of each match (previously
we only used it on the URL shown as a fallback when the document has no
title). Split off from changes by Vivek Pal in
https://github.com/xapian/xapian/pull/161
API:
* API classes now support C++11 move semantics when using a compiler which
we are confident supports them (currently compilers which define
__cplusplus >= 201103 plus a special check for MSVC 2015 or later).
C++11 move semantics provide a clean and efficient way for threaded code to
hand-off Xapian objects to worker threads, but in this case it's very
unhelpful for availability of these semantics to vary by compiler as it
quietly leads to a build with non-threadsafe behaviour. To address this,
user code can #define XAPIAN_MOVE_SEMANTICS before #include <xapian.h> to
force this on, and will then get a compilation failure if the compiler lacks
suitable support.
* MSet::snippet():
+ We were only escaping output for HTML/XML in some cases, which would
potentially allow HTML to be injected into output (this has been assigned
CVE-2018-0499).
+ Include certain leading non-word characters in snippets. Previously we
started the snippet at the start of the first actual word, but there are
various cases where including non-word characters in front of the actual
word adds useful context or otherwise aids comprehension. Reported by
Robert Stepanek in https://github.com/xapian/xapian/pull/180
* Add MSetIterator::get_sort_key() method. The sort key has always been
available internally, but wasn't exposed via the public API before, which
seems like an oversight as the collapse key has long been available.
Reported by 张少华 on xapian-discuss.
* Database::compact():
+ Allow Compactor::resolve_duplicate_metadata() implementations to delete
entries. Previously if an implementation returned an empty string this
would result in a user meta-data entry with an empty value, which isn't
normally achievable (empty meta-data values aren't stored), and so will
cause odd behaviour. We now handle an empty returned value by interpreting
it in the natural way - it means that the merged result is to not set a
value for that key in the output database.
+ Since 1.3.5 compacting a WritableDatabase with uncommitted changes throws
Xapian::InvalidOperationError when compacting to a single-file glass
database. This release adds similar checks for chert and when compacting
to a multiple-file glass database.
+ In the unlikely event that the total number of documents or the total
length of all documents overflow when trying to compact a multi-database,
we throw an exception. This is now a DatabaseError exception instead of a
const char* exception (a hang-over from before this code was turned into a
public API in the library).
* Document::remove_term(): Handle removing term at current TermIterator
position - previously the underlying iterator was invalidated, leading to
undefined behaviour (typically a segmentation fault). Reported by Gaurav
Arora.
* TermIterator::get_termfreq() now always returns an exact answer. Previously
for multi-databases we approximated the result, which is probably either a
hang-over from when this method was used during Enquire::get_eset(), or else
due to a thinking that this method would be used in that situation (it
certainly is not now). If the user creates a TermIterator object and asks it
for term frequencies then we really should give them the correct answer - it
isn't hugely costly and the documentation doesn't warn that it might be
approximated.
* QueryParser::parse_query():
+ Now adds a colon after the prefix when prefixing a boolean term which
starts with a colon. This means the mapping is reversible, and matches
what omega actually does in this case when it tries to reverse the mapping.
Thanks to Andy Chilton for pointing out this corner case.
+ The parser now makes use of newer features in the lemon parser generator to
make parsing faster and use less memory.
* Enquire::get_mset(): Fix bug with get_mset(0, 0, X) when X > 0 which was
causing an attempt to access an element in an empty vector. Reported by
sielicki in #xapian.
* Stem:
+ Add Indonesian stemming algorithm.
+ Small optimisations to almost all stemming algorithms.
* Stopper:
+ Add Indonesian stopword list.
+ The installed version of the Finnish stopword list now has one word per
line. Previously it had several space-separated words on some lines, which
works with C++'s std::istream_iterator but may be inconvenient for use from
some other languages.
+ The installed versions of stopword lists are now sorted in byte order
rather than whatever collation order is specified by LC_COLLATE or similar
at build time. This makes the build more reproducible, and also may be
more efficient for loading into some data structures.
* WritableDatabase::replace_document(term, doc): Check for last_docid wrapping
when used on a sharded database.
* Database::locked(): Consistently throw FeatureUnavailableError on platforms
where we can't test for a database lock without trying to take it.
Previously GNU Hurd threw DatabaseLockError while platforms where we don't
use fcntl() locking at all threw UnimplementedError.
* Database and WritableDatabase constructors: Fix handling of entries for
disabled backends in stub database files to throw FeatureUnavailableError
instead of DatabaseError.
* Database::get_value_lower_bound() now works correctly for sharded databases.
Previously it returned the empty string if any shard had no values in the
specified slot.
* PostingIterator was failing to keep an internal reference to the parent
Database object for sharded databases.
* ValueIterator::skip_to() and check() had an off-by-one error in their docid
calculations in some cases with sharded databases.
* Add Database::get_total_length() method. Previously you had to calculate
this from get_avlength() and get_doccount(), taking into account rounding
issues. But even then you couldn't reliably get the exact value when total
length is large since a double's mantissa has more limited precision than an
unsigned long long.
* Add Xapian::iterator_rewound() for bidirectional iterators, to test if the
iterator is at the start (useful for testing whether we're done when
iterating backwards).
* DatabaseOpeningError exceptions now provide errno via get_error_string()
rather than turning it into a string and including it in the exception
message.
* WritableDatabase::replace_document(): when passed a Document object which
came from a database and has unmodified values, we used to always read
those values into a memory structure. Now we only do this if the document
is being replaced to the same document ID which it came from, which should
make other cases a bit more efficient.
* Enquire::get_eset(): When approximating term frequencies we now round to the
nearest integer - previously we always rounded down.
matcher:
* OP_VALUE_*: When a value slot's lower and upper bound are equal, we know
that exactly how many documents the subquery can match (either 0 or those
bounds). This also avoids a division by zero which previously happened
when trying to calculate the estimate.
* Speed up sorting by keys. Use string::compare() to avoid having to call
operator< if operator> returns false.
* Fix clamping of maxitems argument to get_mset() - it was being clamped
to db.get_doccount(), now it's clamped to db.get_doccount() - first. In
practice this doesn't actually seem to cause any issues.
* If a match time limit is in effect, when it expires we now clamp
check_at_least to first + maxitems instead of to maxitems. In practice this
also doesn't seem to actually cause any issues (at least we've failed to
construct a testcase where it actually makes an observable difference).
* Fix percentages when only some shards have positions. If the final shard
didn't have positions this would lead to under-counting the total number leaf
of subqueries which would lead to incorrect positional calculations (and a
division by zero if the top level of the query was positional. This bug was
introduced in 1.4.3.
* OP_NEAR: Fix "phantom positions", where OP_NEAR would think a term without
positional information occurred at position 1 if it had the lowest term
frequency amongst the OP_NEAR's subqueries.
* Fix termfreq used in weight calculations for a term occurring more than once
in the query. Previously the termfreq for such terms was multiplied by the
number of different query positions they appeared at.
* OP_SYNONYM: We use the doclength upper bound for the wdf upper bound of a
synonym - now we avoid fetching it twice when the doclength upper bound is
explicitly needed.
* Short-cut init() when factor is 0 in most Weight subclasses. This indicates
the object is for the term-independent weight contribution, which is always 0
for most schemes, so there's no point fetching any stats or doing any
calculations. This fixes a divide by zero for TfIdfWeight, detected by
UBSan.
* OP_OR: Fix bug which caused orcheck1 to fail once hooked up to run with the
inmemory backend.
* Iterating of positions has been sped up, which means phrase matching is now
faster (by a little over 5% in some simple tests).
* Fix use after free of QueryOptimiser hint in certain cases involving
multiple databases only some of which have positional information.
This bug was introduced by changes in xapian-core 1.4.3. Fixes#752,
reported and analysed by Robert Stepanek.
* An unweighted OP_AND_MAYBE is now optimised to just its left branch - the
other branch or branches only contribute weight, so can be completely ignored
when the operator is unweighted.
glass backend:
* Fix glass freelist bug when changes to a new database which didn't modify the
termlist table were committed. In this corner case, a block which had been
allocated to be the root block in the termlist table was leaked. This was
largely harmless, except that it was detected by Database::check() and caused
it to report an error. Reported by Antoine Beaupré and David Bremner.
* Fix glass freelist bug with cancel_transaction(). The freelist wasn't
reset to how it was before the transaction, resulting in leaked blocks.
This was largely harmless, except that it was detected by Database::check()
and caused it to report an error.
* Improve the per-term wdf upper bound. Previously we used min(cf(term),
wdf_upper_bound(db)) which is tight for any terms which attain that
upper bound, and also for terms with termfreq == 1 (the latter are common
in the database (e.g. 66% for a database of wikipedia), but probably
much less common in searches). When termfreq > 1 we now use
max(first_wdf(term), cf(term) - first_wdf(term)), which means terms with
termfreq == 2 will also attain their bound (another 11% for the same
database) while terms with higher termfreq but below the global bound will
get a tighter bound.
* Fix Database::locked() on single-file glass db to just return false (such
databases can't be opened as a WritableDatabase so there can't be a write
lock). Previously this failed with: "DatabaseLockError: Unable to get write
lock on /flintlock: Testing lock"
* Fix compaction when both the input and output are specified as a file
descriptor. Previously this threw an exception due to an overeager check
that destination != source.
* Use O_TRUNC when compacting to single file. If the output already exists but
is larger than our output we don't want to just overwrite the start of it.
This case also used to result in confusing compaction percentages.
* Enable glass's "open_nearby_postlist" optimisation (which especially helps
large wildcard queries) for writable databases without any uncommitted
changes as well.
* Make get_unique_terms() more efficient for glass. We approximate
get_unique_terms() by the length of the termlist (which counts boolean terms
too) but clamp this to be no larger than the document length. Since we need
to open the termlist to get its length, it makes more sense to get the
document length from that termlist for no extra cost rather than looking it
up in the postlist table.
* Database::check() now checks document lengths against the stored document
length lower and upper bounds. Patch from Uppinder Chugh. Fixes
https://trac.xapian.org/ticket/617.
* Fix bogus handling of most-recently-read value slot statistics. It seems
that we get lucky and this can't actually cause a problem in practice due
to another layer of caching above, but if nothing else it's a bug waiting to
happen.
* If we fail to create the directory for a new database because the path
already exists, the exception now reports EEXIST as the errno value rather
than whatever errno value happened to be set from an earlier library call.
remote backend:
* xapian-tcpsrv --one-shot no longer forks. We need fork to handle multiple
concurrent connections, but when handling a single connection forking just
adds overhead and potentially complicates process management for our caller.
This aligns with the behaviour under __WIN32__ where we use threads instead
of forking, and service the connection from the main thread with --one-shot.
* Fix repeat call to ValueIterator::check() on the same docid to not always
set valid to true for remote backend.
inmemory backend:
* Fix repeat call to ValueIterator::check() on the same docid to not always
set valid to true for inmemory backend.
* Use binary chop instead of linear search in all places where we're searching
for a term or document - we weren't taking advantage of the sorted order
everywhere.
tools:
* xapian-delve:
+ Document values can contain binary data, so escape them by default for
output. Other options now supported are to decode as a packed integer
(like omindex uses for last modified), decode using
Xapian::sortable_unserialise(), and to show the raw form (which was the
previous behaviour).
+ Report current database revision.
* xapian-inspect:
+ Report entry count when opening table
+ Support inspecting single file DBs via a new --table option (which can also
be used with a non-single-file DB instead of specifying the path to the
table).
+ Add "first" and "last" commands which jump to the first/last entry in the
current table respectively.
+ "until" now counts and reports the number of entries advanced by.
+ Document "until" with no arguments - this advances to the end of the table,
but wasn't mentioned in the help.
+ Commands "goto" and "until" which take a key as an argument now expect the
key in the same escaped form that's used for display. This makes it much
simpler to interact with tables with binary keys.
+ Fix to expect .glass not .DB extension of glass tables.
release-1.3.6:
- Proper import of load
- Escaping: replace xml-1.0-illegal characters with question marks
- ODT merge example
- Changed the path to save images. Now image of the subobject is stored in a folder of subobject
0.2.1:
Fixed most compiler warnings -Wall -Wextra
Support static and dynamic libraries
Use .gitignore instead of .hgignore
Add support for `make test` and travis
Dockerfile for testing
Apply old fix for `\/` that is not in master.
Update license to include all years until now.
Port bug fix from Perl binding
Fix misspell: preceed
Removed trailing-whitespaces
Fix typo
added an examples directory with a few yaml examples
Added missing Cflags path in pkg-config file
add unit tests to cmake configuration
Include an example of a custom tag from Python
Include an example of a %YAML tag
Added an example of using a global tag
Fix -Wformat compilation errors in tests
Update bug report URL in LibYAML
Use AM_CPPFLAGS since autotools deprecated INCLUDE
Update bug report URL in README
Add travis and Makefile support for libyaml-test
Add Dockerfile for Fedora 25
WIP: Enable all warnings (-Wall) in libyaml and tests
Fix typo
Move travis script guts to separate file
`yaml/libyaml-test` should become part of `yaml/libyaml`
Add a GNUMakefile for immediate make targets
Switch from test blacklist to whitelist
Update defs for MingGW support on Windows
Improve CMakeLists
README: Update libyaml link
Skip 5 tests in libyaml-emitter.list
Forbid escaped singlequote in doublequotes
Undefined PTRDIFF_MAX on HP-UX
Fixed most compiler warnings -Wall -Wextra
Fix problems in CI failures (travis and semaphore)
appveyor.yml: add mingw-w64 builds
add -no-undefined to src/Makefile.am
Added alpine linux testing to dockerfiles
remove need for PTRDIFF_MAX
.gitignore: major cleanup