2017.004 Tue Apr 11 2017
# No new features.
2016.007_02 Sat Jul 02 2016
! lib/Text/LineFold.pm
! t/04fold.t
- CPAN RT#115146: Space indenting not happening with "From" or " ".
This is a relatively minor release of Miller, containing feature
requests and bugfixes while I've been working on the Windows port
(which is nearly complete).
Features:
JSON arrays: as described here, Miller being a tabular data
processor isn't well-position to handle arbitrary JSON. (See
jq for that.) But as of 5.1.0, arrays are converted to maps
with integer keys, which are then at least processable using
Miller. Details are here. The short of it is that you now have
three options for the main mlr executable:
--json-map-arrays-on-input Convert JSON array indices to Miller
map keys. (This is the default.) --json-skip-arrays-on-input
Disregard JSON arrays. --json-fatal-arrays-on-input Raise a fatal
error when JSON arrays are encountered in the input.
This resolves#133.
The new mlr fraction verb makes possible in a few keystrokes
what was only possible before using two-pass DSL logic: here
you can turn numerical values down a column into their
fractional/percentage contribution to column totals, optionally
grouped by other key columns.
The DSL functions strptime and strftime now handle fractional
seconds. For parsing, use %S format as always; for formatting,
there are now %1S through %9S which allow you to configure a
specified number of decimal places. The return value from
strptime is now floating-point, not integer, which is a minor
backward incompatibility not worth labeling this release as
6.0.0. (You can work around this using int(strptime(...)).) The
DSL functions gmt2sec and sec2gmt, which are keystroke-savers
for strptime and strftime, are similarly modified, as is the
sec2gmt verb. This resolves#125.
A few nearly-standalone programs -- which do not have anything
to do with record streams -- are packaged within the Miller.
(For example, hex-dump, unhex, and show-line-endings commands.)
These are described here.
The stats1 and merge-fields verbs now support an antimode
aggregator, in addition to the existing mode aggregator.
The join verb now by default does not require sorted input,
which is the more common use case. (Memory-parsimonious joins
which require sorted input, while no longer the default, are
available using -s.) This another minor backward incompatibility
not worth making a 6.0.0 over. This resolves#134.
mlr nest has a keystroke-saving --evar option for a common use
case, namely, exploding a field by value across records.
Documentation:
The DSL reference now has per-function descriptions.
There is a new feature-counting example in the cookbook.
Bugfixes:
mlr join -j -l was not functioning correctly. This resolves
#136.
JSON escapes on output (\t and so on) were incorrect. This
resolves#135.
Subliminal is a python 2.7+ library to search and download subtitles.
It comes with an easy to use yet powerful CLI suitable for direct use or
cron jobs.
GuessIt is a python library that extracts as much information as possible
from a video filename.
It has a very powerful matcher that allows to guess properties from a video
using its filename only. This matcher works with both movies and tv shows
episodes.
ReBulk is a python library that performs advanced searches in strings that
would be hard to implement using re module or String methods only.
It includes some features like Patterns, Match, Rule that allows
developers to build a custom and complex string matcher using a readable
and extendable API.
pkgsrc changes:
- Use REPLACE_PYTHON instead of REPLACE_INTERPRETER (no functional changes
intended)
- Use ALTERNATIVE and instruct PLIST and Makefile post-install target
accordingly to permit coexistence of multi-pkgs py-cssutils
Changes:
1.0.2 170304
------------
- FIXED issue #61: Nesting of `@media` rules
- FIXED issue #51 and #56: Slow font-family regex
- FIXED issue #68: failing tests on Python 3
- FIXED issue #69: our DOM implementation now delegates unsupported methods
- FIXED issue #72: importing now faster since regexes are no longer pre-cached on import time
1.0.1 151008
------------
- Fixed Python 3.5 compatibility
Upstream changes:
1.93 2017-04-04
- Fix a test for perl without doc in @INC (kentnl++)
1.92 2017-04-01
- Imported tests/fixes from Text::CSV_XS 1.28
- Fix crlf issue for csv () on Windows (RT#120466)
- New error code for illegal argument(s)/parameter(s)
- Fix tests for perl without dot in @INC
This modest package contains various common humanization utilities,
like turning a number into a fuzzy human readable duration ('3
minutes ago') or into a human readable size or throughput. It is
localized to Russian, French, and Korean.
Pretty-print tabular data in Python, a library and a command-line
utility.
The main use cases of the library are:
* printing small tables without hassle: just one function call,
formatting is guided by the data itself
* authoring tabular data for lightweight plain-text markup: multiple
output formats suitable for further editing or transformation
* readable presentation of mixed textual and numeric data: smart
column alignment, configurable number formatting, alignment by a
decimal point
Changelog:
* Noteworthy changes in release 3.0 (2017-02-09) [stable]
** Bug fixes
grep without -F no longer goes awry when given two or more patterns
that contain no special characters other than '\' and also contain a
subpattern like '\.' that escapes a character to make it ordinary.
[bug introduced in grep 2.28]
grep no longer fails to build on PCRE versions before 8.20.
[bug introduced in grep 2.28]
* Noteworthy changes in release 2.28 (2017-02-06) [stable]
** Bug fixes
When grep -Fo finds matches of differing length, it could
mistakenly print a shorter one. Now it prints a longest one.
[bug introduced in grep-2.26]
When standard output is /dev/null, grep no longer fails when
standard input is a file in the Linux /proc file system, or when
standard input is a pipe and standard output is in append mode.
[bugs introduced in grep-2.27]
Fix performance regression with multiple patterns, e.g., for -Fi in
a multi-byte locale, or for -Fw in a single-byte locale.
[bugs introduced in grep-2.19, grep-2.22 and grep-2.26]
** Improvements
Improve performance for -E or -G pattern lists that are easily
converted to -F format.
Version 1.1.22
- Fix md5 sum calculation of modules for OTP17
- Fix type spec for fxml_stream:parse_element/1
Version 1.1.21
- Add code for building on FreeBSD
Version 1.1.20
- Make XML generator working on OTP 18
# 0.9.8 - January 13th, 2017
- Fixed installed gems not being correctly found in `yard server` and by plugins.
- Fixed tokenization of `%w(...)` array syntax.
# 0.9.7 - January 9th, 2017
- Fix resolution of absolute object paths with ambiguous names. (#1029)
# 0.9.6 - January 7th, 2017
- Removed official support for Ruby 1.x (1.8/1.9). YARD can still be installed
in these versions, but support is not guaranteed. Simple bug fixes may still
be considered via pull request only. Issues without code will be automatically
closed.
- Added {YARD::Tags::Tag#explain_types} returning a plain English summary
of the type specification of a given tag. Also adds {YARD::Tags::TypesExplainer}
as an implementation class for the method.
- Added support for automatic linking of constants and method calls of
Ruby syntax highlighted source code in generated HTML. Also adds the
{YARD::Parser::Ruby::TokenResolver} implementation class to iterate over
tokenized code with extra resolved object information.
- Added support for compound constant assignments (`A::B::C = true`).
- Added `LibraryVersion#yardoc_file_for_SOURCE` callback method for sources with
a pre-determined yardoc file location. Implement this method instead of
manually setting `library.yardoc_file = ...` in your load method (you can
still assign the attribute manually).
- Use RubyGems 2.x+ API to query gems when available instead of using backport.
v3.4.0 2016/12/26
Redcarpet v3.4.0
This new release ships with a bunch of bug fixes especially regarding anchor
generation.
Improvements to anchor generation
The anchor generation now relies on a djb2 hashing algorithm whenever the
generated anchor is empty as non alpha-numeric chars. This is specifically
interesting for CJK contents as Redcarpet used to generate empty anchors
dealing with titles in these locales.
Special thanks to Alexey Kopytko and namusyaka for their work on that !
Also now, the html-escaped entities are removed from anchors generated with
the HTML render in order to be consistent with the HTML_TOC render and as it
is more expected.
Other improvements
* Table headers don't require a minimum of three dashes anymore; a single one
can be used for each row.
* The Markdown and rendering options are now exposed through a Hash inside the
@options instance variable inside your custom render objects.
Bug fixes
* Multiple single quote pairs are parsed correctly with SmartyPants.
* Remove periods at the end of URLs when autolinking to make sure that links
at the end of a sentence get properly generated.
* Avoid escaping ampersands in href links.
Checkout the CHANGELOG for further information and changes.
== 3.0.0 / 2017-02-07 Charlie Savage
* Revamp how libxml-ruby manages memory. Instead of trying to return the same ruby object for each xmlnode,
the bindings now create wrapper ruby objects as needed which are then freed at the end of use.
This allows most memory management to be handled by libxml itself. Ruby only manages the lifespan of
documents and parent xml nodes. When those go out of scope, the underlying libxml objects are also freed.
This implementation requires almost no overhead, plays nicely with Nokogiri and appears to work much
better (Charlie Savage).
* Change XML::Node#eql? API. Nodes are now considered equal only if they wrap the same underlying
libxml node. Previously, they would also be considered equal if they contained the same content
(Charlie Savage)
* Change XML::Reader.expand API. Previously it would automatically instantiate a reader document so
the an xpath expression could be used to search the returned node. Now you should first call
reader.doc (Charlie Savage)
* Update Visual Studio project for Visual Studio 15 - requires ruby 2.4+ (Charlie Savage)
* Remove APIs that have been deprecated for several years (Charlie Savage)
kramdown 1.13.2 released 2017/01/07
This release fixes some minor issues - updating is recommended.
Changes
3 bug fixes:
* Fix footnote link spacing to use non-breaking space (pull request #399 by
Martyn Chamberlin)
* Show warning for unreferenced footnote definitions (fixes#400 reported by
Kyle Barbour)
* Fix test cases with respect to Ruby 2.4 (fixes#401 reported by Connor Shea)
kramdown 1.13.1 released 2016/11/25
This release fixes the GFM header ID generation for more cases, updating is
very recommended.
Changes
1 bug fix:
* Fix GFM header ID generation when code spans, math elements, entities,
typographic symbols or smart quotes are used (fixes#391 reported by Nick
Fagerlund)
kramdown 1.13.0 released 2016/11/20
The biggest change in this release is the introduction of a converter for man
pages. Although there already exist two solutions (ronn and kramdown-man),
both are not completely satisfactory:
* Ronn doesn't use standard Markdown syntax for all elements.
* kramdown-man only converts a subset of the available element types.
The new man page converter uses standard kramdown syntax and supports nearly
all element types, including tables.
This release also brings some enhancements for the GFM parser. One thing to
note is that the header ID generation is now more compatible to GFM which also
means that some IDs will be different - so check the documents on which you
use the GFM parser, especially when you are using Jekyll or Github Pages.
Organizational-wise, issues and pull requests on Github that pertain to
feature requests have been closed and are now tracked through a dedicated
kramdown project on Github.
Changes
4 minor changes:
* Add new converter for man pages
* Header ID generation for the GFM parser is now more compatible to GFM (fixes
#267, requested by chadpowers)
* Update to the MathJax math engine to allow formatting the preview as code /
pre > code (pull request #372 by Florian Klampfer)
* Allow tabs in table separator lines (pull request #370 by Shuanglei Tao)
2 bug fixes:
* Compactly nested lists are now handled correctly after fixing a bug in
indentation detection (fixes#368 reported by Christopher Brown)
* GFM parser: Allow indenting the delimiting lines of fenced code blocks for
better GFM compatibility (pull request #369 by Shuanglei Tao)
2 other fixes and enhancements:
* Added information on how to run tests to README.md (fixes#377 reported by
Aron Griffis)
* Added information about how to use KaTeX with the MathJax math engine (fixes
#292 reported by Adrian Sieber, information by Dato Sim«Ñ)
## 1.3 / 2017-01-18
* Bugs fixed:
* Fixed an error for bin/ldiff --version. Fixes [issue #21][].
* Force Diff::LCS::Change and Diff::LCS::ContextChange to only perform
equality comparisons against themselves. Provided by Kevin Mook in
[pull request #29][].
* Fix tab expansion in htmldiff, provided by Mark Friedgan in
[pull request #25][].
* Silence Ruby 2.4 Fixnum deprecation warnings. Fixxues [issue #38][] and
[pull request#36][].
* Ensure that test dependencies are loaded properly. Fixes [issue #33][]
and [pull request #34][].
* Fix [issue #1][] with incorrect intuition of patch direction. Tentative
fix, but the previous failure cases pass now.
* Tooling changes:
* Added SimpleCov and Coveralls support.
* Change the homepage (temporarily) to the GitHub repo.
* Updated testing and gem infrastructure.
* Modernized the specs.
* Cleaned up documentation.
* Added a Code of Conduct.
2.1.0 / 2017-01-01
Major Enhancements
* Fix breaking changes in LSI api. Displays errors instead of raising where
possible. #87
2.0.5 / 2016-12-30 - removed due to breaking change, and no longer available
Major Enhancements
* Stopwords get encoded to utf8 (#83)
* Fix searching issues where no document is added to lsi (#77)
* Added method to add custom path to user-created stopword directory (#73)
Minor Enhancements
* Test newer rubies (#85)
* Fixed errors in README (#68, #79, #80)
* Added an option to the bayesian classifier to disable word stemming (#61)
* Added missing parens and renamed some variables (#59)
Add test dependency.
Version 0.7.4
~~~~~~~~~~~~~
Released on Mar. 14, 2017
* Fix escape_link method by Marcos Ojeda
* Handle block HTML with no content by David Baumgold
* Use expandtabs for tab
* Fix escape option for text renderer
* Fix HTML attribute regex pattern
Two minor bugfixes
As described in #132, mlr nest was incorrectly splitting fields
with multi-character separators.
The XTAB-format reader, when using multi-character IPS, was
incorrectly splitting key-value pairs, but only when reading
from standard input (e.g. on a pipe or less-than redirect).
As joerg@ pointed out, this is not a cwrappers problem. Indeed, the
package had not been broken on NetBSD 7.x. Not sure how I jumped to my
wrong conclusion.
Instead, have the package instruct the cpp wrapper to run "/usr/bin/cpp"
on Darwin rather than the usual "clang -E". This is still a little odd,
but much less wrong, and fixes the Darwin build just as well.
docbook2odf is a toolkit that automatically converts DocBook to OASIS
OpenDocument (ODF, the ISO standardized format used for texts,
spreadsheets and presentations). Conversion is based on XSLT which
makes it easy to convert DocBook->ODF, ODT, ODS and ODP as all these
documents are XML-based.
[CONFUSING BEHAVIOR & UPCOMING CHANGES]
The -w has a confusing behavior that it's had since back to ack 1.x
that will be changing in the future. It's not changing in this
version, but this is a heads-up that it's coming.
ack -w is "match a whole word", and ack does this by putting turning
your PATTERN into \bPATTERN\b. So "ack -w foo" effectively becomes
"ack \bfoo\b". Handy.
The problem is that ack doesn't put a \b before PATTERN if it begins
with a non-word character, and won't put a \b after PATTERN if it
ends with a non-word character.
The problem is that if you're searching for "fool" or "foot", but
only as a word, and you do "ack -w foo[lt]" or "ack -w (fool|foot)",
you'll get matches for "football and foolish" which certainly should
not match if you're using -w.
[ENHANCEMENTS]
Include .cljs, .cljc and .edn files with the --clojure filetype. Thanks,
Austin Chamberlin.
Added .xsd to the --xml filetype. Thanks, Nick Morrott.
Added support for Swift language. Thanks, Nikolaj Schumacher. (GH #512)
The MSYS2 project is now seen as Windows. Thanks, Ray Donnelly. (GH #450)
Expand the definition of OCaml files. Thanks, Marek Kubica. (GH #511)
Add support for Groovy Server Pages. Thanks, Ethan Mallove. (GH #469)
The JSP filetype (--jsp) now recognizes .jspf files. Thanks, Sebastien
Feugere. (GH #586)
Many optimizations and code cleanups. Thanks, Stephan Hohe.
Added --hpp option for C++ header files. Thankis, Steffen Jaeckel.
ack now supports --ignore-dir=match:.... Thanks, Ailin Nemui! (GitHub ticket #42)
ack also supports --ignore-dir=ext:..., and --noignore-dir supports match/ext as well
[INTERNALS]
Added test to test --output. Thanks, Varadinsky! (GH #587, GH #590)
Added test to make sure subdirs of target subdirs are ignored if
--ignore-dir applies to them. Thanks, Pete Houston. (GH #570)
[DOCUMENTATION]
Expanded the explanation of how the -w flag works. Thanks, Ed Avis.
(GH #585)
[FIXES]
Reverted an optimization to make \s work properly again. (GH #572,
GH #571, GH #562, GH #491, GH #498)
Fixed an out-of-date FAQ entry. Thanks, Jakub Wilk. (GH #580)
The -l and -c flags would sometimes return inaccurate results due to
a bug introduced in 2.14. Thanks to Elliot Shank for the report! (GH #491)
Behavior when using newlines in a search was inconsistent. Thanks to
Yves Chevallier for the report! (GH #522)
Add minimal requirement of Getopt::Long 2.38, not 2.35, for GetOptionsFromString.
Don't ignore directories that are specified as command line targets (GH #524)
Fix a bug where a regular expression that matches the empty string could cause ack
to go into an infinite loop (GH #542)
Version 1.0
-----------
- Fixed custom types not invoking `__unicode__` when used
with `format()`.
- Added `__version__` module attribute
- Improve unescape code to leave lone ampersands alone.
v0.2.4
Yet another patch to deal with extra builders outside Spinx, such as the singlehtml builders from the Read the Docs Sphinx extension
v0.2.3
Temporarily patch Sphinx issue with singlehtml builder by inspecting the builder in template.
0.11 Wednesday 8th March, 2016
Regenerated tarball on a linux machine (0.10 was released from OSX
which added non-standard extended header attributes to the tar)
lowdown is just another Markdown translator. It can output traditional
HTML or a document for your troff type-setter of choice, such as
groff(1), Heirloom troff, or even mandoc(1). lowdown doesn't require
XSLT, Python, or even Perl - it's just clean, secure, open source
C code with no dependencies.
textproc/py-sphinxcontrib-newsfeed.
sphinxcontrib-newsfeed is a extension for adding a simple Blog,
News or Announcements section to a Sphinx website.
Features:
Makes feed entries from Sphinx documents.
Generates a list of entries with teasers.
Saves the feed to a file in RSS format.
Supports comments via Disqus.
v0.2.2:
not documented
v0.2.1
Add the rel HTML attribute to the footer links which point to the previous and next pages.
Fix toctree issue caused by Sphinx singlehtml builder (#367)
v0.2.0
Adds the comments block after the body block in the template
Added "Edit on GitLab” support
Many bug fixes
v0.1.10-alpha
Removes Sphinx dependency
Fixes hamburger on mobile display
Adds a body_begin block to the template
Add prev_next_buttons_location which can take the value bottom, top, both , None and will display the “Next” and “Previous” buttons accordingly
Autodetected line-endings, in-place mode, user-defined functions, and more
This major release significantly expands the expressiveness of the DSL for mlr put and mlr filter. (The upcoming 5.1.0 release will add the ability to aggregate across all columns for non-DSL verbs such as mlr stats1 and mlr stats2. As well, a Windows port is underway.)
Please also see the Miller main docs.
Simple but impactful features:
Line endings (CRLF vs. LF, Windows-style vs. Unix-style) are now autodetected. For example, files (including CSV) with LF input will lead to LF output unless you specify otherwise.
There is now an in-place mode using mlr -I.
Major DSL features:
You can now define your own functions and subroutines: e.g. func f(x, y) { return x**2 + y**2 }.
New local variables are completely analogous to out-of-stream variables: sum retains its value for the duration of the expression it's defined in; @sum retains its value across all records in the record stream.
Local variables, function parameters, and function return types may be defined untyped or typed as in x = 1 or int x = 1, respectively. There are also expression-inline type-assertions available. Type-checking is up to you: omit it if you want flexibility with heterogeneous data; use it if you want to help catch misspellings in your DSL code or unexpected irregularities in your input data.
There are now four kinds of maps. Out-of-stream variables have always been scalars, maps, or multi-level maps: @a=1, @b[1]=2, @c[1][2]=3. The same is now true for local variables, which are new to 5.0.0. Stream records have always been single-level maps; $* is a map. And as of 5.0.0 there are now map literals, e.g. {"a":1, "b":2}, which can be defined using JSON-like syntax (with either string or integer keys) and which can be nested arbitrarily deeply.
You can loop over maps -- $*, out-of-stream variables, local variables, map-literals, and map-valued function return values -- using for (k, v in ...) or the new for (k in ...) (discussed next). All flavors of map may also be used in emit and dump statements.
User-defined functions and subroutines may take map-valued arguments, and may return map values.
Some built-in functions now accept map-valued input: typeof, length, depth, leafcount, haskey. There are built-in functions producing map-valued output: mapsum and mapdiff. There are now string-to-map and map-to-string functions: splitnv, splitkv, splitnvx, splitkvx, joink, joinv, and joinkv.
Minor DSL features:
For iterating over maps (namely, local variables, out-of-stream variables, stream records, map literals, or return values from map-valued functions) there is now a key-only for-loop syntax: e.g. for (k in $*) { ... }. This is in addition to the already-existing for (k, v in ...) syntax.
There are now triple-statement for-loops (familiar from many other languages), e.g. for (int i = 0; i < 10; i += 1) { ... }.
mlr put and mlr filter now accept multiple -f for script files, freely intermixable with -e for expressions. The suggested use case is putting user-defined functions in script files and one-liners calling them using -e. Example: myfuncs.mlr defines the function f(...), then mlr put -f myfuncs.mlr -e '$o = f($i)' myfile.dat. More information is here.
mlr filter is now almost identical to mlr put: it can have multiple statements, it can use begin and/or end blocks, it can define and invoke functions. Its final expression must evaluate to boolean which is used as the filter criterion. More details are here.
The min and max functions are now variadic: $o = max($a, $b, $c).
There is now a substr function.
While ENV has long provided read-access to environment variables on the right-hand side of assignments (as a getenv), it now can be at the left-hand side of assignments (as a putenv). This is useful for subsidiary processes created by tee, emit, dump, or print when writing to a pipe.
Handling for the # in comments is now handled in the lexer, so you can now (correctly) include # in strings.
Separators are now available as read-only variables in the DSL: IPS, IFS, IRS, OPS, OFS, ORS. These are particularly useful with the split and join functions: e.g. with mlr --ifs tab ..., the IFS variable within a DSL expression will evaluate to a string containing a tab character.
Syntax errors in DSL expressions now have a little more context.
DSL parsing and execution are a bit more transparent. There have long been -v and -t options to mlr put and mlr filter, which print the expression's abstract syntax tree and do a low-level parser trace, respectively. There are now additionally -a which traces stack-variable allocation and -T which traces statements line by line as they execute. While -v, -t, and -a are most useful for development of Miller, the -T option gives you more visibility into what your Miller scripts are doing. See also here.
Verbs:
most-frequent and least-frequent as requested in #110.
seqgen makes it easy to generate data from within Miller: please also see here for a usage example.
unsparsify makes it easy to rectangularize data where not all records have the same fields.
cat -n now takes a group-by (-g) option, making it easy to number records within categories.
count-distinct,
uniq,
most-frequent,
least-frequent,
top, and
histogram
now take a -o option for specifying their output field names, as requested in #122.
Median is now a synonym for p50 in stats1.
You can now start a then chain with an initial then, which is nice in backslashy/multiline-continuation contexts.
This was requested in #130.
I/O options:
The print statement may now be used with no arguments, which prints a newline, and a no-argument printn prints nothing but creates a zero-length file in redirected-output context.
Pretty-print format now has a --pprint --barred option (for output only, not input). For an example, please see here.
There are now keystroke-savers of the form --c2p which abbreviate --icsvlite --opprint, and so on.
Miller's map literals are JSON-looking but allow integer keys which JSON doesn't. The
--jknquoteint and --jvquoteall flags for mlr (when using JSON output) and mlr put (for dump) provide control over double-quoting behavior.
Documents new since the previous release:
Miller in 10 minutes is a long-overdue addition: while Miller's detailed documentation is evident, there has been a lack of more succinct examples.
The cookbook has likewise been expanded, and has been split out
into three parts: part 1, part
2, part 3.
A bit more background on C performance compared to other languages I experimented with, early on in the development of Miller, is here.
On-line help:
Help for DSL built-in functions, DSL keywords, and verbs is accessible using mlr -f, mlr -k, and mlr -l respectively; name-only lists are available with mlr -F, mlr -K, and mlr -L.
Bugfixes:
A corner-case bug causing a segmentation violation on two sub/gsub statements within a single put, the first one matching its pattern and the second one not matching its pattern, has been fixed.
Backward incompatibilities: This is Miller 5.0.0, not 4.6.0, due to the following (all relatively minor):
The v variables bound in for-loops such as for (k, v in some_multi_level_map) { ... } can now be map-valued if the v specifies a non-terminal in the map.
There are new keywords such as var, int, float, num, str, bool, map, IPS, IFS, IRS, OPS, OFS, ORS which can no longer be used as variable names. See mlr -k for the complete list.
Unset of the last key in an map-valued variable's map level no longer removes the level: e.g. with @v[1][2]=3 and unset @v[1][2] the @v variable would be empty. As of 5.0.0, @v has key 1 with an empty-map value.
There is no longer type-inference on literals: "3"+4 no longer gives 7. (That was never a good idea.)
The typeof function used to say things like MT_STRING; now it says things like string.
Upstream changes:
2.031 2017-01-26
- Fix use of cache files when reading streams: temp files will now
be used any time a stream is larger than 16MB (by default).
Formerly, due to a bug, they would only be created when a 4kB
chunk of a stream increased to 16kB or more after being
decompressed.
- Numbers, booleans, and null values can now be read from object
streams.
- Update to [RT #113290]: Objects inside a large object stream are
now read without loading the entire object stream into memory.
- DEPRECATION: The low-level new_api methods have been deprecated
in favor of calling new directly. If your code uses
new_api($api2, ...), replace it with new($api2->{'pdf'}, ...).
- [RT #118352] Don't crash when adding an annotation to a page
that has an existing annotations array stored as an indirect
object (reported by Johan Vromans).
- [RT #118717] Die with an informative error if a file can't be
opened during open() or saveas() (reported by Johan Vromans).
Upstream changes:
1.27 - 2017-03-02, H.Merijn Brand
* Remove unneeded done_testing (Paul Howarth)
* Attribute sep/sep_char is not allowed to be undefined
* Increased test coverage: added errors 1008 and 1014
* Default for escape_null in csv () is now false
* It's 2017
* New error code for illegal argument(s)/parameter(s) (RT#119827)
* Fix tests for perl without dot in @INC
* Fix crlf issue for csv () on Windows (RT#120466)
1.26 - 2016-11-29, H.Merijn Brand
* Disable some Unicode related tests for unhealthy $PERL_UNICODE
(RT#117856)
* is_missing (0) on empty line returns 1 for keep_meta_info = true
(issue 27 on github)
The Levenshtein Python C extension module contains functions for fast
computation of: Levenshtein (edit) distance and edit operations, string
similarity, approximate median strings and general string averaging,
and string sequence and set similarity. It supports both normal and
Unicode strings.
Packaged by David H. Gutteridge via PR pkg/52017
Upstream changes:
1.91 2017-01-28
- production release
1.90_01 2017-01-20
- Text::CSV_PP is totally refactored using the code/doc of
Text::CSV_XS 1.27. Almost all the code/docs in CSV_XS.pm are
copied and a large portion of CSV_XS.xs is ported verbatim,
and now CSV_PP passes all the tests for CSV_XS (with slight
modification like s/XS/PP/g).
Prompted by https://repology.org.
Changes since 1.4.5:
- typo in last commit (Eagle eyes of Gary)
- issue #251 avoid potential clash between built-in and custom defined
kinds like sections
- Issue #248 overeager error messages for module-level fields
- Issue #248: assignment wrong way around (Monday morning mode)
- Issue #248 standalone field considered a parse error; reset is_local
after parse_error set
[v1.4.2][1.4.2]
-------------------------------------------------------------------------
### Fixed
- A PEM-formatted key encoded as bytes could cause a `TypeError` to be raised [#213][213]
[v1.4.1][1.4.1]
-------------------------------------------------------------------------
### Fixed
- Newer versions of Pytest could not detect warnings properly [#182][182]
- Non-string 'kid' value now raises `InvalidTokenError` [#174][174]
- `jwt.decode(None)` now gracefully fails with `InvalidTokenError` [#183][183]
Add test target.
Changes in version 1.14.1, released on February 21, 2017
--- MAJOR NEW FEATURES ---
* apropos(1): Reimplement complete semantic search functionality
without the dependency on SQLite3, using only POSIX APIs.
This comes with a completely new mandoc.db(5) file format.
* man(1): Support more than one tag entry for the same search term,
plus some minor improvements to the less(1) :t support.
* -Thtml: Use real macro names for CSS classes.
Systematic cleanup of and many improvements to mandoc.css.
* -Thtml: Produce human readable HTML code by using indentation
and better line breaks. Improve various HTML elements,
and trim several useless ones.
* New catman(8) utility, still somewhat experimental.
* Now includes a portable version of the OpenBSD mandoc regression
suite, see regress/regress.pl.1 for details.
--- REMOVED FUNCTIONALITY ---
* Operating systems that don't provide mmap(3) are no longer supported.
* Drop support for manpath(1). Even if your system has manpath(1),
it is simpler to use MANPATH_DEFAULT in configure.local for
operating system defaults, man.conf(5) for machine-specific
modifications, and ${MANPATH}, -m, and -M for user preferences
than to bother with the complexity of manpath(1).
* makewhatis(8) -p: No longer warn about missing MLINKS since these
are no longer needed for anything.
--- MINOR NEW FEATURES ---
* mdoc(7): Warn about invalid punctuation and content below NAME.
* mdoc(7): Warn about .Xr lacking the second argument (section).
* mdoc(7): Warn about violations of the rule "new sentence, new line".
* roff(7): Warn about trailing whitespace at the end of comments.
* mdoc(7): Improve rendering of double quotes.
* mdoc(7): Always do text production in the validator, never in the
formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1)
and also makes -Ttree output more useful.
* -Ttree: Show metadata and some additional node flags.
New -Onoval output option to show the unvalidated tree.
--- RELIABILITY BUGFIXES ---
* man(1): Make "man -l" work with standard input from a pipe or file,
as long as standard output is a terminal.
* man(7): Fix out of bounds read access if a text node immediately
preceded the first .SH header.
* mdoc(7): Fix out of bounds read access for .Bl without a type
but with a width.
* mdoc(7): Fix out of bounds read access for .Bl -column starting
with a tab character instead of a child .It macro.
* mdoc(7): Fix syntax tree corruption leading to segfaults caused
by stray block end macros in nested blocks of mismatching type.
* man(1): Fix NULL dereference when the first of multiple pages
shown was preformatted.
* mdoc(7): Fix syntax tree corruption leading to NULL dereference
caused by partial implicit macros inside .Bl -column table cells.
* mdoc(7): Fix syntax tree corruption leading to NULL dereference
for macro sequences like .Bl .Bl .It Bo .El .It.
* mdoc(7): Fix syntax tree corruption leading to NULL dereference
caused by .Ta following a nested .Bl -column breaking another block.
* mdoc(7): Fix syntax tree corruption sometimes leading to NULL
dereference caused by indirectly broken .Nd or .Nm blocks.
* mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns.
* mdoc(7): Fix NULL dereference in some specific cases of a
block-end macro calling another block-end macro.
* mdoc(7): Fix NULL dereference if the only child of the head
of the first .Sh was an empty in-line macro.
* eqn(7): Fix NULL dereference in the terminal formatter
for empty matrices and empty square roots.
* mdoc(7): Fix an assertion failure for a .Bd without a type that
breaks another block.
* mdoc(7): Fix an assertion failure that happened for some .Bl -column
lists containing a column width of "-4n", "-3n", or "-2n".
* mdoc(7): Fix an assertion failure caused by .Bl -column without .It
but containing eqn(7) or tbl(7) code.
* roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf.
* roff(7): Fix an assertion failures caused by whitespace inside \o''
(overstrike) sequences.
* -Thtml: Fix an assertion failure caused by -Oman or -Oincludes of
excessive length.
--- PORTABILITY IMPROVEMENTS ---
* man(1): Do not mix stdio narrow and wide stream orientation
on stdout, which could cause output corruption on glibc.
* mandoc(1): Autodetect a suitable locale for -Tutf8 mode.
* ./configure: Autodetect whether PATH_MAX and O_DIRECTORY are defined.
* ./configure: Autodetect if nanosleep(3) needs -lrt.
* ./configure: Provide an ${LN} configuration variable.
* ./configure: Put compiler arguments that may contain -l at the end.
--- MINOR BUGFIXES ---
* mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro.
* mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags.
* man(7) -Thtml: Preserve whitespace in .nf (nofill) mode.
* mandoc(1): Error out on invalid output options on the command line.
--- STRUCTURAL CHANGES, no functional change ---
* Redesign part of the mandoc_html(3) interfaces, making them much
easier to use and reducing the amount of code by a few hundred lines.
--- THANKS TO ---
* Michael Stapelberg (Debian) for designing the new mandocd(8)
and parts of the new catman(8), for release testing, and for a
number of patches and bug reports.
* Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8)
implementation and suggesting an algorithmic improvement which
more than doubled performance, and for a few bug reports.
* Ed Maste (FreeBSD) for an important patch improving reproducibility
of builds in makewhatis(8), and for a few bug reports.
* Theo Buehler (OpenBSD) for almost twenty important bug reports,
most of them found by systematic afl(1) fuzzing.
* Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov
for crucial help in getting .Bl -tag CSS formatting fixed.
* Svyatoslav Mishyn (Crux Linux) for an initial version of the
patch to autodetect a suitable locale for -Tutf8 mode
and for release testing.
* Jason McIntyre (OpenBSD) for multiple useful discussions
and a number of bug reports.
* Sevan Janiyan (NetBSD) for extensive release testing and multiple
bug reports.
* Thomas Klausner and Christos Zoulas (NetBSD), Yuri Pankov (illumos),
and Leah Neukirchen (Void Linux) for release testing and bug reports.
* Ulrich Spoerlein (FreeBSD) for release testing.
* Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley,
Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren,
Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav
Upadhyay, Kamil Rytarowski (NetBSD), Aaron M. Ucko, Bdale Garbee,
Reiner Herrmann, Shane Kerr (Debian), Daniel Sabogal (Alpine Linux),
Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv),
Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck,
Pavan Maddamsetti, Sean Levy <attila@stalphonsos.com>, and
Tiago Silva for bug reports.
* Brent Cook, Marc Espie, Philip Guenther, Todd Miller (OpenBSD)
and Markus Waldeck for useful discussions.
* And as usual, OpenCSW for providing me with a Solaris 9/10/11
testing environment.
3.09 Sun 23 Oct 2016 20:24:06 BST
- Support Orgs (worthmine)
3.08 Sun 9 Oct 2016 21:56:23 BST
- Enconde/decode the key value pair to UTF-8 solves (jluis)
- Added lexers:
* AMPL
* TypoScript
* Varnish config
* Clean
* WDiff
* Flatline
* Silver
* HSAIL
* JSGF
* NCAR command language
* Extempore
* Cap'n Proto
* Whiley
* Monte
* Crystal
* Snowball
* CapDL
* NuSMV
* SAS, Stata
- Added the ability to load lexer and formatter classes directly from files
with the `-x` command line option and the `lexers.load_lexer_from_file()`
and `formatters.load_formatter_from_file()` functions.
- Added `lexers.find_lexer_class_by_name()`.
- Added new token types and lexing for magic methods and variables in Python
and PHP.
- Added a new token type for string affixes and lexing for them in Python, C++
and Postgresql lexers.
- Added a new token type for heredoc (and similar) string delimiters and
lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers.
- Styles can now define colors with ANSI colors for use in the 256-color
terminal formatter.
- Improved the CSS lexer.
- Added "Rainbow Dash" style.
- Delay loading `pkg_resources`, which takes a long while to import.
Upstream changes:
$Revision: 2.88 $ $Date: 2016/11/29 23:29:23 $
! t/taint.t
Pulled: Fix test t/taint.t to pass when Encode::ConfigLocal is present
https://github.com/dankogai/p5-encode/pull/83
! Makefile.PL Unicode/Makefile.PL bin/enc2xs lib/Encode/Alias.pm
t/Aliases.t t/enc_data.t t/enc_module.t t/encoding.t t/jperl.t
Pulled: various fixes
https://github.com/dankogai/p5-encode/pull/82
! t/mime-header.t
Pulled: Fix test t/mime-header.t to pass on HP-UX 11.23/64 U
with perl v5.8.3
https://github.com/dankogai/p5-encode/pull/81
! t/Encode.t
Pulled: Extend COW tests for UTF-8 and Latin1
https://github.com/dankogai/p5-encode/pull/80
! Encode.xs Unicode/Unicode.xs
Pulled: Rmv impediment to compiling under C++11
https://github.com/dankogai/p5-encode/pull/78
! Encode.xs Unicode/Unicode.xs
Pulled: Do not use expressions in macros SvTRUE, SvPV, SvIV,
attr and attr_true
https://github.com/dankogai/p5-encode/pull/77
! Unicode/Unicode.xs t/magic.t
Pulled: Fix handling of undef, COW and magic scalar argument
in Unicode.xs
https://github.com/dankogai/p5-encode/pull/76
! Encode.xs encoding.pm
Fix 2 of 3 problems Steve Hay found.
1. C89 compiler failures (patch attached).
2. encoding.pm has changed slightly but has no $VERSION++
Message-Id: <CADED=K6ve_DAzRXPX=EsjtUDnZppAaw+BP1Ziw_fU5f32k+Wyg@mail.gmail.com>
M2R converts a markdown file including reST markups to a valid reST format.
Features:
* Basic markdown and some extensions
o inline/block-level raw html
o fenced-code block
o tables
o footnotes ([^1])
* Inline- and Block-level reST markups
o single- and multi-line directives (.. directive::)
o inline-roles (:code:`print(1)` ...)
o ref-link (see `ref`_)
o footnotes ([#fn]_)
o math extension inspired by recommonmark
* Sphinx extension
o add markdown support for sphinx
o mdinclude directive to include markdown from md or reST files
The fastest markdown parser in pure Python with renderer features, inspired by
marked.
Features:
* Pure Python. Tested in Python 2.6+, Python 3.3+ and PyPy.
* Very Fast. It is the fastest in all pure Python markdown parsers.
* More Features. Table, footnotes, autolink, fenced code etc.
* Noteworthy changes in release 4.4 (2017-02-03) [stable]
** Bug fixes
sed could segfault when invoked with specific combination of newlines
in the input and regex pattern. [Bug introduced in sed-4.3]
This module implements utility functions for expanding embedded
variables in a string. Variable references are embedded in strings in
a similar form to the Bourne shell, namely, in the form $NAME or
${NAME}. In the former case, the NAME must consist of a capital letter
or underscore, and may be followed by zero or more capital letters,
digits or underscores. In the latter case, the name can consist of any
characters, but will be terminated by the first close brace character
'}'.
Upstream changes:
* Noteworthy changes in release 2.27 (2016-12-06) [stable]
** Bug fixes
grep no longer reports a false match in a multibyte, non-UTF8 locale
like zh_CN.gb18030, with a regular expression like ".*7" that just
happens to match the 4-byte representation of gb18030's \uC9, the
final byte of which is the digit "7".
[bug introduced in grep-2.19]
grep by default now reads all of standard input if it is a pipe,
even if this cannot affect grep's output or exit status. This works
better with nonportable scripts that run "PROGRAM | grep PATTERN
>/dev/null" where PROGRAM dies when writing into a broken pipe.
[bug introduced in grep-2.26]
grep no longer mishandles ranges in nontrivial unibyte locales.
[bug introduced in grep-2.26]
grep -P no longer attempts multiline matches. This works more
intuitively with unusual patterns, and means that grep -Pz no longer
rejects patterns containing ^ and $ and works when combined with -x.
[bugs introduced in grep-2.23] A downside is that grep -P is now
significantly slower, albeit typically still faster than pcregrep.
grep -m0 -L PAT FILE now outputs "FILE". [bug introduced in grep-2.5]
To output ':' and tab-align the following character C, grep -T no
longer outputs tab-backspace-':'-C, an approach that has problems if
run inside an Emacs shell window. [bug introduced in grep-2.5.2]
grep -T now uses worst-case widths of line numbers and byte offsets
instead of guessing widths that might not work with larger files.
[bug introduced in grep-2.5.2]
grep's use of getprogname no longer causes a build failure on HP-UX.
** Improvements
grep no longer reads the input in a few more cases when it is easy
to see that matching cannot succeed, e.g., 'grep -f /dev/null'.
* Noteworthy changes in release 2.26 (2016-10-02) [stable]
** Bug fixes
Grep no longer omits output merely because it follows an output line
suppressed due to encoding errors. [bug introduced in grep-2.21]
In the Shift_JIS locale, grep no longer mistakenly matches in the
middle of a multibyte character. [bug present since "the beginning"]
** Improvements
grep can be much faster now when standard output is /dev/null.
grep -F is now typically much faster when many patterns are given,
as it now uses the Aho-Corasick algorithm instead of the
Commentz-Walter algorithm in that case.
grep -iF is typically much faster in a multibyte locale, if the
pattern and its case counterparts contain only single byte characters.
grep with complicated expressions (e.g., back-references) and without
-i now uses the regex fastmap for better performance.
In multibyte locales, grep now handles leading "." in patterns more
efficiently.
grep now prints a "FILENAME:LINENO: " prefix when diagnosing an
invalid regular expression that was read from an '-f'-specified file.
* Noteworthy changes in release 2.25 (2016-04-21) [stable]
** Bug fixes
In the C or POSIX locale, grep now treats all bytes as valid
characters even if the C runtime library says otherwise. The
revised behavior is more compatible with the original intent of
POSIX, and the next release of POSIX will likely make this official.
[bug introduced in grep-2.23]
grep -Pz no longer mistakenly diagnoses patterns like [^a] that use
negated character classes. [bug introduced in grep-2.24]
grep -oz now uses null bytes, not newlines, to terminate output lines.
[bug introduced in grep-2.5]
** Improvements
grep now outputs details more consistently when reporting a write error.
E.g., "grep: write error: No space left on device" rather than just
"grep: write error".
Upstream changes:
1.41 2016-12-29 15:10:00 MANWAR
- Proposed fix for RT #119292 and rollbacked patch for RT #118764.
Document how close() deals when <filename> or <fh> is involved.
i.e. When <fh> is provided then don't try to close the file handle
at the end. Leave that for the end user to deal with it outside.
Added new method flush() that does exactly this.
1.40 2016-12-20 12:00:00 MANWAR
- Proposed fix for RT #118945.
Upstream changes:
1.57 2017-01-22 rurban
----
* Todo the t/exec.t test 2 on cygwin.
* Fixed/Todo the t/decrypt.t test 7 utf8 failures.
Skip with non UTF-8 locale.
1.56 2017-01-20 rurban
----
* add binmode to the decrypt/encr,decrypt sample scripts
* add utf8-encoded testcase to t/decrypt.t [cpan #110921]. use -C
* stabilized some tests, add diag to sometimes failing sh tests
* moved filter-util.pl to t/
* fixed INSTALLDIRS back to site since 5.12 [gh #2]
* fixed exec/sh test races using the same temp. filenames
* reversed this Changes file to latest first
* added Travis CI
Upstream changes:
version 3.21: Wed 11 Jan 10:02:19 CET 2017
Fixes:
- XOP hooks were instated, even though XML::Compile::XOP was not.
Schema/WSDL compilation will be a little faster now.
https://github.com/mjgardner/xml-compilex-schema-loader/issues/1
[Slaven Rezi�]
- constant name: XS_DAEMON_NS -> XC_DAEMON_NS
rt.cpan.org#119800 [Pavel Trushkin]
Improvements:
- spell fix Debian rt.cpan.org#118577 [Gregor Herrmann, Debian]
iso-codes 3.74
--------------
Dr. Tobias Quathamer <toddy@debian.org>
Mon, 16 Jan 2017
[ ISO 3166-2 ]
* Remove GB- prefix from parent code for Great Britain.
Closes: alioth#315604
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.