+ 1 (binding)
┌────────────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Check │
Result
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Download links valid │ ✓ src + wheel + .asc + .sha512 all
present
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ GPG signatures │ ✓ both valid, signed by
FE668E857E89A11C5E5C000CA8D3D15600545C61 (Stefan Krawczyk, Hamilton 1-year
key, expires 2026-09-28) │
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ SHA-512 checksums │ ✓ both match (note: .sha512 files
are bare hashes without filenames, so sha512sum -c can't be used directly —
minor format quirk) │
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ incubating in source filename │ ✓
apache-hamilton-1.90.0-incubating-src.tar.gz (wheel is exempt; JB suggested
adding it anyway) │
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ LICENSE / NOTICE / DISCLAIMER in │ ✓ all three at top level, correct
content
│
│ source │
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ LICENSE / NOTICE / DISCLAIMER in │ ✓ present in dist-info/licenses/
│
│ wheel │
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ASF headers on source files │ ✓ all 137 hamilton/*.py +
tests/plugin_tests/scripts have headers. The one exception
(hamilton/experimental/databackend.py) is a bundled │
│ │ third-party MIT file — retains its
MIT notice and is correctly attributed at bottom of LICENSE
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Unexpected binaries │ ✓ only PNGs — DAG-rendering
screenshots under examples/ (benign)
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Source tarball matches announced │ ✓ confirmed via content diff on
pyproject.toml + file list
│
│ release hash bed5a272… │
│
├────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Compile from source (Python │ ✓ pip install . succeeds;
hamilton.__version__ == (1, 90, 0); tiny DAG runs end-to-end
│
│ 3.14.3) │
│
└────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
One, non-blocking discrepancy worth flagging: the git tag
apache-hamilton-v1.90.0-incubating-RC0 points to ab2453c1…, not the
announced release hash q… — they differ in 17 files / ~700 lines. The
tarball itself is built from bed5a272… (the announced hash) and is correct;
the tag just was never moved to the final release commit. Since what's
being voted on is the tarball.
The announcement explicitly gives bed5a272… as the release hash), this
doesn't invalidate the release, but the tag should be re-pointed before
cutting the final release — or at minimum noted
so future voters aren't confused.
This is the commit:
commit ab2453c1ea8c656ccf2037496d405e401036a0cc (tag:
apache-hamilton-v1.90.0-incubating-RC0)
Author: Stefan Krawczyk <[email protected]>
Date: Mon Mar 23 10:14:02 2026 -0700
Fix flit build in release helper: use --no-use-vcs flag
Flit 3.12.0 does not respect the FLIT_USE_VCS=0 env var.
Switch to the --no-use-vcs CLI flag which works correctly.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Also my suggestion is to avoid "co-authored-by", which is technically
incorrect because an LLM cannot be an author.
This can be easily done by instructing the agents in the AGENTS.md to
follow the ASF policy [1] and use "Generated-By" instead. Example in
Airflow in [2]
It is also not blocking.
[1] ASF Generative tooling guiideline
https://www.apache.org/legal/generative-tooling.html
[2] Airflow's instructions for Generated-By:
https://github.com/apache/airflow/blob/main/AGENTS.md#commits-and-prs
J.
On Wed, Apr 22, 2026 at 12:02 PM Ayush Saxena <[email protected]> wrote:
> +1 (Binding)
> * Built from source
> * Validated Checksums
> * Validated Signatures
> * LICENSE & NOTICE files present and are correct
> * Verified incubating in name
> * DISCLAIMER file exists
> * Verified files have ASF Header
>
> -Ayush
>
> On Tue, 21 Apr 2026 at 20:43, Jean-Baptiste Onofré <[email protected]>
> wrote:
> >
> > +1 (binding)
> >
> > I checked:
> > - source distribution
> > -- incubating is in the name
> > -- signature and checksum are good
> > -- DISCLAIMER is present
> > -- LICENSE and NOTICE are correct
> > -- ASF header present in expected files
> > - whl distribution
> > -- incubating is not in the name/version, worth to fix while in the
> > incubator (using _ separator is fine)
> > -- signature and checksum are good
> > -- DISCLAIMER is present
> > -- LICENSE and NOTICE are correct
> > -- wheel tag is ok
> > -- version is aligned between METADATA and version.py
> >
> > I would suggest to see if incubating can't be added to the wheel
> > distribution.
> >
> > Regards
> > JB
> >
> > On Mon, Apr 20, 2026 at 2:48 AM Stefan Krawczyk <
> [email protected]>
> > wrote:
> >
> > > Hi all,
> > >
> > > This is a call for a vote on releasing Apache Hamilton apache-hamilton
> > > 1.90.0-incubating, release candidate 0. Here's the prior vote thread
> > > <https://lists.apache.org/thread/flo5w8347vr2yo7c4ssv1ndyd2c47dg2> -
> we
> > > are
> > > carrying over a binding +1 IPMC vote.
> > >
> > > This release includes the following changes (see CHANGELOG for
> details):
> > >
> > > Features:
> > > > - While loop DFS implementation (#1483)
> > > > - Async data validator support
> > > > - Add `unpack_fields` annotation for unpacking structured fields
> (#1305)
> > > > - Expose DAG validation as LLM tools via MCP (#1490)
> > > > - Add NDJSON support in polars (#1431)
> > > > - Enhance visualization with display_name tag support
> > >
> > >
> > > Bug fixes:
> > > > - Fix `@resolve` decorator not calling `validate()` on returned
> > > decorators
> > > > (#1524)
> > > > - Fix is_submodule substring match causing spurious DAG nodes (#1485)
> > > > - Fix pandas 2.2+ compatibility in pandas_extensions.py
> > > > - Fix spark failures on Python 3.14
> > > > - Fix local (Windows) tests (#1302)
> > > > - Fix typer version requirement for click 8.3 help compatibility
> > >
> > >
> > > Performance:
> > > > - Use deque for BFS queue in graph traversal (#1494)
> > >
> > >
> > > Platform changes:
> > > > - Drop Python 3.8 and 3.9 support
> > > > - Add Python 3.13 and 3.14 support
> > > > - Remove usage telemetry (PostHog) (#1512)
> > > > - Remove RayWorkflows (#1359)
> > > > - Update `dlt` plugin with changes to `loader_file_format`
> > > > - Package renamed from sf-hamilton to apache-hamilton
> > >
> > >
> > >
> > > The artifacts for this release candidate can be found at:
> > >
> > >
> https://dist.apache.org/repos/dist/dev/incubator/hamilton/apache-hamilton/1.90.0-RC0
> > >
> > >
> > > The Git tag to be voted upon is: apache-hamilton-v1.90.0-incubating-RC0
> > >
> > > The release hash is: bed5a272904bd7d68bc03167978f663e1906738c
> > >
> > > But the functional release is from this commit from main:
> > > e84ed90b4428d777449b9bfc413ed86ee41a77c9
> > >
> > > Release artifacts are signed with the following key:
> > >
> > > FE668E857E89A11C5E5C000CA8D3D15600545C61
> > >
> > > The KEYS file is available at:
> > > https://downloads.apache.org/incubator/hamilton/KEYS
> > >
> > > Please download, verify, and test the release candidate. Here is a bash
> > > script you can run in a fresh directory
> > > <https://gist.github.com/skrawcz/a091951d8da1c9d2eb0b880e1da725bc>
> that
> > > goes through verification steps using the verification tooling with the
> > > release.
> > > Alternatively you can manually do things, or use the helper python
> script
> > > <
> > >
> https://github.com/apache/hamilton/blob/main/scripts/verify_apache_artifacts.py
> > > >
> > > --
> > > see these parts of the README: [1
> > > <
> > >
> https://github.com/apache/hamilton/tree/main/scripts#for-voters-verifying-a-release
> > > >
> > > ][2
> > > <
> https://github.com/apache/hamilton/tree/main/scripts#verification-script
> > > >]
> > > (note: some paths are incorrect and will be updated for next release).
> > >
> > > The vote will run for a minimum of 72 hours, likely longer.
> > >
> > > Please vote:
> > >
> > > [ ] +1 Release this package as Apache Hamilton apache-hamilton
> > > 1.90.0-incubating
> > > [ ] +0 No opinion
> > > [ ] -1 Do not release this package because... (Please provide a reason)
> > >
> > > Checklist for reference:
> > >
> > > [ ] Incubating in name. (the .whl file is exempt from this requirement
> as
> > > it is a convenience package)
> > > [ ] Download links are valid.
> > > [ ] Checksums and signatures.
> > > [ ] LICENSE/NOTICE/DISCLAIMER files exist
> > > [ ] No unexpected binary files
> > > [ ] All source files have ASF headers
> > > [ ] Can compile from source
> > >
> > >
> > > On behalf of the Apache Hamilton PPMC,
> > >
> > > Stefan Krawczyk
> > >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>