upstream changes:
0.83 2017-08-28
* Remove unecessary depedency to YAML.
* Fix further buffer overflow situations.
0.82 2017-08-27
* Fix buffer overflow (thanks to Hamid Ebadi).
* Hide error messages on tests, and use them for testing purposes.
News in 1.4.2, 2017-08-19
-------------------------
* GspellEntry: make the code that navigates through PangoLogAttr's more robust.
* Translation updates.
News in 1.4.1, 2017-04-09
-------------------------
* GspellEntry: do not emit the GtkEditable::changed signal.
* Replace some g_asserts by g_returns to avoid crashes (bug #778883).
* Translation updates.
News in 1.4.0, 2017-03-18
-------------------------
* Translation updates.
* Other small improvements.
News in 1.3.3, 2017-02-26
-------------------------
This is an unstable release in the 1.3 development cycle. The 1.4 stable
version will be released at the same time as GNOME 3.24.
* Add more assertions for:
https://bugzilla.gnome.org/show_bug.cgi?id=778883
* Fix minor issues found by Coverity.
* Translation update.
News in 1.2.3, 2017-02-24
-------------------------
* Replace a g_assert_cmpint() by a g_return_if_fail(), to avoid a crash. The
assertion sometimes fails, probably because of a bug in a lower-level
library.
https://bugzilla.gnome.org/show_bug.cgi?id=778883
News in 1.3.2, 2017-01-15
-------------------------
This is an unstable release in the 1.3 development cycle. The 1.4 stable
version will be released at the same time as GNOME 3.24.
* GspellEntry: do not check the word currently typed.
* GspellEntry: better word boundaries, take into account apostrophes and
dashes.
* GspellEntry: disable inline spell checking if the GtkEntry is in password
mode.
* Various other improvements.
* Translation updates.
pkgsrc changes:
- Also include pthread bl3 (ag(1) uses pthread(3))
Changes:
2.1.0
-----
- Add plist filetype support
- Add md alias for markdown filetype
- Add support for setting CPU affinity on FreeBSD
- Add nix filetype support
- Add support for asciidoc, org-mode and ipython-notebook filetypes
- Add handlebars filetype support
The following packages fail to build due to "." not being in @INC:
devel/p5-PPI-PowerToys
sysutils/p5-Monitoring-Plugin
textproc/p5-Text-Xslate
www/SpeedyCGI
Pass PERL_USE_UNSAFE_INC=1 through MAKE_ENV to allow the configure
and build to proceed.
This needs to be revisited when perl-5.30.0 is released and that
environment variable is removed from Perl.
RDiscount converts documents in Markdown syntax to HTML.
It uses the excellent Discount processor by David Loren Parsons
for this purpose, and thereby inherits Discount's numerous useful
extensions to the Markdown language.
Patch the project Makefile to honor @mandir@ which is substituted
for by the GNU configure script. @mandir@ will properly expand
to point inside ${PKGMANDIR}.
** Improvements
grep '[0-9]' is now just as fast as grep '[[:digit:]]' when run
in a multi-byte locale. Before, it was several times slower.
** Changes in behavior
Context no longer excludes selected lines omitted because of -m.
For example, 'grep "^" -m1 -A1' now outputs the first two input
lines, not just the first line. This fixes a glitch that has been
present since -m was added in grep 2.5.
The following changes affect only MS-Windows platforms. First, the
--binary (-U) option now governs whether binary I/O is used, instead
of a heuristic that was sometimes incorrect. Second, the
--unix-byte-offsets (-u) option now has no effect on MS-Windows too.
This package applies a vendor patch against the distributed GNU
sed files to extend GNU sed with multibyte awareness. However, the
changes to the GNU info file are applied before the changes to its
source file, so the timestamps make it appear that the GNU info
file needs to be rebuilt.
Update the timestamp of the patched sed.info file in a "pre-build"
target to correct this issue.
Bump the PKGREVISION due to a change in the installed GNU info
file.
Release 0.3.10:
---------------
- Add the ability to set images for front and back covers
- Add the ability to pass several configuration files (-c option)
- Fix Debian bug #840189: drop dependency on the latex package 'multirow'
- Fix Debian bug #849679: wrong character entities in el.xml
- Fix Debian bug #851145: put the paragraph title on a separate line
Release 0.3.9:
--------------
Enhancements:
- Extend the XML configuration feature:
* a user can define its own XSLT engine with a user-defined command,
* the rules about how the images shall be converted can be overwritten
(Debian bug #837168).
- Allow an xref to some informal elements like <para> or <simpara>. It behaves
like DocBook FO does.
Changes in version 1.14.3, released on August 5, 2017
--- BUG FIXES ---
* man(7): Do not crash with out-of-bounds read access to a constant
array if .sp or a blank line immediately precedes .SS or .SH.
* mdoc(7): Do not crash with out-of-bounds read access to a constant
array if .sp or a blank line precede the first .Sh macro.
* tbl(7): Ignore explicitly specified negative column widths rather than
wrapping around to huge numbers and risking memory exhaustion.
* man(1): No longer use names that only occur in the SYNOPSIS section.
Gets rid of some surprising behaviour and bogus warnings.
--- THANKS TO ---
Leah Neukirchen (Void Linux), Markus Waldeck (Debian),
Peter Bui (nd.edu), and Yuri Pankov (illumos) for bug reports.
* Disable C++ locale on NetBSD to avoid runtime error in non-C locale case
Changelog:
Version 2.0.1 [2017-03-06]
---------------------------
- Bugfix: Fix --cache when used with recursive search
Version 2.0 [2017-01-25]
-------------------------
- **Incompatible change**: `--context/-C` is now line based as opposed to
character based and works just like grep
- Two new options from grep: `-A/--after-context` and `-B/--before-context`
- Lines with multiple matches are now printed only once
- Optional caching of pdf-text for faster operation (by Christian Dietrich)
This adds a **new dependency**: libgcrypt
- Bash-completion improvements (by Rainer Müller)
- Bugfix: Fixed string search (`-F`) now works as advertised with multiple
patterns
- Bugfix: Empty pages can now be matched with `^$`
- Bugfix: The pattern `^` now matches *only* at the beginning of pages
- Bugfix: Text outside of PDF's CropBox but inside the MediaBox is not
ignored anymore.
- Various fixes for BSD support
Upstream changes:
1.42 2017-07-30 MANWAR
- Fixed GitHub issue #5 (abstract is undef in meta files). Thanks @y.
1.41 2017-07-28 MANWAR
- Fixed GitHub issue #4 (can't use non-ascii first character as element name). Thanks @nanis, @ikegami.
0.9.5
-----
* Make ics_diff.py work with Python 3
* Huge changes to text encoding for Python 2/3 compatibility
* Autogenerate DTSTAMP if not provided
* Fix getrruleset() for Python 3 and in the case that addRDate=True
* Update vCard property validation to match specifications
* Handle offset-naive and offset-aware datetimes in recurrence rules
* Improved documentation for multi-value properties
The mandoc manual page parser and formatter contains:
* complete validating parsers for the mdoc and man languages
* a slightly incomplete parser handling most of the tbl language
* a very incomplete parser handling a part of the eqn language
* support for a few selected roff requests that often occur in manuals
* complete ASCII, UTF8, HTML and XHTML text output formatters
* simple PostScript and PDF output formatters
* output formatters producing indented mdoc and man parse trees
To format manuals for console display, it can be used as a smaller
and faster drop-in replacement for nroff -mandoc. Some rare manuals
using lots of uncommon low-level roff requests may not work with
mandoc but require a full roff implementation.
Changes to mdocml-1.14.1:
Changes in version 1.14.2, released on July 28, 2017
--- MAJOR NEW FEATURES ---
* New mdoc(7) -Tmarkdown output mode.
* For -Thtml, implement internal hyperlinks pointing to authoritative
definitions of various syntax elements, similar to the ctags(1)-like
less(1) :t internal searching in terminal mode.
* Provide a superset of the functionality of the former mdoclint(1)
utility and a new -Wstyle message level with several new messages,
including validity checking of .Xr cross references.
* tbl(7): Implement automatic line breaking inside individual table
cells, and several other formatting improvements.
* eqn(7): Complete rewrite of the lexer, resulting in several bugfixes.
* Continue parser unification, in particular allowing generation
of syntax tree nodes on the roff(7) level, allowing implementation
of many additional roff requests.
--- REMOVED FUNCTIONALITY ---
* Delete the manpage(1) utility. It was never enabled in any release.
* Delete the -Txhtml command line option. It has been an obsolete
alias for the -Thtml output mode for more than two years.
--- MINOR NEW FEATURES ---
* -Tlint now puts parser messages on stdout instead of stderr,
making commands like "man -l -Tlint *.1" useful.
* mdoc(7): Various .Lk formatting improvements.
* mdoc(7) -Thtml: Better CSS for .Bl lists.
* man(7): Implement the .MT/.ME block macro (mailto hyperlink).
* man(7): Implement the .DT macro (restore default tab positions).
* man(7): Improved support for manuals generated with reStructuredText
by partial support for the \n[an-margin] number register.
* man(7) -Thtml: Support deep linking to .SH and .SS headers.
* tbl(7): Implement the "allbox" table option.
* tbl(7): Implement the column spacing and the 'w' (minimum column
width) layout modifiers.
* tbl(7): Significant improvements of the manual page.
* eqn(7): Much improved font selection, including recognition of
well-known function names, and a few other formatting improvements.
* eqn(7) -Thtml: Use <mn> and <mo> in addition to <mi>.
* roff(7): Implement the .ce (centering), .mc (margin character),
.rj (right justify), .ta (define tab stops), .ti (temporary indent),
.als (macro alias), .ec and .eo (escape character control),
.po (page offset), and .rn (macro rename) requests.
* roff(7) .am: Implement appending to mdoc(7) and man(7) macros.
* roff(7): implement the \h (horizontol motion), \l (horizontal
line drawing), and \p (break output line) escape sequences,
and also several additional character escape sequences.
* roff(7): Implement the 'd' conditional (macro or string defined).
* man.cgi(8) now uses pledge(2), too.
* regress.pl(1): simpler user interface, better summary output,
simpler code, and no more recursion.
--- THANKS TO ---
* Anthony Bentley (OpenBSD) for the implementation of .MT/.ME,
reports of many bugs and missing features, and suggestions
for a number of feature and documentation improvements.
* Sebastien Marie (OpenBSD) for two source code patches and
for some useful discussions.
* Florian Obser (OpenBSD) for a bugfix patch and a bug report.
* Jonathan Gray (OpenBSD) for several bug reports from afl(1)
and several more from static analysis tools.
* Theo Buehler (OpenBSD) for several bug reports, most from afl(1).
* Jason McIntyre (OpenBSD) for many useful discussions about a
wide variety of topics, lots of continuous testing, a number of
bug reports, and some suggestions for messages and documentation.
* Thomas Klausner (NetBSD) for lots of help while migrating
mdoclint(1) functionality to mandoc -Tlint, for suggesting
several useful new messages, and for release testing.
* Reyk Floeter (OpenBSD) and Vsevolod Stakhov (FreeBSD) for
suggesting a markdown output mode.
* Thomas Guettler for suggesting -Thtml internal hyperlinks.
* Yuri Pankov (Illumos) for inspiring new warning messages and
for extensive release testing.
* Anton Lindqvist and TJ Townsend (both OpenBSD) and Jan Stary
for multiple bug reports.
* Leah Neukirchen (Void Linux) for bug reports and release testing.
* Michael Stapelberg (Debian) for suggesting feature improvements
and for release testing.
* Martin Natano and Theo de Raadt (both OpenBSD), Andreas Voegele,
Gabriel Guzman, Gonzalo Tornaria, Markus Waldeck, and Raf Czlonka
for bug reports.
* Antoine Jacoutot (OpenBSD) and Steffen Nurpmeso for suggesting
feature improvements.
* Dag-Erling Smoergrav (FreeBSD) for inspiring new warning messages.
* Ted Unangst and Marc Espie (OpenBSD) for providing useful ideas.
* Svyatoslav Mishyn (Crux Linux) for release testing.
* Carsten Kunze (Heirloom roff) for help keeping mandoc and groff
compatible and for committing some of my patches to groff.
Lingua::Translit can be used to convert text from one writing system to
another, based on national or international transliteration tables.
Where possible a reverse transliteration is supported.
* Add U+2116 NUMERO SIGN
* Add U+05BE HEBREW PUNCTUATION MAQAF
unidecode 0.04.20:
* Fixed transliteration of circled Latin letters and numbers
* Add square unit symbols.
* Add Latin variants in U+20xx and U+21xx pages.
* Fix U+02B1 MODIFIER LETTER SMALL H WITH HOOK.
* Fix U+205F MEDIUM MATHEMATICAL SPACE.
* Add "DIGIT ... COMMA" and "PARANTHESIZED LATIN CAPITAL LETTER"
in U+1F1xx page.
* Add missing vulgar fractions and a/c, a/s, c/o, c/u symbols.
* Add universal Wheel release
go14 has no relro support AFAICT.
go-1.8.3 has if you use -buildmode=pie, but it claims it's not supported
on Linux.
Disable relro checking for go packages until bsiegert has time to
look at this.
Changes include:
ocaml-expat-1.0.0
- New maintainer (whitequark@whitequark.org)
- Support for the bytes type
- Build system improvements to support cross-compilation and systems
without shared libraries
v1.0.1 2016-03-07 La Forclaz (VS)
---------------------------------
- OCaml 4.05.0 compatibility (removal of `Uchar.dump`).
v1.0.0 2016-11-23 Zagreb
------------------------
- Support for RFC 7195/ECMA-404. This means that any JSON value can
now be codec as JSON text, in RFC 4627 (obsoleted by 7195) this
could only be an array or an object. If your code was relying on the
fact the first decoded lexeme was either a `Os` or `As`,
you will need to review that.
- Fix `Jsonm.decode` not eventually returning `End` on toplevel
decode error.
- OCaml standard library `Uchar.t` support. At the API level only
some cases of `Jsonm.error` change.
- Uutf 1.0.0 support.
- Safe string support.
- Build depend on topkg.
- Relicensed from BSD3 to ISC.
v1.0.1 2016-03-07 La Forclaz (VS)
---------------------------------
- OCaml 4.05.0 compatibility (removal of `Uchar.dump`).
v1.0.0 2016-11-23 Zagreb
------------------------
- `Uutf.String.fold_utf_{8,16be,16le}`, allow substring folding via
optional arguments. Thanks to Raphaël Proust for the idea and the
patch.
- OCaml standard library `Uchar.t` support.
- Removes and substitutes `type Uutf.uchar = int` by the (abstract)
`Uchar.t` type. `Uchar.{of,to}_int` allows to recover the previous
representation.
- Removes `Uutf.{is_uchar,cp_to_string,pp_cp}`. `Uchar.{is_valid,dump}`
can be used instead.
- Safe string support. Manual sources and destinations now work on bytes
rather than strings.
- Build depend on topkg.
- Relicense from BSD3 to ISC.
Upstream changes:
1.600 2017-06-23
- New maintainer: LEEJO
- Add Changes file
- Add link to github repo
- Add strict and warnings
- Add LICENSE to POD + LICENSE file
- Add META.* files through make dist
- Add .travis.yml for CI
indexers:
* omindex:
+ 1.4.3 added a new --sample option, but contrary to the documentation
the default behaviour was to take the sample from the meta description
(which was the hard-wired behaviour in 1.4.2 and earlier). The default
has now been changed to take the sample from the body.
+ Index .shtm, .xhtml and .xhtm as HTML by default - .shtm is another
extension used for server-parsed HTML (in addition to the more common
.shtml), and .xhtm and .xhtml are XHTML.
+ Fix fallback lookup for extension containing upper case. User mappings
worked, but built-in extension to MIME type mappings were effectively being
ignored (because the result of the function call was not being checked).
Bug introduced in 1.3.4.
+ Fix term-based date ranges, broken by changes in 1.4.2. Found and
diagnosed by Gaurav Arora.
+ Handle date range with start after end better - with term-based ranges,
this used to generate a bogus filter, but now just generates Dlatest.
+ Use Y-term when range starts/ends at year start/end. Previously we used 12
M-terms for these cases.
+ Use full leap-year check when constructing term-based date ranges -
previous code was good until 2100, but even then it would only result
in an extra term being included for a non-existent February 29th in
rare cases.
+ Add support for indexing vCard files if Perl and its Text::vCard module
are available.
+ Recognise application/x-rpm as alternative type since libmagic reports this
rather than application/x-redhat-package-manager.
+ Use official MIME type application/vnd.debian.binary-package for debian
packages. We used to map .deb and .udeb to application/x-debian-package,
but in 2014 (after we added that support for .deb) an official type was
registered with IANA. We now map extensions .deb and .udeb to the official
type, but the unofficial type is still recognised (older versions of
libmagic probably report it, and users may be mapping to it).
+ Handle PHP as MIME type text/x-php. The main difference this makes is that
PHP files which don't have extension '.php' (e.g. .phtml, .phps, .php5,
.ph4, etc) get identified by libmagic as text/x-php and will now be indexed.
It also means that the user can now more easily configure different filters
for HTML and PHP.
+ Don't use meta description as sample by default. Now we have dynamic
snippets (via $snippet), the body text is a better default. Also generated
HTML sometimes has unhelpful content in the meta description. To get the
previous behaviour, use the new omindex command line option:
--sample=description
omega:
* New OmegaScript command $cgiparams which returns a list of the parameter
names.
* Handle tab in a CGI parameter name in the same way as space. Mostly this is
a way to avoid having tabs in CGI parameter names - they aren't useful, but
if they could have tabs in we can't put CGI parameter names in a list.
templates:
* query: Fix highlighting of matching terms. We were using both $snippet and
$highlight, which results in double highlighting and HTML escaping, most
noticeable by literal <strong> and </strong> appearing around matching terms
in the rendered HTML snippet. Reported by Mark Thomas on xapian-discuss.
build system:
* If gen-mimemap failed after creating mimemap.h, the rule wouldn't get rerun.
API:
* Database::check():
+ Fix checking a single table - changes in 1.4.2 broke such checks unless you
specified the table without any extension.
+ Errors from failing to find the file specified are now thrown as
DatabaseOpeningError (was DatabaseError, of which DatabaseOpeningError is
a subclass so existing code should continue to work). Also improved the
error message when the file doesn't exist is better.
* Drop OP_SCALE_WEIGHT over OP_VALUE_RANGE, OP_VALUE_GE and OP_VALUE_LE in the
Query constructor. These operators always return weight 0 so OP_SCALE_WEIGHT
over them has no effect. Eliminating it at query construction time is cheap
(we only need to check the type of the subquery), eliminates the confusing
"0 * " from the query description, and means the OP_SCALE_WEIGHT Query object
can be released sooner. Inspired by Shivanshu Chauhan asking about the query
description on IRC.
* Drop OP_SCALE_WEIGHT on the right side of OP_AND_NOT in the Query
constructor. OP_AND_NOT takes no weight from the right so OP_SCALE_WEIGHT
has no effect there. Eliminating it at query construction time is cheap
(just need to check the subquery's type), eliminates the confusing "0 * "
from the query description, and means the OP_SCALE_WEIGHT object can be
released sooner.
* MSet::snippet(): Favour candidate snippets which contain more of a diversity
of matching terms by discounting the relevance of repeated terms using an
exponential decay. A snippet which contains more terms from the query is
likely to be better than one which contains the same term or terms multiple
times, but a repeated term is still interesting, just less with each
additional appearance. Diversity issue highlighted by Robert Stepanek's
patch in https://github.com/xapian/xapian/pull/117 - testcases taken from his
patch.
* MSet::snippet(): New flag SNIPPET_EMPTY_WITHOUT_MATCH to get an empty snippet
if there are no matches in the text passed in. Implemented by Robert
Stepanek.
* Round MSet::get_matches_estimated() to an appropriate number of significant
figures. The algorithm used looks at the lower and upper bound and where the
estimate sits between them, and then picks an appropriate number of
significant figures. Thanks to Sébastien Le Callonnec for help sorting out a
portability issue on OS X.
* Add Database::locked() method - where possible this non-invasively checks if
the database is currently open for writing, which can be useful for
dashboards and other status reporting tools.
testsuite:
* Add more tests of Database::check(). Fixes#238, reported by Richard
Boulton.
* Make apitest testcase nosuchdb1 fail if we manage to open the DB.
* Skip testcases which throw NetworkError with errno value ECHILD - this
indicates system resource starvation rather than a Xapian bug. Such failures
are seen on Debian buildds from time to time, see:
https://bugs.debian.org/681941
* Use terms that exist in the database for most snippet tests. It's good to
test that snippet highlighting works for terms that aren't in the database,
but it's not good for all our snippet tests to feature such terms - it's
not the common usage.
matcher:
* Fix incorrect results due to uninitialised memory. The array holding max
weight values in MultiAndPostList is never initialised if the operator is
unweighted, but the values are still used to calculate the max weight to pass
to subqueries, leading to incorrect results. This can be observed with an OR
under an unweighted AND (e.g. OR under AND on the right side of AND_NOT).
The fix applied is to simply default initialise this array, which should lead
to a max weight of 0.0 being passed on to subqueries. Bug reported in
notmuch by Kirill A. Shutemov, and forwarded by David Bremner.
* Improve value range upper bound and estimated matches. The value slot
frequency provides a tighter upper bound than Database::get_doccount().
The estimate is now calculated by working out the proportion of possible
values between the slot lower and upper bounds which the range covers
(assuming a uniform distribution). This seems to work fairly well in
practice, and is certainly better than the crude estimate we were using:
Database::get_doccount() / 2
* Handle arbitrary combinations of OP_OR under OP_NEAR/OP_PHRASE, partly
addressing #508. Thanks to Jean-Francois Dockes for motivation and testing.
* Only convert OP_PHRASE to OP_AND if full DB has no positions. Until now the
conversion was done independently for each sub-database, but being consistent
with the results from a database containing all the same documents seems more
useful.
* Avoid double get_wdf() call for first subquery of OP_NEAR and OP_PHRASE,
which will speed them up by a small amount.
documentation:
* Correct "Query::feature_flag" -> "QueryParser::feature_flag". Fixes#747,
reported by James Aylett.
* Rename set_metadata() `value` parameter to `metadata`. This change is
particularly motivated by making it easier to map this case specially in SWIG
bindings, but the new name is also clearer and better documents its purpose.
* Rename value range parameters. The new names (`range_limit` instead of
`limit`, `range_lower` instead of `begin` and `range_upper` instead of `end`)
are particularly motivated by making it easier to map them specially in SWIG
bindings, but they're also clearer names which better document their
purposes.
* Change "(key, tag)" to "(key, value)" in user metadata docs. The user
metadata is essentially what's often called a "key-value store" so users
are likely to be familiar with that terminology.
* Consistently name parameter of Weight::unserialise() overridden forms.
In xapian/weight.h it was almost always named `serialised`, but LMWeight
named it `s` and CoordWeight omitted the name.
* Fix various minor documentation comment typos.
* INSTALL: Update section about -Bsymbolic-functions which is not a new
GNU ld feature at this point.
tools:
* xapian-delve: Uses new Database::locked() method to report if the database
is currently locked.
portability:
* Fix configure probe for __builtin_exp10() to work around bug on mingw - there
GCC generates a call to exp10() for __builtin_exp10() but there is no exp10()
function in the C library, so we get a link failure. Use a full link test
instead to avoid this issue. Reported by Mario Emmenlauer on xapian-devel.
* Fix configure probe for log2() which was failing on at least some platforms
due to ambiguity between overloaded forms of log2(). Make the probe
explicitly check for log2(double) to avoid this problem.
* Workaround the unhelpful semantics of AI_ADDRCONFIG on platforms which follow
the old RFC instead of POSIX (such as Linux) - if only loopback networking is
configured, localhost won't resolve by name or IP address, which causes
testsuites using the remote backend over localhost to fail in auto-build
environments which deliberately disable networking during builds. The
workaround implemented is to check if the hostname is "::1", "127.0.0.1" or
"localhost" and disable AI_ADDRCONFIG for these. This doesn't catch all
possible ways to specify localhost, but should catch all the ways these might
be specified in a testsuite. Fixes https://bugs.debian.org/853107, reported
by Daniel Schepler and the root cause uncovered by James Clarke.
* Fix build failure cross-compiling for android due to not pulling in header
for errno.
* Fix compiler warnings.
debug code:
* Adjust assertion in InMemoryPostList. Calling skip_to() is fine when the
postlist hasn't been started yet (but the assertion was failing for a term
not in the database). Latent bug, triggered by testcases complexphrase1 and
complexnear1 as updated for addition of support for OP_OR subqueries of
OP_PHRASE/OP_NEAR.
Upstream changes:
- 1.18 H78M5qm1 Sat Jul 8 05:52:48:01 -0500 2017
* fixed new() to check file or xml to detect standalone in
declaration, from <HTTPS://RT.CPAN.Org/Ticket/Display.html?id=122389>
(Thanks Alex!)
* traced tidy() memory leak from
<HTTPS://RT.CPAN.Org/Ticket/Display.html?id=120296> (Thanks Jozef!)
which seems to come from every XPath->findnodes() call
* aligned synopsis comments
* updated write() to use output encoding UTF-8 since that's what
almost all XML should rely on (with thanks to RJBS for teaching me
much from his great talk at <HTTPS://YouTube.Com/watch?v=TmTeXcEixEg>)
* collapsed trailing curly braces on code blocks
* added croak for any failed file open attempt
Upstream changes:
version 3.22: Fri 30 Jun 10:03:10 CEST 2017
Fixes:
- ::XOP::Include read from file always died
rt.cpan.org#119955 [Pavel Trushkin]
- ::XOP::Include read should enforce raw mode
rt.cpan.org#119955 [Pavel Trushkin]
Update DEPENDS
Upstream changes:
version 1.58: Tue 27 Jun 16:50:29 CEST 2017
Fixes:
- early facet on missing field [Bernhard Reutner-Fischer]
Improvements:
- move to Log::Report 1.20, which has considerable changes.
version 1.57: Wed 14 Jun 14:48:18 CEST 2017
Fixes:
- better separation between lexical- and value-space facets.
rt.cpan.org#121946 [Nils Barkald]
- json_friendly changes broke some (semi-illegal) enumeration and
pattern facets. Now new solution with dualvar [Wesley Schwengle]
Upstream changes:
2.033 2017-07-06
- [RT #122371] Remove a couple of improperly-placed weaken statements
(reported by Phil Perry).
- [RT #122372] Fix weakening when a page is added to the end of a multiple
page document (reported by Phil Perry).
- Fix Bank Gothic core font (reported by Phil Perry).
2.032 2017-07-02
- PDF::API2 has many circular references, and the end() method doesn't clear
them all, so memory is leaked. This release uses Scalar::Util's weaken()
function to improve garbage collection. A significant number of circular
references have been weakened, though many likely still remain.
- [RT #120756] Eliminate a warning for an ambiguous call to CORE::open
(first reported by Abdelbaki Brahmia).
- $text->text_justified() and $text->text_fill_justified() now adjust the
space between words rather than stretching individual characters in order
to get the text to fit.
- [RT #120397] Indirect references and indirect objects can have comments
embedded in their whitespace, and their object number and generation may
be split across multiple lines, which may not all be buffered (reported by
SPROUT).
- [RT #120450] Fix PDF::API2->open($filename)->stringify() (reported by
SPROUT).
- Fix an off-by-one error when calculating text width while charspace is
non-zero.
- [RT #120048] Fix PDF::API2->synfont() (broken in 2.029, fixed by Vadim
Repin) and add basic testing.
Xindy was developed after an impasse had been encountered in
the attempt to complete internationalisation of makeindex.
Xindy can be used to process indexes for documents marked up
using (La)TeX, Nroff family and SGML-based languages. Xindy is
highly configurable, both in markup terms and in terms of the
collating order of the text being processed.
Features added
--------------
* latex: hint that code-block continues on next page
Bugs fixed
----------
* Failed to import sphinx.util.compat with docutils-0.14rc1
* sphinx-quickstart template is incomplete regarding use of alabaster
* 'str object' has no attribute 'filename'
* Emit wrong warnings if citation label includes hyphens
* Some warnings are not colored when using --color option
* Remove unwanted whitespace in default template
* sphinx.ext.imgmath fails to convert SVG images if project directory
name contains spaces
* Fix color handling in make mode's help command
* use of self.env.warn in sphinx extension fails
* production lists apply smart quotes transform since Sphinx 1.6.1
* latex: fix ``\sphinxbfcode`` swallows initial space of argument
* Quotes in auto-documented class attributes should be straight quotes
in PDF output
* LaTeX figure floated to next page sometimes leaves extra vertical
whitespace
* duplicated footnotes raises IndexError
* Failure of deprecation warning mechanism of
``sphinx.util.compat.Directive``
* Bogus warnings for "citation not referenced" for cross-file citations
* Don't download images when builders not supported images
* Remote image URIs without filename break builders not supported remote
images
* command line messages are translated unintentionally with ``language``
setting.
* make checking ``epub_uid`` strict
* Fix about box drawing characters for PDF output
* autosummary could not find methods
* Emit error if ``latex_documents`` contains non-unicode string in py2
Release 0.9.8 - July 1 2017
- Fixed issue where spurious deprecation warning was raised in ``-Werror`` mode.
Release 0.9.7 - June 25 2017
- Minor bug and doc fixes.
The package causes LaTeX to directly produce HTML5 output,
using external utility programs only for the final conversion
of text and images. Math may be represented by SVG files or
MathJax. Documents may be produced by LaTeX, LuaLaTeX, or
XeLaTeX. A texlua script removes the need for system utilities
such as make and gawk, and also supports xindy and latexmk.
Configuration is automatic at the first manual compile. Print
and HTML versions of each document may coexist, each with its
own set of auxiliary files. Support files are self-generated on
request. Assistance is provided for HTML import into EPUB
conversion software and word processors.
Temple is an abstraction and a framework for compiling templates to pure Ruby.
It's all about making it easier to experiment, implement and optimize template
languages. If you're interested in implementing your own template language,
or anything else related to the internals of a template engine: You've come to
the right place.
Have a look around, and if you're still wondering: Ask on the mailing list and
we'll try to do our best. In fact, it doesn't have to be related to Temple at
all. As long as it has something to do with template languages, we're
interested: <http://groups.google.com/group/guardians-of-the-temple>.
## 5.0.1
Released on May 3, 2017
([diff](https://github.com/haml/haml/compare/v5.0.0...v5.0.1)).
* Fix parsing attributes including string interpolation. [#917](https://github.com/haml/haml/pull/917) [#921](https://github.com/haml/haml/issues/921)
* Stop distributing test files in gem package and allow installing on Windows.
* Use ActionView's Erubi/Erubis handler for erb filter only on ActionView. [#914](https://github.com/haml/haml/pull/914)
## 5.0.0
Released on April 26, 2017
([diff](https://github.com/haml/haml/compare/4.0.7...v5.0.0)).
Breaking Changes
* Haml now requires Ruby 2.0.0 or above.
* Rails 3 is no longer supported, matching the official
[Maintenance Policy for Ruby on Rails](http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails/).
(Tee Parham)
* The `haml` command's debug option (`-d`) no longer executes the Haml code, but
rather checks the generated Ruby syntax for errors.
* Drop parser/compiler accessor from `Haml::Engine`. Modify `Haml::Engine#initialize` options
or `Haml::Template.options` instead. (Takashi Kokubun)
* Drop dynamic quotes support and always escape `'` for `escape_html`/`escape_attrs` instead.
Also, escaped results are slightly changed and always unified to the same characters. (Takashi Kokubun)
* Don't preserve newlines in attributes. (Takashi Kokubun)
* HTML escape interpolated code in filters.
[#770](https://github.com/haml/haml/pull/770)
(Matt Wildig)
:javascript
#{JSON.generate(foo: "bar")}
Haml 4 output: {"foo":"bar"}
Haml 5 output: {"foo":"bar"}
Added
* Add a tracing option. When enabled, Haml will output a data-trace attribute on each tag showing the path
to the source Haml file from which it was generated. Thanks [Alex Babkin](https://github.com/ababkin).
* Add `haml_tag_if` to render a block, conditionally wrapped in another element (Matt Wildig)
* Support Rails 5.1 Erubi template handler.
* Support Sprockets 3. Thanks [Sam Davies](https://github.com/samphilipd) and [Jeremy Venezia](https://github.com/jvenezia).
* General performance and memory usage improvements. (Akira Matsuda)
* Analyze attribute values by Ripper and render static attributes beforehand. (Takashi Kokubun)
* Optimize attribute rendering about 3x faster. (Takashi Kokubun)
* Add temple gem as dependency and create `Haml::TempleEngine` class.
Some methods in `Haml::Compiler` are migrated to `Haml::TempleEngine`. (Takashi Kokubun)
Fixed
* Fix for attribute merging. When an attribute method (or literal nested hash)
was used in an old style attribute hash and there is also a (non-static) new
style hash there is an error. The fix can result in different behavior in
some circumstances. See the [commit message](e475b015d3)
for detailed info. (Matt Wildig)
* Make escape_once respect hexadecimal references. (Matt Wildig)
* Don't treat the 'data' attribute specially when merging attribute hashes. (Matt Wildig and Norman Clarke)
* Fix #@foo and #$foo style interpolation that was not working in html_safe mode. (Akira Matsuda)
* Allow `@` as tag's class name. Thanks [Joe Bartlett](https://github.com/redoPop).
* Raise `Haml::InvalidAttributeNameError` when attribute name includes invalid characters. (Takashi Kokubun)
* Don't ignore unexpected exceptions on initializing `ActionView::OutputBuffer`. (Takashi Kokubun)
3.1.2
* Removed css builder
3.1.3
* suppress warning while undefining object_id
3.1.4
* explicit blank content will not generate a self-closing tag
3.2.0
* Check if method was already cached before method definition.
* Change to String, raise_error last argument accept String
* Add test
* Cleanup of code
* Make changes to add option
* Update lib/builder/xmlbase.rb
* Cleaned up test case.
* Cleaned up explicit nil code a wee bit.
* Remove extraneous white spaces.
* Convert readme from rdoc to markdown.
* Tweek readme.
* Add us-ascii encoding declaration.
* Use old style hash literals for 1.8.x compatibility.
* Add # encoding: iso-8859-1 comment
* Add single quote attribute option.
* Update changes.
* More rdoc fixes.