The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changelog for ETL-Yertl

0.028     2016-10-09 23:08:36-05:00 America/Chicago

    [Added]

    - The YAML::Tiny module is now officially supported
    - The YERTL_FORMAT environment variable will set the default format
      that Yertl uses to communicate. Set it to `json` for Yertl to
      seamlessly interoperate with other JSON-based tools like `jq` and
      `recs`.
    - CSV conversion (`yto`/`yfrom`) now allows setting a delimiter so
      we can parse colon-separated values or esoteric formats

    [Fixed]

    - `yq -x` now checks for definedness before trying to print. This
      silences warnings from Perl about "Uninitialized value in print".
      In the future, we may re-enable warnings through a `-w` or `-v`
      switch.
    - If one filter in a pipe returns empty, that empty result is
      propagated through further filters. This makes the output of
      something like `select( .foo == 1 ) | .bar` more intuitive: If
      a document doesn't pass the first part, the result of the second
      part is `empty`, not `undef` (`--- ~`).
    - The `ysql` helpers and placeholders are now better documented in
      the ysql guide.

    [Other]

    - ygrok tests are now split into more maintainable chunks based on
      the patterns they are testing.

0.027 2015-11-28T09:19:23
 - use ipv4 and ipv6 patterns from Regexp::Common
 - update Path::Tiny version to fix File::Path issue
 - expand sql helpers docs to link related helpers
 - add the --delete helper option to ysql
 - return database handle from test setup function
 - change variable name in test
 - add release v0.026 announcement
 - fix commit urls in blog posts
 - fix release-blog script github URL

0.026 2015-11-25T03:41:56Z
 - add --order-by helper for ysql
 - add sortable field to ysql test
 - add --where helper for select queries
 - add --select and --insert query helpers to ysql
 - add flag to edit SQL query in text editor
 - deploy to personal site
 - redirect from github pages to personal site
 - update docs to new website at preaction.me
 - ignore the statocles directory
 - remove obsolete site config attributes
 - add release v0.025 announcement
 - update theme from statocles default

0.025 2015-08-24T03:12:13Z
 - fix SQL error using --dsn printing error twice
 - handle error in connect with useful error message
 - update Regexp::Common to 2013031301
 - make http log patterns more lenient
 - upgrade perl in travis config
 - update theme from statocles default
 - add release v0.024 announcement

0.024 2015-06-01T02:36:27Z
 - add xargs mode to yq
 - remove ModuleBuild to prevent toolchain confusion
 - fix ps grok patterns to work on RHEL 5
 - update default theme from statocles default
 - add google analytics
 - add release v0.023 announcement

0.023 2015-02-26T18:35:35Z
 - make yq use formatter modules
 - update statocles theme from latest release
 - update site theme for new statocles default theme
 - add release v0.022 announcement

0.022 2015-02-02T05:51:12Z
 - add guides to the site main page
 - fix ysql synopsis missing -- before config option
 - add site intro and fix links to internal docs
 - fix link to Yertl on metacpan.org
 - update statocles default theme
 - add release v0.021 announcement

0.021 2015-02-02T05:20:13Z
 - add ygrok to the Statocles-generated POD
 - add release v0.020 announcement
 - update statocles conf for new deploy system
 - add --loose flag to ygrok to match partial lines
 - add ygrok patterns for ps, ps u, and ps x
 - allow really old files in ls -l ygrok parsing
 - add ygrok pattern for POSIX `ls -l`
 - add ygrok to the main page synopsis
 - add syslog pattern to ygrok
 - simplify "DATETIME" to just "DATE" in ygrok
 - allow adding, editing, and listing ygrok patterns
 - fix multiply-nested patterns
 - document all existing ygrok patterns
 - add pattern categories to ygrok
 - add ysql help guide
 - remove need for "query" when using ysql
 - add combined log format pattern for grok
 - add missing test collateral
 - allow recursive grok patterns
 - add ygrok patterns to parse http common log format
 - fix warnings when an unknown grok pattern is used
 - fix spurious contributor

0.020 2015-01-28T04:42:06Z
 - add short descriptions of all the Yertl tools
 - add ysql to main page synopsis
 - add links to yertl homepage
 - exclude the website from the cpan dist
 - fix "prototype mismatch" from Parse::RecDescent
 - add initial ygrok script
 - add dzil plugin for prereqs and compile tests
 - add release v0.019 announcement

0.019 2015-01-22T04:04:01Z
 - fix test failure on DBD::SQLite 1.33

0.018 2015-01-22T03:57:02Z
 - add missing ABSTRACTs to Command modules
 - add error checking when preparing or executing SQL
 - allow using "--dsn" to edit config
 - combine write and query in ysql
 - Fix mailmap for my work e-mail
 - add release 0.017 announcement

0.017 2015-01-12T05:31:46Z
 - add website using Statocles
 - remove docs about trim option
 - add validation for database driver
 - add drivers ysql command to list database drivers
 - remove root dotfiles and root ini files from dist
 - document new ysql config read commands
 - show error if a database key does not exist
 - switch to dzil Git::GatherDir
 - add read config commands to ysql
 - add documentation for ymask
 - make DBI completely optional
 - add cookbook with embedded json recipe

0.016 2015-01-06T02:36:59Z
 - update Import::Base prereq
 - fix contributors dependency
 - update copyright year
 - add contributors dzil plugin for proper attribution
 - add saved queries with placeholders to ysql
 - fix empty yaml file throws exception
 - check for DBI and DBD::SQLite before loading ysql
 - update Test::More to allow args to subtest refs
 - add prereq on File::HomeDir
 - use db config to query and write to saved dbs
 - add ysql config command to add databases
 - allow deep data structure interpolation in ysql
 - change interpolation sigil to '$.'
 - update Path::Tiny to 0.055
 - add basic write command to ysql
 - add ysql command with basic query support

0.015 2014-12-29T23:15:29Z
 - release v0.015
 - only run format tests if we have a formatter
 - use yaml formatter in ymask
 - use yaml formatter in yto
 - use yaml formatter in yfrom
 - move YAML formatter to new stream-based API
 - move JSON formatter to new stream-based API
 - move CSV formatter to new stream-based API
 - move test data into files
 - move ymask to ETL::Yertl::Command::ymask
 - move yfrom to ETL::Yertl::Command::yfrom
 - move test for CSV trimming to format tests
 - always document the -h, --help, and --version options
 - move yto to ETL::Yertl::Command::yto
 - require JSON::PP for testing
 - fix default format module in yaml formatter
 - fix default format module in csv format
 - fix default format module in json formatter
 - move yq into ETL::Yertl::Command::yq
 - move yq support classes to ETL::Yertl::Command::yq
 - add recommends for all supported formatter modules
 - add yaml formatter class
 - add csv format module
 - add formatter object to format sub
 - add json formatter class
 - create new base/project-intro module
 - rename to ETL-Yertl

0.014 2014-12-12T07:28:58Z
 - release v0.014
 - trim leading whitespace from CSV cells by default
 - rename ypick back to ymask

0.013 2014-12-10T08:05:32Z
 - release v0.013
 - remove the Marpa version for now
 - fix test failures due to whitespace differences
 - add IRC link
 - add ypick for simple field picking
 - fix "yq::filter used only once" warning
 - fix differences between JSON::PP and JSON::XS
 - remove dependency on Marpa for now
 - only ignore bundles in the dist root
 - only remove .ini files from the dist root
 - add dzil tag annotation with name, date, and changelog
 - update weaver.ini from new defaults
 - commit new build artifacts
 - update generated READMEs for status badges
 - update dist.ini for new best practices

0.012 2014-10-19T22:25:41Z
 - release v0.012
 - add yfrom script to output YAML from JSON or CSV
 - remove references to Test::Most
 - add Marpa::R2 prereq
 - add travis config
 - add yto script to convert from YAML to other formats
 - always use 5.10 features
 - move away from Test::Most
 - add an initial Marpa::R2 parser
 - start on a parse-tree-based P::RD implementation
 - int rule is unnecessary since float covers ints
 - add some preprocessing to fix pipes
 - fix comma combinator
 - undef is a valid value, so return an empty list
 - put use lines at the top of the parse
 - fix the order of <|> and <=|>=
 - use eval to get rid of the literal quote characters
 - add the missing sort function
 - fix the missing empty function
 - fix number parsing (int, float, bin, hex, oct)
 - add list object to differentiate arrays
 - SurgicalPodWeaver -> PodWeaver
 - initial test Parse::RecDescent implementation
 - load the underlying interpreter at runtime
 - add sort(EXPR) function to sort by string
 - move the interpreter to a module
 - add <,<=,>,>= numeric comparison operators
 - test and document the == and != operators
 - add length( EXPR ) function
 - add keys(EXPR) function
 - clarify and add some comments during the parsing

0.011 2014-05-17T06:42:15Z
 - release v0.011
 - prevent undefined warnings
 - add missing options to SYNOPSIS
 - add --version option
 - add raw numbers (int, dec, e, bin, oct, hex)
 - add verbose flag to start writing diagnostics
 - switch to using Regexp::Common for delimited text
 - add pipe to use output from EXPR as input to next
 - break tests out into individual categories

0.010 2014-05-16T15:30:07Z
 - add quoted strings using Text::Balanced

0.009 2014-05-16T06:22:49Z
 - release 0.009
 - add hash and array constructors
 - add group_by( EXPR ) function

0.008 2014-05-14T05:05:14Z
 - release v0.008
 - turn off STDOUT buffering
 - add note to grep() instead of using `if/else empty`
 - implement grep(EXPR)
 - allow `if .foo then .bar` for truthiness checking

0.007 2014-05-09T04:27:11Z
 - update build artifacts for v0.007
 - test that -h and error messages are correct

0.006 2014-05-09T02:41:31Z
 - update build artifacts
 - fix -h and --help option

0.005 2014-05-07T03:45:17Z
 - update build artifacts
 - add .[] to flatten an array
 - add , operator to join multiple filters
 - forgot the test file needed for filename arg test
 - allow filenames to be given as further arguments
 - prevent "undefined" warnings
 - filter documents that have no document separator
 - prepare for using STDERR as an error channel

0.004 2014-05-03T03:30:31Z
 - increase required Getopt::Long version

0.003 2014-05-01T05:54:23Z
 - update build artifacts
 - document the help option
 - fix POD errors

0.002 2014-05-01T05:34:09Z
 - update build artifacts
 - add array filters and allow combining filters

0.001 2014-04-30T05:55:50Z
 - fix gitignore for the app rename
 - update build artifacts
 - migrate to Import::Base
 - rename to App-YAML-Filter
 - document the else clause and the empty value
 - add "empty" special value to suppress printing undef documents
 - support else clauses in if statements
 - don't need to collect output as we're only working with one document
 - mark executables as executable
 - forgot to import pod2usage
 - add shebang line and remove modeline
 - add URL for jq project
 - remove <> because it's POD syntax and markdown thinks it's HTML
 - add build artifacts
 - add initial use-case - filtering documents based on a hash key
 - initial skeleton