NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1577 most downloaded on PyPI
eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3
Last release 6 months ago
25 Mar 2026
Release timing varies
gaps range from 3 weeks to 2.4 years
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
22 releases · first in 2018
Bump version: 0.8.0-beta.1 → 0.8.0
Bump version: 0.8.0-beta.1 → 0.8.0
Bump version: 0.7.1 → 0.8.0-beta.1
Bump version: 0.7.1 → 0.8.0-beta.1
Drop support for Python 3.8 and 3.9 ( #66 )
Add support for Python 3.14 ( #66 )
One column per quarter.
Bump version: 0.7.0 → 0.7.1
Bump version: 0.7.0 → 0.7.1
Merge template, updating CI runs and what is included in package files ( #59 )
Run mypy linting locally via a pre-commit hook ( #60 )
Merge template updates, notably adding support for py313 and moving docs from the README to ReadTheDocs ( #61 )
Bump version: 0.6.0 → 0.7.0
Bump version: 0.6.0 → 0.7.0
Merge template updates, notably adding py312 support and testing docs build for all formats ( #57 )
Bump version: 0.5.2 → 0.6.0
Bump version: 0.5.2 → 0.6.0
Drop python 3.7 support ( #53 )
Merge project template updates, notably use pre-commit for linting and change the name of master branch to main ( #53 )
Correct booleans in pyproject.toml and add test for presence of eth_hash.version attribute ( #55 )
Bump version: 0.5.1 → 0.5.2
Bump version: 0.5.1 → 0.5.2
remove unused docs deps, bump version of remaining ( #48 )
merge updates from the python project template ( #51 )
Bump version: 0.5.0 → 0.5.1
Bump version: 0.5.0 → 0.5.1
Bump version: 0.4.0 → 0.5.0
Bump version: 0.4.0 → 0.5.0
Prefer pysha3 backend by default ( #42 )
Bump version: 0.3.3 → 0.4.0
Bump version: 0.3.3 → 0.4.0
Add support for Python 3.8, 3.9, 3.10 ( #40 )
Drop support for Python 3.5 and 3.6 ( #39 )
#40 , #41
Bump version: 0.3.2 → 0.3.3
Bump version: 0.3.2 → 0.3.3
Keccak backend was initialized every time it was called. Now it’s initialized only the first time it’s called. ( #36 )
Prune venv files from the release via MANIFEST.in ( #38 )
- Drop eth-utils requirement, to fix dependency cycle
Drop eth-utils requirement, to fix dependency cycle ( #33 )
- Bugfix to export type annotations
Bugfix to export type annotations ( #28 )
- Export type annotations, for use in importing projects
Export type annotations, for use in importing projects ( #29 )
Import 3 years worth of template updates ( #29 )
- set pycryptodome version to >=3.6.6,<4 to fix a recently discovered vulnerability
Released September 5, 2018
set pycryptodome version to >=3.6.6,<4 to fix a recently discovered vulnerability
- Ensure the auto backend is pickleable
Released May 28, 2018
Ensure the auto backend is pickleable (#19)
- The pycryptodome backend now allows update() , then digest() , then update() .
Released May 14, 2018
The pycryptodome backend now allows update() , then digest() , then update() .
- You can now import eth-hash without a backend, it won’t fail until trying to generate a hash
Released Apr 2, 2018
You can now import eth-hash without a backend, it won’t fail until trying to generate a hash
- upgrade pycryptodome to v3.5.1+
Released Mar 15, 2018
upgrade pycryptodome to v3.5.1+
performance improvements with preimage
Better docs and tests
- Add support for bytearray input to keccak
Released Feb 28, 2018
Add support for bytearray input to keccak
Add support for incrementally building hash results
Nothing published for this version
- Add pycryptodome backend support
Released Feb 7, 2018
Add pycryptodome backend support
Add pysha3 backend support
Can specify backend in environment variable ETH_HASH_BACKEND
New Quickstart docs
- Bugfix pypy3 reference in pypi
Released Feb 6, 2018
Bugfix pypy3 reference in pypi
Your coding agent can read these notes before it upgrades. Set up the MCP server →