5.4.0 (13 November 2017)


  • Support for Elasticsearch 6.0!!! Yes!

New Features

  • The field_stats API may be gone from Elasticsearch, but its utility cannot be denied. And so, Curator has replaced the field_stats API call with a small aggregation query. This will be perhaps a bit more costly in performance terms, as this small aggregation query must be made to each index in sequence, rather than as a one-shot call, like the field_stats API call. But the benefit will remain available, and it’s the only major API that did not persevere between Elasticsearch 5.x and 6.x that was needed by Curator.

5.3.0 (31 October 2017)

New Features

  • With the period filter and field_stats, it is useful to match indices that fit within the period, rather than just their start dates. This is now possible with intersect. See more in the documentation. Requested in #1045. (untergeek)
  • Add a restore function to curator_cli singleton. Mentioned in #851 (alexef)
  • Add pattern to the count filter. This is particularly useful when working with rollover indices. Requested in #1044 (untergeek)
  • The es_repo_mgr create command now can take skip_repo_fs_check as an argument (default is False) #1072 (alexef)
  • Add pattern_type feature expansion to the period filter. The default behavior is pattern_type='relative', which preserves existing behaviors so users with existing configurations can continue to use them without interruption. The new pattern_type is absolute, which allows you to specify hard dates for date_from and date_to, while date_from_format and date_to_format are strftime strings to interpret the from and to dates. Requested in #1047 (untergeek)
  • Add copy_aliases option to the shrink action. So this option is only set in the shrink action. The default value of the option is copy_aliases: 'False' and it does nothing. If you set to copy_aliases: 'True', you could copy the aliases from the source index to the target index. Requested in #1060 (monkey3199)
  • IAM Credentials can now be retrieved from the environment using the Boto3 Credentials provider. #1084 (kobuskc)

Bug Fixes

  • Delete the target index (if it exists) in the event that a shrink fails. Requested in #1058 (untergeek)
  • Fixed an integration test that could fail in the waning days of a month.
  • Fix build system anomalies for both unix and windows.


  • Set repository access to be https by default.
  • Add documentation for copy_aliases option.

5.2.0 (1 September 2017)

New Features

  • Shrink action! Apologies to all who have patiently waited for this feature. It’s been a long time coming, but it is hopefully worth the wait. There are a lot of checks and tests associated with this action, as there are many conditions that have to be met in order for a shrink to take place. Curator will try its best to ensure that all of these conditions are met so you can comfortably rest assured that shrink will work properly unattended. See the documentation for more information.
  • The cli function has been split into cli and run functions. The behavior of cli will be indistinguishable from previous releases, preserving API integrity. The new run function allows lambda and other users to run Curator from the API with only a client configuration file and action file as arguments. Requested in #1031 (untergeek)
  • Allow use of time/date string interpolation for Rollover index naming. Added in #1010 (tschroeder-zendesk)
  • New unit_count_pattern allows you to derive the unit_count from the index name itself. This involves regular expressions, so be sure to do lots of testing in --dry-run mode before deploying to production. Added by (soenkeliebau) in #997

Bug Fixes

  • Reindex request_body allows for 2 different size options. One limits the number of documents reindexed. The other is for batch sizing. The batch sizing option was missing from the schema validator. This has been corrected. Reported in #1038 (untergeek)
  • A few sundry logging and notification changes were made.

5.1.2 (08 August 2017)


  • An update to Elasticsearch 5.5.0 changes the behavior of filter_by_aliases, differing from previous 5.x versions.

    If a list of aliases is provided, indices must appear in _all_ listed aliases or a 404 error will result, leading to no indices being matched. In older versions, if the index was associated with even one of the aliases in aliases, it would result in a match.

    Tests and documentation have been updated to address these changes.

  • Debian 9 changed SSL versions, which means that the pre-built debian packages no longer work in Debian 9. In the short term, this requires a new repository. In the long term, I will try to get a better repository system working for these so they all work together, better. Requested in #998 (untergeek)

Bug Fixes

  • Support date math in reindex operations better. It did work previously, but would report failure because the test was looking for the index with that name from a list of indices, rather than letting Elasticsearch do the date math. Reported by DPattee in #1008 (untergeek)
  • Under rare circumstances, snapshot delete (or create) actions could fail, even when there were no snapshots in state IN_PROGRESS. This was tracked down by JD557 as a collision with a previously deleted snapshot that hadn’t finished deleting. It could be seen in the tasks API. An additional test for snapshot activity in the tasks API has been added to cover this scenario. Reported in #999 (untergeek)
  • The restore_check function did not work properly with wildcard index patterns. This has been rectified, and an integration test added to satisfy this. Reported in #989 (untergeek)
  • Make Curator report the Curator version, and not just reiterate the elasticsearch version when reporting version incompatibilities. Reported in #992. (untergeek)
  • Fix repository/snapshot name logging issue. #1005 (jpcarey)
  • Fix Windows build issue #1014 (untergeek)


  • Fix/improve rST API documentation.
  • Thanks to many users who not only found and reported documentation issues, but also submitted corrections.