vnlog (1.43)

  * vnlog-parser.h and vnlog-base64.h does extern "C" with C++

 -- Dima Kogan <dkogan@debian.org>  Sat, 22 Aug 2026 15:04:29 -0700

vnlog (1.42)

  * Building and running vnlog works fully on macos
  * The tests run if rust-coreutils is being used

 -- Dima Kogan <dkogan@debian.org>  Mon, 26 Jan 2026 11:12:47 -0800

vnlog (1.41)

  * Added "vnl-tac", "vnl-paste" tools

 -- Dima Kogan <dkogan@debian.org>  Thu, 01 Jan 2026 15:08:35 -0800

vnlog (1.40)

  * "vnl-sort -h" is no longer ambiguous

 -- Dima Kogan <dkogan@debian.org>  Fri, 14 Feb 2025 19:48:26 -0800

vnlog (1.39)

  * vnl-filter: pacified warning about duplicate begin/end options

 -- Dima Kogan <dkogan@debian.org>  Wed, 29 Jan 2025 09:38:30 -0800

vnlog (1.38)

  * Python vnlog.slurp() can accept a structured dtype, so it can now read
    non-numerical data

 -- Dima Kogan <dkogan@debian.org>  Tue, 02 Jul 2024 09:15:59 -0700

vnlog (1.37)

  * Fixed vnl-filter --perl --stream --eval

    The --stream option means "flush after each print". But the code was
    calling flush() explicitly, so --eval would break the --stream: it
    would be the user's job to add their own flush(). This patch adds
    "$|=1" to the preamble in this case, so the language would add their
    own implicit flush().

    The equivalent was already being done in awk

 -- Dima Kogan <dkogan@debian.org>  Mon, 27 May 2024 10:23:15 -0700

vnlog (1.36)

  * C API: I don't fflush() with each record

    The standard C library will already do this for line-buffered output (for
    humans) and will NOT do this when writing to files (for efficiency). And there's
    a standard way to force one or the other behavior (stdbuf).

 -- Dima Kogan <dkogan@debian.org>  Tue, 25 Jul 2023 23:39:34 -0700

vnlog (1.35)

  * Build system uses packaged mrbuild. I no longer ship a copy of mrbuild
    with these source
  * vnlog parser in C included

 -- Dima Kogan <dkogan@debian.org>  Mon, 19 Jun 2023 12:45:49 -0700

vnlog (1.34)

  * Minor improvements to the tab-completions
  * Minor improvements to error reporting
  * Removed python2 support from the Makefile, test suite

 -- Dima Kogan <dkogan@debian.org>  Fri, 13 Jan 2023 12:11:06 -0800

vnlog (1.33)

  * vnl-filter: added --begin, --end, --sub-abs, -l

 -- Dima Kogan <dkogan@debian.org>  Tue, 28 Jun 2022 12:22:47 -0700

vnlog (1.32)

  * Python parser can handle trailing comments
  * Bug fix: symlinked binaries work (Thanks to Jim Radford for the
    report)
  * Python vnlog.slurp() always returns 2D arrays
  * added latestdefined() to vnl-filter

 -- Dima Kogan <dkogan@debian.org>  Fri, 29 Oct 2021 14:06:21 -0700

vnlog (1.31)

  * vnl-filter: correct behavior with field names containing small
    integers

 -- Dima Kogan <dkogan@debian.org>  Thu, 03 Dec 2020 16:57:25 -0800

vnlog (1.30)

  * vnl-align: empty lines are treated like comments, and are preserved
  * vnl-filter bug fix: --perl puts () around each "match" expression

 -- Dima Kogan <dkogan@debian.org>  Thu, 03 Dec 2020 16:56:01 -0800

vnlog (1.29)

  * Added vnl-uniq test to the test suite
  * vnl-uniq works on OSX

 -- Dima Kogan <dkogan@debian.org>  Mon, 15 Jun 2020 11:06:22 -0700

vnlog (1.28)

  * Compatibility improvements for *BSD (tested on OSX and FreeBSD)

    - vnl-join children use the same perl executable as the parent. This
      is important if we're not using a vanilla /usr/bin/perl
    - renamed Makefile -> GNUmakefile to make it clear it is only for GNU
      Make
    - #! lines reference '/usr/bin/env ...'. Again, if we don't have
      /usr/bin/perl then this is required
    - imported new mrbuild Makefile to support the FreeBSD linker
    - cmdline tools have --vnl-tool to specify the underlying tool.
      FreeBSD ships "ts" as "moreutils-ts" so this flexibility is required

 -- Dima Kogan <dkogan@debian.org>  Wed, 03 Jun 2020 20:08:14 -0700

vnlog (1.27)

  * vnl-filter produces - for any expression that evaluates to an empty
    string
  * vnlog_set_output_FILE() can take ctx==NULL for the global context

 -- Dima Kogan <dkogan@debian.org>  Tue, 14 Apr 2020 22:21:05 -0700

vnlog (1.26)

  * Revert "I explicitly refuse to do anything if --stream --eval"
  
    To make it possible to produce unbuffered output with awk

 -- Dima Kogan <dkogan@debian.org>  Mon, 03 Feb 2020 22:12:52 -0800

vnlog (1.25)

  * vnl-filter: rel()/diff()/prev() work next to newlines

 -- Dima Kogan <dkogan@debian.org>  Wed, 29 Jan 2020 15:53:57 -0800

vnlog (1.24)

  * Test suite fix

 -- Dima Kogan <dkogan@debian.org>  Sat, 21 Dec 2019 13:33:42 -0800

vnlog (1.23)

  * vnl-filter diff() returns - for the first record
  * added vnl-uniq

 -- Dima Kogan <dkogan@debian.org>  Sat, 21 Dec 2019 11:40:01 -0800

vnlog (1.22)

  * vnl-join handles empty vnlog files properly

 -- Dima Kogan <dkogan@debian.org>  Sat, 05 Oct 2019 12:36:14 -0700

vnlog (1.21)

  * --has can take regular expressions
  * Columns with = in the name are now supported

 -- Dima Kogan <dkogan@debian.org>  Sun, 25 Aug 2019 16:09:14 -0700

vnlog (1.20)

  * Exported the base64 interface. It's now usable standalone

 -- Dima Kogan <dima@secretsauce.net>  Tue, 16 Jul 2019 15:05:41 -0700

vnlog (1.19)

  * Looser handling of whitespace in the cmdline tools and parsers:
    
    - Blank lines count as comments
    - leading whitespace before # doesn't matter
    - # by itself works the same as ##. This makes it easier for the user
      to # comment-out stuff

 -- Dima Kogan <dima@secretsauce.net>  Tue, 16 Jul 2019 15:04:30 -0700

vnlog (1.18)

  * Fixed recent regression: vnl-filter with multiple 'matches'
    expressions works again
  * vnl-filter -p 'prev(x)' now outputs '-' for the first line instead of
    0. This is more truthful.
  
 -- Dima Kogan <dima@secretsauce.net>  Tue, 16 Jul 2019 15:02:16 -0700

vnlog (1.17)

  * vnl-join --autoprefix handles numerical filenames better

    A common special case is that the input files are of the form
    aaaNNNbbb where NNN are numbers. If the numbers are 0-padded, the set
    of NNN could be "01", "02", "03". In this case the "0" is a common
    prefix, so it would not be included in the file labels, which is NOT
    what you want here: the labels should be "01", "02", ... not "1", "2".
    Here I handle this case by removing all trailing digits from the
    common prefix

  * Support for grep-style -A/-B/-C options

 -- Dima Kogan <dima@secretsauce.net>  Fri, 29 Mar 2019 18:20:08 -0700

vnlog (1.16)

  * 'vnl-join --vnl-sort' runs a STABLE pre-sort

 -- Dima Kogan <dkogan@debian.org>  Mon, 21 Jan 2019 17:26:32 -0800

vnlog (1.15)

  * Vnlog::Parser perl library handles whitespace properly

 -- Dima Kogan <dkogan@debian.org>  Sun, 06 Jan 2019 21:15:11 -0800

vnlog (1.14)

  * "vnl-filter --stream" is now a synonym for
    "vnl-filter --unbuffered"
  * added new tool: vnl-ts

 -- Dima Kogan <dkogan@debian.org>  Fri, 28 Dec 2018 12:32:22 -0800

vnlog (1.13)

  * vnl-join doesn't get confused by trailing whitespace
  * vnl-filter new special-operations: sum(), prev()

 -- Dima Kogan <dkogan@debian.org>  Sun, 02 Dec 2018 13:49:59 -0800

vnlog (1.12)

  * test data now lives in separate subdirectories per tool
    
    And as as a result, parallel testing works again

 -- Dima Kogan <dkogan@debian.org>  Sun, 17 Jun 2018 20:58:08 -0700

vnlog (1.11)

  * N-way vnl-join: fixed deadlock with large files

 -- Dima Kogan <dkogan@debian.org>  Fri, 15 Jun 2018 19:33:57 -0700

vnlog (1.10)

  * vnl-join updates:
    - N-way vnl-join now invoke the sub-joins in parallel
    - Updated tab completion with new vnl-join arguments
    - 'make clean' leaves the README.org alone

 -- Dima Kogan <dkogan@debian.org>  Fri, 15 Jun 2018 15:00:49 -0700

vnlog (1.9)

  * vnl-join updates:
    - N-way joins are supported rather than just 2-way
    - -a- available as a shorthand for -a1 -a2 -a3 -a4 ...
    - -v- available as a shorthand for -v1 -v2 -v3 -v4 ...
    - --vnl-autoprefix/--vnl-autosuffix available to infer
      the prefix/suffix from the filenames

 -- Dima Kogan <dkogan@debian.org>  Tue, 12 Jun 2018 23:17:10 -0700

vnlog (1.8)

  * vnl-filter: bug-fix for compatibility with older perls (5.16 works
    now)

 -- Dima Kogan <dkogan@debian.org>  Sat, 28 Apr 2018 19:46:49 -0700

vnlog (1.7)

  * vnl-filter: added exclusion columns: vnl-filter -p !xxx
  * vnl-filter handles duplicate columns robustly
  * 'vnl-filter -p x*' no longer matches all the columns
  * Implemented and documented non-distro installation
  * added sample packaging files
  * README.org now contains all the manpages

 -- Dima Kogan <dkogan@debian.org>  Thu, 26 Apr 2018 20:26:48 -0700

vnlog (1.6)

  * ABI break: C library works on armhf, armel. API unchanged

 -- Dima Kogan <dkogan@debian.org>  Sun, 01 Apr 2018 22:12:27 -0700

vnlog (1.5)

  * Test suite runs in parallel
  * vnlog.py supports python2 and python3
  * install: only the public header is shipped

 -- Dima Kogan <dkogan@debian.org>  Sat, 31 Mar 2018 02:06:13 -0700

vnlog (1.4)

  * zsh completion: --[TAB] assumes it's not a 'matches' expression
    Otherwise no cmdline options ever complete

 -- Dima Kogan <dkogan@debian.org>  Sun, 11 Mar 2018 18:03:11 -0700

vnlog (1.3)

  * vnl-sort, vnl-join, vnl-tail now respond to -h and have better help
  * added bash,nzsh tab-completion
  * added bash completions
  * tests no longer always report successes
  * vnl-join, vnl-sort, vnl-filter no longer barf at unrelated duplicated fields
  * Simpler Vnlog::Parser API
  * Added python parsing API

 -- Dima Kogan <dkogan@debian.org>  Fri, 09 Mar 2018 15:59:29 -0800

vnlog (1.2)

  * minor fix to not complain about doubly-defined columns

 -- Dima Kogan <dkogan@debian.org>  Mon, 26 Feb 2018 12:33:24 -0800

vnlog (1.1)

  * A number of updates

 -- Dima Kogan <dkogan@debian.org>  Thu, 22 Feb 2018 23:07:17 -0800

vnlog (1.0)

  * First public release!

 -- Dima Kogan <dkogan@debian.org>  Sat, 10 Feb 2018 21:21:02 -0800

# Local Variables:
# mode: debian-changelog
# End:
