Releases: untergeek/es_client
Releases · untergeek/es_client
8.17.4 (18 March 2025)
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)
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
tocommands.py
andcli_example.py
to demonstrate the new
behavior. - Updated
defaults.py
to have a defaultLOGFORMAT
ofdefault
.
8.17.2 (26 February 2025)
Announcement
- Attempting to allow the 8.x client to work with 7.x Elasticsearch servers by
makingmin_version
andmax_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)
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'scertutil
will not
work with Python 3.13 as they do not yet include the key usage extension.
If you are usinges_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.
- HUGE (potential) caveat, though. The Python 3.13 SSL implementation now has
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)
Changes
- Python module version bumps:
elasticsearch8==8.15.1
pyyaml==6.0.2
certifi>=2024.8.30
8.15.1 (23 August 2024)
Changes
- Added
commands.py
as both a cleaner location for theshow_all_options
function, as well as a place it could be imported and re-used. - Updated
docs/example.rst
anddocs/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)
Changes
- Python module version bumps:
elasticsearch8==8.15.0
- Make execution scripts more consistent and PEP compliant.
8.14.2 (6 August 2024)
8.14.1, but with one fewer module still trying to import six
8.14.1 (6 August 2024)
Changes
six
module removed.- Rolled back
voluptuous
to be>=0.14.2
to work with Python 3.8
8.13.4 (30 April 2024)
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 fromdocker_test/scripts
to justdocker_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.