Release v0.028


These changes have been pending for quite a while, but they're finally here! Though it may not show, I actually love this project, and every excuse someone gives me to work on it I take with both hands.

In this release:


  • 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


  • 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.


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

Release v0.027


Only some minor fixes, but one bugfix that could cause the test to fail.

  • Updated the version of Path::Tiny we rely on to fix a potential test failure.
  • Add the --delete <table> option to the ysql utility. This allows you to delete from a table, optionally adding a where clause option (--where <clause>).
  • Add IPv4 and IPv6 patterns to the ygrok utility. These were already provided by the Regexp::Common module, so best to use the tested regular expressions

Full changelog below.

Continue reading Release v0.027...

Release v0.026


This release adds some SQL helper options to the ysql command:

  • --select <table> creates a simple SELECT * FROM <table> query
  • Add --where <clause> and --order-by <clause> to modify your select query
  • --insert <table> creates a simple INSERT INTO <table> query with the documents on STDIN

Additionally, a new flag (-e or --edit) lets you edit saved SQL queries in your text editor. This is useful if you've got a long query with a bunch of joins and don't want to mess about on the command line.

Full changelog below...

Continue reading Release v0.026...

Release v0.025


Some minor bugfixes in this release. One that would make Yertl fail its tests (and therefore fail to install). Two that caused some very confusing error messages to be printed when using ysql. And a final one that made it hard to use the HTTP log pattern with ygrok.

Full changelog below...

Continue reading Release v0.025...