Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 30 additions & 40 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,18 +123,6 @@ jobs:
environment:
TOXENV: docs

py38-core:
<<: *common
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-core
py39-core:
<<: *common
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-core
py310-core:
<<: *common
docker:
Expand All @@ -159,19 +147,13 @@ jobs:
- image: cimg/python:3.13
environment:
TOXENV: py313-core

py38-lint:
<<: *common
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-lint
py39-lint:
py314-core:
<<: *common
docker:
- image: cimg/python:3.9
- image: cimg/python:3.14
environment:
TOXENV: py39-lint
TOXENV: py314-core

py310-lint:
<<: *common
docker:
Expand All @@ -196,19 +178,13 @@ jobs:
- image: cimg/python:3.13
environment:
TOXENV: py313-lint

py38-wheel:
py314-lint:
<<: *common
docker:
- image: cimg/python:3.8
- image: cimg/python:3.14
environment:
TOXENV: py38-wheel
py39-wheel:
<<: *common
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-wheel
TOXENV: py314-lint

py310-wheel:
<<: *common
docker:
Expand All @@ -233,6 +209,12 @@ jobs:
- image: cimg/python:3.13
environment:
TOXENV: py313-wheel
py314-wheel:
<<: *common
docker:
- image: cimg/python:3.14
environment:
TOXENV: py314-wheel

py311-windows-wheel:
<<: *windows-wheel-setup
Expand All @@ -246,7 +228,6 @@ jobs:
- <<: *install-latest-python-step
- <<: *run-tox-step
- <<: *save-cache-step

py312-windows-wheel:
<<: *windows-wheel-setup
steps:
Expand All @@ -259,7 +240,6 @@ jobs:
- <<: *install-latest-python-step
- <<: *run-tox-step
- <<: *save-cache-step

py313-windows-wheel:
<<: *windows-wheel-setup
steps:
Expand All @@ -272,30 +252,40 @@ jobs:
- <<: *install-latest-python-step
- <<: *run-tox-step
- <<: *save-cache-step
py314-windows-wheel:
<<: *windows-wheel-setup
steps:
- checkout
- <<: *restore-cache-step
- <<: *install-pyenv-step
- run:
name: set minor version
command: echo "export MINOR_VERSION='3.14'" >> $BASH_ENV
- <<: *install-latest-python-step
- <<: *run-tox-step
- <<: *save-cache-step

define: &all_jobs
- docs
- py38-core
- py39-core
- py310-core
- py311-core
- py312-core
- py313-core
- py38-lint
- py39-lint
- py314-core
- py310-lint
- py311-lint
- py312-lint
- py313-lint
- py38-wheel
- py39-wheel
- py314-lint
- py310-wheel
- py311-wheel
- py312-wheel
- py313-wheel
- py314-wheel
- py311-windows-wheel
- py312-windows-wheel
- py313-windows-wheel
- py314-windows-wheel

workflows:
version: 2
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ body:
attributes:
label: Operating System
description: Which operating system are you using?
placeholder: osx/linux/win
placeholder: macos/linux/win
validations:
required: false
- type: textarea
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.0
rev: v3.21.2
hooks:
- id: pyupgrade
args: [--py38-plus]
args: [--py310-plus]
- repo: https://github.com/psf/black
rev: 23.9.1
hooks:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ validate-newsfragments:
check-docs: build-docs validate-newsfragments

build-docs:
sphinx-apidoc -o docs/ . setup.py "*conftest*"
sphinx-apidoc -o docs/ . setup.py "*conftest*" "tests" "tests/*"
$(MAKE) -C docs clean
$(MAKE) -C docs html
$(MAKE) -C docs doctest
Expand Down
2 changes: 1 addition & 1 deletion docs/code_of_conduct.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Our Pledge
~~~~~~~~~~

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance, race,
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@

# General information about the project.
project = "Ethereum Utilities"
copyright = "2017-2023 The Ethereum Foundation"
copyright = "2017-2025 The Ethereum Foundation"

__version__ = setup_version
# The version info for the project you're documenting, acts as replacement for
Expand Down
12 changes: 9 additions & 3 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Releases are typically done from the ``main`` branch, except when releasing a be
which case the beta is released from ``main``, and the previous stable branch is
released from said branch).

Final test before each release
Final review before each release
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Before releasing a new version, build and test the package that will be released:
Expand All @@ -103,11 +103,17 @@ Before releasing a new version, build and test the package that will be released
This will build the package and install it in a temporary virtual environment. Follow
the instructions to activate the venv and test whatever you think is important.

You can also preview the release notes:
Review the documentation that will get published:

.. code:: sh

towncrier --draft
make docs

Validate and preview the release notes:

.. code:: sh

make validate-newsfragments

Build the release notes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
34 changes: 32 additions & 2 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,34 @@ Read up on all the latest improvements.

.. towncrier release notes start

eth-utils v6.0.0-beta.1 (2025-12-17)
------------------------------------

Breaking Changes
~~~~~~~~~~~~~~~~

- Drop support for Python 3.8 and 3.9. (`#322 <https://github.com/ethereum/eth-utils/issues/322>`__)


Features
~~~~~~~~

- Add support for Python 3.14 (`#322 <https://github.com/ethereum/eth-utils/issues/322>`__)


Internal Changes - for eth-utils Contributors
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Add ``**kwargs`` to ``model_json_schema`` method to allow for newer Pydantic versions (`#321 <https://github.com/ethereum/eth-utils/issues/321>`__)
- Pin Pyupgrade to 3.21.2 in pre-commit config (`#323 <https://github.com/ethereum/eth-utils/issues/323>`__)


Performance Improvements
~~~~~~~~~~~~~~~~~~~~~~~~

- optimize apply_formatters_to_sequence (`#307 <https://github.com/ethereum/eth-utils/issues/307>`__)


eth-utils v5.3.1 (2025-08-27)
-----------------------------

Expand All @@ -20,13 +48,15 @@ eth-utils v5.3.0 (2025-04-14)
Bugfixes
~~~~~~~~

- Replace ``arg["name"]`` with ``arg.get("name")`` to correctly handle optional names. (`#299 <https://github.com/ethereum/eth-utils/issues/299>`__)
- Fix length check in ``remove_0x_prefix`` for odd-length hex strings.
- Support odd-length hex strings in ``decode_hex`` by left-padding with a ``0``. (`#300 <https://github.com/ethereum/eth-utils/issues/300>`__)
- Use ``eth-typing`` ``HexStr`` for formatting utilities. (`#301 <https://github.com/ethereum/eth-utils/issues/301>`__)


Features
~~~~~~~~

- Add new methods: ``to_wei_decimals``, and ``from_wei_decimals`` which take a number instead of a string (`#302 <https://github.com/ethereum/eth-utils/issues/302>`__)
- Add helpers ``to_wei_decimals``, ``from_wei_decimals`` which take a number instead of a string (`#302 <https://github.com/ethereum/eth-utils/issues/302>`__)
- Add ``CamelModel`` pydantic model for validating objects and serializing to camelCase when used with ``by_alias=True``, with the general expectation of a well-formed JSON-RPC object. (`#303 <https://github.com/ethereum/eth-utils/issues/303>`__)


Expand Down
Loading