Changes from 2016-03-17 00:00:00 +0000 to present.

version 5.5 at 2018-03-17 06:01:47 +0000

  Change: 757dec9e648d077759da9a19ebdf3ed343df82f1
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-03-16 23:01:25 +0000

    Remove no longer necessary test 

  Change: d63a1b823fcd72116e731cbfc45387290b60e769
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-03-16 22:49:15 +0000

    Documentation updated for 5.5 release 

  Change: b1709e428bf9031e99b196ed6c865b02535ddb66
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-03-16 22:43:04 +0000

    Bugfix and better replica management

    * BUGFIX: es_index_strip_date() now removes everything after the date



    * --replicas-* options aliased to --replica-* * Smarter handling of math
    around replica calculation * Disable --bloom option entirely as it's
    deprecated by Elastic 

  Change: aabba5ad9a1c26ee5aa631f4ea81d887bf98463a
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-02-21 23:04:18 +0000

    Pod and Perl::Critic fixes 

  Change: 1dcaaa7ea8b7b8b89387692dd969a18fd385bd23
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-02-21 20:58:15 +0000

    Conversion to Ref::Util and Types::Tiny

    Fix paths for the shebang line so the installer will be able to install the
    scripts with the correct Perl binary path. Add a first pass at nested query

  Change: 722e812a7365f9a81aa0d1df5d61a3a1dcb695ed
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2018-02-21 20:52:06 +0000

    Update the QS::IP expander to make it more intelligent.

    If a field ends in *_ip, allow CIDR queries against the field. This skips
    renaming the field from "src_ip" to "src_ip_numeric" and is now an inline
    replacement. This enhances simplifies the CLI queries.

    The docs were not accurate, so now the example and documentation are valid. 

  Change: 8e7e34fe1690349a0485ec271c85e966c699b0d9
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2017-12-03 23:42:00 +0000

    Disallow tabs in my files. 

  Change: 938d5f9e9bf387d304388bf524348dd4b0d51fac
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2017-10-25 17:07:47 +0000

    Allow --show to be more flexible

    * Unbind from the index fields since this operates on the source

    document * Change to an array so you can add multiple --show's 

version 5.4 at 2017-10-13 19:36:20 +0000

  Change: c31b5f39953589c497f4374be9c22f36a2514dc2
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2017-10-13 12:36:20 +0000

    Documentation update for the 5.4 release. 

  Change: 3b6a379937869eaf46e80eea6f7d54e5c4f2220a
  Author: Brad Lhotsky <brad@divisionbyzero.net>
  Date : 2017-07-12 20:50:57 +0000

    Default to UTC, warn when using incompatible options. 

  Change: 570de7b2ffa8896b723a3d5c739cec25f4fe8297
  Author: Lisa Hare <lhare@inview.co.uk>
  Date : 2017-06-23 08:50:42 +0000

    add older option to es-apply-settings

    when older argument is passed to es_indices in Utilities.pm if days is also
    specified then it will only return indexes older that the specified days

    Refs #24 

  Change: 04a72068727474471abd709e993b9095bcf4e489
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2017-06-07 11:05:12 +0000

    Fixup the optimize call for newer ElasticSearch releases. 

  Change: 25ad9e95697a92093c30375836041c7fb2f691e8
  Author: Markus Linnala <Markus.Linnala@cybercom.com>
  Date : 2017-04-05 19:33:52 +0000

    es-alias-manager.pl: relax index name checker to allow _ 

version 5.3 at 2017-03-23 01:49:52 +0000

  Change: 3becaead7ab98d420511e67ac55724eb19c3bd76
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2017-03-22 18:49:52 +0000

    Version 5.3 Docs 

  Change: 2fb6c954347fbbd3a5c8dc372effe8e84116b908
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2017-03-22 18:48:01 +0000

    ElasticSearch 5.2.x support and enhancements

    * Elasticsearch no longer supports aliased keys in the index.

    Removed the uniqueness parsing for the last section of the key name. ES

    v2.x and on requires the keys be fully qualified.

    * es-search.pl subaggs output adjusted

    Prior version injected the sub aggregations before the values, this now

    append the sub aggregations to the listed output in a more readable


    * Allow aggregations to be wrapped and use it to provide date_histogram

    wrappers for es-search.pl

    es-search.pl now supports --interval to wrap aggregations in a

    date_histogram's so you can better understand what is happening with

    your data.

    * es_master() and --master-only added, documentation clean up. 

version 5.2 at 2016-12-29 22:44:10 +0000

  Change: f9be6c93da4bb0d734440c5f5ccabef81888adc2
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-12-29 14:44:10 +0000

    Fixes for 5.x

    * <index>/_status deprecated since 1.2, make rewrite to _stats the

    default * <index>/_stats no longer supports all parameter, it's the default

    since 1.x * Replace the last call to <index>/_status in my tools with

version 5.1 at 2016-11-16 02:30:42 +0000

  Change: f20cbf1927d19c4aeac2c1bebf792cd77e4f7986
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-11-15 18:30:42 +0000

    Added perl 5.24 testing to travis and bumped version numbers. 

  Change: df93facfcc57614bc9ed011a6dadea4a0510f832
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-11-15 18:26:35 +0000

    Improvements to the UI and the compatibility layer

    * es-search.pl now supports sub aggregations using the --with parameter *
    Fix a bug in the handling of es_indices with ES 2.x clusters. * Remove the
    warning from the App::ElasticSearch::Utilities::HTTPRequest

    object as I can see this moving out of this module soon. *
    App::ElasticSearch::Utilities::Connection handles JSON error documents *
    Fix case sensitivity bug in the --top option of es-search.pl 

version 5.0 at 2016-08-19 03:50:24 +0000

  Change: a8d6911a4ae7238dd564d4235a35c52528adb19a
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 20:50:24 +0000

    Documentation re-generated for 5.0 release. 

  Change: 94a5189553fb6c070f2156b4e1fd173745cbb81e
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 18:03:47 +0000

    VersionHacks now works on x.0 releases.

    Previous releases failed to compare the string of the version because Perl
    was helpfully casting '5.0' to '5' as the key in the vhacks hashes. This is
    now solved by assembling a version string. 

  Change: 3c58599fc9972fdaefeb9b14e62a15d711a68a03
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 17:49:59 +0000

    es-graphite-dynamic.pl collector compatibility.

    Allow this to be called from diamond or collectd as a script collector with
    prefix overrides. 

  Change: 6437ab2119af9051d1ab14eff40ef90c4bb0442f
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 17:23:21 +0000

    Preparing for 5.0 release.

    Added es_pass_exec() feature to allow for storing passwords in keychains or
    password vaults instead of the command line or a plaintext file.

    Extensive documentation updates to cover everything the module does and how
    the arguments work with examples where required. 

  Change: fd13349f01f6312272b0a78a90141ce057d29715
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 13:38:00 +0000

    Hook basic auth and protocol into App::ElasticSearch::Utilities.

    The basic auth handler uses the monkey patching tweak by redefining
    LWP::UserAgent::get_basic_credentials() to call the
    App::ElasticSearch::Utilities::es_basic_auth() function. This makes the
    whole code base cleaner as we don't have to bother with authentication
    **unless** the server requires it.

    Authentication is resolved by looking at the username/password specified by
    --http-username and --http-password, then by the YAML config files
    (/etc/es-utils.yaml, ~/.es-utils.yaml), then using the netrc files, then as
    a last ditch, prompting the user for the password on the CLI.

    If CLI::Helpers v1.1 or greater is installed, the password prompts will
    disable echo and not perform ReadLine magic.

    HTPS is supported via the --proto option. Strict host verification is the
    default. Dear lord, please stop with the setting host verify 'false'. This
    is why we can't have nice things. I'm not supporting that option at this
    time, or ever. Fix your certificates, TYVM. 

  Change: f54615b587f3ce92eef515814c043e838bace5c4
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 10:44:52 +0000

    Fix insanity with determining the version number with a string eval(). 

  Change: ee3cbbe270018c532f566483e4684c3637150957
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-18 10:33:59 +0000

    Merge branch 'feature/use_lwp' into pre5.0 

  Change: db7cb5b5327162f53cb640cee36d6eb0e7583685
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-17 20:26:49 +0000

    Docs updated for the --with element in es-search.pl 

  Change: 6c14ac9a079e5fc9d5e11ce98dfd58925226282f
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-17 20:25:00 +0000

    Added --with <agg>:<field>:<size> to es-search.pl

    Sub-aggregations using --with are now supported to help make more sense out
    of the data from --top. 

  Change: bad8827e666ede37f828d066496446abffcbf106
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-17 20:01:35 +0000

    Starting the Basic Auth pass through bits. 

  Change: 10ed9d4341b44f51c9875e6f83b5761654ef5d8a
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-17 17:03:59 +0000

    App::ElasticSearch::Utilities::HTTPRequest added.

    There are a few places where a standard HTTP::Request object, or even an
    HTTP::Request::JSON objects will barf on the payloads that we need to send
    to Elasticsearch. A::ES::U::HTTPRequest subclasses HTTP::Request and
    overrides the new() and content() methods.

    * new() - Adds the Accept: application/json header.

    * content() - Handle how perl datastructures are encoded in the body.

    * HASH: Hashes are JSON encoded

    * ARRAY: Array elements are encoded as json and then those are

    joined together with "\n" (think the /_bulk API)

    * Non-reference Scalars: passed as is, you know what you're doing.

    * Everything else: discarded, generates a warning

    The '_cat' API passes JSON back when you tell it you can read that, so
    updated the es_indices() function to handle the JSON resulting from the
    _cat call using the new A::ES::U::HTTPRequest object. 

  Change: 3cf2c13f87a911b88c02297ecbf280f456e61bf3
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-08-03 17:26:08 +0000

    Working version of the toolkit using LWP::UserAgent instead of

  Change: 176290d6ed44dba88db43eb5a3541fd981fca602
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-07-31 22:31:41 +0000

    Use the App::ElasticSearch::Utilities::Connection object instead of
    Hijk/Elastijk. Start migration to Ref::Util 

  Change: d5a78e1db33abe3d83ca86e1b178f1fdd5b519eb
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-07-31 22:30:07 +0000

    Connection class to abstract the HTTP bits from this module. 

  Change: 2eea122cf0732ac98c6f50ae67377ad0d538592a
  Author: Daniel Ostermeier <daniel.ostermeier@gmail.com>
  Date : 2016-06-20 10:52:55 +0000

  Change: e0b4d0e7fdf03cabab9f5b78406b1726c994a69a
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-05-04 15:21:12 +0000

    Handle nested objects in the --show option. 

  Change: 6049eeb58495a2aa7dfcaffae876a2ae6e478958
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-07 14:20:28 +0000

    Version Numbers Updated 

version 4.7 at 2016-04-07 21:18:28 +0000

  Change: d0b56b67bed7fc2716d20ba5d5ed4e173d094998
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-07 14:18:28 +0000

    Updated mailmap 

  Change: 25d120f1b42ff24ad1273b902b2e3794a2144912
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-07 14:16:12 +0000

    Fix logic for field hunting in the es_index_fields() routine.

    This now returns all the fields and any unique aliases reliably. 

  Change: 8c08c833958b3c4f99ed5d870defe48d0f4176da
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-07 12:43:57 +0000

    Add the ability to skip either add or remove step of alias management. 

  Change: f846dca1c844b2ca6313be422621548a9eef3a8f
  Author: Daniel Ostermeier <dostermeier@ml815921.corpad.adbkng.com>
  Date : 2016-04-07 14:36:34 +0000

    Don't die when no hits are returned 

  Change: 5b27011ba8797dc908f4dd703c31ffa9045553d3
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-04 11:10:59 +0000

    Version Bump for 4.6 Release. 

  Change: 11a69078d4ae7f6a09ee89dcdd5222498f213e13
  Author: Kang-min Liu <gugod@gugod.org>
  Date : 2016-03-23 16:01:52 +0000

    fix es-copy-index.pl when `--mapping` is not given.

    When `--mapping` is not given, the process to retrieve current index
    mapping was wrong and retrive a blank hash instead. So this was broken:

    es-copy-index --from es-01 --to es-02 --source log.20160323

    This commit does an additional query for mapping when `--mapping` is not

version 4.6 at 2016-04-04 18:06:24 +0000

  Change: c6874602274828fbb242777a2438b9516f9f6a82
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-04 11:06:24 +0000

    Use DateTime for tests for accurately representing the index name. 

  Change: 6beb23d8c76f19310d6352c7b3e10a5f19bafa60
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-04-04 11:06:00 +0000

    Fix calls to timelocal with gmtime to handle weird date bug with localtime
    reporting fewer days than expected. 

  Change: a0b12324f6b57b45442e4110ebfa7828813ab652
  Author: Brad Lhotsky <blhotsky@craigslist.org>
  Date : 2016-03-05 21:34:36 +0000

    Version 4.5 docs. 

Plus 51 releases after 2016-03-17 00:00:00 +0000.