Bumped the version number.
Added some additional checking to prevent a potential integer overflow
due to conversion in the JPC decoder.
Added numerous more-detailed error messages for the JPC and JP2
codecs.
Added a partial verbose capability for the run_test_1 script.
Moved a test case from the bad category to the good category, as the
test case had been miscategorized.
Added another regression test case.
Fixed some potential double-free problems in the JPC codec.
VERSION 6.58 2017-03-01 ^
Better support for $mode in DateCalc.
DateCalc (in DM6) did not support all values for $mode. Now it does.
Bug fixes
Parsing a date like 01/02/2016 and calling printf with %e gave '02' instead of ' 2'. RT 119787.
Fixed a problem where the tzdata method of determining the timezone was producing an error which wasn't correct. Reported on GitHub by John.
Time zone fixes
Newest zoneinfo data (tzdata 2017a)
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.
Notmuch 0.23.7 (2017-02-28)
===========================
Test Suite
----------
Drop use of gpgconf --create-socketdir. Move $GNUPGHOME to /tmp.
It turns out the hardcoded use of /run/user in gpg doesn't work out
that well in some environments. The more low tech fix is to move all
of $GNUPGHOME to somewhere where we can control the length of the
paths.
Notmuch 0.23.6 (2017-02-27)
===========================
Command Line Interface
----------------------
Fix read-after-free bug in `notmuch new`.
Test Suite
----------
Use gpgconf --create-socketdir if available.
GnuPG has a facility to use sockets in /run or /var/run to avoid
problems with long socket paths, but this is not enabled by default
for GNUPGHOME other than $HOME/.gnupg. Enable it, if possible.
---- Version 8.13.7 - 2017-02-26 ----
Don't display beams when no visible note with a stem
(reported by Gerhard Schacherl)
Fix non working !ped! and !ped-up! with SVG output
(reported by Gerhard Schacherl)
Fix non working "%%pos stem hidden"
(reported by Gerhard Schacherl)
Fix bad horizontal spacing since 8.13.6
(reported by David Lacroix)
Fix clash of slurs with note decorations since 8.13.6
(reported by David Lacroix)
Noteworthy changes in version 1.27 (2017-02-28) [C22/A22/R0]
-----------------------------------------------
* Added a Base64 decoder.
* Added support for the sh3 architecture.
* Added header gpgrt.h as an alias for gpg-error.h.
* Fixed macro GPGRT_GCC_VERSION.
* Fixed a race in non-blocking I/O on Windows.
* Interface changes relative to the 1.26 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gpgrt_b64state_t NEW type.
gpgrt_b64dec_start NEW.
gpgrt_b64dec_proc NEW.
gpgrt_b64dec_finish NEW.
GPG_ERR_WRONG_NAME NEW.
gpgrt.h NEW header.
Changes in 2.10 (01 Mar 2017)
* Improve CMake build support.
* Add support for pkg-config.
* Do not redefine "snprintf" so that the examples build with MSVC 2015.
* Assorted cleanups.
removed).
According the Changelog (only relevant entries for "lua" added/removed scripts):
o [NSE] Added 12 NSE scripts from 4 authors, bringing the total up to 552!
They are all listed at https://nmap.org/nsedoc/, and the summaries are below:
+ cics-enum enumerates CICS transaction IDs, mapping to screens in TN3270
services. [Soldier of Fortran]
+ cics-user-enum brute-forces usernames for CICS users on TN3270 services.
[Soldier of Fortran]
+ fingerprint-strings will print the ASCII strings it finds in the service
fingerprints that Nmap shows for unidentified services. [Daniel Miller]
+ [GH#606] ip-geolocation-map-bing renders IP geolocation data as an image
via Bing Maps API. [Mak Kolybabi]
+ [GH#606] ip-geolocation-map-google renders IP geolocation data as an image
via Google Maps API. [Mak Kolybabi]
+ [GH#606] ip-geolocation-map-kml records IP geolocation data in a KML file
for import into other mapping software [Mak Kolybabi]
+ nje-pass-brute brute-forces the password to a NJE node, given a valid RHOST
and OHOST. Helpfully, nje-node-brute can now brute force both of those
values. [Soldier of Fortran]
+ [GH#557] ssl-cert-intaddr will search for private IP addresses in TLS
certificate fields and extensions. [Steve Benson]
+ tn3270-screen shows the login screen from mainframe TN3270 Telnet services,
including any hidden fields. The script is accompanied by the new tn3270
library. [Soldier of Fortran]
+ tso-enum enumerates usernames for TN3270 Telnet services. [Soldier of Fortran]
+ tso-brute brute-forces passwords for TN3270 Telnet services. [Soldier of Fortran]
+ vtam-enum brute-forces VTAM application IDs for TN3270 services.
[Soldier of Fortran]
o [NSE][GH#533] Removed ssl-google-cert-catalog, since Google shut off that
service at some point. Reported by Brian Morin.
o [NSE][GH#606] New NSE library, geoip.lua, provides a common framework for
storing and retrieving IP geolocation results. [Mak Kolybabi]
The guest environment denotes the Google provided configuration and tooling
inside of a Google Compute Engine (GCE) virtual machine. The metadata server is
a communication channel for transferring information from a client into the
guest. The guest environment includes a set of scripts and daemons (long
running processes) that read the content of the metadata server to make a
virtual machine run properly on our platform.
You probably do not need this package unless you are running in a virtual
machine on Google Compute Engine.
---------------------------------
Changes in 5.0.5
================
* NEW allow filename completion for system commands and pipes (backport from 5.1)
* NEW option to plot "with labels ... {rotate variable}"
* NEW command "set minussign"
* NEW stats command "name" option now accepts "columnheader" or "columnheader(N)"
* NEW command option "set colorbox invert"
* CHANGE qt terminal force selection of outline font rather than bitmap font
* CHANGE post terminal simplex/duplex output depends on PostScript level setting
* CHANGE improved autoscaling of plot "with boxes"
* CHANGE qt terminal sets TERM_POLYGON_PIXELS to avoid aliasing artifacts
* CHANGE all stats and fit commands skip header records if "autotitle columnhead"
* FIX Do not confuse EOF with 8-bit character 0x177 (E.g. in Cyrillic encodings).
* FIX use blank line rather than 'u' flag in "set table" output of smoothed data
* FIX order dependence of "fillcolor" keyword in plot commands
* FIX svg - better vertical justification of rotated text
* FIX wxt - file export widget correctly handles inactive plots
* FIX epslatex - reset linetype between plots (needed if plotted "notitle")
* FIX qt - leading or trailing whitespace in enhanced text was being ignored
* FIX regression in rendering 'plot ... matrix every ... with image'
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.0.3: (doi: 10.5281/zenodo.165134)
- obspy.core:
* properly pass through kwargs specified for Trace.plot() down to the
low-level plotting routines (e.g. events were not shown properly in
dayplot of a trace, see #1566)
* properly pass through kwargs from Stream.detrend() to Trace.detrend()
(see #1607)
* Correctly splitting masked arrays in Trace objects for a couple of corner
cases (see #1650, #1653).
- obspy.core.event.source:
* Fix `farfield` if input `points` is a 2D array. (see #1499, #1553)
- obspy.clients.earthworm:
* Better end of stream detection. (see #1605)
* More efficient unpacking of server response. (see #1680)
- obspy.clients.neic:
* Better end of stream detection. (see #1563)
- obspy.clients.seedlink:
* Better end of stream detection. (see #1605)
- obspy.clients.seishub:
* Fix wrong kwargs `first_pick` and `last_pick` in
`Client.event.get_list()`. (see #1661)
- obspy.io.mseed:
* ObsPy can now also read (Mini)SEED files with noise records. (see #1495)
* ObsPy can now read records with a data-offset of zero. (see #1509, #1525)
* ObsPy can now read MiniSEED files with micro-second wrap arounds.
(see #1531)
* ObsPy can now read MiniSEED files with no blockette 1000. (see #1544)
* ObsPy now always writes Blockette 100 if sampling rate accuracy is
otherwise lost. (see #1550)
* obspy.io.mseed.util.set_flags_in_fixed_header() now works with Python 3
and also for files with Blockette 100 (see #1648).
- obspy.io.quakeml:
* write StationMagnitude.residual even when it is zero (see #1625)
* read & write Event.region
- obspy.io.sac:
* `SACTrace.lpspol` and `lcalda` are `True` and `False` by default, when
created via `SACTrace.from_obspy_trace` with a `Trace` that has no SAC
inheritance. (see #1507)
* Reference time not written to SAC file when made from scratch
(see #1575)
- obspy.io.sh:
* Fix writing of long headers for python3
* Whitespace in header fields is not ignored anymore (see #1552)
- obspy.io.stationxml:
* Datetime fields are written with microseconds to StationXML if
microseconds are present. (see #1511)
- obspy.io.zmap:
* Use first origin/magnitude when writing to zmap if no origin/magnitude is
set as preferred. (see #1569)
* Parse origin time seconds as a float to avoid losing accuracy (see #1573)
- obspy.signal:
* PPSD: fix warning message on Python 3 that gets shown when waveforms and
metadata mismatch (see #1506)
- obspy.taup:
* Allow for more than 10 phases with identical names (can happen for certain
custom models, see #1593).
Upstream changes:
# mikutter 3.5.3
* sometimes UserList shows empty lines and they cause crashes by clicks
* unexpected behavior when TL timestamp is clicked in polluted environments
* support Ruby 2.4
* Ruby-GNOME2 3.1.1
Postfix stable release 3.1.4 is available, as well as legacy releases
3.0.8 and 2.11.9. There will be no further updates for Postfix 2.10.
Fixed with Postfix 3.1.4, 3.0.8, and 2.11.9:
* The postscreen daemon did not merge the client test status
information for concurrent sessions from the same IP address.
Thus, after one session recorded its successful tests in the
postscreen cache, a concurrent session from that same IP address
that passed fewer tests could later "wipe out" some of that
progress in the postscreen cache. The fix has proven itself for
five months in the development release, and should be safe to
use in the stable releases.
* The Postfix SMTP server falsely rejected a sender address when
validating a sender address with "smtpd_reject_unlisted_recipient
= yes" or with "reject_unlisted_sender". Cause: the address
validation code did not query sender_canonical_maps.
* The virtual delivery agent did not detect failure to skip to
the end of a mailbox file, so that mail would be delivered to
the beginning of the file. This could happen when a mailbox
file was already larger than the virtual mailbox size limit.
* The postsuper command logged an incorrect rename operation count
after creating a missing directory.
Fixed with Postfix 3.1.4 and 3.0.8:
* The Postfix SMTP server falsely rejected mail when a sender-dependent
"error" transport was configured. Cause: the SMTP server address
validation code was not updated when the
sender_dependent_default_transport_maps feature was introduced.
The fix has proven itself for six months in the development
release, and should be safe to use in the stable releases.
Unfortunately, Postfix 2.11 is too different to benefit from
the same fix.
* The Postfix SMTP server falsely rejected an SMTPUTF8 sender
address, when "smtpd_delay_reject = no".
Fixed with Postfix 3.1.4:
* The "postfix tls deploy-server-cert" command used the wrong
certificate and key file. This was caused by a cut-and-paste
error in the postfix-tls-script file.
----------------------------------
6th November 2016 Claws Mail 3.14.1
New in this release:
~~~~~~~~~~~~~~~~~~~~
* 'hide_timezone', a new hidden preference that sets the timezone of
date fields sent over the network to the unknown timezone value as
specified in RFC 5322 §3.3. Default value is false (i.e., send
available timezone information).
* 'rewrite_first_from', a new hidden preference which works around a
limitation of some servers with 'overly-liberal parsers'. When this
is turned on and the Content-Transfer-Encoding is set to 8bit or
7bit, in a message body starting with 'From ' the 'From ' will
become '=46rom ' (i,e, encoded form of 'F') and the Content-
Transfer-Encoding will be changed to Quoted-Printable. When it is
turned off no such modification will be made but it is very likely
that an MTA will convert the 'From ' to '>From '. See RFC 4155 for
further details. Default value is '1', turned on.
* Templates: it is now possible to attach a file, using
'|attach_output{sub_expr}' or '|A{sub_expr}', 'sub_expr' is
evaluated as a command-line to get the filename name from, using an
absolute /path/to/filename.
* IMAP mailboxes which show subscribed folders only are now indicated
by a green folder icon.
* The Icon Legend has had the missing folder icons added and also has
an improved layout.
* Drafted messages: Do not add Message-ID for draft, unless the
message already has one. A Message-ID header is now only added when
queuing a message, and any existing Message-ID and References
headers in drafts, if there are any, are kept.
* Disable hiding threads and messages in draft folders.
* The /View/Go to/... actions now respect the 'Open message when
selected' option.
* In the UI 'POP' is used instead of 'POP3', 'IMAP' instead of
'IMAP4', 'SSL/TLS' instead of 'SSL'.
* GnuTLS: Enforce "strong enough" Diffie-Hellman prime even when
using older versions of GnuTLS library.
Since GnuTLS 3.1.7, this minimum size is dictated by the priority
string, and currently (GnuTLS 3.3.0) the "safe-enough" value is
1008 bits. We set this minimum size explicitly for older GnuTLS
versions.
Users who are affected by this (their servers use DH prime smaller
than 1008 bits) can override this by using a priority string
starting with the keyword "LEGACY". However, this keyword only
works with GnuTLS 3.3.0 or newer.
* RSSyl plugin: Enable keeping old items by default.
* vCalendar plugin: The ics file name is now used for the WebCal
subscription folder name.
* vCalendar plugin: Use hours/minutes for vcalendar alert time.
* Notification plugin: Add support for unity/messaging menu.
* PDF Viewer plugin: The icons are now themeable.
* Updated manual in English and Spanish.
* Updated translations: Brazilian Portuguese, Catalan, Czech, Danish,
Dutch, Finnish, French, Hebrew, Indonesian, Italian, Norwegian
Bokmål, Russian, Slovak, Spanish, Swedish, Traditional Chinese,
and Turkish.
* Bug fixes:
o bug 2918, 'Notification Popup icon is hardcoded'
o bug 3207, 'Claws segfaults when closing LDAP-enabled
address book'
o bug 3515, 'Ctrl-Shift-X opens multiple external editors'
o bug 3638, 'GData Plugin fails after initial Google
handshake'
o bug 3665, 'Fix config script for macOS'
o bug 3666, 'Typos in Turkish translation'
o bug 3667, 'segfault in imap_session_authenticate'
o bug 3675, 'RSSyl crash when opening Atom feed'
o bug 3676, 'RSSyl crash when opening Atom feed with XML
depth >= 3'
o bug 3678, 'Segfault when trying to add new account'
o bug 3684, 'Socket error with POP3 using TLS client
certificate'
o bug 3697, 'Export to mbox' causes crash'
o bug 3705, 'active account Mail Address corrupted when
address in Message-ID is used'
o bug 3711, 'Usage of (s)'
o bug 3712, 'Name of the example domain in the translation'
o fix non-resizeable Icon Legend dialogue
o Fix a potential bug in vcalendar's libical
o Fix potential crash in vcalendar's icalcomponent_vanew() on
64-bit archs.
o Fix regression: show simple text/calendar with plugin.
o Fix crash in vcalendar passwords handling on prefs save.
o Few miscellaneous fixes for RSSyl.
o several memory leaks.
o Don't check for encrypt() on FreeBSD.
o Add OpenBSD CA cert path.
o Do not process folder marks when just refreshing
summaryview
For further details of the numbered bugs and RFEs listed above
see http://claws-mail.org/bug/[BUG NUMBER]
---------------------------------------------------------------------
See ChangeLog for full information regarding changes in this release.
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)