Skip to content

Releases: untergeek/es_client

8.17.4 (18 March 2025)

18 Mar 18:59
Compare
Choose a tag to compare

Bugfix

  • Fixed a logging configuration bug to only assign a file handler if a log file
    is specified. Also fixed to ensure configuration goes to the root logger.

Changes

  • Dependency version bumps in this release:
    • elasticsearch8==8.17.2
    • certifi>=2025.3.31

8.17.3 (6 March 2025)

07 Mar 01:09
Compare
Choose a tag to compare

Announcement

Logging changes

If you specify a log file in your configuration, it will now be used, and nothing
should appear different for you. If, however, you do not specify a log file, the
default behavior is to log to both STDOUT and STDERR, with the streams split.
This is the new behavior. If you do not want this, you must specify a log file
in your configuration.

$ python run_script.py --loglevel DEBUG test-stderr 1>stdout.log 2>stderr.log

This will log all output to stdout.log and all errors to stderr.log.

$ cat stdout.log
DEBUG: Overriding configuration file setting loglevel=INFO with command-line option loglevel=DEBUG
2025-03-06 17:53:01,038 DEBUG         es_client.commands            test_stderr:131  This is a debug message
2025-03-06 17:53:01,038 INFO          es_client.commands            test_stderr:132  This is an info message

Logging test complete.

$ cat stderr.log
2025-03-06 17:53:01,038 WARNING       es_client.commands            test_stderr:133  This is a warning message
2025-03-06 17:53:01,038 ERROR         es_client.commands            test_stderr:134  This is an error message
2025-03-06 17:53:01,038 CRITICAL      es_client.commands            test_stderr:135  This is a critical message

Changes

  • Changes in the logging.py file to handle the new logging behavior. Also added
    test-stderr to commands.py and cli_example.py to demonstrate the new
    behavior.
  • Updated defaults.py to have a default LOGFORMAT of default.

8.17.2 (26 February 2025)

07 Mar 01:05
Compare
Choose a tag to compare

Announcement

  • Attempting to allow the 8.x client to work with 7.x Elasticsearch servers by
    making min_version and max_version configurable at the time of
    Builder instantiation.
    The default values are still limited to 8.x versions, but preliminary testing
    shows that the 8.x client works just fine for Curator against 7.14.x through
    7.17.x servers with these changes.

Changes

  • The Builder class can now override the default minimum and/or maximum version:
    Builder(config, min_version=7.0.0, max_version=8.99.99).
  • The helpers.config.get_client() function can also take these arguments:
    helpers.config.get_client(config, min_version=7.0.0, max_version=8.99.99).
  • Updated the date and copyright holder in LICENSE.

8.17.1 (24 January 2025)

24 Jan 22:21
Compare
Choose a tag to compare

Announcements

  • Python 3.13 support...but with a caveat.
    • HUGE (potential) caveat, though. The Python 3.13 SSL implementation now has
      X509_V_FLAG_X509_STRICT set by default. This unfortunately means that
      self-signed certificates created by Elasticsearch's certutil will not
      work with Python 3.13
      as they do not yet include the key usage extension.
      If you are using es_client in any way with one of these certificates,
      I highly recommend that you not use Python 3.13 until this is resolved.
    • 3.13 is excluded from the Hatch test matrix for this reason.
    • 3.13 will still be tested manually with each release.

Changes

  • Python module version bumps:
    • elasticsearch8==8.17.1
    • click==8.1.8
    • certifi>=2024.12.14
  • Refactored master_only functions and tests. I discovered some loopholes
    in my code when I was testing Python 3.13 against an Elastic Cloud instance,
    so I fixed them. This also necessitated a change in the integration tests.

8.15.2 (30 September 2024)

30 Sep 16:50
Compare
Choose a tag to compare

Changes

  • Python module version bumps:
    • elasticsearch8==8.15.1
    • pyyaml==6.0.2
    • certifi>=2024.8.30

8.15.1 (23 August 2024)

23 Aug 22:30
Compare
Choose a tag to compare

Changes

  • Added commands.py as both a cleaner location for the show_all_options
    function, as well as a place it could be imported and re-used.
  • Updated docs/example.rst and docs/tutorial.rst to reflect these
    location changes.
  • Updated pytest.ini to automatically look for and use .env for
    environment variables for testing.
  • Using versioned docker_test scripts now from
    https://github.com/untergeek/es-docker-test-scripts

8.15.0 (13 August 2024)

14 Aug 03:08
Compare
Choose a tag to compare

Changes

  • Python module version bumps:
    • elasticsearch8==8.15.0
  • Make execution scripts more consistent and PEP compliant.

8.14.2 (6 August 2024)

06 Aug 23:56
Compare
Choose a tag to compare

8.14.1, but with one fewer module still trying to import six

8.14.1 (6 August 2024)

06 Aug 23:30
Compare
Choose a tag to compare

Changes

  • six module removed.
  • Rolled back voluptuous to be >=0.14.2 to work with Python 3.8

8.13.4 (30 April 2024)

30 Apr 13:52
Compare
Choose a tag to compare

Changes

  • Updated docker_test scripts to enable TLS testing and better integration with pytest.
    TEST_USER and TEST_PASS and TEST_ES_SERVER, etc. are all populated and put into .env
    Even the CA certificate is copied to TEST_PATH, so it's easy for the tests to pick it up.
    Not incidentally, the scripts were moved from docker_test/scripts to just docker_test.
    The tutorial in the documentation has been updated to reflect these changes.
  • Added pytest-dotenv as a test dependency to take advantage of the .env
  • Minor code formatting in most files as I've switched to using black with VS Code, and
    flake8, and mypy.

Bugfix

  • Found 1 stray instance of update_settings from before the DotMap switch. Fixed.