Cosmo is a "safe templates" engine. It allows you to fill nested
templates, providing many of the advantages of Turing-complete template
engines, without without the downside of allowing arbitrary code in the
templates.
ChangeLog:
Features
The new count verb is a keystroke-saver for stats1 -a count -f
{some field name}.
--jsonx and --ojsonx are keystroke-savers for --json --jvstack
and --ojson --jvstack, which is to say, multi-line pretty-printed
JSON format.
The new -s name=value feature for mlr put and mlr filter gives
you simpler access to environment variables in your Miller
script, as requested in #315.
Bugfixes
mlr format-values is no longer SEGVing on CSV/TSV input. This
was reported on #330.
#313 fixes a corner case when field names within command-line
arguments have embedded newlines.
Line/column indicators for JSON-formatting error messages are
now correct (previously they were showing up as 0).
end {print NF} no longer SEGVs. This was reported in #330.
Several broken doc links were fixed up as reported on #329.
0.6.1 (2018-08-20)
=====
- Updated word break dictionary.
- Fix a defect in RTF parsing, so RTF gets more complete word break positions.
- Compiler warning fixes.
- Minor code cleanups.
- Useful installation instructions in INSTALL file.
(Thanks @pepa65 for the pull request.)
0.6.0 (2017-11-28)
=====
- Updated word break dictionary.
- Drop undocumented option '-l'.
- Revamped internal word break engine.
- Updated manpage.
0.5.5 (2016-12-25)
=====
- Updated word break dictionary.
0.5.4 (2016-07-08)
=====
- Updated word break dictionary.
- Fix segfault on extremely long input lines.
- Support longer input lines.
(Bug report by Santi Romeyen)
- Support non-ASCII word break string.
https://github.com/tlwg/swath/issues/1
- Some source code clean-ups.
- Add test suite.
0.5.3 (2014-09-01)
=====
- Updated word break dictionary.
- Fix premature output ending on long UTF-8 input line.
(Bug report by Sorawee Porncharoenwase)
- Fix excessive break positions in plain text mode.
(Bug report by Sorawee Porncharoenwase)
- Remove dead codes, resulting in a little smaller binary.
0.5.2 (2013-12-23)
=====
- Fix infinite loops in LaTeX filter.
(Bug report and patch by Neutron Soutmun)
- Fix off-by-one character loss in long HTML tokens.
(Bug report and analysis by Nicolas Brouard)
0.5.1 (2013-10-30)
=====
- Correct word break code for Lambda.
- Updated word break dictionary.
- Adjust file filters to prevent potential buffer overflow.
0.5.0 (2013-02-11)
=====
- Character encoding conversion is now spontaneous, no more buffering via
temporary file.
- Rewritten RTF filter. It's now tested to work with real RTF document.
- Process characters as Unicode internally, so that characters not present
in TIS-620 are not lost in output.
- Fix potential buffer overflow vulnerability in Mule mode.
- Updated word break dictionary.
- Significant source clean-ups.
- Switch to XZ tarball compression.
For pkgsrc, use gmake and add patch to compile wchar functions on NetBSD
Upstream changes:
0.011 2020-03-31 T. R. Wyant
Normalize interpolation before feeding to PPI. This produces a
more-easily-analyzed PPI parse.
The ->variables() method is now discouraged. It was written to support
Perl::Critic::Policy::Variables::ProhibitUnusedVarsStricter, but turned
out to be inadequate for the job.
Deprecate new() argument postderef. At this stage it is only
documented as deprecated. In the first release after October 1 2020
it will warn on the first use. Eventually it will be retracted, and
postfix dereferences will always be recognized. This is the default
behavior now.
Correct bracket matchers to accept multiple lines. This was, in some
cases, causing interpolations to be misclassified as unknown tokens.
0.010 2020-03-09 T. R. Wyant
Remove redundant and poorly-performing code introduced in version
0.009.
0.009 2020-02-27 T. R. Wyant
Add new() argument index_locations which causes locations to be
indexed during the parse. This defaults based on whether a location
argument was provided, and whether the string being parsed is a
PPI::Element.
Add method statement(), which returns the PPI statement containing
the string element, or nothing if none.
Add PPI::Element location methods, to wit: location(),
column_number(), line_number(), logical_filename(),
logical_line_number(), and visual_column_number().
Add PPIx::QuoteLike::Utils::is_ppi_quotelike_element() which returns
true if the argument is a PPI::Element of interest to us.
All objects now have a variables() method inherited from
PPIx::QuoteLike::Token. This method returns nothing unless
overridden. It was added to eliminate $elem->can( 'variables' )
ad-hocery.
Eliminate redirections in POD URL links
0.008 2019-08-16 T. R. Wyant
Fix broken POD links, and add test to ensure they stay fixed.
- v5-0-1: Bug fix to not apply format to non numbers.
- v5-0-0: Introducing the Delta object, Improving Numpy support, Fixing tuples comparison when ignore_order=True, Dramatically improving the results when ignore_order=True by running in passes, Introducing pretty print view, deep_distance, purge, progress logging, cache and truncate_datetime.
- v4-3-3: Adds support for datetime.time
v1.4.1
* Patch release for Python 3.8 `importlib_metadata` support.
v1.4
* Python 3.8 support.
* ``jsonpickle.encode`` now supports the standard ``indent``
and ``separators`` arguments, and passes them through to the
active JSON backend library.
* We now include a custom handler for `array.array` objects.
* Dict key order is preserved when pickling dictionaries on Python3.
* Improved serialization of dictionaries with non-string keys.
Previously, using an enum that was both the key and a value in
a dictionary could end up with incorrect references to other
objects. The references are now properly maintained for dicts
with object keys that are also referenced in the dict's values.
* Improved serialization of pandas.Series objects.
v1.3
* Improved round tripping of default dicts.
* Better support for cyclical references when encoding with
``unpicklable=False``.
Import this package from wip because it is needed by games/warzone2100 for
documentation generation in replacement of textproc/asciidoc from 3.4.
This package can be safely added since CVE-2018-18385 has been fixed in 1.5.8
(https://github.com/asciidoctor/asciidoctor/issues/2888).
ChangeLog:
2020-07-18 1.4
- FIX: Coercion flag logic now permits getopt(3) double-dash
- FIX: Documentation clarifies special characters
- FIX: Jo builds on snap builds (#110)
- FIX: Jo builds on systems with slightly older pkg-config (#107)
Version 2.4.3 -> 2.5
--------------------
- added support for turning on -pedantic with gcc or clang
- added support for ICU 67.1
- added wrappers for FormattedValue, ConstrainedFieldPosition, UFieldCategory
- made FormattedValue iterable via nextPosition()
- added wrappers for FormattedDateInterval, FormattedNumber, FormattedList
- added wrappers for FormattedRelativeDateTime and enums
- added wrappers for UNumberFormatFields, UNumberFormatAttribute
- added wrappers for NumberRangeFormatter, FormattedNumberRange and enums
- added icu.ICU_MAX_MAJOR_VERSION global set to largest ICU version supported
20200713
Maintenance release
- Pulls in upstream change to use raw strings for regex
- Updates to how the package builds, tests, and runs lint
- Uses PEP 517/518 metadata for build requirements/backend
- Formatting improvements, including use of isort
Changes:
- Allow truncated XLS files #55#60#76tidyverse/readxl#619
- Fix long-standing "extra column" bug #73
- Support for RSTRING records (rich-text cells in older BIFF5 files)
tidyverse/readxl#611
Minimum version updated in bl3 due to header changes.
Par 1.53.0 released 2020-Mar-14
Fixed the following bugs:
An unintended bad interaction between <quote> and <repeat>.
The specification was inconsistent. Although it said that
the lines inserted by the <quote> feature were vacant,
the <repeat> feature could interpret the quote character
of inserted lines as a repeat character, in which case
the lines were not vacant (according to the definition),
and more quote/repeat characters would be inserted to
extend the line to the full width, which no one would ever
want. The definition of "bodiless line" is revised so that
lines inserted by the <quote> feature are excluded from
consideration by the <repeat> feature.
A printf format string mismatch (ptrdiff_t vs. %d), reported by
Quentin Barnes (qbarnes at gmail.com).
protoMakefile's clean target removed par rather than par$E,
reported by George V. Reilly (george at reilly.org).
Added the following features:
Locale support for single-byte character sets.
The previous verson, 1.52, attempted to do this in one line
of code (setlocale()), but it's not that simple. Versions
before 1.52 gave no thought to character sets other than
US-ASCII and did not handle them entirely correctly.
Calling setlocale() in version 1.52 corrected some flaws but
not all, and created one new flaw. This version and the
previous two all have the same character handling in the
"C" locale and when processing US-ASCII text; differences
arise only when processing non-US-ASCII text in another
locale. In versions before 1.52 the implementation assumed
that "uppercase letter" means only the 26 characters A-Z
and that "lowercase letter" means only the 26 characters
a-z, and the specification assumed that every letter is
either upper case or lower case. These assumptions hold
for US-ASCII, but not for most other character sets;
therefore versions before 1.52 did not really support
non-US-ASCII text. Version 1.52, by calling setlocale(),
relaxed the three assumptions in the implementation but
not the assumption in the specification, and inadvertantly
caused the implementation to deviate from the specification
by converting all space characters to spaces rather than
converting only the specified white characters, which is not
necessarily what you want (for example, you probably don't
want no-break space converted to space, but some locales
on some platforms have been known to classify no-break
space as white-space, like FreeBSD did in 2004). This
version fixes the specification by introducing the concept
of "neither-case letter" and redefining "alphanumeric
character" to include it, and fixes the implementation to
convert only the white characters to spaces. It also makes
the white characters configurable so that the version 1.52
space-conversion behavior can be restored if desired (W=_S).
Note that Par still assumes constant display width per byte,
which is not true for UTF-8 nor ISO-2022-*, but is true for
most single-byte charsets and for EUC-* text without the
single-shift-in/out codes.
The W option, for configuring the set of white characters.
The Z option, for configuring the set of terminal characters.
The _@ escape sequence (neither-case letter) in charset syntax.
The _S escape sequence (any space) in charset syntax.
Added _@ and apostrophe to the set of body characters in PARINIT.
Add #includes for whatever interfaces are used rather than depending
on included files to #include other files.
In protoMakefile introduced CPPFLAGS and CFLAGS (default empty) into
the default definition of CC.
Added a test-par script and a test target in protoMakefile.
Fixed a misspelling (preceed => precede) in par.doc and par.1.
Changed the top-of-file comment convention so that every release
won't need to touch every file (this is the last time).
Updated the author contact information.
Clarified the license and added the MIT License as an alternative.
Adopted a modern version number format, with minor and patch numbers
as dot-separated integers rather than adjacent single digits.
Translate Toolkit 3.0.0
Formats and Converters
----------------------
- PO
- Bring line wrapping closer to gettext
- XLIFF
- Support non numeric ids on plurals in poxliff
- JSON
- Added support for ARB files
- Added support for go-i18n files
- Properties
- Added support for GWT personality
- Fix round trip of empty values without delimiter
- HTML
- A makeover of the HTML parsing to fix several issues
- PHP
- Add support for Laravel plurals
- Improve round trip of some statements
- Windows RC
- Rewritten parser using pyparsing
- l20n
- Dropped support for deprecated format
General
-------
- Dropped support for Python 2.7.
- Python 3.5 or newer is now required.
- Minor docs improvements.
- Several cleanups in code.
- Removed deprecated interfaces:
- multistring no longer accepts encoding
- search.segment is removed
- pofile.extractpoline is removed
- simplify_to_common no longer accepts languages parameter
- getsource/setsource/gettarget/settarget methods removed from storages
- Updated requirements, lxml is no longer optional.
- Added and updated tests.
- Optional deps can be specified using pip extras.
4.5.2
=====
Bugs fixed
----------
* ``Cleaner()`` now validates that only known configuration options can be set.
* ``Cleaner.clean_html()`` discarded comments and PIs regardless of the
corresponding configuration option, if ``remove_unknown_tags`` was set.
* Instead of globally overwriting the document loader in libxml2, lxml now
sets it per parser run, which improves the interoperability with other users of libxml2
such as libxmlsec.
* Fix build in CPython 3.10 by using Cython 0.29.21.
* The setup options "--with-xml2-config" and "--with-xslt-config" were accidentally renamed
to "--xml2-config" and "--xslt-config" in 4.5.1 and are now available again.
LibYAML binding for Lua, with a fast C implementation for converting between
%YAML 1.1 and Lua tables, and a low-level YAML event parser for implementing
more intricate YAML document loading.
Version 0.7.1, 2020-06-21
- For -Tms, make numbered output the default. This is because earlier,
it was not possible to make numbered output at all with --nroff-groff.
Also clarify the role of --no-groff while at it.
- Add --latex-no-numbered to -Tlatex for symmetry with -Tms.
- Initial support for extended image attributes as in PHP Markdown
Extra. For the time being, these only allow for non-pixel widths
and heights for images. Spend time in the documentation explaining
image support, as it's a little complicated: LaTeX and HTML support
any images, but ms only supports EPS and PS, and only in block
mode. (Among other complexities...)
- Changes to internal API: the hdoc and hbuf structures have been
renamed to struct lowdown_doc and struct lowdown_buf. First, I
dislike typedefing away the fact that a variable is a structure
very much. Second, the names were a holdover from the old system
and shouldn't be part of the exported API.
- Add lowdown_buf_new(3) and lowdown_buf_free(3) to make the low-level
library usable, where before it was pointing to private functions.
Version 0.7.0, 2020-06-04
- Simple support for LaTeX documents with -Tlatex. This will be
expanded in future versions, but for now gets most documents having
maths and graphics, too.
- Significantly improve metadata handling. Until now, metadata was
handled inconsistently across output formats, and not always in
line with the documented behaviour with respect to overriding. Now,
all of the basic metadata keys are properly handled, RCS-specified
keys properly override, and all of these is documented more rigorously
in lowdown(1).
- Support base header level metadata on all outputs.
Inifile is a lua library for parsing and writing ini files.
It supports multiple backends, these are:
- io: The lua i/o library backend, the default.
- memory: The memory backend uses the filename as input, and returns
the output on write.
- love: Uses LOVE's love.filesystem, this is the default when LOVE
is detected.
Version v20181111:
- Rename module to diff-match-patch to supercede existing PyPI module
- Match existing module version scheme
- Update readme, tests, etc for import names
Version 9.0.1 (2020-06-26)
Bug fixes
- Fix a2x crashing on decoding generated HTML pages
Building
- Fix generated tar.gz not having files under top-level asciidoc folder
Testing
- Test against Python 3.9
Version 9.0.0 (2020-06-02)
Additions and changes
- Port asciidoc to run on Python 3.5+ (see
https://github.com/asciidoc/asciidoc for the EOL Python 2 implementation)
- Drop internal implementation of OrderedDict and use the standard library
collections.OrderedDict instead
- Implement Dockerfile for running asciidoc
- Add Catalan translation
- Add docbook5 backend
- Fix misspellings in various files and documents
- Use UTC for testing instead of Pacific/Auckland (which observes daylight
saving time)
- Use "with" context statement for opening and closing files instead of older
try/finally pattern
- Search sibling paths before system wide paths in asciidocapi
- Add manpage for testasciidoc.py
- Use argparse instead of optparse for argument parsing
- Add simplified Chinese translation (thanks @muirmok)
- vim-asciidoc: speed up the refresh process for big files (thanks
@aerostitch)
- Allow specifying floatstyle attribute for figures, tables, equations,
examples in docbook (thanks @psaris)
- Use trans python module (if available) to better handle character
decomposition to ascii for ascii-ids (thanks @rkel)
- Use lru_cache to memoize repeated calls to macro look-up, giving potential
~15% speed-up on parsing
Bug fixes
- Fix index terms requiring two characters instead of just one (see
https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392605876)
- Properly capture and use colophon, dedication, and preface for docbooks in
Japanese (see
https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392623181)
- make install did not include the unwraplatex.py filter
- Fix a2x option collection from input file with non-ascii encoding
- Fix options attribute not being properly parsed in Delimited Blocks
attribute list
Building
- Migrate from hierarchical A-A-P build system to top-level Makefile
- Add make help target that prints out usage message for make
- Fix double slash issue in Makefile when installing asciidoc or its docs
Testing
- Commit generated test files to the repository for continuous integration
- Test against Python 3.5+ on Travis-CI
- Remove symlink tests/asciidocapi.py in favor of just appending to sys.path
- Add requires directive to testasciidoc.conf to indicate necessary external
dependencies (e.g. source-highlight)